LayerManagement: updated release notes for v0.9.5
[profile/ivi/layer-management.git] / RELEASE_NOTES.txt
1 Version 0.9.5
2 -------------
3 This version includes the following enhancements.
4
5 Bugfixes :
6
7 - Compiler warnings have been removed.
8
9 - Fixed missing initialization of default values.
10
11 - EGLMockNavigation aspect ratio was hard coded, now uses
12   actual application resolution.
13
14
15 Improvements:
16
17 - Surface can be created without the native context of a
18   client application. The client can add its native content
19   later.
20
21 - Command objects have been updated. Now theres a one to one
22   relationship between API calls and Command objects.
23
24 - Build System generated header file with configuration options.
25   This replaced a series of compiler flags for defining symbols.
26
27 - Updated/added new unit tests.
28
29 - Added signal handling for clean shutdown ofLayerManagerService.
30   Now a stack trace is printed on crash.
31
32 - Build System now defaults to "release" build type.
33
34 - Logging improved.
35
36 - Introduced ServiceConnect and ServiceDisconnect. This allows
37   detection of crashed client applications.
38
39 - Renderer:
40   - Improved state handling of X11 window system.
41   - Renderer context sharing between different threads.
42   - Improved Shader handling.
43
44 - Added auto-generation feature for LayerManager design
45   document (based on doxygen and latex).
46
47
48 Version 0.9.4
49 -------------
50 This version includes the following enhancements.
51
52 Bugfixes :
53
54 - Removed Quiet Message, is not working with CMake 2.6
55
56 - Bugfix fixes issue regarding layer source transformation
57   LayerSource Width should be considered with crop amount
58   Unit Test case added
59
60 - Bugfix to establish rpm build with version tracking
61   Added newly created files to rpm
62   fix ILM VERSION for rpm, character '-' ist not allowed
63   in RELEASE variable, so now it is replaced by underscore
64
65 - LayerManagerToolBox - remove wrong parameter parse
66  
67
68 Improvements:
69
70 -   Add restrictions on adding a surface to a layer
71     This prevents:
72     1. A surface being added to multiple layers.
73     2. A surface being added to the same layer multiple times.
74 -   New Example Application(EGLX11MockNavigation) added, 
75     which emulates 3D City 
76 -   Input Events: better support of Qt: XMotionEvent need to be 
77     reported for Button1 to move sliders & scrollbars
78 -   Adding new Command to set the hardware layertype during scene
79     creation        
80
81 Version 0.9.3
82 -------------
83 This version includes the following enhancements.
84
85 Bugfixes :
86 - Bug fix in screenshot for layer & surface
87   Now a surface's screenshot will be exactly similar to the way it
88   appears on the screen currently (minus the effect of other surfaces
89   part of the same layer).
90 - Multiple Bug fixes in X11WindowSystem
91   Use SwapBuffers only if something was drawn
92   Include SwapBuffers call while calculating FPS
93   ScreenshotOfDisplay should not check for any rendering changes
94   as it will not do a SwapBuffers after screenshot. 
95 - Increase the framecounter only if the surface is rendered.
96 - Removed several warnings
97 - Fix to link the correct native graphic libraries.
98 - skip rendering of fully cropped surfaces
99 - adapt ilm client documentation
100
101 Improvements:
102 - Changing to LM_PLUGIN_DIR to LM_PLUGIN_PATH to be consitent
103 - Changing dbus service name to be genivi compliant
104 - DBUS Communicator could now run on System BUS too.
105
106
107 Version 0.9.2
108 -------------
109 This version includes the following enhancements.
110
111 Bugfixes:
112 - Fixing DBUS Communicator tests to run and compile completely
113 - Fixes source viewport rendering for layer
114 - Fixing several compiler warnings  
115 - Improved handling in case of render init failure
116 - Fixing screenshot of surface.
117 - Bug Fix for ILM command LayerAddSurface which was probably introduced during the large refactoring earlier
118 - Small fix for better error checking & cleanup when acquiring X11 visuals fails
119
120 Improvements:
121 - Moving render specific base implementations to library
122 - Add framework to support input events + X11 implementation
123 - Enhance GLX Example Application to show the input handling
124 - New Api method added, ilm_layerCreateDimension.
125 - New Messages CreateLayerWithDimension, CreateLayerFromIdWithDimension introduced
126 - Introducing new Class ViewportTransform
127 - Introducing Example Implementation for SceneProvider Feature
128 - Refactoring test framework
129 - Introducing version tracking
130 - LayerManagerToolbox can now used to take screenshots
131 - Searchpath for Layermanager Plugins is now using the environment variable
132   LM_PLUGIN_DIR. The default value is /usr/lib/layermanager
133
134
135 Version 0.9.1
136 -------------
137
138 This version includes the following enhancements.
139
140 Bugfixes:
141 - Remove spew introduced due to XDamage implementation
142 - Allocate client buffer & damage only for surfaces that belong to a renderable layer
143 - Compilation fix for DRAW_LAYER_DEBUG mode
144 - Remove redundant GL calls in EGLX11ApplicationExample
145 - Proper deinitilization of eglImage & texture handles
146 - Texture will now bind correctly.
147 - Race conditions and compositing startup fixed
148 - Unmap Windows will no longer unredirected
149 - Fixing wrong result value in ScreenshotCommand.
150 - Reset unreferenced m_pReply message
151 - Find of dbus architecture dependend files improved.
152 - Layer Should only be rendered if visible
153 - Remove apply of default values for Destination and Source Region
154 - Initialize a graphical surface with non visible
155 - Cleanup LayerManager Service at exit for a plugin initialization failure
156
157 Improvements:
158 - Improvement for handling, native X applications
159 - LayerManagerToolBox introduced
160 - Introducing default display environment, to avoid fail of service startup
161 - SceneProvider feature added to load scenes on startup
162
163 Version 0.9.0
164 -------------
165
166 This version includes the following enhancements.
167
168 - complete code refactoring, introducing new library for commands.
169 - Performance improvements XDamageSupport, only surface will be rendered which content has changed
170 - Performance improvements Surface without alpha, will be rendered without blending
171 - various stability improvements and bugfixes
172
173
174 Version 0.8.1
175 -------------
176
177 This version includes the following enhancements.
178
179 - bug fixes in X11GLESRenderer to get a clean shutdown on failure
180 - force copy introduced for X11 Pixmaps in Open GL ES 2.0 Environments
181 - CMakeLists.txt files fixed 
182
183 Version 0.8.0
184 -------------
185
186 This version includes the following enhancements.
187
188 - bug fixes in ilmClient API
189 - added getLayerIdOfScreen interface in dbus communicator and ilmClient API
190
191
192 Version 0.7.0
193 -------------
194
195 This version includes the following enhancements.
196
197 - bug fixes in GLX Renderer regarding surface destroy
198 - bug fixes in X11GLES Renderer regarding surface destroy
199
200
201 Version 0.6.0
202 -------------
203
204 This version includes the following enhancements.
205
206 - added GLX Renderer support for screen dump / surface dump / layer dump
207 - added X11GLES Renderer support for screen dump / surface dump / layer dump
208
209
210 Version 0.5.0
211 -------------
212
213 This version includes the following enhancements.
214
215 - bug fixes in ilmClient API and dbus communicator
216 - LayerManager types corrected
217 - additional Messages introduced to support dump of screen, surfaces and layer to file
218
219
220 Version 0.4.0
221 -------------
222
223 This version includes the following enhancements.
224
225 Improved and added new interfaces between Renderer and LayerManagerService.
226
227
228 Version 0.3.0
229 -------------
230
231 This version includes the following enhancements.
232
233 Build Environment changed to cmake to fulfill the gnu make process.
234
235
236 Version 0.2.2
237 -------------
238 Due to the requirements to support desktop, russelville and beagle board hardware. 
239 A new LayerManagerRenderer will be upstreamed to support the russelville hardware and typical desktop pc hardware.
240
241 This version includes the following enhancemnents
242
243 * GLXApplicationExample - Rotating triangle which is registered to the service.
244 * GLX Renderer Package to support Desktop PCs and the Russelvill Platform.
245 * Platformdependent Makefiles Extensions (LayerManagerPlatform/MakeIGMA500.defs , LayerManagerPlatform/MakeDesktop.defs)
246
247
248 Version 0.2.1
249 -------------
250 1. Minor Bugfix regarding DBUS Communicator 
251    getPorpertiesOfSurface and getPropertiesOfLayer
252    
253 2. Code Cleanup in EGLX11ExampleApplication
254
255 3. Skript GeniviDemo.sh added to run ExampleApplications out of the box 
256
257 4. LayerManagerService handling of stopping all plugins improved
258
259 5. Logging improved for several components
260
261 Version 0.2.0
262 -------------
263
264 This version consist of new features and several bugfixes :
265
266 1. C-API for the LayerManagement
267 2. API enhancements
268 3. Implementation of the open use case "Make a Screen Shot"
269 4. Example applications
270 5. Several bugfixes.
271
272 1. C-API for the LayerManagement
273
274 For better usage of the LayerManagement Service from application
275 point of view an additional C-API is implemented (see LayerManagerClient/ilmClient).
276 This API is deployed as shared libraries an can be linked to the application
277 which will controll the service. For the internal communication between the client
278 and the service D-BUS is used.
279
280 2. API Enhancements
281
282 To support hardware layers and to get a better interoperability with other applications
283 and platforms the API was extended by the following features :
284
285 * Layer, Surface and Group Ids can be applied by from the client side too.
286 * IlmMatrix class is now available in the LayerManagerUtils library, to support
287   simple 3D / 2D transformations
288
289 3. Implementation of the open use case "make a screen shot"
290
291 The use case "make a screen shot" was still open and is now implemented
292 with this release. 
293  
294 4. Example applications
295
296 Several example applications were added to demonstrate the usage and capabilities of
297 the service. 
298
299 * EGLX11ApplicationExample - Rotating triangle which is registered to the service.
300 * LayerManagementClientExample - Example for controlling the service and the rendered layers.
301 * LayerSceneDescriptionExample - Example for the definition of external layer and surface ids.
302
303 5. Several bugfixes
304
305 * Race condition during access/creation/deletion of data in layer list removed.
306 * Layer and surface compositing in GLESGraphicSystem improved
307 * Issue for handling of not applied surface in X11WindowSystem removed
308 * Stability improvements
309 * Improvement of the build environemt     
310
311 Version 0.1.0
312 -------------
313 Initial published Version.