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