eolian: add a functional "import" statement
[platform/upstream/efl.git] / NEWS
1 ==========
2 EFL 1.14.0
3 ==========
4
5 Changes since 1.13.0:
6 ---------------------
7
8 Features:
9
10    * edje: add of model lookups.
11    * evas: Evas_3D - ColorPick mechanism finding node and mesh in scene.
12    * evas/gl_x11: introduce tbm native surface type
13    * evas/software_x11: implement native surface set for x11 type
14    * evas/software_x11: implement tbm native surface type
15    * edje: Edje_Edit - functions to edit layouts of BOX parts
16    * evas: Evas_3D - callbacks for Evas 3D.
17    * Edje: new set/get API omogeneous, paddings and align for BOX/TABLE in Edje Edit
18    * ecore_con_url: add ecore_con_url_head()
19    * edje: add camera properties to edje_cc.
20    * Edje: Edje_Edit - setter and getter for min param of TABLE/BOX parts
21    * edje: Adding the zoom effect of map to edje
22    * Evas GL: Automatic fallback to indirect rendering when the scene has not changed.
23    * ecore-drm: Add function to return the pointer xy of Ecore_Drm_Device
24    * ecore-drm: Implement edid parsing for Ecore_Drm_Output
25    * edje color classes can now have text descriptions
26    * Evas GL: Add support for Evas GL 3.0
27    * Eolian: add API to return the class from a function.
28    * ecore-drm: add ecore_drm_devices_get to get the list of drm devices
29    * evas: Support bitmap embedded color font. (T2139)
30    * Eolian: add API to determine if a function is implemented.
31    * edje: add edje_color_class_active_iterator_new()
32    * ecore_evas - eetpack utility for packing files (imgs) into eet files
33    * edje: add part.desc.rel.{to,to_x,to_y} keywords
34    * edje: allow empty part.desc.inherit; statements to autoinherit default desc
35    * ecore-drm: Add support for DPMS on an output
36    * ecore-drm: Add API function to set output gamma
37    * ecore-drm: Add API function to mark a Framebuffer as dirty
38    * ecore-drm: Add API to setup the drm device for software rendering
39    * ecore-drm: Add API function to disable an output
40    * ecore-drm: Add API function to find an output at given coordinates
41    * ecore-drm: Add API function to return an output crtc buffer id
42    * ecore-drm: Add API function to return an output's crtc id
43    * ecore-drm: Add an API function to return the connector id of an output
44    * ecore-drm: Add 2 new API functions for setting and sending framebuffers
45
46 Fixes:
47
48    * Edje: edje_edit - fix Segmentation Fault on new BOX part
49    * evas text: fix _ellipsis_get to return -1.0 on failure.
50    * eina: fix eina_bench.c compilation error.
51    * Evas masking: Fix some garbage pixels with the SW engine
52    * Evas masking: Fix potential issues with map & masking
53    * Evas masking: Force BLEND mode in case of image masking (GL)
54    * ecore-drm should not use sscanf when getting logind vt
55    * eina: correctly handle and report Eina_File error on Windows.
56    * eina: fix Eina_Log to only try to free non deleted log.
57    * eolian: add right extension to eolian_gen if we are on Windows
58    * eio: check that the file to be monitored is not an empty string.
59    * ecore: directly allocating and freeing Ecore_Win32_Handler variable.
60    * ecore_con: fix _ecore_con_server_flush on Windows.
61    * ecore_con: fix use of FormatMessage for error reporting on windows.
62    * eina: fix directory listing on windows when directory is empty.
63    * ecore-drm: Disable/Enable inputs if we release/acquire the VT
64    * ecore-drm: Disable/Enable inputs if we release/aquire VT through logind
65    * ecore-drm: Print error when taking control of a device fails
66    * ecore/drm: Fix libinput >= 0.8 check
67    * ee-win32 probably might compile now
68    * ecore/drm: Compile ecore_drm_logind.c without condition
69    * edje: edje_edit - fix group source generation of item 'weight' param
70    * edje: edje_edit - fix group source generation of box params
71    * evas: fix error checking of eglBindAPI.
72    * ecore-drm: Fix issue of checking improper eldbus message for errors
73    * ecore-drm: Don't recreate ecore_event handlers if we already have them
74    * ecore-drm: Fix issue of ecore_drm not calling ReleaseDevice when an input is destroyed
75    * ecore-drm: Fix issue with ecore_drm_evdev->path being incorrect
76    * evas: Evas_3D - fix bug with pack meshes data.
77    * ecore-drm: Add output id to output event
78    * edje: fix windows build
79    * evil: fix gecos field of struct pw
80    * Evas GL: Fix leak of surfaces with GLES 1.1
81    * eina + ecore - fix main loop thread id tracking on fork
82    * evas-3d: fix incorrect reading of .obj file which had an empty line before data in unix encoding.
83    * ecore-wl fullscreen state is based on either window type or attribute
84    * ecore-xcb: Fix 'variable set but not used' message
85    * evas-software-x11: Remove improper EINA_UNUSED for function parameter
86    * evas-software-x11: Provide TBM Native Surface support for xcb engine
87    * ecore/ecore_audio: fix timer control logically wrong.
88    * evas-gl-drm: Cleanup compiler warnings for dbg/err messages
89    * evas-gl-drm: Fix T2158: compile fails when --with-opengl=full is passed
90    * ecore-imf: Add check for environment variable to enable show/hide of input panel
91    * ecore-wl: Send xdg_surface_set_window_geometry when we update window size/position
92    * ecore-drm: Center mouse pointer on an output when it gets created
93    * ecore-evas-drm: Fix function call to ecore_evas_pointer_xy_get for drm engine
94    * edje - somehow edje doesn't init evas and this makes edje_decc break...
95    * Evas GL: Fix list of extensions with GLESv1
96    * evas: fix bug in the destructor of node in Evas_3D.
97    * edje: Edje_Edit - fix part alias source generation.
98    * examples: fix bad unref's in ecore and evas.
99    * ecore-drm: Return the index of the crtc from output_crtc_find
100    * eina: win32 release lock in case of error
101    * eio: fix segmentation fault on eio_monitor for win32 api
102    * ecore_cocoa: remove ObjC autorelease block to avoid segv when window is closed.
103    * ecore_cocoa: move mouse event handling to NSWindow
104    * ecore_cocoa: handle right and other mouse events
105    * ecore_cocoa: fix keyboad event handling
106    * ecore-wl cursor setup no longer triggers errors on startup (T2202)
107    * ecore-wl now allocates cursor_theme_name struct member of Ecore_Wl_Input
108    * edje: Edje_Edit - fix program transition source generation
109    * edje: Edje_Edit - add data items into generated code for the group.
110    * efl - bring back symlink complaint regardless of env vars
111    * ecore_cocoa: release resources on window close event
112    * evas: make current context on lockFocus for gl_cocoa backend.
113    * evas: bypass lockfocus in NSView on OSX
114    * ecore_cocoa: don't reject mouse events outside the window
115    * ecore_cocoa: fix mouse scrollwheel direction
116    * evas-wayland-shm: Refactor Evas Wayland Shm Engine (Fix T2201)
117    * ecore-evas-wayland: Remove frame callbacks from Ecore_Evas wayland engine
118    * ecore_con: fix ECORE_CON_LOCAL_SYSTEM use with negative port number.
119    * eina: safety check for NULL pointer
120    * evas/gl_x11: set EGL_PLATFORM environment variable
121    * Edje: edje edit - ability to remove last item in BOX/TABLE
122    * evas-gl-common: Fix building when --with-opengl=es
123    * evas-software-generic: Allow future rendering calls if evas has to skip a frame
124    * evas-wayland-shm: Fix redrawing issues that were causing 'flashing' in latest engine code.
125    * ecore-drm: Add more debug info when output is created or updated
126    * ecore-drm: Fix build error caused by missing function declaration
127    * evil: fix access to a file mapping object
128    * evas: prevent crash.
129    * eeze: Fix issue of eeze_udev_watch_add not getting events for drm
130    * ecore-drm: Fix issue of not getting updated for output hotplug events
131    * ecore_exe: fix ecore_exe_pid_get on windows
132    * ecore-drm: Use better output names
133    * ecore_idler: + null check.
134    * Edje: Edje_Edit - fix typo in code generation of BOX part
135    * eina: Change newline parsing to handle crlf better (T2236)
136    * ecore_drm: use get_vt instead of parsing the tty attribute
137    * ecore_file - fix nasty memory issues in ecore_file_app_exe_get()
138    * efreetd - cache - fix handling a text index file with 0 length lines
139    * eolian_cxx: fix build error for some generated C++ wrappers
140    * evas-3d: T2226 (Evas Eet saver does out of range access) fixed.
141    * Ector: Ship missing headers.
142    * ecore_cocoa: fix scrollwheel behavior
143    * eina: eina_unicode_utf8_next_get should return 0 when one of the parameters is NULL to avoid null pointer access. it also corresponds to the description in doc.
144    * ecore-drm: Create all framebuffers using XRGB8888 by default
145    * evas-drm: Remove evas_bufmgr.c from the Evas Drm engine
146    * ecore-drm: Add width & height to Ecore_Drm_Fb structure
147    * evas-drm: Use Ecore_Drm_Fb for framebuffers
148    * ecore-drm: Move Eeze Udev Watch to Drm Device
149    * ecore-drm: Add more connector types
150    * ecore-drm: Fix issue with edid_parse_string truncating strings
151    * ecore-drm: Better output name format
152    * ecore-drm: Send ECORE_DRM_EVENT_OUTPUT on unplug also
153    * ecore-drm: Set mode flag for preferred if this is the preferred mode
154    * ecore-drm: Fix output_geometry_get function
155    * eina: Add NULL check for eina_threadqueue_free
156    * [evas/evas_3D] Uninitialized component of vector gl_FragColor in shadow_map shader
157    * Evas GL: reset current surface to NULL when it is destroyed
158    * Evas GL: Add missing dlopen for GLX 1.x version
159    * Evas image: Return proper path even with mmap
160    * ecore-drm: Improve drm output creation, mode detection, and cloning support
161    * evas-drm: Use ecore_drm_fb_dirty function to mark framebuffer as dirty
162    * ecore-drm: Delay destroy of output if there is a pending flip
163    * ecore-drm: Fix issue of outputs_geometry_get not skipping cloned outputs
164    * ecore-drm: Remove per-output framebuffers
165    * ecore-drm: Update drm device & output code to remove per-output dumb buffers
166    * ecore-evas-drm: Setup Ecore_Drm_Device for software rendering
167    * ecore-drm: Update device active state on VT switch and use new output_disable function
168    * ecore-drm: Skip repaints if we are VT switched away
169    * ecore-drm: Create drmEventContext Once during device open
170    * ecore-drm: Move drm headers to Ecore_Drm
171    * ecore-drm: Remove unused API function that should not have been committed
172    * ecore-drm: Move doxygen documentation to main Ecore_Drm header
173    * ecore-drm: Modify device pageflip function to accept ecore_drm_fb callbacks
174    * ecore-drm: Change @since 1.15 to @since 1.14 for newly added APIs
175    * ecore-evas-drm: Use new Ecore_Drm functions to get properties of the output
176    * evas-drm: Cleanup Engine Info structure
177    * evas-drm: Cleanup evas_engine header file
178    * evas-drm: Cleanup drm engine code
179    * evas-drm: Make evas drm engine use new ecore_drm functions
180    * evas-drm: Remove evas_drm file from build order
181    * evas-drm: Add back in the r, g, b masks for conversion
182    * evas_object_box: add MAGIC_CHECK when it is added.
183    * Edje: Edje_Edit - new part addition should initialise threshold as -1
184    * ecore x vsync - ensure drm fb is set to close on exec - intended (T2138)
185    * efreetd - startup slowness fix for recursing directories
186    * efl: Remove dead configure options for drm-hw-accel
187    * evas: Fix CID1293000 (resource leak)
188    * ector: Fix Coverity CID1293003
189    * evas-3d: Fix Resource leak from CID1271635
190    * edje: Fix dereference null return value (CID1287154)
191    * evas-gl-x11: Fix dereference before null check (CID1293519)
192    * evas-software-x11: Fix dereference before null check(s) (CID1270030, CID1270028, CID1270029)
193    * Evas object: verify the parent is valid and fail if not.
194    * efreetd: If we fail to allocate space for subdir_cache, then get out (CID1294212)
195    * Evas GL: Fallback to indirect rendering if mul_col != 0xFFFFFFFF
196    * eo_gdb.py: fix syntax error
197    * eio: reorder tests linkage to unbreak debian-based systems
198    * evas-drm: Handle render mode for 4 buffers
199    * ecore-drm: Add pending_flip field to Ecore_Drm_Fb
200    * evas-drm: Mark the Ecore_Drm_Fb as complete when we get the page flip event. (T2289)
201    * ecore-drm: Fix hotplugging of outputs
202    * ecore-drm: Fix mouse movement across multiple outputs
203    * ecore-drm: Don't fetch output geometry on every mouse movement
204    * evas: fix possible segfault in evas_3d_node_member_add/del.
205    * Evas textblock: remove freed item from the line list
206    * evas: restore the value of "do_region" in jpeg loader as EINA_TRUE
207    * emotion - gst1 module - handle long standing bad map/unmap of gst buf
208    * eio - fix crashes due to stale eio files in tracking list (T2129)
209    * ecore-drm: Remove 'defined but not used' function
210    * ecore-drm: Use #if 0 to comment out unused function
211    * ecore-evas-x: Fix issue of wrong interface function pointer being set (CID1267461)
212    * emile: Fix resource leak (CID1288918)
213    * emile: Fix resource leak (CID1288919)
214    * ecore-evas-extn: Use eina_mkstemp in place of mkstemp (CID1039610)
215    * ecore_imf: init wayland before using wayland calls.
216    * evas-blend-ops: fix off-by-1 in the C MUL3_SYM "simd" multiplier
217    * ecore-evas-drm: Fix issue of fullscreen surfaces not getting focus on show (T2349)
218    * evas: fix rotation and flipping of image in gl engine (T2338)
219    * efl: Move test for gl library to evas-gl-drm engine checks and Fix T2167
220    * efreet: fix leak in efreet_util_desktop_exec_find()
221    * ecore_timer: fix the default return value.
222    * evas_text: fix default return value.
223    * edje_util: fix memory leak
224    * eina: correct document for eina_hash_list_prepend/remove.
225    * ecore-wayland: Fix issue of efl/elm apps not setting opaque & input regions
226    * autotools: fix non-verbose build output
227    * eolian: mark _class_get func protos with EOAPI
228    * Edje embryo: Fix invalid check for get_state_val (text str)
229    * Eina: fix eina_file_split on Windows and update unit test
230    * ecore-drm: Fix using uninitialized output value
231    * evas-wayland-shm: Use size of buffer when caching
232    * evas-wayland-shm: Minimize race condition when finding free leaf
233    * evas-wayland-shm: Update software_generic render engine size on output resize
234    * evas-wayland-shm: Fix T2352 (focused window borders blink)
235    * ecore-evas-wayland: remove duplicated shutdown of ecore_evas_wl_common
236    * ecore_drm: close fd if flag set fails
237    * ecore-drm: append O_CLOEXEC always
238    * ecore-drm: don't return EINA_FALSE as an invalid fd
239    * ecore-drm: close fd when asked to close fd
240    * eolian: specialize tmp free for typedef (avoid double free issue)
241    * eolian: fix lexer assertion failure
242    * ecore-evas-wayland: Fix issue of setting NULL cursor object
243    * edje: _check_recursive_reference reworked to fix segv in Edje_Edit.
244    * ecore-drm: Add missing doxy for ecore_drm_output_enable
245
246 Changes since 1.12.0:
247 ---------------------
248
249 Features:
250
251    * Edje: Set the min, max sizes of the image automatically.
252    * elocation: Add elocation libraray to EFL.
253    * Evas GL: Introduce concept of safe extensions
254    * edje: Edje_Edit - add generation of 'limits' parameter of group in EDC.
255    * eolian: add support for @optional ctor tag (T1804)
256    * Eet: add diffeet a tool for diffing eet files.
257    * edje entry: improve selection performance
258    * evas_object_main: Keep map effect after evas object move
259    * eet - add new  api to verify eet file against stored cert
260    * evas: Evas_3D - add bounding sphere, revision frustum culling
261    * evas: Evas_3D - add mesh blending mode.
262    * Evas GL: Add support for bind_wayland_display extension
263    * Evas: Evas_3D - Add check of visibilty node.
264    * ecore: Add a new API function ecore_main_loop_nested_get
265    * ecore: Add code for new API function 'ecore_main_loop_nested_get'
266    * eldbus: Add API function declaration for eldbus_proxy_send_and_block
267    * eldbus: Add actual API function code for eldbus_proxy_send_and_block
268    * eeze: Add API function declaration for find_by_subsystem_sysname
269    * eeze: Add API function for eeze_udev_find_by_subsystem_sysname
270    * ecore-drm: Port ecore_drm to use libinput
271    * ecore-drm: Merge port to libinput
272    * evil: add getpwnam() function
273    * ecore-drm: Handle various touch events
274    * edje: Edje_Edit - generate alias parameter for 'parts' block.
275    * edje: Edje_Edit - add API for program actions PLAY_SAMPLE and PLAY_TONE
276    * edje: Edje_Edit - add generation of 'filter' parameter of program
277    * +eina_memdup
278    * edje: support anti_alias option
279    * edje: Edje_Edit - add API for renaming of image.
280    * Evas masking: Use alpha mask in SW engine draw functions
281    * Evas masking: Add clip_image_[un]set functions to draw context
282    * Evas masking: Allow setting an image object as clipper
283    * Evas masking: Implement mask support in evas_render
284
285 Fixes:
286
287    * edje_calc: fix image set bug.
288    * ecore_drm: Added internal function for drm output updates when device is hotplug
289    * ecore-wayland: Fix the issue of UnIconifying an xdg_surface
290    * Fix bug ecore_imf_context_cursor_position_set was not called when cursor was moved by ECORE_IMF_CALLBACK_SELECTION_SET
291    * edje_cc: fix log message for authors write procedure.
292    * Evas GL: Fix bug in evgl_eng_pbuffer_surface_create (EGL)
293    * ecore_anim: fix source_set bug.
294    * edje: fix wrong generation of 'minmul' and 'text.min' parameters in EDC.
295    * edje: add formating for floating point numbers in EDC.
296    * eldbus-codegen: Make generated code for property set work by setting the cb
297    * evas/3d: Fix dereferencing a pointer that might be null found by coverity
298    * Eo: protect against recursive object destruction calls, fixes T1741 (T1741)
299    * ecore-drm: fix error check of _device_flags_set function
300    * eldbus-codegen: Free msg on error path for generated code.
301    * eldbus-codegen: More memory leak fixes for generated code.
302    * textblock: correct text position for RTL text with margins
303    * evas/map: correct last 1 pixel handling in spans.
304    * ecore-drm: remove unnecessary setting file's flag of O_RDWR that are ignored.
305    * ecore-drm: close fd handle if _ecore_drm_tty_setup() is failed in ecore_drm_tty_open().
306    * ecore-drm: Sending Active to login1.Session
307    * ecore-drm: pass appropriate arguments to eldbus_message_arguments_get(), so that it can be return as success in _cb_device_resumed().
308    * evas_map: Remove unnecessary check for current map
309    * ecore_evas_x: Fixed strange condition.
310    * evas: Evas_3D - fix depth texture size.
311    * Evas textblock: Fix possibly null dereference.
312    * ecore-wayland: Fixed a request of start_drag with null value
313    * ecore-wayland: Check if system has mouse in ecore_wl_input
314    * evas-gl: Fix improper #ifdef check
315    * evas-gl: Fix evas-gl to compile for EGL
316    * ecore-wayland: If we fail to create a new opaque region, safely exit the function.
317    * ecore-wayland: Check return of input_region create and get our safely
318    * ecore-wayland: No need for setting the input here as it's done again directly below.
319    * ecore-wayland: Add safety check for window surface creation
320    * ecore-wayland: Add safety check for xdg_popup creation
321    * ecore-wayland: Check for xdg_surface before sending ack_configure
322    * Evas GL: Add preventive padding after Evas_GL_API
323    * evas: Evas_3D - fix typo.
324    * autotools: fix compiling/linking gl engines on OSX.
325    * ecore con: Fix GnuTLS build error.
326    * ecore-drm: Remove erroneous debug messages
327    * ecore/animator: fix the bezier cubic compuation.
328    * eldbus: Fix _eldbus_connection_send_and_block()
329    * eldbus: Add timeout parameter to eldbus_proxy_send_and_block()
330    * ecore-evas-wayland: Fix issue with ELM_PROFILE=mobile and windows not showing up correctly.
331    * eeze_scanner needs to hash on the address of the pointer and not use direct_add() (T1612)
332    * ecore/animator: fix the wrong computation of bezier cubic.
333    * evas_xcb_outbuf: fix memory leak
334    * ethumb: Fixing eina_init to eina_shutdown.
335    * ecore-drm: Fix error message typo
336    * ecore-drm: Fix formatting
337    * ecore-drm: Cleanup structures in private header
338    * ecore-drm: Fix ecore_drm_launcher_device_close to not cause segfaults
339    * ecore_audio: fix memory leak in ecore_audio_pulse.
340    * edge: fix memory leak and removed redundant return statement.
341    * ecore-drm: Added cleanup data code as a error handling of connect logind.
342    * ecore_drm: Removed unused variables in ecore_drm_evdev
343    * ecore-drm: cleanup data when failed to setup tty.
344    * ecore-drm: restore VT to text mode when close tty.
345    * ecore-drm: fix passing wrong argument to open().
346    * ecore-drm: Remove libinput log print callback
347    * ecore-drm: Fix usage of EINA_LIST_FREE
348    * ecore-drm: Add output size to device structure and add internal function for setting size
349    * ecore-drm: Add internal function to set the output size in the input device structure
350    * ecore-drm: Transform touch events into output coordinates
351    * ecore-drm: Update pointer motion event coordinates
352    * ecore-evas-drm: Create inputs before we create outputs
353    * ecore-evas-drm: Fix up error handling
354    * ecore-drm: Also update device calibration when output size changes
355    * ecore-drm: Finish implementing touch events
356    * ecore-drm: Don't declare sprite variable unless we need it, also fix some formatting.
357    * eldbus: Fix possible null dereference reported by Coverity (CID1256952)
358    * evas-gl-common: Fix issue with Coverity reporting null dereferences (CID1257607, CID1257606)
359    * ecore-drm: Free devices before we release the libinput reference
360    * edje: Removed redundant assignement of rest_args.
361    * ecore_con: Added NULL check in dns_so_reset() for dns_socket object.
362    * ecore-drm: add error handling, when fail to setup tty.
363    * eldbus: Fix crash when removing the last reference of the message container inside of the message callback (T1908)
364    * eet: fix memory leak in eet_cipher
365    * evas: fix memory leak in evas_swapper.
366    * eeze: add null check condition in eeze scanner module.
367    * evas: fix memory leak issues in evas_object_textgrid.
368    * efreet: pass the correct option from the user input.
369    * ecore: fix memory leak issues.
370    * eina: fix memory leak issue in Eina_Value.
371    * evil: fix memory leak issue in evil_dirent module.
372    * edje: add tween images into generated code for the group.
373    * edje: fix memory leak in edje_edit_source_generate.
374    * Edje_Edit: Add sound samples into generated code for the group.
375    * evas/gl_x11: set EGL_PLATFORM environment variable
376    * ecore_con: the timer callback is waiting for the Eo object not its private data. (T1962)
377    * edje: Edje_Edit - remake deletion and replacing of strings
378    * ecore-evas: Fix compiler warnings about inproper returns
379    * eina_cxx: Fix eina::accessor for C++ Eo wrappers
380    * eina_cxx: Fix eina::array cend method recursive calling itself
381    * edje: Edje_Edit - add Proxy to Edje_Part_Collection_Directory_Entry initializatoin.
382    * eet: Remove unused variable
383    * ecore-evas-drm: Perform shutdown in proper order
384    * ecore-drm: Fix incorrect launcher shutdown procedure
385    * ecore-drm: Fix issue with TakeControl and ReleaseControl functions
386    * edje - fix uninitialized coord sizes if swallow obj is invalid
387    * evas textgrid - fix drawing of codepoints that are 0
388    * ecore_evas_drm: Added support for initial rotation in ecore_evas_drm
389    * ecore-wayland: Simplify opaque and input region handling.
390    * ecore-evas-wayland: Fix min/max size calculations
391    * ecore: fix compilation, missing return value in ecore_thread_wait
392    * evas:fix markup text length issue
393    * ecore_imf: Add null check condition in ecore_imf module
394    * ecore_evas_x: Free XCounter values leak.
395    * eo: Fix bad addressing in _eo_classes array
396    * ecore-evas-wayland: Port fix of min/max size calculations to the configure event handler
397    * ecore_evas/wayland_egl: Set alpha of ecore_evas object if parent alpha is set
398    * evas: Fix unintentional integer overflow (CID1261436)
399    * edje: Fix Coverity CID1261437
400    * ecore_imf/scim: Fix logically dead code in scim module (CID1261449)
401    * edje - edje_cc - fix wrong state lists where default is not the first (T1926)
402    * efl - edje_cc - fix default state checks in previous commit
403    * Eo tests: Fix bad free in eo_test_value
404    * edje: Remove dead code
405    * eina - mmap safety handler - fix to only handle sigbus's from io
406    * ecore-drm: Add actual Outut to the Input device structure
407    * ecore-drm: Remove unused function
408    * ecore-drm: Remove call to unused function
409    * ecore-drm: Limit mouse movement to within the output size
410    * ecore-evas-drm: Init outputs before inputs so that input devices can have a pointer to outputs
411    * ecore-wayland: Don't set move cursor unless we actually start a drag
412    * ecore-wayland: Fix issue with Elementary DnD test not releasing mouse
413    * ecore-drm: Re-enable setting K_OFF keyboard mode
414    * Eee image: fix macros to be surrounded with do while().
415    * eet - image decode - fix robustness of image decode from eet file
416    * edje: Edje_Edit - fix memory leak in edje_edit_image_usage_list_get
417    * ecore-wayland: Don't crash if we have no input->cursor_name
418    * ecore-drm: Restore tty keyboard mode on restore of tty
419    * ecore-drm: Reset output cursor and crtc mode on shutdown
420    * ecore-drm: Don't init tty unless we are Not using systemd
421    * edje: edje_pick - fix double free eina hash iterator.
422    * ee engines should not crash when re-setting the same title/name_class
423    * ecore-wayland: Don't send a mouse_up on grab release unless we actually have a grabbed button
424    * Efreet: do not get confused by path ending with / in XDG_* vars
425    * evas: fix to load BMP file compressed with RLE.
426    * ecore: Remove potentially useless 'else' branches
427    * ecore-drm: Store session name inside dev structure and don't take/release session control inside dbus functions
428    * ecore-drm: Default device->session to NULL
429    * ecore-drm: Cleanup tty code and handle vt signal trapping
430    * ecore-drm: Fix various issues with logind code
431    * ecore-drm: Cleanup launcher code
432    * ecore-drm: Cleanup private header file
433    * ecore-drm: Move session and vt fields to store inside the Ecore_Drm_Device
434    * ecore-drm: Remove logind header file from build order
435    * ecore-drm: Remove logind header file
436    * ecore-evas-drm: Fix improper shutdown sequence
437    * ecore-drm: Remove session parameter for internal function
438    * ecore-drm: Remove unused function parameter
439    * ecore-drm: Remove session parameter for session take/release functions
440    * Merge branch 'devs/devilhorns/ecore_drm'
441    * edje_cc must error when first provided state description is not "default" 0.0 (T1926)
442    * ecore-x: Fix calls to disable dpms in xcb
443    * ecore-x: Add missing EINA_UNUSED for function paramater
444    * ecore-x: Remove unused variable in backlight_available code
445    * ecore-x: Use proper XCB_ATOM_CARDINAL in call to window_property_get
446    * ecore-x: Fix build error in xcb
447    * ecore-xcb: Fix unused paramater compiler warning
448    * ecore-xcb: Fix compiler build break
449    * ecore-xcb: Fix ecore_x_window_full_new function to compile again
450    * ecore-xcb: Add missing EINA_UNUSED for function paramater
451    * evas-software: Fix call to evas_software_xcb_outbuf_setup function
452    * evas-software: Fix software engine to compile using xcb
453    * evas-software: Fix compile errors when using xcb
454    * evas-image-loaders: Fix compiler warning of comparison between signed and unsigned values
455    * edje: Edje_Edit - fix setting NULL into string pointer
456    * embryo_cc_sc2.c: prevent memory corruption.
457    * Set the name for table, box items
458    * evil: fix initialisation of the socket library.
459    * eolian: fix unary expression parsing (correctly consume tokens) (T2064)
460    * evil: fix SEGFAULT in strcasestr
461    * Edje: edje_cc - abort recursive Reference that is made by GROUP parts
462    * evil: get right Windows environment variables for home path.
463    * eio: Win32 make GetOverlappedResult function non-blocking
464    * autotools: fix make check build error on Windows
465    * eo: fix to pass make check on windows
466    * eolian: fix to pass make check on windows
467    * check: fix tests suites on Windows
468    * eina: use uintptr_t for Eina_Thread storage to be the same size for the different architectures.
469    * ecore_win32: don't allocate Ecore_Event_Key events with NULL keys
470    * eina: fix tests suites for Windows to have a predictable result.
471    * Edje: edje_edit - abort Recursive Reference in edje_edit_part_source_set
472    * ecore-drm: Trap for failure to dup stdin
473    * ecore-wayland: Don't send key repeat events for keys which should not get them
474    * eet - fix endianess break added by cedric a year ago in image decoding (T1987)
475    * eina: fix valgrind invalid read of size in eina_file_path_sanitize.
476    * ecore-x: Deprecate misspelled screensaver API function
477    * ecore-x: Deprecate old misspelled API function and add new one
478    * ecore-x: Port deprecated API and new API function to xcb
479    * evas: Evas_3D - fix bug with uninit Evas_Mat4 flag.
480    * eldbus: production code inside Eina Safety Check assert.
481    * Ecore_con: fix initialisation clean up and avoid memory leak.
482    * eldbus: fix memory leak.
483    * elua: correct eo inheritance behavior
484    * eina: Eina_Value - use eina_mempool_free to cleanup the memory
485    * evas: Evas_3D - fix when bounding sphere is large, situation with incorrect frustum calculation was possible.
486    * eldbus: eina_value not allocated from mempool.
487    * evas: Evas_3D - fix evas_3d_scene_pick when trying to get empty texcoords from mesh.
488    * evas: Evas_3D - fix order of transformation while updating bounding object.
489    * eina: fix semaphore initialisation
490    * ecore-drm: Fix issue with ecore_drm_output_crtc_Find sending back an invalid id. Fix T2086
491    * evas - gl engine - pipe renderer - disabling of unused arrays for lines
492
493
494 Changes since 1.11.0:
495 ---------------------
496
497 Features:
498
499    * evas: add evas gl-drm engine
500    * eina: port Eina_Spinlock for OSX
501    * eo: mmap()/unmap() are also supported on OSX
502    * ecore-wayland: Implement ivi-shell support for Ecore_Wayland (T1552)
503    * ecore_cocoa: NSRunLoop integration
504    * edje: Edje_Edit - add code to generate edc source for all transition types in programs
505    * ecore-drm: Add API function for getting screen geometry
506    * ecore-drm: Add API function to get screen geometry
507    * ecore-evas-drm: Add function to return screen geometry
508    * Eolian/Generator: support @empty and @auto.
509    * edje: Edje_Edit - get the buffer with sound's data
510    * eeze: Add missing drm subsystem & device type and add a new Eeze_Udev_Type for drm
511    * eeze: Add case for EEZE_UDEV_TYPE_DRM in eeze_udev_find_by_type function
512    * eeze: Add ability to get syspath from a watch for DRM
513    * Merge branch 'devs/devilhorns/eeze'
514    * eeze: Add eeze_udev_syspath_get_synum function
515    * eeze: Add code for eeze_udev_syspath_get_sysnum function
516    * +eina_value_util api
517    * eeze: Add Eeze udev types for backlight and leds
518    * eeze: Add cases for backlight and leds in eeze_udev_find_by_type
519    * eeze: Add cases for backlight and leds in get_syspath_from_watch.
520    * ecore-drm: Port ecore_drm_inputs code to use Eeze instead of udev
521    * Merge branch 'devs/devilhorns/ecore_drm_eeze'
522    * +eina_strdup(), eina_streq()
523    * ecore-drm: Added private functions to get brightness levels in backlight
524    * Evil: add strptime()
525    * ecore-wayland: Add API functions to iconify an Ecore_Wl_Window
526    * Merge branch 'devs/devilhorns/xdg_shell'
527    * evas: Evas_3D - add .eet export/import
528    * edje: Edje_Edit - get the source name of the sample
529    * Evas GL: Add API evas_gl_error_get()
530    * Evas GL: Add APIs to get current surface/context
531    * Evas GL: Add API evas_gl_rotation_get
532    * Evas GL: Add support for client-side rotation
533    * Evas GL: Add evasglCreateImageForContext + import defs
534    * Evas GL: Add support for fence_sync and similar extensions
535    * Evas GL: Add evas_gl_surface_query
536    * Evas GL: Add support for pbuffer surfaces
537    * Evas GL: Add support for OpenGL-ES 1.1 (part 1)
538    * ecore_drm: Added internal function to check if drm device is hotplug device
539
540 Fixes:
541
542    * evas: Evas_Gl_X11 - add missing eng_window_free
543    * evas: Evas_wayland_Egl - fix black surface during resize
544    * evas: Evas_Wayland_Egl - change size of common gl context after egl make current according to current Outbuf's size
545    * edje: Edje_Edit - fix support for program's targets
546    * edje: Edje_cc - fix not storing edc sources in .edj file with --no-save option
547    * ecore_evas: Ecore_Evas_X - make sure that ecore evas post render is always called.
548    * ecore-evas-wayland: Fix ecore_evas async rendering with wayland engines
549    * fix efl deadlock with thread queues
550    * ecore-wayland: Remove need for function prototypes
551    * ecore-wayland: Fix ecore_wl_screen_size_get function to handle more than one output.
552    * ecore_evas: Ecore_Evas_X - Fix broken rendering during rotation with resize (T1371)
553    * eina_file: fixing wrong return value on access problems in file copy process
554    * gl-drm: Fix missing link to gbm for ecore_evas_drm and clean up build script
555    * shutup ecore-x vsync stupid log domain failures
556    * ecore-drm: Add local function to free outputs and on any errors during create, call it
557    * ecore-drm: Fix copy/paste build error
558    * ecore-evas-drm: Fix misplaced #ifdef from gl_drm patch
559    * emotion - fix calling pos update cb for gst1 module in frame new
560    * emotion - audio volume - leave as-is on file open/init
561    * evas textblock: fixed ellipsis character cut off issue with complex markup text. (T1213)
562    * edje_cc now throws an error during link combination when the current part has no name
563    * evas: fix build on armv7l. (T1620)
564    * evas-drm: Fix evas-drm picking incorrect resolution/mode for outputs
565    * edje embryo stop_program() should stop pending actions
566    * ecore: Check that eo_data_scope_get returns valid Ecore_Timer_Data before trying to use it
567    * evas: let's freeze the canvas, shall we ?
568    * edje: prevent resource leak.
569    * ecore-evas-drm: Implement ecore_evas_pointer_xy_get for drm engine
570    * ecore-drm: Close input device fd on error during open and fix some todo messages
571    * ecore-drm: Fix missing close of fd on _device_add
572    * ecore-drm: Fix drm VT switching to work again
573    * Evas: Fix crash in hide
574    * ecore-wayland: Allow setting input->cursor_size even if we don't have the shm interface yet
575    * ecore-wayland: Don't crash if we have no shm interface yet when setting cursor theme
576    * Evas filters: Fix parsing of argument lists (T1615)
577    * edje_program: added signal "focus,part,out" when focus is discarded
578    * evas: Gl_Cocoa - fix early segfault caused by unloaded symbols
579    * efl: Move Eldbus above Ecore_Drm
580    * ecore-drm: Remove direct dbus dependency from Ecore_Drm
581    * ecore-drm: Add Eldbus header to private header file
582    * ecore-drm: Include config.h in private header
583    * ecore-drm: Fix private function prototypes for new dbus functions
584    * ecore-drm: Rework input code to function with Eldbus
585    * ecore-drm: Rework internal dbus code to use Eldbus
586    * Merge branch 'devs/devilhorns/ecore_drm'
587    * efl - vsync - deal with both broken and non-broken libdrm
588    * eina: do no use umask on Windows in eina_file_mkstemp()
589    * eeze: Fix return value for eeze_udev_syspath_get_sysnum
590    * eeze: Fix issue with eeze_udev_find_by_type not finding devices when name is NULL.
591    * ecore-evas-drm: Fix calling ecore_drm_device_find twice in some cases
592    * ecore-drm: Move Eeze above Ecore_Drm
593    * ecore-drm: Add Eeze as a dependency for Ecore_Drm
594    * ecore-drm: Remove dependency on libudev for ecore-drm
595    * ecore-drm: Remove internal dependency on libudev
596    * ecore-drm: Add Eeze as an internal dependency for ecore-drm
597    * ecore-drm: Fix comment to not mention udev
598    * ecore-drm: Remove references to udev functions and init Eeze during startup
599    * ecore-drm: Fix ecore_drm_device_find function to use Eeze
600    * ecore-drm: Remove udev from private header and add an Eeze_Udev_Watch for Ecore_Drm_Input
601    * ecore-drm: Port ecore_drm_output backlight init code to use Eeze
602    * eeze: Fix missing break in switch(s) (CID1240225, CID1240226)
603    * ecore_x_vsync - fix tiny leaklet of drmversion
604    * ecore-drm: Remove need to use an extra variable for storing device.
605    * ecore-drm: Add an extra blank line just to separate code
606    * efreet: Accept both only_show_in and not_show_in
607    * ecore-drm: Fix adding an input device when we don't get the devpath from Eeze.
608    * ecore-drm: Add some more debug information if a device fails to open
609    * ecore-drm: Don't crash if we get no devpath from Eeze
610    * Evas Textblock: Fix bad empty line add on wrapping
611    * ecore-drm: Fix _device_add function to check input
612    * ecore vsync - fix up dual nvidia + dri/drm driver discovery
613    * Evil: fix fcntl() when used with F_SETFL
614    * eeze: Add configure check for older libudev version
615    * eeze: Add ifdef trap for older udev version
616    * edje_cc: fix memory leak.
617    * eeze - sensors - ints for sensor events were decld in .h - and never .c
618    * Evas Textblock: Fix native width of BiDi text (T1532)
619    * ecore-wayland: Check return of calloc
620    * ecore-wayland: Check for valid shell before sending bound event
621    * ecore-wayland: Add support for xdg_surface class name
622    * ecore-wayland: Bump xdg_shell version for pending release
623    * ecore-wayland: Cleanup shell surface creation
624    * ecore-wayland: Add support for handling surface delete callback
625    * evas textblock: return text direction for under cursor in cursor geometry get
626    * eina: open files in read-onnly for eina_file_open() on Windows
627    * ecore_drm: Verifying if name format is /dev/xyz before assigning to tty.
628    * evas-gl-common: Fix compile for EGL due to missing GL_LINE_SMOOTH
629    * ecore-drm: Fix failure of finding drm device on ARM platforms.
630    * ecore-drm: Fix drm cards on ARM platform not having boot_vga parameter
631    * ecore-evas-drm: Set the ecore_drm_device reference in the engine data
632    * eina: remove macros referencing to absent functions.
633    * evas: GL_X11 context need to always be with alpha or it will fail to change.
634    * Edje_Edit: creating new hash in global data if it is not created yet
635    * Ecore_Win32: Fix string for the BackSpace key on Windows
636    * edje: Edje_Edit - fix edje_edit_image_usage_list_get() to return usage list with images with USER compression.
637    * edje: Edje_Edit - add state alloc for PROXY part.
638    * eio: actually correctly set all field to NULL. (T1729)
639    * ecore-wayland: We should be dispatching pending events After we flush clients
640    * evas: evas_map - fix cast from double to int with using lround()
641    * edje: Edje_Edit - fix edje_edit_state_aspect_pref_set() function to setup Source and None aspect preferences
642    * evil: simplify implementation of localtime_r
643    * eet: enhance error messages with libjpeg
644    * ecore-drm: Default output to NULL and add safety check for NULL output after the device loop.
645    * ecore-drm: Create udev watch for each output, and delete the watch when we free the output.
646    * evas: Evas_Box - layout_flow_horizontal and layout_flow_vertical fix
647    * evas-wayland-egl: Fix function prototype for eng_context_create
648    * Eo id: Fix id security checks for invalid objects.
649    * ecore-drm: Cleanup/Unify output_free function code
650    * ecore-drm: Check for valid crtc before calling free
651    * ecore-drm: Cleanup backlight and drm device in output_free function code
652    * ecore-drm: Added documentation for various APIs in ecore_drm_device module
653    * ecore-drm: Added documentation for various APIs in ecore_drm_output module
654    * ecore_wayland: Making _ecore_wl_init_count not to go below zero in shutdown.
655    * ecore_drm: Making _ecore_drm_init_count not to go below zero in _ecore_drm_shutdown.
656    * ecore-drm: Add error message for calling shutdown without calling init first.
657    * ecore-wayland: Add error message for calling shutdown without calling init
658    * ecore_wayland: Making _ecore_wl_shutdown return int instead of EINA_BOOL.
659    * evas-gl-drm: Fix initialization from incompatible pointer type
660    * evas gl rgba visual/rendering fix try ... again
661    * dnd/x: fix type set for case there is no type list exists
662    * edje: edje_edit - don't unlick(NULL) (T1760)
663    * edje: edje_edit - fix posible resource leak (T1760)
664    * Edje_calc: set the image set border again after resize.
665    * ecore_evas - ecore_evas's should start withdrawn then normal on show
666    * edje_cc_out: update the id of set images.
667    * ecore-tests: Add missing separator
668    * evas-gl-x11: Check return value of glXMakeContextCurrent (CID1249651)
669    * evas-gl-x11: Fix copy/paste error from Coverity fix
670    * evas-gl-x11: Don't call gl_common_error_set if MakeContextCurrent fails
671    * evas-gl-3d: Fix compiler warning about 'ld' may be used uninitialized
672    * ecore-evas-wayland: Fix wayland windows not showing up after 5954289c6ce1cd55ff212428291604b981438439
673    * eina_unicode: fix memory allocation
674    * edje: fix use of eina_tmpstr_del after eina_shutdown.
675    * ecoreidrm: Cleaned up unwanted code.
676    * ecore-drm: Remove commented out dead functions
677    * ecore-drm: Remove dead functions
678    * eina: clear up eina_tmpstr length information (T1775)
679    * elua: load .dylib on OSX
680    * Ecore File: Corrected documentation of ecore_file_monitor_add API
681    * edje: fix edje_object_part_text_item_list_get and edje_object_part_text_item_geometry_get
682    * elua: remove the : prefix for running apps
683    * evas: fix quaternion initiation for node, which isn't a root node
684    * edje: Edje_Edit - fix segfaults on restacking of text parts with set 'text_source'.
685    * edje: Edje_Edit - fix segfault on copying state of IMAGE part with twins
686    * elua: two-stage bytecode caching
687
688 Changes since 1.10.0:
689 ---------------------
690
691 Features:
692
693    * Eolian: add support for typedefs.
694    * Eolian/Generator: add support for implementation source file.
695    * Eolian: add support of namespaces.
696    * eina-tiler:add union, subtract, intersection, equal apis for tilers
697    * Evas/Textblock: add support for ellipsis values
698    * Eo: Add eo_finalize. A func that's called at the end of eo_add.
699    * edje: Edje_Edit - add sounds list accessor.
700    * edje: Edje_Edit - add edje_edit_part_copy function that copy parts within whole group.
701    * edje: Edje_Edit - add edje_edit_part_pointer_mode functions.
702    * evas: Evas_3D - Revision frustum culling.
703    * edje: Edje_Edit - add edje_edit_part_precide_is_inside functions.
704    * edje: Edje_Edit - add edje_edit_part_access functions.
705    * edje: Edje_Edit - add edje_edit_group_orientation_set/_get.
706    * edje: Edje_Edit - add edje_edit_part_multiline functions.
707    * edje: Edje_Edit - add edje_edit_part_cursor_mode functions.
708    * evas: Evas_3D - add .obj export/import.
709    * evas: Evas_3D - add evas_box3_ray3_intersect and evas_box2_intersect_2d functions.
710    * edje: Edje_Edit - add parameters to generate source code for part.
711    * Evas ETC2: Add ETC2 encoder skeletton
712    * Evas TGV: Add ETC2 support to the TGV saver
713    * Evas ETC2: Implement T mode encoding
714    * Evas ETC2: Implement H mode encoding
715    * Evas ETC2: Implement Planar mode
716    * Evas: Implement full ETC2 encoder
717    * Ecore_Evas: add new API for unset the cursor from Ecore_Evas.
718    * Elua: initial commit
719    * Introducing Elua: an EFL-LuaJIT app runtime
720    * edje: Edje_Edit - edje_edit_state_text_class_xet()
721    * edje: Edje_Edit - edje_edit_state_text_text_source_xeg()
722    * edje: Edje_Edit - add edje_edit_part_item_append functions.
723    * edje: Edje_Edit - add edje_edit_state_minmul functions.
724    * edje: Edje_Edit - edje_edit_state_text_repch_xet()
725    * edje: Edje_Edit - edje_edit_state_text_size_range_min_max_xet()
726    * Evas gl: Enable texture atlasses with ETC1/2
727    * edje: Edje_Edit - add edje_edit_sound_sample_add() function that allows user to add new sound sample to collection
728    * edje: Edje_Edit - edje_edit_sound_compression_rate_xet()
729    * edje: Edje_Edit - add edje_edit_part_items_list_get.
730    * Evas: Add encoding parameter to the savers
731    * Eet: Add support for ETC2 encoding and decoding
732    * Edje: Add support for ETC2 through LOSSY_ETC2 images
733    * edje: Edje_Edit - add functions that allows user to set and get frequency value of tones in collection
734    * edje: Edje_Edit - add edje_edit_part_item_source functions.
735    * edje: Edje_Edit - add bunch of BOX and TABLE param get/set functions.
736    * edje: Edje_Edit - edje_edit_part_select_mode_xet()
737    * edje: Edje_Edit - edje_edit_sound_compression_type_xet()
738    * edje: Edje_Edit - add edje_edit_state_map_light_xet()
739    * edje: Edje_Edit - add edje_edit_part_item_align functions.
740    * edje: Edje_Edit - add edje_edit_state_map_rotation_center_xet()
741    * edje: Edje_Edit - add edje_edit_part_entry_mode_xet()
742    * eolian: introducing a new lexer/parser
743    * Introducing new lexer/parser for Eolian
744    * edje: Edje_Edit - add API for missing map properties
745    * edje: Edje_Edit - add edje_edit_part_item_del.
746    * edje: Edje_Edit - add missed iterator and object deletion in _delete_play_actions() function
747    * edje: Edje_Edit - add functions that provide the ability to set and get source for proxy parts state
748    * edje: Edje_Edit - add edje_edit_sound_tone_add() function that allows user to add new tone to collection
749    * eolian: introducing support for .eot files
750    * eolian: new type API
751    * Evas: Add DDS image file loader
752    * Evas gl: Add support for S3TC textures (T5, T3, T1)
753    * edje: Edje-Edit: edje_edit_state_map_perspective_xet()
754    * edje_edit: Add edje_edit_part_item_aspect_mode functions.
755    * edje_edit: Add edje_edit_state_map_point_color functions.
756    * edje: Edje-Edit: edje_edit_state_map_on_xet()
757    * evas: jpeg loader - support flip, transpose, transverse
758    * edje: Edje_Edit - add edje_edit_part_item_weight functions.
759    * edje: Edje_Edit - add edje_edit_part_item_spread functions.
760    * eolian: new API for struct types
761    * Evas TGV: Add support for ETC1+Alpha
762    * Evas gl: Add support for ETC1+Alpha textures
763    * Eet: Add support for ETC1+Alpha
764    * new eina api/object - eina thread queues
765    * ecore-drm: Add necessary headers for dbus and systemd-login
766    * edje embryo: Now supports get_anim_pos_map
767    * efreet - add menu ref/unref calls and refcounting to try solve e issue
768    * edje: Add dpi feature.
769    * ecore animator - adjust ecore loop time when animtor ticks to be exact
770    * add function to set ecore loop time
771    * add simple ecore-con-url test suite
772
773 Fixes:
774
775    * Eolian: fix generation when optimization is set.
776    * Edje GROUP objects now recursively hide child objects when parent is hidden
777    * Evas textblock: Fix wrong advance calculation when bidi is disabled.
778    * Eo/evas events: Fix support of mixing legacy smart events and eo events.
779    * evas loader - redo gif fix so it doesn't break everything
780    * Evas: Remove invalid cast and fix warning/bug on windows
781    * Win64: Fix a bunch of warnings
782    * eina/file - revert 18be4c50d9990c82ed9ce4269b7820e61f772699
783    * Eolian: Fix class look up.
784    * Eolian: Fix bad behavior when the .eo is incorrect
785    * evas: Examples - fix Evsa3D Eo classnames.
786    * Evas textblock: Fix crash when cutting ligatures with formats. (T1308)
787    * edje: Edje_Edit - fix edje_edit_part_source_set
788    * Remove autogen.sh from the dist tarball.
789    * eo: force zeroing memory on non Linux system.
790    * edje: Edje_Edit - fix func edje_edit_state_text_source_set()
791    * evas gl: distinguish between IMG and EXT MSAA extensions
792    * evas/textblock: check item's type before returning result.
793    * remove unnecessary second checks on validity
794    * elua: Fix building of binary
795    * eina-cxx: fix compilation error on clang in eina_thread.hh (T1328)
796    * eina-cxx: fix compilation error on clang (T1328)
797    * Evas textblock: Fix issue with edje fonts not being used. (T1331)
798    * edje: Edje_Edit - some minor edits
799    * configure: Add dl to edje libs
800    * Evas/Textblock: Introduce PS deletion bug test and fix
801    * edje: Edje_Edit - fix compiler warnings for edje_edit_part_item_source_get/set
802    * ecore-evas-wayland: Remove useless variable.
803    * ecore_win32: fix key events on Windows.
804    * ecore: fix ecore main loop on Windows when number of objects is greater that MAXIMUM_WAIT_OBJECTS
805    * eina: fix build on windows.
806    * Documentation: adding missed documentation to edcref (map.color param)
807    * evas/gl - fix to render grayscale with transparency format in gl backened.
808    * ecore-evas: Fix cursor position getting reset to 0,0 when using ecore_evas_cursor_object_set
809    * edje: textblock style loading changed
810    * evas/gl: improve the rendering quality.
811    * lz4: fix possible security issue.
812    * jpeg loader: exif parsing bug fix
813    * evas: fix jpeg loader rotation by metadata (exif)
814    * lz4: fix shadow issue
815    * configure.ac: Remove obsolete macros
816    * evas - gl common - fix drop of image on cache hit in gl engine images
817    * this fixes crazy french altgr setups that confuse binding masks (T1273)
818    * edje_edit: adding @since 1.11
819    * evas: gl_common fix make dist
820    * ecore-drm: Shutdown ecore_event on udev error.
821    * edje: Edje_Edit - fix Documentation generation error's and warning's
822    * ethumb: fix setup related API problem
823    * ethumb: support ETHUMB_THUMB_ORIENT_ORIGINAL without libexif
824    * evas-engine-drm: Fix drm engine breakage from Frenchie
825    * evas-engine-drm: Fix invalid variable check
826    * ethumb: dbus reply message handling minor bug fix ("queue_remove" method call)
827    * evas-engine-drm: Fix software_generic_update to use the correct size.
828    * evas-engine-drm: Fix update of output buffer size
829    * evas-engine-drm: Fix evas drm engine bufer depth
830    * evas-engine-wayland-shm: Check for depth being INHERIT on reconfigure
831    * edje: Edje_Edit - fix size memory calculating for realloc array of tweens.
832    * ecore-evas: Fix missing drm engine in list
833    * evil: fix mistaken check of returned value by mkdir.
834    * eina: (Windows) fix creation of files with eina_file_open() in some cases
835    * evas: mark the evas text object as dirty, when text style is changed.
836    * ecore-drm: Fix trapping of SIGUSR1 for VT switching signals
837    * Evas textblock: Fix memory leak
838    * evas-wayland-shm: Free allocated rectangle after sending damages
839    * ecore_evas_extn: do not double close fd in case of memory starvation. (CID1039885)
840    * ecore_evas_extn: fix wrong plug image display after connect
841    * ecore animator - this fixes suspended animators still waking up
842    * ecore-evas - fix continual wakeups with unchanged canvases
843    * ecore_x: don't go below 0. (T1467)
844    * Evas textblock: Correct word start/end moving at new line or line begins with spaces
845    * evas/textblock: fix to keep original format when a markup tag is matched to a style tag.
846    * build/drm: Fix broken build from scratch and add missing library dependency for evas_drm engine (T1473)
847    * textblock: Update visual_pos before calling _size_native_calc_line_finalize.
848    * edje: fix coverity defects (CID1214113, CID1230296, CID1230295)
849    * ecore_evas_buffer: fix dereference null return value (CID1210810)
850    * evas-wayland-egl: Fix wayland egl engine to work again (T1478)
851    * evas-wayland-egl: Fix evas wayland_egl engine not loading due to missing symbol
852    * eldbus: do not ignore numeric "0" in property_set
853    * Evas text: fix text object size with empty texts.
854    * evas-wayland-egl: Fix evas wayland_egl engine crash on mesa driver
855    * wayland-egl: Fix eng_window_new function prototype
856    * wayland-egl: Fix calls to eng_window_new
857    * wayland-egl: Fix Outbuf structure not having evas & engine info
858    * evas-wayland-egl: Fix typos about egl context attribute list
859    * evas-wayland-egl: Add missing free
860    * evas-gl-common: Fix invalid use of Texture
861    * ecore-wayland: Calloc Can fail, so check that it works (or return if not).
862    * evas-software-x11: Remove EINA_UNUSED for function paramater that is used
863    * edje_pick: fix a segfault on 'set' copy
864    * edje_pick: fix a copied aliases
865    * Grid: fix a mirroring bug
866    * evas gl - fix yuv smooth rendering
867    * evas image loaders - silence noisy warnings that are just not needed
868    * evas-wayland-egl: Fix segmentation fault on dynamic loaded gl related functions.
869    * evas-wayland-egl: Free Outbuf if gl_generic_init fails
870    * evas-wayland-egl: Check for valid tilebuffer before setting tile size
871    * evas-wayland-egl: Increment frame count after flush
872    * evas-wayland-egl: Don't resize gl_context during first_rect
873    * evas-wayland-egl: Fix wayland egl engine not rendering
874    * efl: Fixed unwanted configure.ac warning.
875    * evas textblock: fixed ellipsis character cut off issue with complex markup text. (T1213)
876    * evas-gl-generic: Remove useless returns
877    * ecore_imf_context: fixing default id getter
878
879 Changes since 1.9.0:
880 --------------------
881
882 Features:
883
884    * eina: add eina_inarray_resize @feature.
885    * eina: add eina_accessor_clone and update all Eina_Accessor to take advantage of it.
886    * eina: add a C++ bindings to Eina @feature.
887    * @feature - Apply NEON intrisics improvement to rotation
888    * Evas textblock: Implemented mid-contextualization formatting.
889    * evas-drm: Add evas_drm to build order for Evas drm engine
890    * evas-drm: Add Evas Drm Engine (software only currently)
891    * evas-drm: Add option to enable drm hardware acceleration
892    * evas-drm: Start on hardware-accel support for drm
893    * evas-drm: Triple buffer by default.
894    * evas-drm: Fix opening of drm card
895    * evas-drm: Start on hardware Plane support
896    * evas-drm: Add vsync/non-vsync support to evas_drm code
897    * evas-drm: Ddd support for setting vsync with env variable.
898    * edje: @feature to include license in edje file. (T1027)
899    * edje: add support of last input entered in password mode to be always visible in entry.
900    * eio: make it possible to limit the amount of memory used by threads.
901    * eina: make Eina_Error thread safe.
902    * edje: add AUTHORS and more than one license file to Edje.
903    * ecore-drm: Add Ecore_Drm code
904    * ecore-drm: Add configure.ac autofoo for ecore-drm
905    * Eet: Added vieet a tool to edit eet files.
906    * eina-cxx: Added eina_log support for C++, using IOStreams syntax
907    * ecore-drm: Add API function to return the vt fd
908    * ecore-drm: Add dependency on xkbcommon
909    * ecore-drm: Add code pass along key events to ecore_event
910    * ecore-drm: Set the window of the Ecore_Event_Key structure
911    * ecore-drm: Add code to handle modifiers in a key event
912    * ecore-drm: Add code to handle mouse input
913    * evas/font: Added evas_font_path_global_* APIs.
914    * Eo: Made eo id for classes a bit more secure.
915    * ecore-drm: Add API function to return the drm device name
916    * ecore-evas-drm: Add support for resize and move callbacks
917    * ecore-evas-drm: Add support for setting focus_in & focus_out callbacks
918    * ecore-evas-drm: Add support for setting the mouse in & mouse out callbacks of the ecore_evas
919    * ecore-evas-drm: Add support for ecore_evas_move function
920    * ecore-evas-drm: Add support for ecore_evas_move_resize
921    * ecore-evas-drm: Add support for rotation set
922    * ecore-evas-drm: Add support for setting the title of the ecore_evas
923    * ecore-evas-drm: Add support for ecore_evas_name_class_set
924    * ecore-evas-drm: Add support for setting size hints
925    * ecore-evas-drm: Add support for ecore_evas_object_cursor_set
926    * ecore-evas-drm: Add support for ecore_evas_layer_set
927    * ecore-evas-drm: Add support for ecore_evas_iconified_set
928    * ecore-evas-drm: Add support for ecore_evas_borderless_set
929    * ecore-evas-drm: Add support for maximized, fullscreen, withdrawn, and ignore_events settings
930    * ecore-evas-drm: Add support for alpha & transparent setting
931    * ecore-evas-drm: Add support for setting aspect of ecore_evas
932    * edje_cc now supports program.targets keyword for adding N targets in one line
933    * edje_cc now supports group.remove for removing parts from inherited groups
934    * edje_cc now supports part.inherit for copying attributes of parts within a group more easily
935    * eeze_udev gets more helper functions
936    * edje_cc now supports program.sequence for more easily chaining programs together
937    * edje_cc can now use group.program_remove to remove inherited programs
938    * edje_edit: function that will return the source code of the loaded edje edit object.
939    * ecore-drm: Add API function for getting size of an output.
940    * eet-cxx: add implementation for eet C++.
941    * Eina: Fix mistake in a previous patch
942    * +eeze_udev_get()
943    * eina-cxx: Modified eina C++ log use syntax
944    * Move to Eo2 and adjust code accordingly
945    * Eo: eo_do now returns called func's value + default ret fix.
946    * Edje: Use LOSSY_ETC1 instead of LOSSY
947    * Evas TGV: Add direct copy mode for ETC1/ETC2 data
948    * Evas: Add support for ETC2 in the TGV loader
949    * Evas gl_x11: Add ETC2 support to the GL/X11 engine
950    * edje_cc now supports "lazEDC", a more concise version of EDC
951    * edje_cc now supports the group.inherit_only attribute
952    * edje_cc now supports targets for SIGNAL_EMIT actions
953    * edje_cc now has the program.groups and X.target_group keywords for target grouping
954    * edje_cc now supports group.program_source for specifying a default source in programs
955    * eina_hash now has helper functions for managing lists inside hashes
956    * edje_cc now supports part.description.link for single line state changes
957    * edje now has the group.script_recursion flag for permitting unsafe embryo recursion (T905)
958    * eolian_cxx: initial version of the EFL C++ Bindings Generator.
959
960 Fixes:
961
962    * ecore: @fix race condition when using ecore_main_loop_thread_safe_call_sync.
963    * examples/evas: Set a proper format string for fprintf
964    * evas-drm: Set Magic on the Ecore_Evas
965    * evas-drm: Fix configure.ac typo for drm hw accel argument
966    * evas-drm: Call framebuffer_set earlier in the process so that the screen gets updated sooner.
967    * evas-drm: Fix opening of drm card
968    * evas-drm: Forgot to install the evas drm engine pkgconfig file
969    * evas-drm: cleanup outbuf structure and functions
970    * evas-drm: cleanup evas_engine code for drm sw engine
971    * evas-drm: Add vsync/non-vsync support to evas_drm code
972    * evas-drm: Ddd support for setting vsync with env variable.
973    * Evas: Fix build issue when building without drm
974    * ecore_avahi: @fix timeout to avoid pitfall of forever frozen timer.
975    * evas-drm: Fix evas drawing delay for cedric
976    * Evas filters: Avoid CRI message when using the GL engine
977    * Evas filters: fix black squares with the GL engine
978    * Evas filters: fix random cases of 'dancing text'
979    * Evas filters: fix clip to target calculation
980    * edje: fix edje_watch to not pass the '\n' to eio_monitor.
981    * edje: let's allow to reset escaped text to NULL. (T821)
982    * evas-drm: Don't call framebuffer set from within send function
983    * evas-drm: Check buffer validity in swap function
984    * evas-drm: Fix setting cached image alpha flag
985    * ecore-evas-x: Fix resource leak from eina_str_split_full usage (CID1188012)
986    * eo: memory waste at mixin class elaboration
987    * Edje entry: fix bug preedit text is committed in the next entry when Tab key is pressed.
988    * edje/edje_edit: fix part add bug
989    * edje/edje_edit: Check for NULL
990    * evas-drm: Remove hardware acceleration fields from engine structure
991    * evas-drm: Add headers for hardware acceleration
992    * ecore-drm: Add missing define
993    * ecore-drm: Comment out Gbm Format
994    * efl: Fix installing ecore-drm pkgconfig file
995    * efl: Fix build with drm disabled
996    * evas/fb: avoid crashing it outbuf setup failed.
997    * evas: @fix convert to 24bits so dst_jump is used properly.
998    * evas/fb: expose and call fb_freemode() and fb_cleanup()
999    * ecore_fb: @fix use of uninitialized values reported by valgrind.
1000    * evas/fb: use stride instead of width.
1001    * eina: Fix bug in eina_convert_itoa (T1062)
1002    * edje/entry: fix to not emit "changed" signal in unnecessary cases of password mode.
1003    * edje: do not leak in case of error. (CID1191310, CID1191311)
1004    * evas-fb: Fix broken build of efl
1005    * ecore-drm: Initialize ecore_event on ecore_drm_init
1006    * edje - allow lager clipper space.
1007    * eina-cxx: Fixes compilation errors and warnings in clang
1008    * evas: Replace EINA_LIST_FOREACH_SAFE to while statement.
1009    * evas: @fix use the correct composite op on lines with pixman
1010    * Evas filters: Fix 1-D blurs on a single buffer
1011    * Evas filters: Fix memory leak when destroying the object
1012    * ecore-x: Predefine Ecore_X_Atom and Ecore_X_Icon
1013    * ecore-evas: Predefine Ecore_X_Atom and Ecore_X_Icon
1014    * evas: restore behavior of stack above and below when no rel is specified. (CID1191907, CID1191906)
1015    * Ecore x: Add back the two symbols removed in 1.9.
1016    * eet: fix tokenizer's escape logic.
1017    * Evas textblock: Don't include right margin/padding twice when aligning lines.
1018    * edje: check font change in edje text part cache infra.
1019    * edje/util: set flag to all_part_change when edje class member is added.
1020    * Evas cserve2: Fix client crashes when a file changed
1021    * Evas gl: Fix clip in image_draw if it's not set
1022    * ecore-drm: Fix ecore_drm_device_window_set to use an unsigned int
1023    * ecore-evas-drm: Fix setting of the ecore_evas property window and register the prop.window for events.
1024    * evas-drm: Fix engine to use the output's framebuffer as window id
1025    * ecore-wayland: Fix ecore_wl_init 'stalling' when used in a server
1026    * Eolian/Lexer: increase buffer length for .eo files
1027    * Eolian/Generator: Don't generate sub ids structure if not needed.
1028    * ecore-drm: Fix absolute motion coordinate calculation
1029    * edje_cc no longer fails on collections.group{}
1030    * edje_cc now correctly handles lack of state int in STATE_SET action
1031    * edje_cc also checks min args correctly for STATE_SET actions
1032    * Evas filters: fix potential memory leak
1033    * eio monitors no longer trigger a CRI error during free
1034    * edje_cc uses macros for some of its handler setup
1035    * evas/gl - fill up missed blend mode.
1036    * evas: Fixed warning for uninitialized variables
1037    * edje_cc now correctly handles group inheriting when the inherit is after a part/program
1038    * build: Disallow non-working sdl + opengl ES combination (T856)
1039    * Evas Textblock: increase ref of format before work
1040    * evas/proxy - redraw proxy source properly.
1041    * Eolian: move the beta API ifdef to cover all the H types and functions.
1042    * Eolian: fix virtual pure support.
1043    * Eolian/Lexer: fix function names parsing.
1044    * edje_cc: Fix the crash when compiled wrong edc file containing empty part
1045    * evas - fix incorrect object reset.
1046    * evas-drm: Add trapping for a canvas below framebuffer size
1047    * ecore-evas-drm: Add better support for ecore_evas_fullscreen_set
1048    * ecore-drm: Fix mouse wheel to not be inverted
1049    * emotion: fix memory leak
1050    * edje_cc: fix group inheriting with scripts. (group.script and .program.script)
1051    * ecore-evas - fix object cursor to not delete the same cursor when set
1052    * ecore_evas_extn: give proper event data to callbacks
1053    * ecore_evas_extn: fix doxygen sample
1054    * evas-drm: Default async page flip to false as this can cause tearing
1055    * evas-drm: Remove all async_page_flip options/references
1056    * ecore-con - deal with internal buffer growing over 2g in size
1057    * fix swap buffers with damage to not detect if ext str is not there
1058    * ecore-wl: Optimize opaque region setting for surface and reduce unnecessary calls to surface commit.
1059    * ecore-wl: Optimize setting of window input region
1060    * ecore-evas-wl: Reduce useless compositor redraws during render update and update input & opaque regions after resizing.
1061    * ecore_evas_extn: initialize server handle on server deletion
1062    * ecore_evas_extn: update plug image object after disconnection
1063    * Eo: eo_do now returns called func's value + default ret fix.
1064    * Fixed a problem with e wl server that sent invalid key value to wl client.
1065    * ecore-evas-wl: Ooops, Fix opaque & input regions being set to incorrect values
1066    * ecore-wl: Don't create an input cursor surface unless the input has pointer capability.
1067    * ecore-wl: Check for existance of data device manager
1068    * eo: fix broken children iterator, remove redundant fields.
1069    * ecore: Fixed se of EINA_MAIN_LOOP_CHECK_RETURN macros with functions with return types
1070    * emotion: fix triggering condition of fallback module loading (T1025)
1071    * edje now correctly forces ellipsis setting on text parts
1072    * emotion: play set before file open callback bug fix
1073    * emotion: use eina stringshare not strdup
1074    * configure: Only allow wayland + egl with opengl ES (T1202)
1075    * eldbus-codegen no longer passes garbage values to error callbacks
1076    * fix emotion_test signal emit object
1077    * evas-wayland-shm: Use XDG_RUNTIME_DIR if available for creating mmap'd buffer file.
1078    * evas-wayland-shm: Fix 'oopsie/typo' in temporary file name template
1079    * ecore-x - fix setting protocol atoms for icccm for 64bit
1080    * ecore-drm: Send proper keycode to ecore key event, and remove erroneous variable.
1081    * edje/Edje_Edit: _edje_edit_real_part_add init field of Edje_Real_part
1082    * fix ecore_con_url using 100% cpu and just let fd handler do work (T1251)
1083    * fix behavior of edje entry to match other toolkit entires (T1229)
1084    * fix ecore_thread_global_data_wait to work when no data exists yet
1085    * Eo: Fix deref after free. (CID1039898)
1086    * evas/render - fix segfault because of null cow access. (T1252)
1087    * edje: Edje_Edit - fix wrong behaviour on draggable.event processing while deleting parts.
1088    * evas/text: fix abnormal ellipsis logic when harfbuzz is enabled.
1089
1090
1091 Changes since 1.8.0:
1092 --------------------
1093
1094 Additions:
1095
1096    * evas - Added eina_stringshare_ref call for fallbacks, lang in font description.
1097    * evas gl: added partial rendering support for qcom extension
1098    * Evas filters: Add a small utility to take some screenshots
1099    * edje - feature - add channel types for sounds and ability to mute them
1100    * ecore_evas: added window manager rotation to manage the rotation of windows by the WM.
1101    * Add quadruple swap mode for partial rendering
1102    * Evas filters: Implement advanced text effects
1103    * Evas filters: Add transform filter
1104    * Evas: Add support for Alpha buffers
1105    * ecore_x: Add ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_OVER.
1106    * ecore_x: Added API - ecore_x_e_illume_window_state_send
1107    * Evas font: Added support for font fallback for eet/edje fonts.
1108    * eina_tls: add eina_tls_cb_new(Eina_TLS *key, Eina_TLS_Delete_Cb delete_cb)
1109    * edje: Support to set or retrieve selection of ecore_imf
1110    * Add ecore_imf_context_selection_get API to allow Input Method to get the selected text.
1111    * eina: add eina_{str,bin}buf_manage_read_only_new_length().
1112    * eina: add eina_binbuf_append_buffer() and eina_strbuf_append_buffer().
1113    * edje: use luajit by default, if you want lua use --enable-lua-old
1114    * ecore-x now supports XPRESENT
1115    * evas - fonts - move to using 4bit and rel 4 bit compressed font glyphs
1116    * evas gl - prefer alpha4 format for font textures if possible (save memory)
1117    * Edje: add edje_object_part_text_input_panel_show_on_demand_set/get()
1118    * emotion: initial port of emotion to GStreamer 1.0
1119    * edje: edje_edit - adding getter and setter for smooth parameter
1120    * edje: edje_edit - adding API to move to the specified place in the parts stack
1121    * edje: edje_edit - adding getter and setter for text source
1122    * edje: edje_edit - adding getter and setter for text style
1123    * edje: edje_edit - adding edje_edit_group_copy.
1124    * Ecore_Avahi: initial commit.
1125    * edje: adding Alias API into edje_edit module
1126    * edje embryo now supports reset_timer()
1127    * Ecore: add DnD abort from source
1128    * ecore_evas/wayland: Add a function to cleanup the frame callback.
1129    * Adding the cubic-bezier curve to edje transitions
1130    * Eldbus: added function for getting bus unique name
1131    * edje_edit: Add getters and setters for fixed param
1132
1133 Improvements:
1134
1135    * evil: don't depend on the toolchain defined macro.
1136    * emotion: lower severity of a simple warning.
1137    * ecore_evas_fb: allow to force tslib even if mouse was handled.
1138    * autotools: detect cross compilation.
1139    * Evas filters: Improve test coverage of the filters
1140    * Evas filters: Add render test cases with pixel verification
1141    * Evas textblock tests: Improved textblock word start/end tests.
1142    * configure - add warning for non /usr prefixes!
1143    * Evas textblock tests: Add a wrapping test for complex cluster wrapping.
1144    * ecore-evas - sdl module - limit to 1 window at a time
1145    * Edje/entry: Add propagation handling in mouse_out for link anchors (T878)
1146    * Emotion test: rename speed slider to alpha as it should be.
1147    * Emotion test: New volume slider. More readable alpha text.
1148    * distribution cleanup - remove os/arch from module dirs and simplify version
1149    * eina: allow eina_time_get to fall back to other clocks if the first one fails
1150    * configure - add big complaint section if you use off configure options
1151    * Evas textblock: Added a test for rendering of spaces in some cases.
1152    * evas: software_x11 - use evas_xlib_swapper_depth_get to get buffer stride.
1153    * evas: add eglMakeCurrent in evas map create/free.
1154    * evas/op_blend: rename LOOP_ALIGNED_U1_A48_SSE3 to LOOP_ALIGNED_U1_A48
1155    * Edje entry: Enable allow_set for DEFAULT select mode.
1156    * Edje entry: always finish selection when mouse is up.
1157    * Evas textblock: Added tests for *_cursor_char_coord_set.
1158    * Evas filters: Disable proxies with the GL engine
1159    * Evas filters: Add support for proxies in Edje
1160    * Evas filters: Implement basic Edje support
1161    * Evas fonts: Pass RGBA_Image instead of DATA32 buffer
1162    * Evas text utils: Check syntax in color parse
1163    * autotools: use libevil libdl implementation.
1164    * evas: gl backend - ensure eng_window_use in image_content_hint_set
1165    * Evas font: Change font fallback to not depend on fontconfig >= 2.11.
1166    * Evas textblock: Improved error messages when detecting errors in markup.
1167    * evas: textblock - Added Null checking in evas_textblock_text_markup_to_utf8 before calling eina_strbuf_append_length API.
1168    * Evas font: Renamed evas_load_fontconfig and added support for a base set.
1169    * edje: call imf reset before selecting text area
1170    * Updating hungarian and italian translations
1171    * Evas font: Added support for the freetype spacing tag (T865)
1172    * Evas font: Added support for weight/width/slant font tags.
1173    * Evas textblock: Added a test for range geometry with bidi text.
1174    * allow --without-tests in addition to --with-tests=no
1175    * Registers a fallback handler for a given subsection of the object hierarchy.
1176    * ecore_imf: Add selection_set callback type to allow Input Method to select a region of text
1177    * Synced libunibreak local copy with upstream (T805)
1178    * ecore_getopt: support for per-category help listing
1179    * eina-inlist - handle prepend/append relative if list is null (empty)
1180    * eet: reduce memory usage of Eet internal structure by removing useless structure.
1181    * edje: Add changed signal emit in _edje_entry_imf_event_delete_surrounding_cb
1182    * emotion: Use the GStreamer 1.x module instead of the 0.10 one in the border example application
1183    * edje_entry: When preediting, cursor should not be moved.
1184    * ecore_getopt: support for categories
1185    * Textblock: Add test cases for style padding
1186    * ecore_x: set cursor with xinput2
1187    * ecore xcim module - don't printf every time you start to add stdout noise
1188    * emotion gstreamer1: Set visualizations if the vis name is not NULL
1189    * emotion gstreamer1: Also handle DATE_TIME tag
1190    * emotion gstreamer1: Don't forget to allocate metadata struct
1191    * emotion gstreamer1: Implement seekability check via seeking query
1192    * emotion gstreamer1: Add support for selecting subtitle channels
1193    * emotion gstreamer1: Volumes > 1.0 are valid too
1194    * emotion gstreamer1: Add support for buffering and clock-lost handling
1195    * emotion gstreamer1: Major cleanup of internal and GStreamer state handling
1196    * emotion gstreamer1: Don't set pipeline to PAUSED during seeking
1197    * emotion gstreamer1: Use GST_PLAY_FLAG_VIS instead of the corresponding integer
1198    * emotion gstreamer1: Don't use the NATIVE_AUDIO/VIDEO flags
1199    * emotion gstreamer1: Use refcounting instead of in/out variable counting
1200    * emotion gstreamer1: Simplify pipeline creation
1201    * emotion gstreamer1: Some code re-flow in the GStreamer bus handler
1202    * emotion gstreamer1: Use GStreamer's path/URI handling functions instead of writing our own
1203    * emotion gstreamer1: Rename functions and variables for clarity
1204    * eina: add test case - eina_list_clone, eina_list_reverse_clone
1205    * ecore: use WIN32 API to port readdir_r in ecore thread example
1206    * autotools: really don't build Unix specific example on Windows
1207    * ecore_x: Set data of selection event for XDND selection
1208    * ecore: don't build Unix specific example on Windows.
1209    * configure: correctly detect C99-capabilities for ecore_con_resolver
1210    * win build - check for pause func and use only if its there
1211    * setuid safeness - ensure if an app that is setuid doesn't do bad things
1212    * evas - gl-x11 engine - put in guessed blacklist of yinvert extn for intel mesa
1213    * efl - build - add warning about gnutls to configure and dropping privs
1214    * evas: let's use HUGETLB when it makes sense.
1215    * edje: be more informative when and where a file was not found.
1216    * Use key instead of keyname for considering setxkbmap
1217    * Major cleanup of the Emotion GStreamer 1.x video sink
1218    * Updating serbian and italian translations
1219    * evas: disable use of mmap on windows for allocating pixels buffer.
1220    * eina: make eina_binbuf_free and eina_strbuff_free accept NULL.
1221    * scimimmodule: support super key (between ctrl and alt key)
1222    * scimimmodule: code refinement related to key modifier and lock
1223    * ibusimmodule: support CAPS LOCK and NUM LOCK
1224    * configure - add warning when enabling xcb
1225    * Blending function rework and speedup
1226    * emotion - generic - set play after setting mutes and play speed etc.
1227    * evas: improve textblock rendering by walking even less in all case.
1228    * ecore-x - add call to create a permanent window that is not deleted on exit
1229    * Adding hungarian translation
1230    * Evas test textblock: Added a test for a broken range_text_get case.
1231    * edje: edje_decc - added -output flag (save to specified dir)
1232    * evas - jpg loader - speed up header check for pgoressive jpgs
1233    * Remove ecore_imf_context_reset in focus-in event handler
1234    * autotools: Evil is actually needed on Windows add the correct line for Ecore_Avahi.
1235    * getopt: add positional argument handling.
1236    * Evas test textblock: Added a test for a broken range_delete case.
1237    * Evas textblock: Added more range_delete tests.
1238    * ibusimmodule: support preedit style
1239    * emotion: make webcam initialization lazy and non blocking (T648)
1240    * rebase dns.c from upstream
1241    * autotools: detect systemd to warn user they are required to use --enable-systemd to turn it on.
1242    * autotools: let's try this variant for detecting c++ compiler availability.
1243    * Evas tests: Add invalid markup test
1244    * ecore-evas - disable comp syncing by default (can be turned on though still)
1245    * Evas textblock: Slightly improve paragraph items freeing.
1246    * ecore evas - add animator update syncing to only render on animator ticks
1247    * ecore loop + animator - add call to get if an animator cb has run this iter
1248    * evas - Clip mark performance improvement
1249    * efreet: propagate scan error to caller
1250    * eina: this is actually a better way of improving Eina_Hash performance.
1251    * eina: fuzze test the eina_hash_string_superfast to.
1252    * eina: increase hash matching inside of Eina_Hash.
1253    * eina: add fuzzy test of eina_hash.
1254    * eina: add fuzzy testing of the red black tree.
1255    * Implement withdrawn_set/unset on Wayland engines. (T155)
1256    * ecore_evas/wayland: Implement ecore_evas_withdrawn_set.
1257    * Update Korean translation for the efl1.8 release
1258    * NEON vectorization: added use of COLSAME define in map routine
1259    * configure: add optional solution to alert
1260    * ecore_evas_object_example: Added cursor unset example.
1261    * Emotion generic: change the log domain name to be consistent with others domains.
1262    * Emotion test: added --loop and --position args.
1263    * Emotion generic: remove the player restart hack.
1264    * eina: reduce log to warning when not found.
1265
1266 Fixes:
1267
1268     * Check ecore_x_window_prop_card32_get() return value correctly in ecore_x_e.
1269     * edje freeze count can no longer become negative
1270    * Revert "Evas font: Change font fallback to not depend on fontconfig >= 2.11." (T1006)
1271    * Evil: Fix parallel build for Windows
1272    * Emotion Generic: receiving the size on opening is correct.
1273    * edje: Edje_Edit - make sure we don't use an not initialized value (CID 1181885 and CID 1181888)
1274    * Evas textblock: Fixed a few word start/end issues (T995)
1275    * ethumb - fix clients going right to disk and getting half written thumbs
1276    * edje: fix custom allocator with luajit
1277    * Evas text utils: Fixed walking compound clusters.
1278    * evas/image - update dirty region in the render time.
1279    * Gif: Fix animated gifs when used as proxy sources
1280    * Emotion test: no need for an animator to update the time string.
1281    * Emotion test: no need to search for a folder that no more exists
1282    * Emotion test: add the volume slider also to the Reflex group.
1283    * Emotion test: Removed volume key bind. EINA_UNUSED--
1284    * edje: fix Eo ids, to make Eolian keep silence
1285    * evas/common: fix segfaults in evas_map_image_loop.c
1286    * eina: fix in eina_rectangle_pool to make sorting effective
1287    * eet - dump - if group type is not a handled type, assume unknown (CID 1039307)
1288    * evas - table - fix theoretical leak that likely will never happen (CID 1039663)
1289    * evas - gl - core - checke for wrong context in error check (CID 1135266)
1290    * evas - gl x11 - fix glx texture from pixmap target rectangle mode check (CID 1135267)
1291    * edje - edje_cc - remove logically dead code (CID 1135268)
1292    * evas cserve2 - fix chekc of wrong return type (CID 1135269)
1293    * evas - gl core - don't access null ptr on init (CID 1135270)
1294    * edje - fix bunch of possible null return errors with checks (CID 1135274 CID 1135272 CID 1135275)
1295    * evas filter - fix uninitialized pointer in evas (CID 1174077)
1296    * evas - filter - don't use longs when DATA32 is the right type (CID 1174078)
1297    * evas - filters - remove logically dead code (CID 1174084)
1298    * evas - proxy source visible check not done on update del (T842)
1299    * edje segv on file update - try and fix this. not sure if this caused it
1300    * edje - fix probable leak by ensuring current prog is freed on real part free (T923)
1301    * Evas textblock: Fixed colour setting for textblock formats (T926)
1302    * Evas textblock: Fix rendering of spaces in some cases (T924)
1303    * Evas filters: Check for EVAS_CSERVE2 when using cs2 APIs
1304    * ecore_x_selection: fix selection data freeing
1305    * in case font_instance is null in text_props... avoid using it
1306    * Evas Textgrid: Don't leak an eina_stringshare when scale_update is called.
1307    * evas - textblock ... fix valign handling to actually work as documented
1308    * evas text filter - fix va_arg usage to not cause compiler internal errs
1309    * ecore_x: fix wrong Atom name.
1310    * Evas textblock: Fixed *_cursor_char_coord_set with some y values.
1311    * ecore-x xpresent - fix build if you DONT have xpresent there.
1312    * edje: edje_calc - fix deffect by find the part description when 'approximate' is EINA_FALSE
1313    * eina: restore magic debug option for ABI compatibility purpose.
1314    * edje embryo reset timer should probably call the reset function
1315    * Patcna: fix wrong widgth and height in eina_rectangle computation logic.
1316    * evas - fix tom's bold-killer from 2cb9db171ead5bc9920234e27c2e12b7c7b3883a
1317    * Evas textblock: Fix selection with bidi text.
1318    * fix evas_tiler bug (makes evas get stuck in an infinite loop there in certain scenarios)
1319    * Edje entry: Fix memory corruption (of by one in allocation) (T867)
1320    * Edje entry: Fix anchor href parsing.
1321    * entry: clear selection before selecting new one
1322    * checking for libmount newer than 2.19.0 means newer, not older
1323    * configure: Add ecore-imf to ETHUMB_INTERNAL_LIBS
1324    * eina: fix test suite for rwlock... hopefully.
1325    * evas: textgrid - fix crash in terminology with rare characters.
1326    * embryo: force the insertion of a '/' in the path to be sure that file path make sense.
1327    * eina_tls: fix calls to TlsFree
1328    * ecore_imf: fix to call function of immodule when the input method property is changed
1329    * embryo_cc - remove trainling / from path for windows stat so it works
1330    * Evas: Fix proxy rendering for animated objects (T832)
1331    * eina: do not access dead pointer from within valgrind macro.
1332    * ximimmodule: fix dereference after null check (CID 1162749)
1333    * okay, bring back xrandr < 1.4 compat for ecore_x_randr_output_name_get
1334    * nul terminate string from ecore_x_randr_output_name_get
1335    * Evas: Fix MMX mask function _op_copy_p_mas_dp_mmx()
1336    * _op_blend_c_dp_neon miscalculation fix
1337    * eet_data: guarantee double-word alignment for temporary stack buffer.
1338    * eina/mp/one_big: fix alignment issues.
1339    * configure: include required NEON build flags.
1340    * ecore_x: Fix to handle paste null data case.
1341    * evas: Fixed to compare current render_op with previous render_op for textblock. If the render_op is changed, call evas_object_render_pre_prev_cur_add.
1342    * Evas cserve2: Fix invalid memory access
1343    * emotion gstreamer1: Call _emotion_frame_new() for audio-only streams without visualisations too (T767)
1344    * Textblock: Relayout if needed in line geometry get
1345    * Textblock: Fix padding with styles (part 2)
1346    * Textblock: Fix padding computation (part 1)
1347    * Evas/cserve2: Add some safety checks when reading socket messages (CID 1039571 and 1039572)
1348    * Evas/cserve2: Remove dead code (CID 1039925)
1349    * Evas/cserve2: Stop looking at those dirty pics!
1350    * Evas/cserve2: Fix potential crash in image_free
1351    * Eio monitor: Fix crash on invalid data access
1352    * Evas/cserve2: Keep image_id when reopening a changed file
1353    * Evas/cserve2: Clear up File_Data when opening a new image
1354    * Evas/cserve2: Rename "invalid" field to "changed"
1355    * Evas/cserve2: Add another load error check
1356    * Evas/cserve2: Fix crash on image file change
1357    * Evas/cserve2: Fix crash in server on file change
1358    * Evas/cserve2: Fix memleak during shutdown
1359    * Evas/cserve2: Use calloc instead of malloc
1360    * Unbreak ecore_evas wayland engines
1361    * evas - cserve2 - avoid segv accessing im->cache
1362    * evas gl - fix egl/gles build after alpha4 change for fonts
1363    * ecore_evas_x: Fix gl_sync_draw_done initialize routine to handle exceptional case.
1364    * eina: fix memory leak of inserting the wrong value in the hash.
1365    * evas cserv2 - remove logical dead code (CID 1113441)
1366    * cserve2 - debug bin - fix theoretical leak of socket fd (CID 1039286)
1367    * eina lock posix - remove dead code in eina_spinlock_take (CID 1106340)
1368    * examples: fix pointer <-> int conversion (windows 64 bits) in ecore and evas examples.
1369    * examples: do not do void* arithmetics in evas examples.
1370    * example: fix uninitialized variable in ecore.
1371    * evas - unbreak gl font rendering with dst pointer checks
1372    * evas - sw render - protect against null pointer surface access
1373    * Evas/cserve2: Fix valgrind warning about uninitialized memory
1374    * Evas cserve2: Fix crash in cserve2 when slaves die
1375    * eio - protect against posible segv on rename with eio
1376    * eina: Eina_File - don't leak memory when file is not found.
1377    * ecore_imf_example: remove wrong implementation code.
1378    * eina: fix support for system requiring _XOPEN_SOURCE to use spinlock and barrier.
1379    * eina: fix build break on systemd based system.
1380    * ecore_evas: extn - restore missing symbol that resulted in a temporary ABI break.
1381    * ecore_con - Fix binary buffer when using ECORE_CON_REMOTE_UDP.
1382    * evas - sw render - map render neon broken for expedite 45/46 disable
1383    * evas - fix neon scale code
1384    * ibusimmodule: fix segmentation fault
1385    * edje - fix edje lua usage for lua 5.2 to not go crazy on memory allocs (T323)
1386    * evas - set clipees list to NULL on free to avoid access
1387    * ecore-evas - x11 - call resize callback if wm denies resize request
1388    * ethumbd - stop using an idler that spins at 100% cpu while generating queues
1389    * ethumbd - if thumb gen takes too long don't just quit ethumbd, but skip thumb
1390    * ethumbd - drop priority to 19 like efreetd so it lurks in bg as much as it can
1391    * efreet - minor formatting and move set prirority to very start
1392    * Evas textblock: Fixed range_text_get bug with multiple text nodes.
1393    * emotion: don't duplicate storage of audio/video stream metadata in GStreamer 1.x backend.
1394    * evas - gl engine - glerr should be off by default for performance
1395    * emotion - broken module loading loagic fixed that fixes gst 0.10/1 deadlock
1396    * eina: struct _Eina_Rbtree contains an enum bitfield, which is a GNU extension not specified by C99.
1397    * emotion: remove (broken) X11 integration from the GStreamer 1.x backend.
1398    * evas gl engine - ensure on texture delete we never leave a cur tex id dangling
1399    * evas - gl-x11 engine - don't re-init engine window on rotate
1400    * evas - protect against table cache being null and then used
1401    * evas: limit how many times we walk over items.
1402    * ecore: allow out-of-source build of ecore_xcb_keysym_table.h.
1403    * evas: fix a segfault in _draw_thread_font_draw, caused by the missing initialisation of a struct field
1404    * ecore: remove dead free (CID 1139955)
1405    * ecore: fix shutdown when using system module.
1406    * ecore: fix tests to avoid failure on successful initialization.
1407    * ecore_audio: update test to not look at ecore_init return to much due to system module.
1408    * eldbus: fix tests to properly take into account the presence of ecore system module.
1409    * eldbus: don't do a double initialization due to ecore module using eldbus now.
1410    * edje: edje_edit - fix .edc file generation
1411    * evas - redraw the map surface if one of the children has been still changed map.
1412    * emotion_generic: fix permissions, resource leaks and error handling.
1413    * bugfix: free the entire ecore_con dns struct on info clear to prevent crashes later on
1414    * extn: remove unused attribute am_server.
1415    * extn: complete with NULL newly added functions.
1416    * evas: no loader should ever close an Eina_File anymore (T674 and T668)
1417    * evas: patched evas_map_image.c to use NEON code
1418    * evas - render - clear out pending object array more aggressively
1419    * Fix leak + possible segfault in edje_edit.
1420    * edje: edje_edit - fix edje_edit_state_color_class_set to apply the colors to color_class.
1421    * ibusimmodule: fix dereference after null check issue
1422    * evas - tiler - fix missing clip of first rect to outbuf size
1423    * ecore/ecore_x - show the window if the window should be visible.
1424    * Evas textblock: Fixed range_deletion bug with multiple visible formats.
1425    * bugfix: eldbus code generator struct members named "proxy" should not be passed to eina_value_free.
1426    * edje_edit - fix mem leak of src strbuf on print status (CID 1039263)
1427    * edje - edje_edit - don't access collection after it is freed (CID 1137855)
1428    * emotion - webcam - don't access after free and ensure it is not in list (CID 1137853 and CID 1137854)
1429    * evas - fb engine - fix mem leak if ioctl fails on fb mode (CID 1137852)
1430    * ecore-file - fix mem leak in ecore_file_app_exe_get() on restart (CID 1039279)
1431    * evas - software-x11 - fill in unused struct members to avoid uninitialized CID 1039548
1432    * bugfix: make eldbus generated code not crash on every single generated event
1433    * Evas textblock: Fixed deletion of ranges ending with visual formats.
1434    * ecore_file - finding exe path - if HOME is not set a leak could happen (CID 1039279)
1435    * eina - eina_file - fix leak of fd is fd is 0 (CID 1039181)
1436    * fix fd leak in emotion webcam where fd of value 0 never closed (CID 1039175)
1437    * ethumbd - fix possible out of bounds access to work table (CID 1039314)
1438    * edje - epp - fix possible array access by negative (CID 1039357)
1439    * ecore - utils - makekeys - fix uniitialized arrays (CID 1039547 and CID 1039546)
1440    * eeze - fix uninitialised sigation struct content (CID 1039552)
1441    * edje_decc - fix possible use of uninitialized string (CID 1039553)
1442    * ethumb - ensure buf is nul terminated (CID 1039577  and CID 1039576)
1443    * ecore-con - fix possible unterminated buffers (CID 1039725 and CID 1039724)
1444    * Edje: Update anchor and item tags when text is deleted by _edje_entry_imf_event_delete_surrounding_cb.
1445    * emotion: fix potential memory leak when webcam register fail.
1446    * ecore_con - dns.c - re-fix coverty double-free. coverity was and is right (CID 1039909)
1447    * evas - fix gif loader drop of image data sometimes (image dump/flush)
1448    * embryo - embryo_cc - argv parsing MIGHT leave str buf not nul terminated (CID 1039726)
1449    * evas - evas gl - fix realloc failure case to handle it properly
1450    * evas - evas_gl - fix shader patch to not free static strings (CID 1039653)
1451    * eet data encode - dont free data if its not separately allocated (CID 1039728)
1452    * evas - font dir - remove from hash before free/del (CID 1039889)
1453    * ethumb - client lib - fix access of async item in idler after free (CID 1039892)
1454    * ephysics - fix real access-after-free issue on delete of constraint (CID 1039895)
1455    * edje - edje_pick - fix coverty access-after-unref issue (CID 1039916)
1456    * edje - edje_cc - fix coverty issue of not exiting loop for box items name (CID 1039918)
1457    * evas - textblock - fix dbg_info_get to avoid leak if root is NULL (CID 1040007)
1458    * evas - cserve2 - fix uninitialized member "image_id". (CID 1042303)
1459    * evas - gl - use snprintf for safety (never likely anyway, so code was fine)
1460    * edje - edje_cc - try and make coverty ignore the leak (invalid) (CID 1132627)
1461    * evas gif loader - address animated always being true (CID 1135790)
1462    * autotools: fix complain about using subdirs without the right option.
1463    * autotools: make systemd dependency detection automatic.
1464    * gif loader - handle theoretical NULL loader_data case
1465    * ecore_x: ensure positive malloc size (CID 1135636)
1466    * evas - fix gif loader cpu overuse - used too much cpu to decode anims
1467    * ecore_x: remove double free (CID 1135637)
1468    * Evas textblock: Fix crash with empty markups values
1469    * ecore_imf/wayland: Only call hide_input_panel on im_context_hide() (T237)
1470    * autotools: work around buggy macro to force C++ compiler detection.
1471    * ecore_evas/wayland: Update withdrawn property, and inform state_changed.
1472    * Evas/cserve2: Fix crash during shutdown
1473    * Evas: Fix crash in GL engine(s) during preload cancel
1474    * Fix opaque windows becoming transparent after hide() then show().
1475    * ecore_x: Fix buffer overrun (CID 1039584)
1476    * ecore_x: Fix bug in ecore_x_region_invert (CID 1039469)
1477    * ecore_x: Remove NULL check (CID 1039648 and 1039649)
1478    * ecore_x: supported isn't an optional argument (CID 1039430)
1479    * ecore_x: Only use att if call succeeds. (CID 1039692)
1480    * ecore_x: Only do memset if len < 20 (CID 1039311)
1481    * ecore_x: always free data and return value
1482    * ecore_x: Check if we have data (CID 1039264)
1483    * ecore_x: '\0' terminate converted text (CID 1039310)
1484    * ecore_x: Only send XdndEnter when we have types (CID 1039693)
1485    * ecore_x: Also check for !prop here (CID 1039429)
1486    * eldbus: Check return value of eina_value_pget (CID 1039685)
1487    * eldbus: use alloca to allocate local mem (CID 1039179)
1488    * eldbus: unref msg on error (CID 1039178)
1489    * eldbus: on error unref msg (CID 1039177)
1490    * eldbus: free allocated mem on error (CID 1039177)
1491    * eldbus: print error when fwrite fails (CID  1039715)
1492    * eldbus: Check return value of _type_size (CID 1039436)
1493    * eldbus: create object when needed (CID 1039287)
1494    * eina: Set it to NULL before next iteration (CID 1039913 and 1039914)
1495    * evas - fix overdraw + too many rects problem found in some expedite tests
1496    * efreet - fix recusrion checks need to pop as well as push.
1497    * ximmodule: fix issue the cursor of preedit shows the in front of preedit string
1498    * Fix raster bug report about elm window resize issue (content drawing outside the window).
1499    * Update the engine resize edge before we call ecore_wl_window_resize
1500    * efreet - protect efreetd from recursing too far to save overhead and mem
1501    * eina: improve cmp function of eina_hash string related hash.
1502    * Revert "eina: work around current strange behavior seen in eina_cow."
1503    * Revert "eina: check if the complete hash match before checking if the key match during children walk."
1504    * evas: fix loader to properly define _XOPEN_SOURCE for Solaris.
1505    * efreet: Create stack at start of recursion (CID1132751 and CID1132752)
1506    * efreet: Create stack at start of recursion
1507    * eina: work around current strange behavior seen in eina_cow.
1508    * evas/event - fix the inccorect event hit area.
1509    * evas: bugfix in evas_render of not maintaining changed flags on object correctly.
1510    * ximmodule: check whether pointer is NULL before accessing in xim_preedit_callback_set (CID 1135273)
1511    * ecore_evas/wayland_egl: Unset the surface on window hide.
1512    * evas/wayland_shm: Don't use a global var to store the sent buffer.
1513    * Revert "fix smart sma by allowing more recursion"
1514    * fix unchecked return value of stat in ecore_file_mv (CID 1039697)
1515    * textgrid - with new fallback fonts we cant depend on glyph extents  anymore
1516    * textgrid - out-of-bounds chars cause update artifacts - fix.
1517    * Emotion test: fix calculation of the displayed time.
1518
1519 Removals:
1520
1521 Changes since 1.7.0:
1522 --------------------
1523
1524 Additions:
1525     * Add --with-api=XXX (both|legacy|eo)
1526     * Evil:
1527      - Add mkdtemp.
1528      - Add evil_rename() a wrapper for rename().
1529      - Add strsep().
1530     * Eina:
1531      - Add DOCTYPE children parsing in eina_simple_xml
1532      - Add eina_barrier thread API
1533      - Add eina_tmpstr_add(), eina_tmpstr_del(), eina_tmpstr_add_length() and
1534             eina_tmpstr_strlen().
1535      - Add eina_thread API
1536      - Add eina_list_last_data_get
1537      - Add eina_xattr_fd_get(), eina_xattr_fd_set(),
1538            eina_xattr_del(), eina_xattr_fd_del(), eina_xattr_copy() and
1539            eina_xattr_fd_copy()
1540      - Add eina_stringshare_refplace()
1541      - Add eina_file_copy()
1542      - Add eina_log_print_cb_journald()
1543      - Add eina_list_shuffle()
1544      - Add eina_file_mkstemp()
1545      - Add eina_log_timing()
1546      - Add eina_inlist_first
1547      - Add eina_inlist_last
1548      - Add eina_str_convert_len() to work around broken eina_str_convert()
1549      - Add eina_file_dup()
1550      - Add eina_tiler_area_size_set(), eina_tiler_strict_set(), eina_tiler_area_size_get()
1551      - Add eina_file_map_populate()
1552      - Add eina_tiler_empty()
1553      - Add eina_file_virtualize() and eina_file_virtual()
1554      - Add eina_file_refresh()
1555      - Add eina_rectangle_is_valid(), eina_rectangle_max_x(), eina_rectangle_max_y(), eina_rectangle_x_cut(),
1556      eina_rectangle_y_cut(), eina_rectangle_width_cut(), eina_rectangle_height_cut(), eina_rectangle_subtract(),
1557      EINA_RECTANGLE_INIT, EINA_RECTANGLE_FORMAT, EINA_RECTANGLE_ARGS.
1558      - Add eina_f16p16_double_from(), eina_f16p16_double_to().
1559      - Add eina_swap16(), eina_swap32(), eina_swap64().
1560      - Add Eina_Spinlock API.
1561     * Eet:
1562      - Add eet_mmap()
1563      - Add eet_data_descriptor_name_get()
1564      - Add support EET_T_VALUE
1565      - Add EET_DATA_DESCRIPTOR_ADD_SUB_NESTED()
1566      - Add EET_DATA_DESCRIPTOR_ADD_MAPPING_BASIC()
1567     * Eo:
1568      - Add generic efl object infrastructure
1569      - Add debugging facility
1570      - Make eoid use mmaped tables from anonymous memory for safety.
1571     * Evas:
1572      - Add WebP image loader and saver modules.
1573      - Add ellipsis support in Evas_Object_Text.
1574      - Add EVAS_GL_LINE_OFFSET_HACK_DISABLE to turn off line shift correction by evas.
1575      - Add EVAS_GL_DIRECT_MEM_OPT to enable on-demand fallback memory allocation policy for EvasGL direct rendering.
1576      - Add engine specific alpha_get.
1577      - Add multiple output support API.
1578      - Add buffer age support to gl for automatic partial redraws.
1579      - Add GLX_MESA_release_buffers suppport to release unused buffers.
1580      - Add multiple font draws support to engines
1581      - Add Cserve2 scalecache support
1582      - Add evas_object_image_source_clip_set()/get()
1583      - Use eina_file_virtualize() for evas_object_image_memfile_set().
1584      - Change mapping policy for image loader.
1585      - textblock: Use max ascent/descent at the edges of the textblock.
1586      - textblock: Make the ellipsis format the same as the surrounding.
1587      - Add interceptor for focus_set.
1588      - Evas font: Use our own fontconfig configuration so we don't get affected by changes made to the default fontconfig configuration.
1589      - Evas font: Make the evas_font_path_* functions apply to fontconfig searches.
1590      - Add JPEG 2000 loader.
1591      - Evas textblock: Use correct font underline properties when drawing underlines.
1592     * Ecore_X:
1593      - Add window profile support.
1594        ECORE_X_ATOM_E_WINDOW_PROFILE_SUPPORTED
1595        ECORE_X_ATOM_E_WINDOW_PROFILE
1596        ECORE_X_ATOM_E_WINDOW_PROFILE_CHANGE
1597        ECORE_X_ATOM_E_WINDOW_PROFILE_AVAILABLE_LIST
1598        ECORE_X_ATOM_E_WINDOW_PROFILE_CHANGE_REQUEST
1599        ECORE_X_ATOM_E_WINDOW_PROFILE_CHANGE_DONE
1600        ecore_x_e_window_profile_supported_set()
1601        ecore_x_e_window_profile_supported_get()
1602        ecore_x_e_window_available_profiles_set()
1603        ecore_x_e_window_available_profiles_get()
1604        ecore_x_e_window_profile_change_send()
1605        ecore_x_e_window_profile_change_request_send()
1606        ecore_x_e_window_profile_change_done_send()
1607        ecore_x_randr_crtc_info_get()
1608        ecore_x_randr_crtc_info_free()
1609        ecore_x_dnd_self_begin()
1610        ecore_x_dnd_self_drop()
1611        support for text/x-moz-url DND operations
1612      - Add atom related with indicator type. 
1613      - Add manual render code before deiconify
1614      - Add accessibility support.
1615        ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_BACK
1616        ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_SCROLL
1617        ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_MOUSE
1618        ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_ENABLE
1619        ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_DISABLE
1620      - add error messages for xlib
1621        ECORE_X_ATOM_XDND_DIRECTSAVE0
1622      - add ECORE_X_SYNC env variable for xlib backend
1623     * Ecore_Wayland:
1624      - Store global wayland interfaces in a globals list so wayland programs
1625        can bind to other non-standard wayland protocol extensions.
1626      - ecore_wl_globals_get()
1627      - ecore_wl_registry_get()
1628      - Add #ifdef __cplusplus to Ecore_Wayland.h so C++ programs can link to
1629        and use the API.
1630      - Add support for double and triple click.
1631      - Add ecore_wl_window_alpha_set/get().
1632     * Ecore_Evas:
1633      - ecore_evas_window_profile_supported_get()
1634      - ecore_evas_window_profile_set()
1635      - ecore_evas_window_profile_get()
1636      - ecore_evas_window_available_profiles_set()
1637      - ecore_evas_window_available_profiles_get()
1638      - ecore_evas_sub_ecore_evas_list_get()
1639      - Add infrastructure to handle message between ecore and parent ecore in Ecore_Evas.
1640      - Add window profile support to ecore_evas_extn.
1641      - Add window profile support to ecore_evas_buffer.
1642     * Ecore_Getopt:
1643      - Add ECORE_GETOPT_ACTION_BREAK
1644     * Ecore_audio:
1645      - Add PulseAudio backend.
1646      - Add Alsa backend.
1647     * Ecore_Input_Evas:
1648      - Add infrastructure to handle buggy touchscreen.
1649     * Edje:
1650      - textblock: Added support for size_range.
1651      - table: Added spread.{w,h} to repeat and automatically name an item in a TABLE part.
1652      - add embryo fill support for proxy parts
1653      - entry: Added selection handlers.
1654      - Add edje_object_part_text_input_panel_layout_variation_set/get API
1655      - Add EDJE_INPUT_PANEL_LAYOUT_DATETIME layout
1656      - support edc proxy.source_visible, proxy.source_clip
1657      - support edc map color set
1658      - Add threshold support to Edje draggable part.
1659      - Reduce load time of Edje_Object using Evas_Object_Textblock and many styles.
1660      - Add edje_object_mmap_set.
1661      - Fix play sample parameter checking.
1662      - Add border information to Image sets.
1663     * Eeze:
1664      - Add a dummy libmount replacement for when libmount is not there.
1665     * Ecore_Con:
1666      - Add systemd socket activation support (ECORE_CON_SOCKET_ACTIVATE).
1667     * Ecore:
1668      - notify systemd that we are ready as soon as the main loop is running.
1669      - automatically support Watchdog.
1670     * Ecore_Imf: 
1671      - Add ecore_imf_context_input_panel_layout_variation_set/get API
1672      - Add ecore_imf_input_panel_hide API
1673      - Add ecore_imf_context_input_panel_event_callback_call, clear API
1674      - Add ECORE_IMF_INPUT_PANEL_LAYOUT_DATETIME layout
1675      - Add ecore_imf_context_input_panel_on_demand_set/get API
1676     * Eio:
1677      - Add eio_eet_sync symbols.
1678         
1679 Deprecations:
1680     * Ecore_X:
1681      - Old profile stuffs.
1682        ECORE_X_ATOM_E_PROFILE
1683        ECORE_X_ATOM_E_PROFILE_LIST
1684        ecore_x_e_window_profile_list_set()
1685        ecore_x_e_window_profile_list_get()
1686        ecore_x_randr_crtc_gamma_ramp_size_get()
1687        ecore_x_randr_crtc_gamma_ramps_get()
1688        ecore_x_randr_crtc_gamma_ramps_set()
1689     * Ecore_Evas: deprecate DirectFB, XRender, WinCE, X11-16 and X11-8.
1690     * Eeze: deprecate libudev<148 and libmount<2.18
1691
1692 Removed:
1693     * Evas:
1694      - Remove support for DirectFB, XRender, WinCE, Glew, Direct3d, X11-16 and X11-8.
1695      - Remove svg loader from inside the tree.
1696     * Ecore_Evas:
1697      - Remove support for DirectFB, XRender, WinCE, Glew, Direct3d, X11-16 and X11-8.
1698     * Ecore_DirectFB:
1699      - Removed
1700     * Eina error status:
1701      - eina error status from efl now don't also report error in addition to return.
1702
1703 Improvements:
1704     * EFL:
1705      - Single EFL tree covering all EFL library components.
1706      - All efl object-freeing functions now take NULL without crashing or erroring
1707      - Use the right macro to disable fcntl.
1708     * Translations updates:
1709      - french.
1710     * Eina:
1711      - Speedup Eina Rbtree Iterator by recycling memory instead of
1712        repeatedly calling malloc/free.
1713      - eina_magic_fail() now throws error messages on NULL pointers instead of critical
1714      - Eina.h includes eina_alloca.h/alloca.h to define alloca()
1715      - Faster eina share del.
1716      - Don't over align data if they are already aligned.
1717      - Eina_Tiler now take tile size into account.
1718      - Improve support for 64bits system.
1719      - eina_strlcat now work with a NULL source.
1720      - Use Eina_Spinlock for eina_log, eina_stringshare and chained_mempool.
1721     * Eet:
1722      - Display more information with eet -l -v.
1723      - Force thread to always run during eet_cache_concurrency test.
1724      - Use Eina_Spinlock for locking dictionnary instead of Eina_Lock.
1725     * Evas:
1726      - Reduced number of enqueued font commands when rendering textgrid objects
1727      - Use Eina_File in webp, gif, tiff, png and eet loader
1728      - Upgrade liblinebreak to latest version of libunibreak.
1729      - Improved support for 64bits system.
1730      - GL engine downscale quality in smooth mode much improved with multisampling up to effectively 16x16 via shaders.
1731      - Textblock: Added proper size adjustments for "high" shaped texts.
1732      - Textblock : Added split cursor for BiDi text
1733      - Works around MESA/intel xorg bug where alpha channel of non-argb windows is not filled in with 0xff.
1734      - Update the map smart members really when it needs to render.
1735      - Reduce memory footrpint with evasgl to only make context on demand.
1736      - Reduce waiting on gl so it cvan fully run async from cpu.
1737      - GL engine don't map dri/drm buffer unless we are going to render.
1738      - GL engine get partial rendering support for several gl drivers.
1739      - Turn on scissors always to abe able to to partual render on some GL implementations properly.
1740      - Use eo array of callbacks to reduce callbacks memory footprint of Evas_Object_Box and Evas_Object_Table.
1741      - Optimized path for when map use the same color for all corner.
1742      - Asynchronous preload of GL texture.
1743      - Add neon assembly for upscaling and map routines
1744      - Use mmap/munmap for image data allocation on system that have mmap.
1745      - Add iterator for walking child of smart objects, table and a box.
1746      - Use Eina_Spinlock for Evas_ScaleCache, Evas_Async_Events and Image_Entry.
1747      - Allow fuzziness on the texture format returned by GL.
1748     * Ecore:
1749      - Use Eina_Spinlock for Ecore_Thread.
1750     * Ecore_Con:
1751      - Rebase dns.c against upstream
1752      - URL support now dynamically loads libcurl at runtime via eina_module.
1753     * Edje:
1754      - Entry: cursor position and location will be passed when it's really changed in case of mouse down, move, and up event.
1755      - Entry: remove ecore_imf_context_reset in mouse up event because it's useless.
1756      - Entry: remove ecore_imf_context_reset, cursor update in mouse move event because it's useless.
1757      - Entry: move ecore_imf_context_cursor_position_set from mouse down event to mouse up event.
1758      - Entry: remove ecore_imf_context_cursor_position_set in functions related to selection.
1759      - Entry: support &, < and > in preedit string.
1760      - Entry: remove duplicated ecore_imf_context_reset in adjusting the selection.
1761      - Entry: emits signals on keydown/up for theme to use.
1762      - Entry: move cursor to correct position when selection handlers are pressed.
1763      - Use ecore_audio in edje-multisense
1764      - Reduce memory consumption of Edje program handler.
1765      - Use Eina_Cow to reduce memory usage.
1766      - Use eo array of callbacks to reduce callbacks memory footprint.
1767      - Improve accuracy of part positioning by keeping rounding information as long as possible.
1768     * Ecore_Evas:
1769      - wayland-egl only renders now if last frame has been presented.
1770     * Embryo:
1771      - Use eina_file_mkstemp().
1772     * Ecore_Audio:
1773      - Use eo api to batch more
1774     * Evas: optimize proxy rendering. Rendering performance is increased up to 2x in some cases.
1775
1776 Fixes:
1777     * Eina:
1778      - Fix return value of eina_mmap_safety_enabled_set() and future
1779        eina_mmap_safety_enabled_get() returns after success.
1780      - Don't leak fd on exec.
1781      - Fix eina_xattr_value_ls() and eina_xattr_value_fd_ls()
1782      - Fix eina_prefix_new() with debian multilib without magic check file.
1783      - Prevent potential denial of service on eina_hash function.
1784      - Fix memleak in Eina_File.
1785      - Fix memory leak in eina_xattr_value_ls.
1786      - Fix magic failure in eina_value_array_count when array has not been allocated.
1787      - Fix issue when wchar_t is signed and eina_unicode does negative array lookups.
1788      - Fix eina_file_map_lines() to not drop of one character in the last line.
1789      - Fix a possible race condition during eina_file_close().
1790     * Eet:
1791      - Fix PPC (big endian) image codec bug.
1792      - Fix leak in eet_pbkdf2_sha1 with OpenSSL.
1793      - Fix possible buffer overflow in functions relying on EET_T_LAST
1794      - Fix endianess issue in Eet_Image.
1795      - Fix eet_mmap to use caches for lookup so it shares with everyone.
1796     * Evas:
1797      - Fix GLX native surface handling to use glXChooseFBConfig.
1798        This frixes a break in compositing on new intel mesa drivers.
1799      - Fix glGetIntegerv() in Direct Rendering mode for Evas GL
1800        to properly handle GL_SCISSOR_BOX and GL_VIEWPORT parameters.
1801      - Fix textblock textprop leak.
1802      - Fix evas_object_box to reset size_hint_min to zero when no child.
1803      - Don't leak fd on exec.
1804      - Fix polygon rendering bug in GL backend when there are cutouts.
1805      - Fix the gl line incorrect position drawing.
1806      - Fix potential segv in software engine native_set code.
1807      - Fix uninitialized data in Evas OpenGL engine.
1808      - Fix the line drawing clipping problem on arm gl driver.
1809      - Fix Evas RGBA_Image->flags.loaded for copied images.
1810      - Fix evas_object_image_is_inside()
1811      - Fix mask write lines to not choose too small segments.
1812      - Fix build of Evas XCB backend.
1813      - Fix evas bmp loader code which deal with image size.
1814      - Fix not up to date clip cache for Evas_Object_Text.
1815      - Fix a bug with breaking after format items in Evas_Object_Textblock.
1816      - Fix issue with line height when breaking on a format in Evas_Object_Textblock.
1817      - Fix SIGFPE in evas map update if image is 0.
1818      - Fix issue and simplified cursor_geometry_get in Evas_Object_Textblock.
1819      - Fix issue with horiz advance in Evas_Object_Text.
1820      - Fix issue with no-harfbuzz bidi in evas text utils.
1821      - Fix pixman surface alloc where allocated and image size differ.
1822      - Fix evas gif loader to return the correct frame duration.
1823      - Fix a selection issue with different scripts and bidi in Evas_Object_Textblock.
1824      - Fix bug not to display preedit string with PREEDIT_TYPE_NONE style in Evas_Object_Textblock.
1825      - Fix bug candidate word couldn't be selected with up/down key in the preedit status in Evas_Object_Textblock.
1826      - Fix Evas_Object_Text when LTR and RTL are used in the same paragraph.
1827      - Fix bug with the text object direction detection.
1828      - Fix font run detection for specific cases with 2 different fonts in the middle of a run.
1829      - Remove the freed worker from the pthread worker list when it's failed to create a new thread so as not to access it if a thread is working newly.
1830      - Fix gles support to only use GL_UNPACK_ROW_LENGTH if extension exists.
1831      - Fix Evas_Map to not crash even if image size is 0.
1832      - Fix evas word start/end find in textblock to be consistent with other toolkit logic on the matter.
1833      - Fix evas buffer engine allocation with non alpha output.
1834      - Click on left/right half of char does matter now.
1835      - If OS/2 table is available and the font is demi-bold, don't do runtime emboldment.
1836      - Fix font source have wrong current size.
1837      - Fix over redrawing of Evas_Map when applied on smart object.
1838      - Fix a bug with cluster size calculation with texts ending with ligatures.
1839      - Don't update evas update area by the clipper if the image obj visible is changed.
1840      - Fix gif decoding bug related with background color.
1841      - Fix gif bug related with scale down decode.
1842      - Fix a bug with deletion of ranges that end just a visual format in Evas_Object_Textblock.
1843      - If an object goes to be hidden without replacing the cur/prev state info, the object context can be corrupted at the next show time. Now it replaces the cur/prev in that rare case.
1844      - Fix evas gl_x11 in 16bpp and lower depths than 24/32 bpp.
1845      - Fix recursive proxy image rendering to just render black.
1846      - Fix line size calculation when using multiple fonts in a Evas_Object_Textblock.
1847      - Fix gif loader can't load image which has normal frames and error frames.
1848      - Don't try blend on gl backened if the render option is COPY.
1849      - Fix Evas_Object_Text line size calculation when using multiple fonts.
1850      - Fix crash if app use native surface in wrong engine.
1851      - Fix textblock to render pre again if it needs to relayouting.
1852      - Fix textblock ascent/descent calc to use superset of fontset data.
1853      - Fix evas gl partial swap to keep full renders if auto mode switching.
1854      - Fix memory leak in evas dri/drm swapbuf path.
1855      - Fix string leak in evas dri/drm swapbuf.
1856      - Fix evas proxy_unset of NULL image.
1857      - Fix slowness in glmap/unmap buffer by default in evas gl engine.
1858      - Fix evas segv on image del if loader is NULL.
1859      - Fix evas swapregion rect to account for rotation.
1860      - Fix "always scissor" to not break map in evas gl engine.
1861      - Fix nvidia texture from pixmap config depth match to be looser to avoid non-matches.
1862      - Fix evas gl engine to work in 16bpp nicely.
1863      - Fix native surface to be more anal about depth matching.
1864      - Correctly detect if a loader support asynchronous preloading.
1865      - Improve stability of Evas_Cserve2.
1866      - Fix gif cannot decode alpha value correctly.
1867      - Fix bs if app call image object update add after call api like fileset.
1868      - Fix evas_gl direct rendering to support partial redraw.
1869      - Fix issue with textblocks without fonts segfaulting.
1870      - Fix evas_common_convert_yuv_42* functions to actually return the converted data.
1871      - Fix jpeg loader cannot deal with exif information correctly.
1872      - Fix issue when parsing formats with quotes.
1873      - Fix infinite loop if app use ecore evas image
1874      - Fix a long-standing off-by-1 in the C "simd" multiplier.
1875      - Skip the map rendering if all points are transparent.
1876      - Evas bidi: Fixed a bug causing BiDi not to work in some cases.
1877      - Evas textblock: fixed an issue with markup_get and markup_to_utf8 behaving differently (markup_get was misbehaving).
1878      - Fixed the map surface to be updated properly. By tranversing the whole of the map target's tree, it decides to update the map surface to be redrawn if one of the objects is changed except the clipper itself.
1879      - Fixed the textblock format to be drawn according to the glyph's horizontal advance width.
1880      - Fixed the textblock set to context with the textblock object's render operation.
1881      - Evas textblock: Fixed order of tags inserted with markup_app/prepend.
1882      - Fix proxy render to update the proxies recursively. If a proxy has proxies, all the chainged proxies should be updated recursively.
1883      - Evas textblock: Fixed wrapping of lines ending with whites.
1884      - Evas: Fix the memory corruption introduced by evas fonts_zero.
1885      - Evas: If the line goes to the 0, 0 then it won't be updated. Now it's fixed.
1886
1887     * Ecore:
1888      - Don't leak fd on exec.
1889      - Fix fd handler increase issue when ecore_pipe_add/del is called repeatedly.
1890      - Fixed animator not working problem when source_set is changed back and forth very fast.
1891     * Ecore_Con:
1892      - Fix a memory leak in ecore_con_dns when using ecore_con_server_connect.
1893      - Don't leak fd on exec.
1894      - Fix ecore_con case where freeing server double-frees clients.
1895      - Fix memory usage of Ecore_Con_Server.
1896      - Clean up gnutls session initialization.
1897      - Fix use of ecore_con_*_flush functions with unconnected objects.
1898      - Fix setting of write flags on ecore-con servers during connect.
1899      - Fix use of ecore_con_server_client_limit_set() (counter never decreased).
1900      - Fix use of ecore_con_client_timeout_set() and ecore_con_server_timeout_set() that makes timeout on 
1901        connections even if you sent data.
1902      - Fix cl->start_time (initialization missing). So now
1903        ecore_con_client_uptime_get() is working.
1904      - Fix srv->start_time (initialization missing). So now
1905        ecore_con_server_uptime_get() is working for plain TCP connections.
1906      - Fix ecore_con_server_timeout_set(). It will now reset the timer.
1907     * Ecore_Evas:
1908      - Fix build of Ecore_Evas_Extn on Solaris.
1909      - Fix many memory problems with ecore_evas_extn.
1910      - Fix usage of underlying X window after it has received a destroy event
1911     * Ecore_X:
1912      - Fix possible memory corruption in xrandr EDID functions.
1913      - Fix x11 error sync issue with ecore_x_image_get().
1914      - Fix ecore_x_screen_is_composited/set() to work on multihead.
1915      - Fix ecore-x edid fetch to ftech 128, not 100 bytes.
1916      - Fix dangling pointer problem related with shmget fail.
1917      - Fix bug not check data value when get deiconify message.
1918      - Fix alpha set function not clear sync counter.
1919      - Fix selection parser to not overrun buffer read by using longs on 64bit.
1920      - Fix x11 selection trailing nul byte in text.
1921      - Fix BadMatch errors in ecore_x_image_get when requested size was larger than XImage size
1922      - Fix ecore_x_e_comp_pixmap_set to delete pixmap atom correctly
1923     * Ecore_Wayland:
1924      - Fix return type of function ecore_wl_outputs_get().
1925     * Ecore_Input_Evas:
1926      - Fix ecore_input_evas didn't check the device id of mouse event.
1927      - Check the state of last mouse event more properly.
1928     * Ecore-imf:
1929      - Fix crash when ecore_imf_context_del is called in ecore_imf_context_input_panel_callback_call.
1930      - Fix memory leak in scim immodule
1931     * Eio:
1932      - Don't leak fd on exec.
1933      - eio functions no longer crash when passed NULL and throw errors accordingly.
1934      - Fix bug in eio_file_map_new container set.
1935     * Edje:
1936      - Prevent a crash even if an invalid object is swallowed into an edje object.
1937      - Fix cache miss when active edje hash is empty.
1938      - Improved textblock part fit.
1939      - Fix anchor clicked mouse signals for selection-enabled entries.
1940      - Fix edje_color_class_list() and edje_text_class_list() to look at right hashes.
1941      - Properly report file not found in Edje.
1942      - Fix custom states for SPACER parts.
1943      - Fix edje program filters.
1944      - Fix bug scroll works when PgDn, PgUp, Home, End key in entry is pressed in preedit state.
1945      - Fix edje entry to respect filters and if input filtered out, don't clear selections.
1946      - When cursor is located to each edge, entry now doesn't grab events for cursor movement.
1947      - Fix useless ecore_imf_context_reset call in case of pressing ESC and Return key.
1948      - When selected word exists, selection is cleared and cursor remains on the current entry by additional key input.
1949      - Fix custom states for proxy parts.
1950      - Entry: return surrounding string until the start position of selection
1951      - Textblock: fixed issue with quoted formats.
1952      - Textblock: feep the text styles when new font by the text class is applied.
1953      - Lua: Stop leaking evas objects in Lua.
1954      - Fix edje min size calc to calc sub GROUP parts too.
1955      - Fix edje multisense segv (free non-malloced data from eet).
1956      - Fix some logic issue when using fixed point path.
1957      - Correctly set match flag of signal callbacks
1958      - Fix size calculation of flags of signal callbacks
1959      - Check for both Lua 5.1 and 5.2.
1960      - Fixed memory leak in the edje map color transition.
1961      - Add null checking for name of anchor and item in geometry get functions.
1962      - Fix use of eina_hash_pointer to actually look at the pointer value.
1963      - Fix to update map-enabled part when the edje object is moved.
1964
1965     * Efreet:
1966      - Fix desktop command parsing of https.
1967     * Emotion:
1968      - Fix memory leak in gstreamer_ecore_x_check.
1969      - Fix backend priority order.
1970      - Add two events to trigger webcam plug and unplug
1971     * Ethumb:
1972      - Fix memory leak in error case.
1973     * Eeze:
1974      - Fix sensors to not segv on shutdown.