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