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