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