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