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