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