Revert "evas_device: remove pointer data when device is removed."
[platform/upstream/efl.git] / NEWS
1 ==========
2 EFL 1.25.1
3 ==========
4
5 Changes since 1.25.0:
6 ---------------------
7
8 Fixes:
9
10    * evas: sw font draw - protect against null pointer access
11    * efreet - windows - still call stat but skip lstat/readlink
12
13 Changes since 1.24.0:
14 ---------------------
15
16 Features:
17
18    * ecore-drm2: Add support for using page_flip_handler2
19    * ecore-drm2: Add API function to return default depth
20
21 Fixes:
22
23    * ecore_evas: only define these eina errors once
24    * exactness: remove no longer needed _evas_new()
25    * edje - don't set font sizes less than 1
26    * ecore_evas_x - fix maximize/unmaximize request corner case
27    * exactness_player: do not test for delay_ms
28    * evas + gl - fix callback-to-app-changes-state issue with pixel data
29    * canvas render: don't apply mask if the objects in the map.
30    * evas_object_textblock: fix to free style properly by edje's style_user_pop
31    * evas_vg_shape: return NULL in evas_vg_shape_add when the parent of shape is NULL
32    * efl_ui_image: fix to call "clicked" smart callback when there is no img
33    * ecore-x - ensure we fully look at all xkb events and refresh all binds
34    * evas_vg_container: return NULL in evas_vg_container_add when the parent of container is NULL
35    * ecore thread - feedback threads should not be background threads...
36    * ecore_evas_wayland_common: keep the backword compatibility for wayland dnd handler
37    * edje: fix animation memory leak.
38    * canvas vg: fix dangling vector containers.
39    * evas vg: clean up dangling instances
40    * canvas vg: fix vector file data memory leak.
41    * evas - csd and wl csd - fix alpha zeroing to avoid framespace junk
42    * efl gfx_path: fix memory leak.
43    * evas - genetic update regions smart merge - merge v adjacent regions
44    * efreet - handle runtime relocation right with default XDG_DATA_DIRS
45    * efl_ui_image: fixed elm_image_preload_disabled_set api is not working when it is called before file set
46    * elm_image: keep backword compatibility for elm_image_file_set API when setting url file set twice
47    * efreetd - cache - add more statinfo work around 0 mtime distros
48    * elm_code: on newline ensure line number visible. (T2798)
49    * elm_code: cursor visbility fix.
50    * edje - fix edje_cc mis-re-iding images in image sets
51    * efl_ui_image: remove the unnecessary code in efl_file_unload
52    * win - x io errors really just have to exit, so call the iorr cb + exit
53    * evas - render - dont crash is private data is null
54    * eina vpath - fix windows ~username handling to only error when used
55    * efl ui image - fix scal to fill - broken with non-rect src images
56    * embryo: fix a integer(cell) overflow problem
57    * elput - support libelogind.so.0 as well as libelogind-shared.so.0
58    * edje - calce - really respect max image size for img sets
59    * ecore - don't do anything with heap between fork and exec
60    * evas - fix deadlock with sw async rendering calling cbs in post flush
61    * ecore con - curl - fix error map to map right enum
62    * eina - statgen (stat generation) - fix enable api to actually enable
63    * evas - image cache - fix loading with skip head on to load changed files
64    * evas_textblock: remove style padding from native width and formatted height
65    * elm icon/thumb - fix handling of a wider range of video extns
66    * edje - calc - handle swallow disappearing mid-calc due to callabcks
67    * ecore drm - increase timeout for flips from 0.05 to 2.0 sec
68    * docs: Correct the mismatched group name in Evas.
69    * elm - toolbar - use correct theme icon for more items
70
71 Changes since 1.23.0:
72 ---------------------
73
74 Features:
75
76    * eina: add comparison macros for Eina_Size2D and Eina_Position2D
77    * ecore-wl2: Add API to find a window by surface
78    * ecore-wl2: Add API to find a connected display given a name
79    * ecore-wl2: Add API to return the compositor object from a given display
80    * ecore-wl2: Add API to return window type
81    * ecore-wl2: Add API to find a window by given surface
82    * edje: Add text change signal
83    * edje: add json file support feature
84
85 Fixes:
86
87    * efl_ui/bg: unset finger_size multiplier during construction (T8304)
88    * elementary: always use a font that matches our expectation for our test instead of the system one. (T8277)
89    * doc: improve colorselector preview (T8304)
90    * eldbus: properly call parent finalize during creation of Eldbus.Model_Method.
91    * efl_ui/win: fix max size hint eval (T8304)
92    * eet - fix loading eet files that do not have dicts (T8368)
93    * evas/callbacks: emit hardcoded legacy smart callbacks always
94    * elm/layout: add some workarounds to try handling legacy min sizes
95    * ecore_evas/wl2 0 fux xdg close cb for window when it's closed remotely
96    * wl egl - use platform get display
97    * ecore-evas-wayland: Add handler to array
98    * ecore_evas_wayland: Fix array step size
99    * efl/timer: correctly handle recursion for timer processing
100    * elm/genlist: trigger filter,done callback immediately if no filter queue exists
101    * elm/genlist: fix "drag" smart callback
102    * elm/genlist: set pan need recalc during item move on item position change
103    * elm/genlist: fix item focus unregister on item move
104    * ecore/timer: correctly handle recursive deletion of legacy timers
105    * ecore-drm2: Fix issue of shifting 1 by more than 32bits
106    * efreet - consider ctime changes as changes too
107    * edje - box - calc min size correctly at start ...
108    * vector svg: apply fill-opacity to graidents fill objects.
109    * evas vector: initialize data member properly.
110    * fix jpeg loading which freed the wrong ptr (T8497)
111    * fix the wrong method signature for evas_textgrid
112    * efl_ui/layout: fix multiple emissions of theme,changed during construction
113    * ui image: fix scale_method expand behavior.
114    * ecore-x - fix fallbacks to use capital X in lib name (T8543)
115    * elm - widget - actually check object smart data return for no data
116    * canvas vector: fix to refresh svg file of vector object.
117    * evas - fix access-after-free where during destroy hash item not cleared
118    * elm - fix filesel deferred unref to not crash
119    * ecore_con - freebsd bind blocking workaround
120    * elm win + ecore evas - fix csd stuff like base size and min sizing
121    * evas - fix access-after-free number 2 (T8534)
122    * elm win - fix client side move/resize req handling csd in x
123    * edje - store original size in edje struct and dont exceed max size
124    * evas - loaders - jp2k - re-enable in the build after it was lost
125    * edje_entry: Add matching tag.
126    * evas/events: fix multi-touch object targeting on touch down events
127    * eo - fix - fix alignment of eo object class structs - it was wrong
128    * canvas font: correct wrong masking length.
129    * Efl.Gfx.Path: Fix condition of for loop in current search
130    * canvas mask: fix incorrect render surface size.
131    * canvas proxy: fix broken proxy source clipping function.
132    * evas gl: clip rect with proper size.
133    * canvas proxy: fix a missing case that proxy not updated properly.
134    * evas_object_box: respect static clipper.
135    * ecore evas x - on argb dont create unused 1 bit pixmap masks
136    * emotion - webcam - fix segv on webcam plug/unplug and clean
137    * ui textpath: update map before rendering begins.
138    * elm icon/image efl ui image - respect aspect hints at all if set
139    * elm icon/image efl ui image - respect aspect hints at all if set
140    * elm_cnp: fix memory leaks
141    * elm menu - fix segv on deletion/shutdown where parent was not done ok
142    * canvas svg: fix memory leak.
143    * ecore_wl2: EFL Wayland Build on FreeBSD (T8659)
144    * ecore_file - address issue about false positive of finding a file in ./ (T8678)
145    * evas gl - shader cache was needless losing and overwriting
146    * efreet - work around conconforming apps putting startupwmclass in quotes
147    * ecore-evas-drm: Fix broken init count
148
149 Removals:
150
151    * emotion & evas: remove gstreamer 0.10 support
152    * emotion: remove xine and vlc support
153    * escape: remove library from tree
154    * ecore_x: remove support XGesture extension
155    * elocation: remove beta library
156    * eeze: remove tizen module support from eeze sensor
157    * evas3d: remove support for evas 3D which was a beta all along
158
159 Changes since 1.22.0:
160 ---------------------
161
162 Features:
163
164    * ecore-drm2: Add background_color to crtc atomic properties
165    * ecore-drm2: Fill in crtc background color (if supported) during atomic commits
166    * ecore-drm2: Add API function to set crtc background color
167    * eolian: remove @nullable keyword
168    * ecore-drm2: Add API to check if vblank is supported
169    * eolian: remove param @nonull
170    * eolian: rename @warn_unused and its associated API
171    * eolian: initial versioning implementation
172    * evas: enable setting any object as a clipper
173    * eina/hash: add direct variants of list append/prepend functions
174    * edje: improve user-defined data caching to handle data before file is set
175    * edje: Add support for map zoom to use other part center.
176    * efl_ui_textpath: introduce efl_ui_textpath_circular_set() interface.
177    * efl_ui/layout_base: add "finger_size_multiplier" property (T8059)
178    * evas: add 'has_fixed_size' property for canvas objects
179    * efl/hints: add restricted and combined max size hints (T8122)
180    * efl_ui_animation_view: introduce a new widget for controlling vector animation.
181    * efl_ui: add scrollable_content mixin
182
183 Fixes:
184
185    * remove vpath test for user dir the test was broken and fixing is insane (T7728)
186    * tests - fix check header to always include eina due to windows
187    * tests - remove one of the eina strtod tests as libc is failing
188    * ecore_imf: do not loop forever on shutdown when there is no more a display
189    * efl_ui_list: fix to delete sub objects in efl_object_invalidate
190    * efl_ui_widget: Fix disabled set calling without meaning. (T7799)
191    * evas - fix crash/junk pixel content but with tiled rotate at 270 + neon
192    * ecore-drm2: Make atomic property values support uint64_t
193    * evas image: check format more strong way for wbmp.
194    * elm_atspi_bridget: Fix resource leak (CID1399424)
195    * elput: Remove useless call to eldbus_message_unref
196    * efl_core_command_line: Fix resource leak (CID1399105)
197    * ecore-evas-x: Fix double free (CID1382851)
198    * static_libs/vg_common: Fix resource leak (CID1382215)
199    * elm_theme: Check the ref count to delete or unref.
200    * elc_hoversel: Fix crash when no sd->last_location
201    * ecore drm2 - fix timeout in case case called from thread
202    * eina_test_file: Fix memory leak (CID1401072)
203    * efl_check: Fix memory leak (CID1401070)
204    * elm_test_widget_focus: Fix memory leak (CID1401069)
205    * emile_test_base64: Fix resource leak (CID1401062)
206    * evas_test_mesh: Fix memory leak (CID1401009)
207    * eina_test_binbuf: Fix memory leak (CID1401004)
208    * efl_ui_test_widget: Fix memory leak (CID1401003)
209    * efl_ui_test_widget: Fix memory leak (CID1400844)
210    * eina_bench_stringshare: Fix resourcce leak (CID1400975)
211    * evas_test_image: Fix resource leak (CID1400945)
212    * eina_test_file: Fix resource leak (CID1400926)
213    * eldbus_test_eldbus_message: Fix resource leak (CID1400921)
214    * efl_ui_test_widget: Fix memory leak (CID1400889)
215    * emile_test_base64: Fix resource leak (CID1400868)
216    * efl_ui_test_widget: Fix resource leak (CID1400857)
217    * emile_test_base64: Fix resource leak (CID1400852)
218    * ecore_test_ecore_file: Fix resource leak (CID1400825)
219    * efl_ui_test_widget: Fix resource leak (CID1400824)
220    * emile_test_base64: Fix resource leak (CID1400820)
221    * emile_test_base64: Fix memory leak (CID1400815)
222    * eina_test_ustr: Fix resource leak (CID1400784)
223    * eina_test_tiler: Fix resource leak (CID1401068)
224    * eo_test_manager_xattr: Fix resource leak (CID1400953)
225    * eina_test_strbuf: Fix resource leak (CID1400952)
226    * evas_object_textblock: Fix binary search fail.
227    * eolian: refactor parsing API and path handling (T7820)
228    * evas/image: fix broken auto_fill mechanism when manually changing fill
229    * elm_test: fix some bugs in elm_image tests
230    * ecore-evas-drm: Check if vblank is supported
231    * benchmarks: Fix copy-paste error (CID1401052)
232    * evas/render: fix proxy clipping when source_clip is disabled
233    * elm_color_class: use legacy event for genlist selection
234    * efl_ui_focus_manager_sub: handle manager change when tree is set to unfocusable
235    * edje/calc: correctly handle swallow/group objects as clippers for state clips
236    * gl_generic: handle image orientation setting when texture has not been created
237    * ecore/timer: fix handling of timer freeze during construction
238    * edje/load: (more) correctly handle part updates after changing edje group
239    * efl_canvas_layout: permit part_type_get on invalid parts
240    * eina/prefix: ignore magic files when running in tree
241    * efl_ui_focus_manager/calc: handle redirect setting if no previous redirect set
242    * elm/layout: do not trigger sizing eval on subobj deletion if no resize_obj set
243    * elm/layout: do not trigger sizing eval at end of canvas_group_add
244    * elm/colorselector: return early from theme apply if object is not yet finalized
245    * elm/diskselector: fix handling in theme data setup
246    * elm/diskselector: trigger sizing eval during theme set only if finalized
247    * elm/entry: use edje functions directly for interacting with edje objects
248    * elm/gengrid: handle cache item deletion without errors
249    * elm/gengrid: more null checks for setting mirrored state during construction
250    * elm/gengrid: handle focus events when no previous focus item was set
251    * elm/hovers: don't trigger more errors when setting null hover parent
252    * elm: fix value of datadir when running in tree
253    * elm/map: ignore zoom events during construction which cannot be handled
254    * elm/slider: avoid emitting double events when range slider value changes
255    * elm/slider: check for interval/range state before using that functionality
256    * efl_ui/button: check icon swallow existence before getting its content
257    * ecore-evas: check for internal evas presence before using it during free
258    * ecore-x: protect ecore_x_shutdown from creating a negative init count
259    * efl/io_model: check for parent object existence before removing wref
260    * eldbus: don't print warnings for user-canceled calls
261    * efl_ui/check: check icon swallow existence before getting its content
262    * efl_ui/image: check image object existence before using it in sizing
263    * efl_ui/layout: do not trigger sizing eval on hint change if object is dead
264    * efl_ui/layout: do not trigger sizing eval on subobj delete if layout is dead
265    * efl_ui/layout: only freeze internal layout during delete if it exists
266    * efl_ui/progressbar: check for part existence before using parts
267    * efl_ui/video: do not set 0x0 aspect hint
268    * efl_ui/widget: skip updating access info during parent_set(NULL) if dead
269    * elm/fileselector: return early in theme_apply during construction
270    * elm/popup: remove del callback for internal table object during destruction
271    * elm/code: check for cursor layout existence before emitting signals to it
272    * elm/gengrid: trigger unrealize event after unsetting unrealized flag
273    * elm/gen*: only call focus_object_setup_order_non_recursive if realized
274    * elm/genlist: unify all creation of calc jobs, skip if genlist is dead
275    * elm/genlist: trigger unrealize event after unsetting unrealized flag
276    * elm/genlist: handle cache item deletion without errors
277    * elm/genlist: handle genlist finding of nearest visible item when not realized
278    * elm/index: create event_rect[0] earlier in construction
279    * elm/interface_scrollable: return immediately from setting region if no content
280    * elm/list: return early from min_limit_cb if list object is dead
281    * elm/map: move setting initial zoom to later in construction
282    * elm/scroller: return immediately from updating focused scroll region without content
283    * elm_widget_item_static_focus: check for adapter existence in unrealize cb
284    * emotion: don't update crop clipper geometry if crop clipper doesn't exist
285    * ecore-imf/xim: only call ecore_x_shutdown if init was previously called
286    * elm/gengrid: handle gengrid finding of nearest visible item when not realized
287    * elm/fileselector_button: null fileselector model pointer on delete
288    * gl_generic: directly copy existing image when changing orientation
289    * theme: fix fileselector search button layout
290    * efl sel manager - flush wl conenction in cnp to avoid hangs...
291    * ecore_x - restore move event skipper that was removed long ago
292    * efl_ui_textpath: fix a center align but that doesn't happen at text_set().
293    * evas vector: set proper parents of clone objects.
294    * evas svg: fix missing node opacity attribute.
295    * elm - cursor - clear cursor job late to avoid crash
296    * edje - double make sure edje messages are zero'd due to a segv i saw
297    * ecore: also error when trying to add an event handler for a type 0 event
298    * edje: fix reapplying markup text on file/group change
299    * elm_actionslider: fix internal state when programmatically changing value
300    * elm/scrollable: avoid unnecessary edje recalcs
301    * evas/box: avoid triggering smart_move callback
302    * ecore: avoid breaking next main loop start if quit occurs outside of loop
303    * evas: fix type checking of Evas pointers in legacy functions
304    * evas/map: permit evas_map_free(NULL)
305    * ecore wl2 - fall back to shm if dmabuf fails in buf init
306    * ecore_evas buffer: fix a deadlock issue.
307    * efl_ui_widget: add safety checks to verify parents aren't being added as children
308    * [elm] Add missing sizing eval hook at radio
309    * [elm] Add missing sizing eval hook at check
310    * elm/glview: fix glview to (again) return null if context creation fails
311    * elm_test/plug: fix error handling
312    * elm/ctxpopup: check list existence before trying to delete list items
313    * efl_ui/popup: implement efl.file.unload for popup backwall part
314    * efl_ui/popup: unset callbacks on win object when parent is removed
315    * elm/config: monitor MODIFIED events on config files
316    * elm/config: fix config usage with EFL_RUN_IN_TREE set
317    * edje/calc: clamp part calc size to 0
318    * efl_ui: always set restricted_min size hints internally (T8059)
319    * evas events - fix segv if pointer data is freed by cb
320    * efl_ui/flow.box: fix item calc with mixed weights
321    * elm toolbar - fix packing options at start to avoid visual layout bugs
322    * elm toolbar - fix toolbar item separators and refactor aling/fill of item
323    * evas - gl_drm - delete old surfaces before creating new ones
324    * efl_ui_textpath: clear up path data when it's destructed.
325    * evas - png loader - fix leake in error case of pixels (CID1403027)
326    * elm - dnd - fix drop target del to not nuke handler all the time
327    * elm hoversel - avoid crash when items modified while popping down
328    * evas svg: fix svg spec compatibility.
329    * elm/hoversel: avoid calling api functions on null hoversel objects
330    * edje signal matches/patterns - handle re/alloc errors and missing ptrs
331    * edje - handle errors and eina file handles and vpath properly
332    * elm theme - handle error cases and eina file handles properly
333    * evas - font rendering - dont crash if we have color fonts and gl and sw
334    * eina file refs in edje/evas - audit them and plug holes where refs stay
335    * edje - signal callback matches/patterns try fix number 2
336    * emotion - webcam fix deletion of webcam still left in webcam list
337    * efl/io: fix race condition with child model deletion
338    * eio/poll: avoid ever dereferencing the backend's parent in a thread
339    * edje signal - let's not crash if something odd happens
340    * edje signal matches - try number 3 to try plug all the holes
341    * scalecache - handle possible use after free with sci still in list
342    * evas events: fix corrupted mouse events behavior on mapped object.
343    * evas -gl engines - buffer age - bring back fix for changing buffer age
344    * eio - don't call cb's after a cancel
345    * elm sel mgr - remove event handlers when no drop targets are left
346    * evas_vg: fix alpha animation bug in case of partial update
347    * elm_popup: calculate the label min size of popup before the popup group calculation
348    * vg_common_svg : Initialize "display" attribute
349    * fix a bunch of breaks that having a blind file unload has brought
350    * fix xpm loader to be threadable - fixes so much stuff...
351    * efl: check file's mtime in efl.file::file_set to determine if file is the same
352    * meson.build: allow to disable tiff evas loader
353    * ecore/signal: also use nonblock for writing side of signal pipe
354    * ector engine: +null checking.
355    * ecore-x: fix null derefs in window prop code
356
357 Changes since 1.21.0:
358 ---------------------
359
360 Features:
361
362    * evas textblock: add/apply cursor cluster APIs based on grapheme cluster
363    * efl_ui_spin_button: Addded direction feature.
364    * scroller: refactory a momentum scroll animator
365    * elementary textpath: support legacy APIs
366    * elementary transit: add a convenient API.
367    * elementary transit: add a new api - elm_transit_progress_value_set()
368    * Text: add markup_range_get
369    * Canvas layout: support more Efl.Text.* with efl_part
370    * efl: Add support to elput for using elogind instead of systemd
371    * eina: add locale-independent eina_convert_strtod_c function
372    * elm perf tool - bring one back to efl
373    * eina: add locale-independent eina_convert_strtod_c function
374    * elm perf tool - bring one back to efl
375    * efl gfx_path: introduce efl_gfx_path_reserve()
376    * efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED
377    * efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED
378    * gfx: Add size hint fill (EO) (T3912)
379    * efl_app: add "standby" event (T5494)
380    * edje_cc: fail upon detecting invalid part description references in programs (T7016)
381    * elput: Add API to allow settings tap-to-click on pointer device
382    * ecore_drm2: Add API to allow settings tap-to-click on pointer device
383    * efl_ui_win: add 'exit_on_all_windows_closed' class property and unit test (T5494)
384    * efl_ui_win: add 'exit_on_close' property and unit test (T5494)
385    * eo: implement class overriding (+unit tests) (T7516)
386    * eolian gen: initial support for reflection api
387    * efl_ui_relative_layout: introduce new relative container (T5487)
388    * eolian: introduce typed slice types
389    * eolian: add support for inlist structs
390    * eolian: remove support for inlist/inarray
391
392 Fixes:
393
394    * build: fix rpath for binaries which use ecore-x dependencies
395    * elm/genlist: remove conditional in _calc_job for verifying show_item code (T6368)
396    * elementary image: don't calc size using empty ones.
397    * evas image: fix screen flickering issue at partial + image preloading
398    * edje_cc: change .mo file write location to be relative to the .edj file
399    * theme: add programs for deferred naviframe push/pop signals
400    * edje: unset internal _need_imf flag on shutdown
401    * elm_panel: return instead of EINA_SAFETY_ON_FALSE_RETURN (T7265)
402    * build: fix evas static build of gl engines
403    * ecore/main: only update loop_time during loop iteration if the change is monotonic
404    * evas gl: fix missing map texture target.
405    * elm_code: fix crash on backspace and selection delete. (T7259)
406    * ecore_wl2_dmabuf: Link with ecore_wl2 (T7327)
407    * ecore_wl2_dmabuf: Depend on ecore_wl2 (T7327)
408    * efl selection manager - avoid multiple selection get callbacks for req
409    * evas image: fix a bug in image preloading.
410    * evas canvas: fix null possibility of evas_object_above_get().
411    * edje: Remove hack code
412    * efl gfx_path: prevent buffer overflow.
413    * ecore_main: fix the invalid return value
414    * eina_vpath: fix the memory leak
415    * elementary: remove meaningless memory allocation and leaking
416    * elementary: fix memory leak from Efl.Ui.Layout.Object
417    * evas gl: fix invalid image size.
418    * elementary entry: apply scale to all edje objects
419    * eina debug: fix a double unlock issue
420    * elm_theme: fix return value when default style fallback is done
421    * evas vg: fix memory leak.
422    * devas vg: return default root node if possible.
423    * evas vg: fix memory leak at gradient.
424    * evas filter: remove critical messages from Evas Filter
425    * elementary transit: fix wrong pausing time calculation.
426    * Canvas text: fix line_jump_by logic
427    * cxx: explicitly require c++11 and fix tests to conform
428    * edje: fix an overflow issue for state values
429    * evas textblock: remove white space after line-break by a next item
430    * evas ector: fix memory leaks.
431    * evas vg: update render properly.
432    * ector software: make a pair of ref/unref.
433    * evas gl: recover current program state.
434    * ecore_evas - fix aninmator based frame render ticking to full framerate
435    * ecore evas - buffer - init ecore event evas as many times as shutdown
436    * eina: fix a build failure caused by missing 'locale_t' from OSX
437    * ecore_con: handle timeout of the attempt to connect.
438    * ecore_evas - fix aninmator based frame render ticking to full framerate
439    * ecore evas - buffer - init ecore event evas as many times as shutdown
440    * eina: fix a build failure caused by missing 'locale_t' from OSX
441    * ecore_con: handle timeout of the attempt to connect.
442    * evas gl - make GLintptr etc. also ndefed for GL_VERSION_1_5 fix typedef (T7502)
443    * ecore-drm2: Fix drmModeSetCrtc call during fb flip
444    * textblock: Fix crash with filters
445    * edje - stop trying to access ready deleted exrt/group swallow objects
446    * evas: remove memory leaks from deleted Textblock objects
447    * elm - dnd - restore to working as drop targets
448    * elm_config: Free data returned from eet_read
449    * ui/flip: fix efl_pack usage
450    * elm_entry: make file loading succeed on 0-sized files (T6562)
451    * theme: fix odd state setting on some items for list/genlist/gengrid
452    * theme: correct part name in program for elm/hover/base/main_menu_submenu/default (T6219)
453    * theme: remove a ton of invalid part description references in various programs (T6873)
454    * ecore-evas/extn: use evas from events when updating key masks (T5536)
455    * edje: apply maps to textblock cursors and backgrounds (T4977)
456    * ecore drm2 - work around kms/drm bug seemingly when no flip event comes
457    * elm textpath: reduces differences between actual pos and modified pos
458    * elm_map: Make more robust elm_map (T7443)
459    * Fix leak in elm atspi
460    * eina_file: set errno on open fail for win32 build
461    * evas-gl-drm: Fix issue of rotation not actually rotating (T7690)
462    * solve neon rotation issue by moving to the tiled rotator
463    * eo: Fix missing varags cleanup (CID1399080)
464    * efl_core_command_line: Fix logically dead code (CID1399106)
465    * efl_ui_widget_common: Fix potential resource leak (CID1399088)
466    * efl_ui_selection_manager: Fix unchecked return value (CID1399092)
467    * evas_device: Fix dereferencing null pointer (CID1399091)
468    * efl_ui_stack: Fix dereference null return value (CID1399082)
469    * efl_ui_datepicker: Fix uninitialized scalar value (CID1397006)
470    * efl_ui_grid: Fix dereferencing null pointer (CID1397000)
471    * ecore_con: Fix dereferencing of null pointer (CID1396990)
472    * elm_atspi_bridge: Fix resource leak (CID1399429)
473    * efl_ui_win: Fix dereference null return value (CID1399428)
474    * efl_ui_win: Fix dereference null return (CID1399427)
475    * efl_ui_win: Fix dereference null return (CID1399426)
476    * efl_ui_win: Fix dereference null return value (CID1399425)
477    * efreet: Fix resource leak (CID1399090)
478    * efl_ui_text: Fix resource leak (CID1396998)
479    * eldbus: Fix dereference after null check (CID1399422)
480    * efl_ui_focus_manager_calc: Fix resource leaks (CID1396984, CID1396965)
481    * elm_focus_legacy: Fix resource leaks (CID1399096, CID1399095)
482    * eldbus: Fix resource leak (CID1399097)
483
484 Changes since 1.20.0:
485 ---------------------
486
487 Features:
488
489    * evas: Make all EO canvas objects visible by default
490    * Eo: Allow multiple functions overrides (T5580)
491    * eo: Add debug_name read-only property to ease debugging
492    * evas/edje/elm: Override debug_name in core classes
493    * wayland: add efl-hints protocol for setting aspect on surfaces
494    * efl-wl: support min/max hinting
495    * efl-wl: add handling for external protocol interfaces
496    * edje - add embryo echo command for debugging
497    * layout: Implement missing edje APIs (T5315)
498    * ecore-wl2: Add support for Window Iconify State Change
499    * ecore-evas-wayland: Add handler for Iconify State Change event
500    * efl: Introduce Efl.Ui.Direction interface (T5870)
501    * Efl.Ui.Panes: implement allow_user_size_hints on parts (T5359)
502    * Efl.Ui.Panes: rename left/right_size_set to split_ratio (T5359)
503    * efl-wl: add EFL_WL_DEBUG env variable for enabling wayland debug
504    * efl-wl: add functionality for extracting surfaces for external use
505    * elput: Add API to set pointer acceleration speed (T4736)
506    * ecore-drm2: Add API function to allow setting pointer acceleration speed (T4736)
507    * ecore-drm2: Add API to allow setting pointer acceleration profile (T4736)
508    * Introduce text on path widget
509    * eina: Add convenience eina_rectangle_equal
510    * evas textblock: support ZWJ, ZWNJ, LRM, RLM in escaped form
511    * evas: Add EO API to get clipper in smart object
512    * evas: Add group_member_is to smart objects
513    * efl: Introduce Eina.Rect and switch EO APIs to it
514    * efl_ui_image: add new scale type: EFL_UI_IMAGE_SCALE_TYPE_TILE
515    * Canvas text async: add async layout functionality
516    * Ui text: add Efl.Ui.Text_Async object
517    * edje: Add part_type_get API
518    * ecore exe - add an "isolate io"f lag for sending io to /dev/null
519    * evas: Add scale feature for embedded bitmap fonts.
520    * eo_debug: Enable logging of all ref/unref
521    * eo: Add API to allow deletion by unref
522    * Efl text: add Efl.Text.Markup interface
523    * evas: Implement support for different H/V font DPI
524    * elm_config: add offline and powersave config members
525    * efl_wl: add function for returning the evas object for an extracted surface
526    * wayland: add support for efl weight hint propagation from elm_win to efl_wl
527    * evas textblocke: add align=end for putting a text at the opposite side of LTR/RTL
528    * eina: eina_value - Add "struct tm" support (T6204)
529    * edje_cc - add offset_scale/offscale per desc to allow offsets to scale
530    * Genlist Item Pin Feature (T6241)
531    * saver/svg: parse loaded tree data into svg XML file and save it
532    * build: improve configure accessibility
533    * eolian: Add API's for part enumeration
534    * evas filters: Add "alphaonly" flag for blend and blur
535    * elm: Add "shadow" part to all widgets
536    * efl-wl: add function to get the parent of an extracted surface
537    * ecore_imf: Add transaction start and end event callback
538    * entry: Add autofill hint
539    * eo: Add "destruct" event
540    * efl-wl: move to xdg-shell vfinal
541    * wayland: add xdg-shell vfinal support for client-side
542    * Canvas image: add Efl.Canvas.Textblock.Factory + use in Ui.Text
543    * efl-wl: add functionality for directly passing through xkb objects
544    * ecore-x: add more info to Ecore_X_Event_Xkb event
545    * ecore-x: add some useful xkb function wrappers
546    * eolian: deferred parsing of inherits + better static checks
547    * ecore: add function for prepending an event handler
548    * efl-wl: add functions for managing allowed client pids
549    * efl-wl: add function for passing ecore-exe flags to launched exes
550    * ecore-drm2: Add API functions to get/set output relative mode
551    * efl-wl: send surface enter/leave based on compositor object visibility
552    * ecore-drm2: Add API to get/set which output is relative to another
553    * ecore-drm2: Add API function to retrieve output user data
554    * edje: add ability to reference images from other edje files
555    * eolian: add API to query information about Objects
556    * eolian: clean rollback support
557    * evas: apply fribidi bracket types to show paired bracket properly
558    * efreet: add method for disabling efreetd connection
559    * efl_ui_spin: Added special value feature.
560    * elm_entry: add elm_entry_prediction_hint_hash_set/del API
561    * edje_cc: add option for verifying namespace usage (T6911)
562    * eio: add method for setting the global file polling rate for fallback monitors
563    * eina_debug: add function to reset debug subsystem after fork
564    * eio: add method for determining if a monitor is using the fallback mechanism
565    * edje_cc: add 'skip_namespace_validation' keyword (T7072)
566
567 Fixes:
568
569    * ecore-wl2: pass display to aux hint event_adds
570    * ecore-wl2: don't send null set_parent requests for every window
571    * ecore-wl2: sync aux hints after window creation
572    * efl-wl: block connection attempts from unmanaged clients
573    * wayland: fix min/max size setting
574    * efl-wl: do shm pool ref/unref for bm safety
575    * ecore-evas-wayland: update size when size hints are changed
576    * efl-wl: add handling for commit during canvas render
577    * efl-wl: set cursor surface roles
578    * theme: clip start gadget arrow to intended clipper
579    * edje crash with run program references - fix
580    * Allow to override build date (T5495)
581    * elm_win: simplify/fix recalc logic when changing csd
582    * elm_win: set shadow geometry based on borderless state
583    * elementary cursor: remove a warning message from Wayland supports
584    * elm: Add missing undef EAPI to Elementary.h
585    * ecore glib support - if we are not the main ctx owner loop to acquire
586    * evas: Fix crash in E (T5868)
587    * eolian: implement proper return type serialization (T5024)
588    * eo: Check refs in efl_data_scope_safe_get (T5869)
589    * wayland: fix xdg-shell popup windows
590    * efl-wl: use correct accessor method for keyboard resource hash
591    * elm_widget: do not reparent subobjs to top widget for non-elm objects
592    * efl-wl: always dismiss popups on hide
593    * efl-wl: handle case where eglBindWaylandDisplay fails
594    * ecore: always set delete_me before removing fd from poll
595    * efl-wl: initialize seat keymap fd to -1
596    * ecore_evas_extn: Fix socket & plug windows
597    * elm_test: Fail nicely if plug can't connect
598    * evas: make top object returning functions return the top object
599    * theme: handle e dialog sizing when no buttons are present
600    * wayland: fix num/caps lock handling in events (T5737)
601    * elm segment control: delete event cbs on obj delete.
602    * glview: Fix ALWAYS render policy
603    * elm_box: Fix support of aspect hints (T5888)
604    * theme: fix dialog sizing when no buttons are present
605    * edje: Fix warning message
606    * efl_ui_clock: Parses the format recursively.
607    * photocam: Fix key zoom in/out
608    * elm init - fix init seq and quicklaunch as we shut down x before evas
609    * ecore-wl2: normalize axis event values (T5427)
610    * efl-wl: match nested wl seats based on display ordering
611    * elm_win: update opaque region for fake windows
612    * elm_win: check for wayland engine during finalize by checking for wl win
613    * efl_ui_image: maintain geometry for prev image while preloading new image (T5936)
614    * access: Fix crash in ecore
615    * Canvas text: fix non-dirty paragraph width calculation (T5939)
616    * evas: fix invalid return of evas_textgrid_cellrow_get()
617    * eina file - use recursive locks for cache and file to avoid deadlock
618    * eina mmap safety - only map zeropages if it's an eina file that sigbuses
619    * multibuttonentry: Separate selected item and focused item logic.
620    * efl_ui_clock: Add 'O' character to ignore POSIX alternative format in format.
621    * elm focus manager - dont leak child lists when updating focus order (T5800)
622    * elm focus manager - dont leak child lists when updating focus order (T5800)
623    * eina_array: Fix magic checks to return
624    * evas: handle object names with a list hash
625    * evas: fix event grabber child stacking
626    * ecore_exe - fix failed finalize fork to reutrn NULL not ecore_exe_free
627    * evas: proceed glyph iterator to handle next index properly
628    * evas_thread: only join the thread if the thread is still alive (T5245)
629    * filters: Safety++
630    * cxx: generate a constructor with a parent and a lambda function (T5980)
631    * evas: don't search other fonts only for INHERITED script unicodes
632    * edje: Add legacy compatibility code (T5944)
633    * evas box - fix longstanding bug where min size is miscalculated
634    * ecore exe - fix fix  malloc fail handling
635    * efl net - adapt to openssl 1.1.0 changes with tls method support
636    * eina: prevent memory corruption in chained mempool
637    * efl net http - fix protocol error handling to not crash and handle it
638    * flip: Fix invalid use of EOAPI in legacy header
639    * eina file: Fix map_populate on the global map
640    * eina file: Ensure populate is safe to call
641    * elm image: Fix async open to avoid multiple mmap
642    * Entry: use _edje_seat_name_get to get the seat
643    * edje: Fix invalid storage of efl_part objects (T6032)
644    * efl po files - fix LTR/RTL translation string to be correct for langs
645    * efl ui layout - handle content unset properly and remove the unset item
646    * hover: Fix hover parts usage
647    * ecore-x: reject successive MappingNotify events if they are identical
648    * elm hoversel - fix alignment in ephoto (T6078)
649    * evas textblock: use primary font's size as minimum size of a line
650    * elm: Fix module load with ELM_RUN_IN_TREE
651    * elm: Properly unregister providers on shutdown
652    * evas: Fix shutdown of async cmd cache
653    * eo: Fix crashes with call cache after init cycle
654    * elm: Delete atspi root object on shutdown
655    * ecore: Reset do_quit when ecore shuts down
656    * elm: Fix shutdown of atspi (unregister handlers)
657    * evas textblock: use main font's ascent/descent as minimum value
658    * evas: Fix dangling references with input devices
659    * eo: Fix unnecessary ERR logs with eo_debug
660    * eo: Allow efl_reuse to be called with a parent
661    * evas ector gl - fix leak of image data on data put (CID1374645)
662    * evas font: check returned value of FcPatternGet function
663    * edje entry: fill content info when text is deleted by imf event
664    * ecore-file: do not emit events when an inotify watch is removed
665    * elput: Fix issue of pointer rotation not being set on startup
666    * eolian-bin: Free previously allocated eina_strbuf (CID1381502)
667    * evas-gl-common: Fix dereference after null check (CID1374272)
668    * evas-gl-image: Fix dereference after null check (CID1374273)
669    * elementary: passing NULL to variadic funtion can be undefined.
670    * eet: wrong comparision to less than zero with unsigned integer.
671    * evas: there is no effect of variable assignment outside the function.
672    * efreet: unsigned int cannot be compared to less than zero.
673    * emotion gst1 - handle null imagwe data returrn and dont crash
674    * eina: same expression on both statement.
675    * eina: comparing less than zero with unsigned long int
676    * emile: comparing less than zero with unsigned interger.
677    * ephysic: comparing with same statement.
678    * evas: there is no effect of variable assignment while clean up.
679    * emotion: Properly unmap video frame
680    * efl_ui_bg: fix ELM_BG_OPTION_CENTER bg in left top side.
681    * edje_cc: fix a memory leak issue when edje_cc writes images
682    * evas gl generic/common - add more linking for gles mode to fix deb build (T6158)
683    * jp2k module - dont print ERR on llading if format wrong
684    * edje_edit: duplicate assignment to variable.
685    * ecore_wayland: fix assigned value is never used.
686    * ecore: remove doxygen warning messages
687    * win: Do not forward all key events on win (legacy) (T6148)
688    * evas: Prevent crash with image_data_get (T5957)
689    * elm_code_widget: make sure the widget is cleared properly. (T6185)
690    * ecore_wl2: Remove just the flush from the idle handler (T6250)
691    * elm_tooltip: set parent window for windowed tooltips
692    * efl_wl: more closely follow wl spec for input regions
693    * efl_wl: destroy extant shell surface upon surface deletion
694    * efl_wl: do not propagate hints to main widget for child surfaces
695    * ecore-wl2: correctly handle configure events on popup surfaces
696    * ecore_cocoa: fix the backspace key
697    * edje_cc: fix errors in documentation
698    * edje_cc: add missing default values to documentation
699    * edje_cc: fix color2 and color3 descriptions
700    * edje_cc: fix state.no_render description
701    * edje_cc: parse "fixed" as bool
702    * edje_cc: fix incorrect type in minmul defaults
703    * edje_cc: fix color_class description
704    * edje_cc: move part_remove and program_remove to group
705    * edje_cc: fix default color_class colors
706    * edje_cc: fix spelling
707    * edje_cc: make bool parsing consistent
708    * edje_cc: make color parsing consistent
709    * edje_cc: move box and table properties documentation
710    * edje_cc: limit map.zoom to non-negative values
711    * edje_cc: fix text.align description
712    * edje_cc: fix program.filter description
713    * edje_cc: fix item.max parsing
714    * edje_cc: fix parsing and documentation
715    * ecore-drm2: Fix issue of not being able to set output mode
716    * Efl.Ui.Radio: remove value{} api
717    * edje: don't return negative width and height from _parts_extends
718    * evas textblock: handle ellipsis when text's height exceed its area by "br"
719    * evas-software-generic: Check for render engine function before calling
720    * evas-wayland-shm: Do not dereference a potentially freed pointer (CID1381707)
721    * emotion: Fix data race condition (CID1381624)
722    * evas-object-main: Fix null dereference (CID1381710)
723    * evas-object-main: Fix null dereference (CID1381711)
724    * evas-object-main: Fix potential null dereference (CID1381713)
725    * evas_vg_cache: load svg from any file, not from defined only
726    * ector: use cairo_pattern_add_color_stop_rgba in gradient_radial
727    * vg_loaders/svg: set up default focal values for radialGradient
728    * efl_gfx_path: fix typo in _path_bounds_get
729    * evas_vg_load_svg: default stop opacity color should be 255, not 0
730    * evas_vg_load_svg: get rid of static Evas_SVG_Parsing
731    * efl ui win - make win centering work with multiple screens (T6323)
732    * eo - fix freeq usage to not use freeq for a vtable cleaning
733    * efl_ui_radio: keep radio state when theme is changed
734    * efl net - handle proxy helper fails better and abort proxy lookups
735    * elput - re-enable switches (power buttons, lid etc.)
736    * elm_code_widget: keep track of visibility.
737    * Ctxpopup: resizing ctxpopup after its content is removed (T6327)
738    * genlist: fix state corruption of content
739    * Efl.Ui.Slider: add default indicator format to %0.2f
740    * elm_genlist: fix rare segfault
741    * elput: Remove unreachable code (CID1382857)
742    * ecore-wl2: Destroy buffer before we exit the buffer_test function
743    * efl_ui_bg: fix unclipped image on EFL_UI_IMAGE_SCALE_TYPE_NONE
744    * eo - by default on 64bit only use 47 bits because of luajit
745    * elm ifrace scrollable - fix uninitialized values on scroll asjust
746    * ecore ipc/con: fix nasty ... they dont mutually exclude
747    * efl_ui_bg: add Efl.Gfx.color_get.
748    * eina_file: make sure we use a stringshare when virtualized. (T6449)
749    * ecore-evas-drm: Check for XDG_SEAT existence (T6455)
750    * efl_ui_text: apply new theme logic and use constructor/destructor
751    * Efl.Ui.Popup.Alert: add message signal process function for scroller size calculation
752    * elementary: Fix resource leak (CID1383549)
753    * elementary: Fix resource leak (CID1383550)
754    * elementary: Fix resource leak (CID1383551)
755    * eina: Fix typo in doxygen
756    * evas: Fix potential crash with draw context
757    * eeze: Don't leak udev enumeration
758    * eeze: Remove unused device variables
759    * eldbus test - del not unref obj as it has a parent ...
760    * eina: fix random segfaults when displaying BT
761    * Elementary: fix makefile ignore efl_ui_theme edc's change
762    * ecore_con: bug workaround SO_REUSEADDR and EADDRINUSE from bind (fix)
763    * elm - scroll manager - fix up momentum animator code to use real consts
764    * elm: fix memleak in combobox
765    * emotion: unset DISPLAY when loading an engine under wayland (T6418)
766    * ecore evas init - init ecore then evas not the other way...
767    * fix evas test suite to now init both ecore and evas.... correctly.
768    * ecore-drm2: Fix enabling outputs
769    * ecore-drm2: return supported rotations if not using hardware
770    * efl-wl: do not modify extracted surface visibility during commit (T6443)
771    * elementary: Remove use of implicit declaration
772    * evas sw generic - don't dlopen osmesa until first needed.
773    * ecore_audio - don't about destruction because of failed sndfile load
774    * elm_tooltip: force immediate hint recalc during tooltip creation if 0x0 size
775    * elm_tooltip: immediately show tooltip if callback is set for obj under pointer
776    * efl-wl: unset cursor role on existing cursor surface if new cursor is set
777    * ecore_audio wasapi - fix ecore win32 handler deletion and destruction (T6607)
778    * efl theme - fix bug in e init splash that would do hide anim 2x (T6619)
779    * efl-wl: send more mouse buttons to clients
780    * efl-wl: propagate surface activation back to parent if child is hidden
781    * efl-wl: set event ON_HOLD flag when they are sent to a surface
782    * efl-wl: remove some broken logic for activating toplevel parents
783    * efl-wl: only send keyboard enter and activation for mapped surfaces
784    * efl-wl: immediately unset a destroyed surface's cursor
785    * efl-wl: only perform mouse-out operations for a seat if the mouse was "in"
786    * wayland: always flush client display when protocol sends are pending
787    * ecore-wl2: correctly translate spacebar keyname into key events (T6620)
788    * ecore-x: perform internal shutdown on io error if callback is set
789    * ecore-x: add more null checks for functions
790    * elementary config: Fix to use ELEMENTARY_BASE_DIR for configure path
791    * ecore-x: filter XkbNewKeyboardNotifyEvent before emitting ecore-x event
792    * ecore-x: re-add implementation of ecore_x_connection_get()
793    * efl-wl: fix no-op of setting keyboard enter on already-entered surface
794    * efl-wl: unset kbd mods changed flag after sending modifiers
795    * ecore: prune existing thread_join callbacks during ecore_fork_reset
796    * edje_cc: make -thread option
797    * Efl.Ui.Image: remove previous image when NULL is set
798    * elm: call ecore_event_init() during init
799    * ecore-file: make monitoring truly fork-safe
800    * eio: make inotify monitors fork-safe
801    * disable async mode (use sync mode) for ibus when keymap changes
802    * ecore-drm2: Ensure output changed event is sent for removed outputs
803    * eio: remove broken pid-based monitor reset copied from ecore-file
804    * ecore-imf: do ecore-x init during ctx creation instead of module init
805    * elm: call ecore_app_args_set() after quicklaunch fork
806    * elm: remove ecore-x init from quicklaunch post-fork
807    * elm progressbar - fix val set (T6697)
808    * efl ui format - fix format checking to be correct (T6697)
809    * edje - entry - fix empty item handling (T6668)
810    * ecore-evas-drm: Use output viewport in ecore_evas_animator_tick calls
811    * evas drm engines: Fix variable type for output
812    * elementary: fix legacy widget type name for backward compat
813    * ecore - fix fd handlers to also set read/write/err flags on hup's
814    * ecore - loop handler - fix wakeup to reslect active flag mask
815    * evas event_grabber: fix child ordering when adding non-top children
816    * elm_datetime: Handle wrong param case for legacy.
817    * elm: set default theme name internally when applying config
818    * efreet_xml: make sure we unmap the right pointer. (T5949)
819    * evas: increase offset by 4 to do work for next map points
820    * efl_ui_multibuttonentry: maintainance legacy function type.
821    * elementary: add missed type for legacy.
822    * elementary: bg - keep file path and key string for legacy bg widget
823    * ecore-wl2: Reduce calls to strlen
824    * ecore-wl2: Check for valid string before passing to strlen()
825    * genlist: fix "insane" order [BUG COMPATIBILITY] (T5938)
826    * efl_ui_clock: Fix wrong target to compare with.
827    * ecore ipc - fix flush to not lose messages
828    * evas: fix Evas Map AA changes the alpha flag of an image issue. (T1975)
829    * eldbus: call ecore_init in eldbus_init
830    * efl selection - fix paste with multiple windows and filter by window
831    * efl selection manager - handle multi window selections properly
832    * evas - plug in dirty + pixels get hold in "is inside" for images (T6791)
833    * elm - selection manager - fix string buffer handling and format types (T6284)
834    * ecore: poll the thread pipe twice during shutdown
835    * ecore: reduce pipe wait time during shutdown
836    * edje: fix potential memory leak.
837    * edje: fix potential memory leak.
838    * ecore: fix a potential memory leak.
839    * ecore ipc - fix send to skip data payload if null/0
840    * evas - loading extension query - fix to not skip small extensions
841    * efl selection manager - fix crashes when doing selections on non-x11
842    * efl selection manager - fix anoyther binary buffer treated as string bug
843    * efl selection - fix entry <-> plain text compy and paste in wl
844    * efl selection - fix another binary buffer treates as string bug
845    * efl selection manager - fix dnd end handling to only handle on dnd
846    * efl selection manager - fix x11 cnp from entry to plain text conversion
847    * edje: Dont append font source if fonts are not embedded in edje
848    * edje edje_cc: fix memory leak.
849    * ecore: fix a potential memory leak.
850    * ecore_wl_dnd: correct wrong variable assignment
851    * elm: resolve possible memory leak.
852    * elm: resolve possible memory leak.
853    * ector cairo: fix a memory leak.
854    * elm: resolve possible memory leak.
855    * elm: resolve possible memory leak.
856    * elementary bg: allow NULL pointers in legacy usage
857    * elementary: fix build on X11.
858    * edje: remove recalc from content_get and text_get
859    * ecore animator, x, vsync ecore evas restore x vsync to work again
860    * evas: fix default return value of image-related legacy functions
861    * edje: fix backward compatibility issue caused by legacy cursor funcs
862    * ecore-evas-win32: set draw_block until the window receives a configure event (T6907)
863    * efl_ui_image: add NULL check in elm_image_memfile_set() function
864    * evas textblock: fix double free issue from user style push/pop and free
865    * Evas textblock: fix wrong hyphenation issues with non UTF8 encoded dictionary (T3221)
866    * edje: return proper value from the function.
867    * elm_multibuttonentry: Fix to install eo header files
868    * edje: Fix to support translation for textblock part
869    * evas textblock: update format nodes when a Evas Textblock Style is updated
870    * evas textblock: manage default style properly for new interfaces
871    * efl_ui_tags: Fixed bug when setting format string.
872    * evas: fix a map rendering problem.
873    * elm_main: call _elm_config_shutdown() after loop_iterate()
874    * efl_ui_win: fix wrong comparison in icon_object_set
875    * elm_interface_scrollable: change return value for post events.
876    * edje: don't give a wrong Edje data when an Edje object has group parts
877    * elm_notify: remove allow_events_set call in destructor
878    * elm_spinner: Spinner value adjust when round enabled.
879    * elementary textpath: update Evas map when text is updated
880    * elementary widget: fix to trigger object signal emit properly. (T6981)
881    * evas engines: do not immediately free native surface when unsetting it (T6970)
882    * edje_cc: fixup edje_collections_lookup hash ids during collection pruning
883    * evas vg: fix broken vg rendering. (T6993)
884    * edje: fix an issue "description.text.text" is not shown (T6997)
885    * evas vg: get rid of memory leak.
886    * ecore_evas: fix crash on free of smart data. (T6974)
887    * eina_barrier: handle PTHREAD_BARRIER_SERIAL_THREAD return from barrier_wait
888    * evas vg: fix broken morphing(interpolation) (T6996)
889    * evas vg: fix another memory leak
890    * efreet: mark efreet_menu_async_parse() deprecated. (T585)
891    * eina_lock: do not set PTHREAD_MUTEX_ERRORCHECK on recursive locks (T1984)
892    * eina_lock: modify mutex debugging to ignore recursive locks
893    * eina_lock: remove locks from eina tracking list on free while thread debugging
894    * eina: disable abort on shutdown when triggered by system monitoring thread
895    * eet: handle decode failures as errors in variant decoding (T5379)
896    * ecore - handle G_IO_ERR conditions for net sockets (T5725)
897    * emotion_generic: clean up event handlers on fork failure
898    * eina_threadqueue: fix spinlock destruction by using spinlock api
899    * eina_threadqueue: add locking for variable used between threads
900    * eina: call eina_threads_init from eina_debug_init
901    * eina: prevent threads subcomponent from being shutdown while eina is active
902    * eina_debug_bt: only enable SIGPROF handler when profiling is enabled (T7028)
903    * Edje load: add safecheck for TEXTBLOCK-specific code path (T6279)
904    * ecore_cocoa: fix ECORE_EVENT_KEY_DOWN/UP on MacOS. (T6944)
905    * efl: Bump required libinput version for Elput
906    * edje: fix text set/get issue without edje calculation
907    * Edje: recalc edje before fetching the real part (T7057)
908    * ecore/thread: track "no_queue" threads (T7041)
909    * ecore_con: make dns resolver thread stop blocking when canceled (T7041)
910    * elm/win: move trigger for "shot" to first pre-render callback (T6929)
911    * eina/lock: add errno wrapping for backtrace() calls in thread debug blocks
912    * ecore/thread: track "no_queue" threads (T7041)
913    * ecore/thread: flush main loop threads during ecore_thread_wait()
914    * eio/fallback: fix fallback shutdown when threads exist
915    * eio/fallback: remove intermediate idler
916    * eio/fallback: fix MODIFY event emission on base path when monitoring (T7042)
917    * eio/fallback: mark all fallback monitors as fallbacks, not just for win32
918    * eio/fallback: do not modify the children hash while iterating it
919    * tests: cancel the timeout timer when cleaning up eio tests
920    * evas map: check render condition more elaborately. (T6975)
921    * Elm label: fix "horizontal_fixed" usage with different styles (T5382)
922    * eet: set parent struct member when adding a child to a parent node (T4600)
923    * Evas font: fix inifinite loop problem for fallback fonts
924    * Evas font: add comparison for fallbacks in evas_font_desc_cmp()
925    * Evas font: simplify fallback parsing step
926    * Evas textblock: clear ellipsis item at start of layout (T6986)
927    * elm_test: fix invalid read in dnd image drop
928    * ecore-con/legacy: kill server with DEL event if a dialer error occurs (T6330)
929    * efreet: use correct path when generating error message about stale efreetd socket (T7045)
930    * eo/base_class: explicitly refuse to set an object as its own parent
931    * ecore-con/proxy_helper: fix in-tree run path (T6713)
932    * efreet: simplify and fix efreetd launch (T6713)
933    * build: always check for fork() and clearenv()
934    * popup: fix popup sizing when scroll enabled. (T6886)
935    * evas gl-x11 engine - nvidia driver - fix performance drop
936    * canvas vg_loader: close opened file after using it.
937    * elm/win: correctly track and set x11 shaped state
938    * evas textblock: adds missing legacy types
939    * canvas render: stop render_pre/post cb if it didn't render.
940    * Evas text textblock: call evas_font_free even on null fonts
941    * emile image: close file properly.
942    * examples/evas: do not attempt to free animator on window delete (T7000)
943    * ecore_evas: when window resized in ecore_evas, check evas rotate state.
944    * elm_code: (cherry-pick) Fix cusor pos after newline when indenting with tabs
945    * ecore x - fix vsync to not block amdgpu drivers
946    * elm_code_widget: resize cursor at time of font change. (T6470)
947    * evas canvas: fix not to trigger unnecessary events.
948    * build: fix rpath for binaries which use ecore-x dependencies
949    * elm/genlist: remove conditional in _calc_job for verifying show_item code (T6368)
950    * elementary image: don't calc size using empty ones.
951    * evas image: fix screen flickering issue at partial + image preloading
952    * edje_cc: change .mo file write location to be relative to the .edj file
953    * theme: add programs for deferred naviframe push/pop signals
954    * edje: unset internal _need_imf flag on shutdown
955    * elm_panel: return instead of EINA_SAFETY_ON_FALSE_RETURN (T7265)
956    * build: fix evas static build of gl engines
957    * ecore/main: only update loop_time during loop iteration if the change is monotonic
958    * evas gl: fix missing map texture target.
959    * elm_code: fix crash on backspace and selection delete. (T7259)
960
961 Changes since 1.19.0:
962 ---------------------
963
964 Features:
965
966    * evas: Make save() work on snapshots (T2102)
967    * ecore-drm2: Add support for plane formats
968    * ecore-drm2: Support multiple planes on a given output
969    * ecore-drm2: Add hardware plane functions
970    * ecore-drm2: Add API function to set plane destination
971    * ecore-drm2: Add library symlink to merge atomic commit requests
972    * ecore-drm2: Add API functions for atomic commit test and commit
973    * eo: Add new API efl_cast (T5311)
974    * Ecore_Win32: add ecore_win32_window_state_get() API to retrieve a window states
975    * Ecore_Win32: add Property event API
976    * Ecore_Win32: add API to retrieve the geometry and dpi of plugged displays
977    * evas map: Introduce new API for maps (Efl.Gfx.Map)
978    * evas map: Reach feature parity with legacy API
979    * ecore-evas: add function for unsetting a specific seat's cursor
980    * ecore-wl2: store names for inputs and add api for retrieving name
981    * ecore-wl2: add some accessors for useful Ecore_Wl2_Input struct members
982    * ecore-wl2: add function for checking if a client connection sync is done
983    * ecore-wl2: change selection setting apis to return the serial of the request
984    * ecore-wl2: add events for changes in keymap, selection, and kbd repeat rate
985    * ecore-wl2: add function for accepting a single mime type
986    * ecore-wl2: add function for setting a drag source's actions without a drag
987    * ecore-wl2: add functions for proxying a selection receive externally
988    * efl_input_device: add seat_id property
989    * evas_device: add seat_id property, set seat id for default fallback seat
990    * ecore-wl2: add ecore_wl2_display_input_find()
991    * ecore-wl2: add ecore_wl2_display_name_get()
992    * elm_cnp: add event for selection change
993    * elm_cnp: add elm_cnp_clipboard_selection_has_owner()
994    * elm_win: add elm_win_get()
995    * ecore-wl2: add ecore_wl2_display_input_find_by_name()
996    * ecore-wl2: add ecore_wl2_window_activated_get()
997    * ecore-wl2: add ecore_wl2_window_popup_input_set()
998    * evas: add evas_device_get_by_seat_id()
999    * edje: Implement EO API for message_send
1000    * evas: Add children_iterate to Efl.Input.Device
1001    * evas/elm: Add Efl.Image.image_size read-only property
1002    * elput: group tablet input devices into pointer devices
1003    * elput: add initial input tablet support
1004    * ecore-wl2: implement compose keys (T5006)
1005    * elput: implement compose sequences (T5006)
1006    * wayland/drm: create evas_devices and add device pointer to input events
1007    * Efl text: add Font, Format and Style interfaces
1008    * Canvas text: implement Font, Format and Style interfaces
1009    * edje: Add recursive flag for message_signal_process
1010    * eolian: add new unit API
1011    * Efl.Ui.Image.Zoomable: implement Ui.Image.icon property
1012    * ecore-wl2: Add event for output transformation
1013    * ecore-wl2: Add API function to find an output for given window
1014    * ecore-wl2: Add API function to return an output transformation
1015    * ecore-wl2: Add API function to set surface buffer transform
1016    * evas_map: support map with number of points as multiples of 4
1017    * efl.gfx.map: support for map points as multiples of 4
1018    * elput: Add API function to swap dx & dy axis from pointer motion event
1019    * ecore-drm2: Add API function to set pointer rotation
1020    * Efl.Ui.Image.Zoomable: make zoomable to work with edj file
1021    * ecore-wl2: Add API function to set if wm rotation is supported
1022    * ecore-wl2: Add API to get if window manager rotation is supported
1023    * ecore-wl2: Add API to set if an application has rotation a window
1024    * ecore-wl2: Add API to get if an application has set window rotation
1025    * ecore-wl2: Add API to set window preferred rotation
1026    * ecore-wl2: Add API to return a windows preferred rotation
1027    * ecore-wl2: Add API to set window available rotations
1028    * ecore-wl2: Add API to return window available rotations
1029    * ecore-wl2: Add API and event for window rotation change prepare
1030    * ecore-wl2: Add API and Event for window rotation change prepare done
1031    * ecore-wl2: Add API and Event for window rotation change request
1032    * ecore-wl2: Add API and Event for window rotation change done
1033    * ecore-wl2: Add event type for window rotate events
1034    * ecore-evas-wl: Add support for Window Manager rotations
1035    * efl_input_device: add function for determining if a device has pointer caps
1036    * evas: add some functions for determining if pointer coords are inside an object
1037    * evas: add new event_grabber smart-ish object
1038    * efl.canvas: Add "seat" (by id) and "device" (by name) properties
1039    * ecore-evas-wayland: Add aux_hint functions to Wayland Interface
1040    * ecore-wl2: Add event and structure for auxiliary hints
1041    * ecore-wl2: Add API function to get list of supported auxiliary hints
1042    * ecore-wl2: Add API to support adding auxiliary window hints
1043    * ecore-wl2: Add API function to change auxiliary window hint
1044    * ecore-wl2: Add API to support deleting auxiliary window hints
1045    * ecore-wl2: Free auxiliary window hints when we destroy a window
1046    * ecore-evas: Support auxiliary hints for ecore-evas-wayland
1047    * ecore-evas-wayland: Add support for setting auxiliary hints
1048    * eo: Add API efl_data_scope_safe_get
1049    * edje: add efl_version property (T5548)
1050    * evas textblock: add align=locale option to respect locale's direction
1051    * ecore-wl2: Add API to set if a window should skip focus
1052    * ecore-wl2: Add API to get if a window should ignore focus events
1053    * ecore-evas-wayland: Add support for focus_skip_set
1054    * ecore-wl2: Add API to set window role
1055    * ecore-wl2: Add API to get/set if a window is in floating mode
1056    * ecore-wl2: Add API to support setting window stack mode
1057    * ecore-evas-wayland: Add support for setting window stack mode
1058    * evas: add seat-based focus interceptor
1059    * ecore-drm2: add ecore_drm2_output_subpixel_get()
1060    * build: add flag to disable elua
1061    * gengrid: implement reusable content based on genlist implementation
1062    * evas event grabber: add function to block stacking updates while visible
1063    * elm_entry: Add prediction hint API
1064    * ecore-wl2: Add client-side event for Window Show
1065    * ecore-wl2: Add client-side event for Window Hide
1066    * ecore-wl2: Add client-side event for Window Activate
1067    * ecore-wl2: Add client-side event for Window Deactivate
1068    * ecore-wl2: Add more window types to Window Type enum
1069    * edje player - add slave command to set text of text part for testing
1070    * efl_wl: a multiseat wayland compositor in an evas smart object
1071    * ecore-x - add ecore x dpms force api
1072    * Add ecore_win32_cursor_show() API and ecore_evas_win32_cursor_(un)set() functions
1073    * eldbus: support output dir in codegen
1074    * ecore-wl2: implement support for aux hints (T5780)
1075
1076 Fixes:
1077
1078    * evas/elm: Fix bad propagation of ON_HOLD flag
1079    * notify: fix hide animation logic for popup
1080    * ecore_con: send server_upgrade event *after* clearing pending saves (CID1373485)
1081    * evas gl: Make sure a deleted image can't be the target
1082    * evas filters: Fix rare crash with async render
1083    * emotion - gstreamer1 - fix yuv import funcs to use gst stride + offset
1084    * elm test - fix windows compilation as _close is used in windows (T5391)
1085    * fileselector: apply style for files view
1086    * elm_fileselector: fix thumbnail size for other themes bisides default
1087    * evas - table - remove logically dead code (CID1372487)
1088    * evas key modifier state set - remove dead code
1089    * evas key lock state set - remove dead code
1090    * efreet cache create - check return values of i/o funcs (CID1361941)
1091    * ecore-drm2: Disable driver whitelist tests
1092    * ecore-drm2: Remove old atomic flipping code
1093    * ecore-drm2: Store cursor size on device
1094    * ecore-drm2: Move defines for CAP_CURSOR sizes to private header
1095    * elm_map: Fix elm_map_overlay_color_get
1096    * Evas.Table: Apply mirrored correctly when align is set
1097    * ecore-con: Remove unused variable
1098    * elput: Remove unused variable
1099    * elput: Remove specific case for pointer wheel tilt
1100    * ecore-drm2: Iterate plane formats properly
1101    * elm_image: Fix file_set when preload is disabled
1102    * elm widget - fix weak reference messup that causes segv's
1103    * elm_win: do not require mouse buttons to be pressed to activate csd move/resize
1104    * eina_tiler: use int size matching Eina_Rectangle internally to avoid overflow
1105    * ecore_drm2: Fix ticking when atomic mode set is enabled
1106    * efreetd - make efreetd use eio and not ecore_file_monitor for monitoring (T5130)
1107    * evas: round glyph's advance before adding it to pen_x
1108    * evas render: Fix issue with map render
1109    * efl_ui_focus_manager: check for null return from node_get (CID1374434)
1110    * Ecore_Evas: use window states and event property to fix ecore_evas_fullscreen_set()
1111    * elm_cursor: add style name for sub cursor (T5408)
1112    * elm_fileselector: made fileselector styling more flexible
1113    * evas font code - build on older freetypes without new definitions
1114    * build: bump minimum version requirement of gnutls to 3.3.6 (T5437)
1115    * bump minimum version requirement of freetype2 to 16.2.10 which equals release 2.5.0.1 (T5437)
1116    * elm_code: Fix selection,start signal
1117    * elm_code : LINE_APPEND Render fix
1118    * eo: fix missing event emission
1119    * ecore-drm2: Enable reuse of existing state structures for non-atomic
1120    * ecore-drm2: Enable filling state structures without atomic support
1121    * ecore-drm2: Fill output states regardless if atomic
1122    * ecore-drm2: Remove #ifdef for HAVE_ATOMIC in plane_assign function
1123    * edje: null checking the return value of a function eina_mempool_malloc
1124    * Ecore_Evas (Win32): add geometry_get() method and fix dpi_get(), using the new API in Ecore_Win32.
1125    * evas examples: Fix invalid assumption about proxy
1126    * evas textblock: fix dereferenced memory after free issue for ellipsis
1127    * popup: enable to set last_button_number to 0
1128    * popup: move "visible_set(FALSE)" before calling dismissed callback
1129    * evas gl: Fix typo and revert hack (GLES 3.1)
1130    * efreet: Fix failure to save list data to output (CID1375004, CID1375005)
1131    * efl ui win -> add test for centering + fix center of window before show
1132    * elm_entry: request both text and markup when pasting
1133    * ecore-evas: account for framespace when processing mouse movement
1134    * ecore-wl2: split data offers into selection and drag
1135    * ecore-wl2: handle case where session recovery listener triggers on dead surface
1136    * ecore-wl2: correctly refcount display objects during events
1137    * ecore-wl2: remove ERR when trying to find the focused window id
1138    * ecore-wl2: do not offer a null mime first in ecore_wl2_offer_mimes_set()
1139    * edje_cc docs - fix docs for vector images as it is wrong
1140    * elm glview -> fix pvs studio caught typo in stencil bit mappings
1141    * edje_cc - use mem_alloc to fail and exit if alloc fails and fix err out
1142    * nstate: correct the legacy class name
1143    * check: fix efl_ui_check_selected_set() API
1144    * ecore-drm2: Fix setting dpms level using atomic state
1145    * ecore-drm2: Update connector state dpms value if setting works
1146    * elm_code: Fix crash on tabs in long lines
1147    * eina: fix reproductible build. (T5495)
1148    * doc: Fix filters documentation in edcref
1149    * ecore-drm2: Fix atomic dpms setting (round 2)
1150    * ecore-drm2: Don't call fb_flip until output is enabled
1151    * ecore-wl2: use nonblocking event flush when disconnecting a client
1152    * ecore-evas-wayland: do not trigger resize operation when performing rotation
1153    * wayland: use shell activated state to indicate focus in csd
1154    * wayland: send focus in/out events when receiving/losing keyboard focus
1155    * ecore-wl2: do not attempt to call zxdg_surface_v6.get_popup without a parent
1156    * ecore-wl2: add copyright info to code copied from libX11
1157    * ecore-wl2: block key->string translation when appropriate
1158    * ecore-wl2: permit null drag icon window in ecore_wl2_dnd_drag_start()
1159    * dmabuf: Drop requirement that buffer be writeable
1160    * Evas textblock: fix width calculation of non-dirty paragraphs
1161    * elm_fileselector: use a sane item size
1162    * elput: use unrounded coords for subpixel struct members in events
1163    * ecore-evas: only apply cursor object cache for default pointer
1164    * ecore-evas: clear cursor object cache when setting default cursor
1165    * ecore-evas: init cursors for all pointer-ish objects
1166    * elput: store output w/h and apply to devices on creation
1167    * evas: better handle async device creation of default mouse
1168    * elm_code: Allow multibyte characters to be entered (T5496)
1169    * efl_ui_image_zoomable: fix wrong initial value for zoom mode
1170    * ecore-drm2: Don't fill output atomic states if not using atomic
1171    * ecore-drm2: Don't fill device atomic state if atomic is disabled
1172    * ecore-drm2: Don't free output plane states if not using atomic
1173    * popup: remove previous object when setting new content
1174    * popup: fix object_mirrored_set didn't work
1175    * ecore_drm2: Don't try to disable all devices when session deactivates (T5483)
1176    * ecore-evas: redo per-device cursor internals to be per-seat (T5531)
1177    * ecore-wl2: do not unref non-matching input device upon removal
1178    * ee wayland: only handle events for ee with matching display object
1179    * evas: don't crash in _evas_default_output_get() if no outputs exist
1180    * elput: add refcounting for seats/devices
1181    * efl_input_device: do not free list when freeing children iterator
1182    * evas: redo pointer data to be per-seat instead of per-device
1183    * elput: move pointer coords into seat struct
1184    * ecore-audio: unset DISPLAY conditionally before processing pulse events (T2599)
1185    * efl.ui.image: fix icon_get API
1186    * calendar: fix elm_calendar_interval_set() API not working.
1187    * popup: fix unintentional object deletion when change scrollable
1188    * ecore-drm2: Fix output backlight value type definitions
1189    * ecore-drm2: Don't use Atomic functions to set DPMS levels (T5462)
1190    * ephysics: set proper geometry when setting an object to a face (T5547)
1191    * Efl.Ui.Image: fix efl.player.playable.get API
1192    * ecore-evas-wl: Don't check window visibility on raising
1193    * ecore-wl2: Add missing doxygen groups for documentation
1194    * ecore-wl2: Use output height when calculating dpi
1195    * evas-gl-drm: Fix potential memory leak
1196    * elm_prefs_cc: handle line too long for buffers
1197    * edje_cc handle line too long for buffers
1198    * elm spinner - handle more digits for format string + handle invalid fmt
1199    * evas - font dir fonts.alias - limit alias parse length
1200    * edje: pass whole text to IMF in case of selection
1201    * edje - fix signal propagate crash
1202    * evas-gl-drm: Be sure to initialize ncfg variable
1203    * evas-gl-drm: Fix uninitialized variable
1204    * ecore-evas-wayland: Fix potential null dereference
1205    * elput: Get touch event slots using slot not seat_slot
1206    * ecore-drm2: Fix potential SIGFPE when adding output mode
1207    * elementary entry: update focus state when editable state is changed
1208    * ecore-drm2: Use static libdrm to build ecore-drm2
1209    * ecore-drm2: Fix drm_mode variables to work with static lib
1210    * ecore-evas: make focus-setting work with async device init
1211    * ecore-ipc: don't return dead clients in ecore_ipc_server_clients_get (T5383)
1212    * evas: handle focus setting with async input init
1213    * elm_code: Fix possible crash when deleting a selection
1214    * elua - fix build for luajit2.1.0-beta3+ (T2728)
1215    * evas textblock: fix evas test suite build errors
1216    * edje text: add a missing return macro
1217    * ecore-evas: Fix return value in ecore_evas_aux_hint_val_set function
1218    * evas: Fix resize & move intercepts (T5573, T4749)
1219    * evas xpm loader - remove the rgb txt file db loading and compile in
1220    * efreet: don't raise ERR on empty file in efreet_xml_new()
1221    * ecore-evas: block buffer canvas events during deletion
1222    * Evas text: fix test with Oriya script
1223    * evas: fix version info for evas_language_direction_get
1224    * ecore-wl2: Fix issue(s) of setting wrong event device
1225    * evas_box: add safety check for adding box children to multiple boxes
1226    * elm_cursor: store and reapply non-elm cursors when setting an elm cursor
1227    * ecore-wl2: do not send exit event on disconnect if servers exist
1228    * evas: check object layer existence before deref to avoid crash
1229    * eina_log: make a log level of 0 disable the log domain
1230    * elm_list/genlist/gengrid: don't unselect items when moving the mouse out of them
1231    * Test: check gl API nullity before invoking deletion functions
1232    * eina,ecore_cocoa: fix detection of the macOS SDK version
1233    * Efl.Observable: Free an iterator after use in observers_update()
1234    * Filter: check nullity before accessing structure member
1235    * elm_spinner: Entry hide when inc/dec button pressed.
1236    * Emotion: freed allocated string.
1237    * elm_code: Fix number parsing to include legal separators
1238    * eina - fix eina_file_virtualize to copy data to an aligned addr
1239    * eina_file: fix unmap of unmapped region when Eina_File has copied data and not a map; (T5479)
1240    * ecore-wl2: add display object refs for windows
1241    * ecore-wl2: create surfaces once compositor global is bound
1242    * elm_cnp: mark x11 selection as lost when selection is lost in event
1243    * elm_entry: don't update PRIMARY selection under wayland
1244    * Add ecore_win32_cursor_show() API and ecore_evas_win32_cursor_(un)set() functions
1245    * default theme - add signals to pointer theme to fix glitch in x
1246    * ecore-wl2: Add event handlers even if no data device manager exists
1247    * elput: Fix support for setting keyboard led(s) (T5655)
1248    * elput: Update modifers for caps lock
1249    * popup: fix sizing eval logic when scrollable set TRUE
1250    * evas font: append global font path when Evas initializes Fontconfig
1251    * elm: Fix fileselector button "hidden files" (T5465)
1252    * evas mouse in/out/move event fix to remove "invalid move" (T5582)
1253    * edje: give proper width to entry's cursor according to its theme
1254    * ecore: Fix coverity resource leak (CID1377544)
1255    * elput: Fix resource leak (CID1377539)
1256    * efl_wl: Fix resource leak (CID1377537)
1257    * edje_cc: Add copy item for proxy part
1258    * eina: fix eina_tiler_equal to not always return true
1259    * evas mesh save - use alloca for tmp strings instead of heap
1260    * efreet cache create binary - check realloc results and handle failure
1261    * efreet icon cache create bin - check realloc results and handle
1262    * evas gl - fix compositing/native surface with egl/gles after glvnd
1263    * eina debug bt sig handle - fix build on osx for clockid_t
1264    * eolian: always generate a class initializer (T5736)
1265    * emtoion gst1 - workaround gst break between 1.10 and 1.12
1266    * multibuttonentry: Fix item resource clean up logic.
1267    * elm_widget: do not check for the visibility
1268    * ecore-evas-wayland: destroy frame callback on hide
1269    * ecore_audio headers conflict with app have ifdefs
1270    * elm_code: Fix crash with long lines
1271    * ecore_exe - handle realloc failures by complaining and rolling back
1272    * ecore win32 exe handling - check realloc and malloc returns
1273    * ecore exe - pisix - handle malloc fails
1274    * ecore wl2 - dnd - handle NULL drags... shouldnt happen but does (T5770)
1275    * ecore-wl2: handle null offer drags more effectively (T5770)
1276    * elm_code: Fix missing middle button selection paste (T5520)
1277    * ecore_events: inarray should be flushed before return
1278    * elm_win: do not implement aspect_get()
1279    * elm_box: use correct aspect ratio for HORIZONTAL layout
1280    * elm_table: do not propagate max size
1281    * elput: unref devices in post event cb
1282    * elput: fix seat cleanup
1283    * eina inarray accessor - use right type in parameter
1284    * evas legacy event mask - cast to unit64_t before bitshift
1285    * ephysics - fix stacking comparsion correctly if 1 smaller than 1
1286    * etc to rgba conversion - dont read stack garbage into the est imgs
1287    * edje edit - when adding size class set max width and height to -1
1288    * evas obj smart - remove pointless if
1289    * eina evlog debugging - when freeing debug buf with mmap 0 size after
1290    * efl net - fix ipv6 getsockname to use the proper struct to do it
1291    * evas object textblock - fix append if cur node is null
1292    * ector software - fix min/max int range for fixedpoint math
1293    * ecore_drm2 - fix startup if edid blob is null.. assume all 0's
1294    * elm gesture layer - use fabs not abs when actually comparing floats
1295    * epp - cpp - fix buffer end/null checks given static buffer paths
1296    * elm code - handle alloc failure for line split
1297    * elm code - handle alloc failure for line split
1298    * elocation - fix return of status, address, position to actually ret data
1299    * eldbus: check message serial before using
1300    * ecore_x: init XEvents before passing to x
1301    * efl build - fix lua old support on debian
1302    * eina hamster count - use a fixed version, revision etc. so builds repro
1303    * epp - fix buffer size for possibly bigger int snpritnfs
1304    * evas: Add safety code for smart object
1305
1306 Changes since 1.18.0:
1307 ---------------------
1308
1309 Features:
1310
1311    * edje_embryo: add function to know swallow has object
1312    * eina: Set EINA_ERROR_TIMEOUT to cond_timedwait (T1780)
1313    * edje: Allow no_render in description
1314    * Efl object: implement CoW for the function vtables
1315    * evas: Support region_set for BMP image
1316    * evas: Add support for region load with PNG files
1317    * Efl object: Remove creation of event structure and passing it to eo.
1318    * Static deps unibreak: Update to latest git version.
1319    * evas events: Add new "finger,move/down/up" events for multi touch
1320    * evas: Add normalized and window coordinates to axis events
1321    * eina: module - Add macros for adding module informations
1322    * win: Add EO API to query state of multi touch points
1323    * Efl object: change the way we set class's functions. (T4227)
1324    * Rename efl_self to efl_added
1325    * eeze: add support of GPIO sysfs detection and watch.
1326    * eina - add recursive mutex lock - apparently these are portable
1327    * Eo: introducing libeo_dbg.so.
1328    * Merge branch 'devs/devilhorns/atomic'
1329    * elm_image: Add smart cbs for async open
1330    * Merge branch 'devs/iscaro/ecore_evas_vnc_multiseat'
1331    * Canvas text cursor: add simple_geometry_get method
1332    * Canvas text: add annotation_positions_get method
1333    * ecore-wl2: Remove all references to wl_cursor usage
1334    * elementary: Provide EFL mouse pointers for Wayland Client applications
1335    * ecore-wl2: Remove usage of libwayland-cursor
1336    * elementary: Implement support for EFL Wayland mouse pointers
1337    * elm_multibuttonentry: Apply focus UI feature for the item.
1338    * ecore-animator allow for animator to skip queued animator ticks
1339    * Eo: Add a method to mark objects for reuse.
1340    * improve responsivness of timer sleeping threads for vsync with prctl
1341    * elementary: Add internal function to set wayland cursor
1342    * elementary: Make setting cursors for EFL Wayland client apps work
1343    * elm_entry: Add voice input panel layout
1344    * Merge branch 'devs/bdilly/ecore_evas_wayland'
1345    * elput: Add API to allow setting pointer acceleration profile (T4736)
1346    * remove xcb support in ecore_x and evas engines as per mailing list
1347    * eina - add a free queue (eina_freeq) for deferring frees of data
1348    * eina list - use free queue to defer freeing list nodes and accting
1349    * eo - use free queue for at least some eo core memory and pointers
1350    * Merge branch 'devs/iscaro/evas-focus-per-seat'
1351    * evlog + efl dbug - add logging of cpu freq and cpu usage per thread
1352    * ecore-drm2: Add structure definitions and function symlinks for libdrm
1353    * ecore-drm2: Add API function for drmHandleEvent
1354    * Eo gdb: add a way to resolve Eo ids from GDB without a running process
1355    * win: Add background part to the win border
1356    * evas: Add function on object to check is pointer is in
1357    * evas/box: Add support for align with stacked boxes
1358    * elm: Add Efl.Ui.Box.Stack for stack boxes (EO only)
1359    * elm: Prepare new API for windows, including CSD on X11
1360    * ecore-drm2: Add API function to return screen dpi
1361    * Merge branch 'devs/iscaro/multi-seat-events'
1362    * ecore-drm2: Add API function to allow setting gamma of a given output
1363    * win: Implement max size hint support
1364    * eolian: add documentation tokenizer
1365    * Merge branch 'devs/iscaro/locks_and_mods'
1366    * Static deps unibreak: Update to latest version.
1367    * Eo gdb: Implement eo_data_get to get eo data.
1368    * elc_naviframe: Delete naviframe items in LIFO manner on widget deletion.
1369    * elput: Add API functions to enable/disable tap-and-drag
1370    * elput: Add API functions to enable/disable drag-lock on touch devices
1371    * elput: Add API functions to enable/disable dwt support on touchpads
1372    * elput: Add API functions to get/set the scroll method for a touchpad device
1373    * elput: Add API functions to get/set touchpad click method
1374    * elput: Add API functions to get/set if tap-to-click is enabled
1375    * evas: Add source_region property to proxy objects
1376    * efl_ui_win - add window "view stack" api's and ability
1377    * Merge branch 'devs/bdilly/edje_multiseat'
1378    * Merge branch 'devs/bdilly/edje_multiseat_filter'
1379    * evas: Implement GRY8/AGRY88 save support for PNG
1380    * evas image async preload - add option to also make header load async
1381    * ecore-wl2: Add support for xdg shell version 6 (T4998)
1382    * eina: add functions for warningless exact comparisons of floats
1383    * eina: add macros for determining whether floats are nonzero
1384    * eina_freeq: Add mode for postponed deletion
1385    * eina: Introduce Eina_Slstr for short-lived strings
1386    * evas: Introduce event style_insets,changed for tb
1387    * ecore-drm2: Add API to determine if a device prefers shadow buffers
1388    * ecore-drm2: Add API function to return supported rotations of an output
1389    * ecore-drm2: Add API function to set output rotation
1390    * elput: add event for relative motion
1391
1392 Fixes:
1393
1394    * elm_win: Fix ABI break with missing EAPIs (T4344)
1395    * elm_image: Remove EAPI sizing_eval
1396    * image: Remove all new EAPI that shouldn't exist (T4343)
1397    * evas: Fix shader for text masking (T4338)
1398    * elementary: fix segmentation faults when using elm_prefs
1399    * evas textgrid: unset style when trying to load bold/italic (T4323)
1400    * elm win - fix elm win center to actually center again
1401    * evas table - handle recursive access to cols/rows where child frees
1402    * evas smart obj - handle invalid object id's when scop data get is NULL
1403    * elm_genlist: unhighlight item if it not selected (T3986)
1404    * evas gl x11 engine - fix buffer age symbol find and use
1405    * evas: Fix potential memleak in event info objects
1406    * gl: Fix usage of GLX/EGL/GL extensions (T3030, T4288)
1407    * glview: Mark draw_request as eo-only
1408    * elm: Hide new init APIs behind BETA tag
1409    * win: Mark two properties as eo-only
1410    * elm: Remove _EFL_APP_VERSION_SET from ELM_MAIN
1411    * evas: Support region_set for BMP image
1412    * photocam: Fix region load + scale down options
1413    * emile: region_set does not working in jpeg loader if scale_down has set
1414    * evas: Fix region test in jpeg load with region + zoom
1415    * doc: put shot.sh into dist to allow make doc run from tarball
1416    * examples: evas: ensure filter example lua files land in tarball
1417    * Evas Text: parse font string everytime for updating lang properly
1418    * Evas text: fix RTL text ellipsis issues (T3187)
1419    * efreetd - only open log file is env var is set to do so
1420    * elm: Install elm test images in the right place
1421    * wayland_egl: Fix EGL_KHR_Partial_Update usage
1422    * FDO icon theme: correct Inherits value
1423    * edje - fix missing vector field frees, copies, handling etc.
1424    * edje_cc: add snapshot to the lazedc symbols
1425    * ecore_evas_ews: add proper clean up when quit the func @fix
1426    * efreet - fix efreet_*_dir_get() to support the xdg env vars
1427    * FDO icons: correctly list the intl icons in theme description file
1428    * ecore_x: Early check image bpp based on depth (T4389)
1429    * Fix elementary build when xkbcommon is in a non standard location (T4413)
1430    * evas: Try harder to create the render thread
1431    * eina: overhaul Mac OS X semaphores (T4423)
1432    * elm focus: focus_auto_hide should be done with mouse_down
1433    * Edje entry: Pass correct cursor position and text to imf in case of selection
1434    * Canvas text: fix ellipsis RTL handling
1435    * edje_cc: add lookup for inherited after program
1436    * elementary: Introduce a new edje_external param to the progressbar widget.
1437    * ecore_audio: fix distribution of eolian files
1438    * Edje entry: fix selection start with shift + mouse_down (T3043)
1439    * evas canvas: fix a wrong condition check in smart changed.
1440    * edje_cc: remove after programs lookup when removing program
1441    * Ecore_con_ssl: fix return value of ecore_con_ssl_client_upgrade.
1442    * embryo_cc: fix memory overflow in str
1443    * evas map: fix the rendering problem.
1444    * Edje_Edit: check returned value edje_edit_edje_file_save function.
1445    * eio: properly track destruction of all Eet eio request. (T4550)
1446    * elm_calendar: Fix header text bug.
1447    * evas: Fix possible crash in evas_model_save_eet.c
1448    * elm fileselector: fix test to wait for the right event (T4502)
1449    * elm fileselector: fix legacy methods for Entry and Button
1450    * elm: Fix edit popup menu order
1451    * edje_edit: make tweens able to work with image sets
1452    * ecore_file: Fix improper way of comparing in ecore_file_path_dir_exists @fix
1453    * eet: set alpha_texture for ETC1+Alpha
1454    * edje_cc: allow combine lazEDC keywords
1455    * eio model: use empty mime type when efreet is unable to determine it (T4502)
1456    * efreet - fix command generation by fixing string buffer expansion
1457    * elm_toolbar: Show icons in icon only mode
1458    * elementary: set the extension on the extension, not the overlay !
1459    * efl - fix build to build multip.edj from the right edc source
1460    * Evas_Common: Fix typo.
1461    * Evas_Device: Use efl_del() in evas_device_del().
1462    * edje_cc: don't warn when image attributes are missing in inherit_only group
1463    * elm: nstate - cleanup edje signal cb
1464    * tests: check for the presence of clock_gettime()
1465    * Edje_Edit: add forgotten part_item_index API into header
1466    * eio - put in fix by disabling some fallback code (T4619)
1467    * epp: fix memory corruption when using #warning and #error
1468    * ecore_evas x - dont set withdrawn to fals on show but wait for wm state (T4699)
1469    * ecore-evas - x fix intial iconified state so terminology -I works
1470    * ecore-wl2: avoid crashes when setting window attrs before surface creation
1471    * ecore-wl2: apply input+opaque regions after creating window surface
1472    * edje_edit: proper work with part id's on part restack and del for map fields
1473    * evas: Fix missing varargs cleanup (CID1364123)
1474    * ecore-wl2: Fix input and opaque region setting
1475    * evas: Fix evas_object_smart_clipped_clipper_get
1476    * fix edje_cc segv when compiling bling bling theme
1477    * edje_cc: set correct value for attr set for MESH_NODE
1478    * Eo: Fix reference leak when failing to resolve function. (T4740)
1479    * eocre animator - the anim thread is polled on shutdown use volatile
1480    * ecore anim - actually fix by checking fd not thread handle
1481    * evas: Fix issue of wayland clients not drawing border icons
1482    * elm_spinner: change the key event operation on spinner
1483    * Edje_Edit: use correct description array accessing
1484    * ecore-wl2: Don't call cursor_update_stop function twice.
1485    * evas: Fix legacy events output vs. canvas coords
1486    * ecore-wl2: Remove cursor field from window structure
1487    * ecore-wl2: Ensure we remove the proper pointer frame callback
1488    * evas-wayland-shm: Fix max buffer age
1489    * Edje_Edit: save files name instead of full path on sound add
1490    * ecore-wl2: Don't create cursor frame callback if there is no cursor surface
1491    * elementary: Fix build break for non-wayland builds (T4778)
1492    * ecore_cocoa: fix behaviour of option key
1493    * ecore_cocoa: fix handling of some keys
1494    * ecore audio - fix hang in wayland due to pulse audio connecting to x
1495    * emotion gst1 module - disable subtitles by default as that should be (T4795)
1496    * ecore-wl2: Unify surface creation code
1497    * elm_multibuttonentry: send "clicked" signal when item got hardware enter key.
1498    * elementary entry: keep style user when new theme is applied
1499    * evas: Simplify GL masking and fix window rotation
1500    * evas lang unicode tables - reduce memory by 24k+1324 bytes
1501    * elm scrollable: return correct values from post event callbacks
1502    * Evas events: fix for works with pipes on windows.
1503    * elementary transit: support image fill area in zoom effect.
1504    * wl_drm and eayland_egl buffer age fix for gl when age changes
1505    * Eina: add NULL check to eina_module_symbol_global_set API @fix
1506    * ecore-evas-wayland: Fix use after free (CID1365657)
1507    * ecore_evas_wayland: Fix null pointer dereference (CID1365655)
1508    * ecore-evas-wayland: Fix NULL pointer dereference (CID1365654)
1509    * ecore-evas-wayland: Add warning if we fail to set engine info (CID1365651)
1510    * Toolbar: fix retrieval of previous state
1511    * Toolbar: fix icon switch during state change
1512    * DnD: cancel drag if mouse moves too much
1513    * elm_code: Fix double free on file close/free
1514    * eet: add to basic eet_image EAPIs checking on NULL @fix
1515    * efl: Require elput for gl-drm
1516    * elmentary_test: test_entry4
1517    * eet: add NULL-check to eet_connection_empty API to avoid segfault
1518    * Win: fix modal feature during window closing
1519    * evas surface/buffer wl support - define missing egl ifdefs if missing
1520    * elm_spinner: apply value after pressing enter key
1521    * ecore_wayland: fix over writing file descriptor bug for reading
1522    * elm_cursor: use cursor owner object when applying theme
1523    * efl_ui_image: fix removal of the internal evas image
1524    * elementary entry: fix to call "cursor,changed" callback when only cursor is changed
1525    * edje_edit: fix segmentation fault(Array index is out of bound)
1526    * Edje: add checking on NULL 3-rd parameter in edje_object_part_external_param_type_get() @fix
1527    * eo: safety in string comparison
1528    * eet: add checking on null to eet_data_write_cipher and EINA_ARG_NONNULL to dump API @fix
1529    * eina/log: add ARG_NONNULL to eina_log* APIs for Eina_Log_Domain * parameter @fix
1530    * edje entry: fix crash issue due to improper callback handling
1531    * elm_spinner: fix wrong focus logic when spinner is unfocused
1532    * evas: bug fix in bmp loader
1533    * Eet: add EINA_ARG_NONNULL for eet_data_text_undump* @fix
1534    * evas/x11: Fix EGL engine for recent nvidia binary
1535    * elm_toolbar: remove wrong focus highlight checking
1536    * ecore_exe_win32: fix ecore_exe_send
1537    * evas textblock: fix a rendering issue.
1538    * Evas: include efl_vg_container.eo.legacy.h to avoid implicit declaration for evas_vg_container_child* @fix
1539    * evas - software generic - fix crash when buffer is freed when its the same
1540    * Eo: Fix efl_isa() sometimes returning wrong results with extensions
1541    * theme: Fix crash at app shutdown
1542    * elput: Improve checks for keyboard & pointer devices
1543    * edje_pick: use correct id's for exported groups
1544    * edje_pick: export aliases and entire dependency list
1545    * efl_canvas_proxy: fix the parameter of EINA_COW_WRITE
1546    * elm_spinner: Spinner internal focus logic fixed to following new focused UI concept.
1547    * spinner: call changed callback on value set.
1548    * edje_pick: fix memory leak while on group dependency build
1549    * ecore-x: fix Mode_switch key mapping
1550    * ecore-x - add missing atom fetches!
1551    * edje_pick: copy images from image sets
1552    * elm_code: Don't assume control characters make a change
1553    * elput: Fix resource leak (CID1367507)
1554    * elput: Fix resource leak (CID1367506)
1555    * Ecore_win32: do not handle WM_SYSKEY* events.
1556    * elm_scroller: focus_next needs to give itself when no focusable child
1557    * evas - async preload - stop hang when missing wakeup of preload data (T5025)
1558    * efreet cache - handle corner case where efreetd keeps disconnecting
1559    * Fileselector: make parse path string windows platform support.
1560    * eio: Correct deletion backend
1561    * Edje_cc: update images.set.image names when write edj file.
1562    * elm_panel: decide whether a scrollable panel is open or not only when it has a size
1563    * elm_config: fix for dereferencing after comparing to NULL
1564    * evas_events: add checking NULL logic to source mouse event.
1565    * evas: initalize orient property in file_set()
1566    * evas generic loader - expand buffers in case of weird install location
1567    * evas: fix adjustment logic about image border (T5057)
1568    * ecore_fb_init(): use 'name' parameter similar to ecore_evas_fb_new().
1569    * [Evas GL Thread 1] evas: Fixed indentation of evas_thread_render.c
1570    * openssl 1.1 build break fixes
1571    * edje_edit: fix set the images set as image.normal value.
1572    * evas image preload - fix race condition that stops preloads
1573    * evas gl - avoid a possible crash of tex upload of invalid sized image
1574    * ecore_drm2  - work with broken kernels that EBUSY on drm  page flip
1575    * elm_box: allow aspects 1 <= x < 0.0
1576    * ecore-wl2: make session recovery listener global
1577    * elm_code: Fix selection when moving around with cursor keys
1578    * elm_multibuttonentry: Fix MBE got a wrong state.
1579    * edje_edit: add Efl.File.mmap.set implementation for edje_edit
1580    * elput: Return touch coordinates when we have no pointer
1581    * edje_cc: delete unused image sets from edj file. (T5109)
1582    * elementary conformant: clear internal pointer if holded object is deleted
1583    * evas grid smart - don't abort if smart data is null - return safely
1584    * spinner: fix mem leak on focus next traversel
1585    * index: fix mem leak on focus next
1586    * genlist: fix mem leak on focus next
1587    * edje - fix border scale by interpolation
1588    * evas: Fix resource leak in evas_module_find_type (CID1367503)
1589    * ethumb: Fix resource leak (CID1367502)
1590    * elput: Fix resource leak (CID1367499)
1591    * ecore-wl2: Don't set opaque or input regions if already set
1592    * gengrid: fix serach items in genlist by text
1593    * elementary: Don't hide pointer window on mouse out (T4987)
1594    * elementary: Ensure pointer hotspot update and reduce duplicated code (T4987)
1595    * edje_pick: implement fonts copy
1596    * evas async preload - fix valgrind issue in accessing image after free
1597    * elput: Don't add devices which we are not going to use
1598    * elput: Improve debug output for added devices
1599    * DnD/Container: fix drag during animation
1600    * edje_cc: remove 'inherit_only' groups from result edj file
1601    * evas grid smart - fix divide by 0
1602    * edje - fix crash on loading ancient edje files (T5138)
1603    * elm_code: fix bugs in the highlighting of full line comments
1604    *  ecore thread: Fix waiting.
1605    * access: fix crash while cleanup
1606    * elementary: Fix return of elm_win_wl_window_get (T5142)
1607    * elm gesture layer: add check for negative input tap start timeout.
1608    * edje_load: fix mirroring bug with GROUP, BOX, or TABLE part
1609    * elementary: set mirrored mode in a group_add()
1610    * eet: read sould be failed if cipher_key exist but file not ciphered
1611    * edje: fix cached edje modification issue
1612    * ecore: reset during timer callback execution doesn't make sense. (T3222)
1613    * ecore-wl2: Don't send focus in/out events based on keyboard enter/leave
1614    * ecore-wl2: Support sending focus for wl_shell
1615    * elm config - handle setuid apps correctly and dont create junk dirs in .
1616    * eina utils and vpath - use euid not uid if setuid for correct user
1617    * elm_code: Fix syntax crash on trailing newline in multiline macro
1618    * ecore-wl2: roundtrip during client disconnect
1619    * evas: fix bugs in gif image loader
1620    * ecore-evas-wayland: Fix setting rotation during async render
1621    * ecore-evas-drm: Fix setting rotation during async render
1622    * evas textblock: keep previous size when the calculation is skipped
1623    * Edje calc: Fix textblock size calculation logic
1624    * ecore-wl2: Fix setting opaque region on a window
1625    * ecore-wl2: Fix setting input region on a window
1626    * elm_code: Fix Coverity issues. (CID1356612, CID1368489, CID1371128, CID1371123, CID1368335, CID1371124, CID1371126)
1627    * elm_code: Another Coverity fix, better this time. (CID1371322)
1628    * Canvas text: fix clearing existing style (T5187)
1629    * eina utils: fix build without getpwent.
1630    * edje: Fix a major issue with recalc loop (T4909)
1631    * elementary gengrid: fix for working item reorder mode correctly
1632    * edje_edit: fix scripts compilation
1633    * elementary: Fix compilation for SDL
1634    * ecore-evas: use ee->prop.window in ecore_evas_input_event_register()
1635    * ecore: do not access 'timer_thread' global from animator thread
1636    * evas gl common - fix nv12 text upload with upack row length
1637    * genlist: (Mostly) fix item index odd/even styles (T3086)
1638    * genlist: Fix rare jump in prepend insert
1639    * genlist: Fix fileselector crazy behaviour
1640    * genlist: Final fix for odd/even styles issue (T3086)
1641    * elementary: Don't set pointer object theme on start (T5209)
1642    * ecore-evas-wayland: Don't register animators until window gets shown (T5209)
1643    * elementary: Fix issue of trying to init ecore_wl2 if DISPLAY is set
1644    * ecore-imf: Don't always load all modules
1645    * elm_code: Hide the cursor when it is off screen
1646    * eina: move the _eina_main_loop set before we init anything (T4891)
1647    * ecore-wl2: Only bind one shell (T5226)
1648    * ecore-wl2: Avoid resetting opaque & input regions if they match (T5226)
1649    * ecore-imf-wayland: Remove duplicate header include
1650    * ecore-imf-wayland: Reduce calls to set_cursor_rectangle (T5226)
1651    * elementary: Don't update opaque/input regions if not visible (T5226)
1652    * ecore-wl2: Ensure display cleanup after roundtrips
1653    * ecore-wl2: Send surface_commit after ack_configure (T5192)
1654    * ecore-evas-wayland: Fix issue of apps not starting up in fullscreen mode (T5044)
1655    * ecore-evas-wayland: Remove duplicated code
1656    * ecore_wl2: Fix a wayland session recovery breaker... again (T5226, T5005)
1657    * ecore-evas-wayland: Fix yet another wayland session recovery break (T5005)
1658    * emotion - fix empty video data frame update when using vdpau accel
1659    * genlist: Remove weird behavior about item_show, bring_in (T4854)
1660    * evas: Fix double clipping issue with map
1661    * elm_code: Fix missing syntax for .eo files
1662    * tests: Remove CPU affinity from all threads
1663    * naviframe: keep unfocusable state of item before finishing item push/pop
1664    * evas: clean up GL images for emojis when GL context is free'd
1665    * evas image cache - add lots more locking to try stamp out any thread bug (T5223)
1666    * evas: Check for null pointer deref (CID1371826)
1667    * popup: hides the popup when hide effect is finished
1668    * evas filters: Save selected render op of the final object
1669    * ecore: add ecore_event_type_flush.
1670    * genlist: Fix invalid state of reused content (T5236)
1671    * ecore_animator: use EINA_DBL_EQ for comparing double values
1672    * Gengrid: Correct double comparision.
1673    * elm_code: Fix position of cursor in selection
1674    * elm_code: Don't leak rows when we resize down
1675    * ecore-evas reduce modifier modification on every event to cut cpu (T5252)
1676    * eina: Fix typo in doxygen
1677    * eina: Fix more typo in doxygen
1678    * edje: Fix rare issue with map (T1551)
1679    * evas gl: Fix usage of OSMesa
1680    * ecore_animator: improve comparision check for stopping animator.
1681    * elementary: Fix minor typo in efl_ui_win.eo
1682    * evas: drop redundant pointer check (CID1371525)
1683    * gengrid: avoid call select callback twice in mode ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL
1684    * evas table: CRI when attempting to pack a table child into another table
1685    * theme: remove event gaps in enlightenment window frames
1686    * genlist: Fix another issue with insert sorted (T5274)
1687    * elm_map: Fix work of elm_map_overlay_icon_set if icon is NULL.
1688    * elm_code: fix keyboard selection forward
1689    * evas: Fix a rare issue with GL and map and mask
1690    * Eina_Xattr: fix memory corruption
1691    * ecore audio: Fix loss of last stream (T5281)
1692    * ecore-drm2: Remove unused field in Output structure
1693    * evas_events: look for seats on hash instead of input devices (T5146)
1694    * elm_code: fix CID 1368489
1695    * Gengrid: Bring the item into view scope before swapping.
1696    * gengrid: fix the crash in _elm_gengrid_item_edge_check
1697    * elm_code: Fix newline crash on BSD
1698    * ecore-evas: add flag for buffer canvas to prevent deadlock in pixels_get
1699    * evas textblock: fix top/bottom valign tag reversed issue
1700    * elm_code: better safety around widget edge cases
1701    * elm_code: Fix crashes with backspace on OpenBSD
1702    * elm - cache dump - disable this to fix jp's issues of proxies etc.
1703    * evas: always send a proper event to simplify callee logic.
1704    * elm_code: Fix bug when deleting slection beyond start of document.
1705    * elm_code: Fix coverity issue divide by zero
1706    * edje: fix name check matching correctly
1707    * ecore-wl2: stop setting all windows as toplevels on creation
1708    * elm_win: set wl window type during finalize
1709    * ecore-wl2: do not reconnect on protocol error for non-server processes
1710    * elm_code: trigger user change event on applying an undo/redo
1711    * evas - async preload cancel fix - don't double delete/free (T5374)
1712    * elm config - reload at runtime - fix env var overrides being lost
1713    * evas: give width offset when Evas tries to find ellipsis position
1714    * edje: Add workaround for misuses of clip_set
1715    * evas filters: Fix a rare crash in text render (SW)
1716    * elementary - efl ui flip - fix map apply for page flip
1717    * scroller: Fix wheel scroll with imbricated H+V scrollers
1718    * scroller: Fix issues with looping and paging
1719
1720 Changes since 1.17.0:
1721 ---------------------
1722
1723 Features:
1724
1725    * popup: implemented widget item focus feauture.
1726    * list: implemented widget item focus feature.
1727    * list: Added descriptions for the newly introduced item,focused/item,unfocused smart callbacks.
1728    * popup: Added descriptions for the newly introduced item,focused/item,unfocused smart callbacks.
1729    * hoversel: Added "item,focused" and "item,unfocused" smart events for widget items.
1730    * win - add accel preference option to elm windows
1731    * focus: Added focus highlight clip disable feature. (T1056)
1732    * focus: Added optional focus feature - focus movement by mouse_in.
1733    * toolbar: implemented widget item focus feature.
1734    * elementary: Add support to elementary for creating applications which run in drm.
1735    * list: Added focus movement on widget items by mouse in.
1736    * genlist: Added focus movement on widget items by mouse in.
1737    * gengrid: Added focus movement on widget items by mouse in.
1738    * toolbar: Added focus movement on widget items by mouse in.
1739    * gengrid: Added feature to move focus out of gengrid if focus is on edge items.
1740    * focus: Added optional focus feature - item focus on selection.
1741    * Adjust code to use the slightly different Eo2 API.
1742    * win - add ELM_ACCEL env var to set acel method that is preferred
1743    * theme - improve efm icons provided by ApB (T575)
1744    * atspi: Atspi_Action interface implementation @feature
1745    * gengrid: item moving feature with keys.
1746    * config: Added two APIs to enable/disable focus auto scroll bring in feature.
1747    * genlist: Implemented item_select_on_focus feature.
1748    * gengrid: Implemented item_select_on_focus feature.
1749    * gengrid: Added elm_gengrid_wheel_disabled_set/get() APIs.
1750    * focus: Change new API names related to focus auto scrolling.
1751    * elm_map: Add new elm_map_region_zoom_bring_in() API
1752    * Gengrid: Added horizontal item loop feature.
1753    * atspi: add AtspiText and AtspiEditableText interface support.
1754    * fileselector: Adding search entry for realtime filename search
1755    * panel: add scrollable feature
1756    * panel: add scrollable feature
1757    * gengrid: Added normal reorder type
1758    * toolbar: added selected and unselected smartcallbacks to toolbar.
1759    * elm win noblank property added - to disable screen blanking/saving
1760    * theme - improve efm icons provided by ApB (T575)
1761    * elm process state - add events and state get function
1762    * Introduce current_name_{set|get} (T1664)
1763    * GLView: Add more configuration flags for the surface
1764    * GLView: Add support for client-side rotation
1765    * GLView: Add constructor for GLES 1.1 context glview
1766    * config font hinting api added
1767    * Scroller: Add step size set API
1768    * theme/e/shelf: Add a translucent style.
1769    * elm config: add key bindings for elm_actionslider
1770    * List: Focus highlight when loop is enable
1771    * win: Support elm_win style change and runtime theme change.
1772    * win: Support runtime alpha window switch on theme change.
1773    * Transit: Support BEZIER CURVE
1774    * Genlist: added the clicked,right event on items
1775    * genlist: add "scroll" smart call
1776    * Gengrid: new signal: clicked,right with proper test
1777    * List: new signal: clicked,right with simple test
1778    * Icon theme: added standard freedesktop names.
1779    * Added the elm_win_util_dialog_add() API function
1780    * elm_image now inherits edje signal emit
1781    * fileselector: added a search icon
1782    * +elm_win_fake(), ELM_WIN_FAKE type
1783    * elm scroller - add adnimated and accelerated wheel scroll
1784    * elm_transit: Add elm_transit_go_in() API
1785    * DnD/Wl: add cancel support
1786    * DnD/Wl: support multi-layer Drag and Drop
1787    * genlist: Implemented genlist expand mode and content_min_limit function
1788    * elm - focus feature - add config option to automatically show/hide focus
1789    * elm_slider: Added elm_slider_indicator_visible_mode_set/get.
1790    * config: Reinitialize font config using evas_font_reinit() API.
1791    * scroller: add loop feature.
1792    * multibuttonentry: Add item long pressed callback.
1793    * Elm helper: add the posix regex validator.
1794    * add colorclass editor
1795    * elementary: Create new widget for image masking
1796    * ctxpopup: Added item_focus_set/item_focus_get.
1797    * hoversel: Added item_focus_set/item_focus_get.
1798    * elm_focus: added new focus move policy and elm_object_focus_move_policy_set/get
1799    * Elm: Add context,open signal in elm_entry.
1800    * theme: migrate all e users of darken_rounded_square to new darken_square image
1801    * elm_scroller: add wheel_disable_set API
1802    * calendar: show days of prev/next month.
1803    * gengrid: add item cache in gengrid for efficient realize/unrealize operation.
1804    * elm_config: Add feature to control transition scale for edje
1805    * win: Add autohide and ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN
1806    * EFL Model List View for MVC design
1807    * EFL Model Form View for MVC design
1808    * multibuttonentry: add horizontal, vertical padding between items.
1809    * index: add index item priority APIs for support multilingual
1810    * elm_config: Add flag to control pushing naviframe prev button automatically.
1811    * focus: add the focus region show mode
1812    * focus: item focus moves by geometry.
1813    * popup: make scroller optional in popup (T2651)
1814    * elm theme - add a blank focus style if you want invisible focus
1815    * Label: add support for all the fancy tags already provided for entry
1816    * elm - thumbscroll finger scrolling - make it far smoother
1817    * focus: add the APIs to set the focus next about item.
1818    * Elm_genlist: Add Item filtering support
1819    * spinner: delete longpress timer when scroller enabled.
1820    * focus: add the focus_direction feature about item.
1821    * focus: change the focus don't stay to scroller.
1822    * elc_multibuttonentry: add item disable support
1823    * atspi: add translation domain for name and description.
1824    * atspi: support org.a11y.atspi.Collection interface
1825    * atspi: add new relationship append/remove/clear API
1826    * elm run - be explicit about elm run not nesting in docs
1827    * gengrid : add all_contents_unset API in gengrid for reusing contents.
1828    * toolbar: add item_signal_emit.
1829    * spinner: add entry filter for accepted only digits and "."
1830    * hoversel: add item disabling support.
1831    * Elm entry: Keep cursor at inserted position after dnd.
1832    * atspi: support key modifers in bridge.
1833    * atspi: add type of accessibility object
1834    * elementary: Port elementary to use Ecore_Wl2 library
1835    * cnp: add Copy & Paste support for Windows
1836    * cursor: add cursor support on Windows.
1837    * popup: add popup default align config for other profiles.
1838    * Entry: Context Menu is now configurable
1839    * genlist: supporting homogeneous mode about each item class.
1840    * calendar: Apply elm_button widgets instead of manually implemented spinner buttons.
1841    * efl-js: JavaScript Eolian binding
1842    * popup: add popup dismiss function for hide effect
1843    * box: implement aspected item layout
1844    * toolbar: Send a signal when shrink mode is changed.
1845    * genlist: new SCROLLTO_BOTTOM alignment
1846    * calendar: add color classes and text classes.
1847    * datetime: add color classes and text classes.
1848    * index: add color classes and text classes.
1849    * spinner: add color classes and text classes.
1850    * multibuttonentry: add color classes and text classes.
1851    * elm config - allow the ability to save out to another hidden profile
1852    * elm config - add function to check if profile exists
1853    * elm config - add the ability to have derived configurations from others
1854    * ctxpopup: add geometry,update smart callback. (T2042)
1855    * Evas Text/Textblock: Use locale for lang as default.
1856    * Evas textblock: Use a common thickness and position at a underline.
1857    * eolian: add parsing and generation of hot events
1858    * Evas textgrid: Use default language according to locale
1859    * Eo: add support for initialising eo after it has been shut down.
1860    * ecore-drm: Add API function to get supported rotations from an output
1861    * ecore-drm: Add API function to set rotation on an output
1862    * ecore-drm: Add opaque type for Plane support
1863    * ecore-drm: Add API functions for rotation support
1864    * evas: add native surface with TBM Surface for wayland_shm engine
1865    * transit: add possibility to revert an ongoing transition during play (T3019)
1866    * eolian: allow silencing of type errors in validation
1867    * eeze: add case for Graphics subsystems in eeze_udev_find_by_type
1868    * entry: add elm_entry_select_region_get() API
1869    * genlist: add reusable_content_get item class function for support automatical content reusing in genlist. (T2813)
1870    * spinner: add min, max filter
1871    * gengrid: add all contents unset API for content unset and reusing
1872    * Evas font: allow ":fallbacks" keyword when Evas parses font keyword
1873    * spinner: add invalid input validity filter
1874    * scrolling: add option to disable scroll animations
1875    * config: add option to modify scroll acceleration factor
1876    * embryo: add tzdate function
1877    * panes: add the style to fold by clicking
1878    * Eo events: Change event callback signature.
1879    * spinner: add label format validator
1880    * Eo: Migrate to the new syntax (Eo 4).
1881    * eolian: new type system API
1882    * eo del interceptor: add the ability to intercept deletions of eo objects
1883    * combobox: add Multiple selection feature
1884    * label: add themes for left and right aligned text
1885    * focus: add focus_move_policy_automatic_set/get function
1886    * Slider: Theme - Add support for range in edc
1887    * slider: Add range support
1888    * edje: add edje_object_box_part_insert_after()
1889    * Eo: Mark all Eo APIs as weak
1890    * efl: vpath subsystem
1891    * efl ecore - init vpath on ecore init so we have a base object working
1892    * elm - add vpath paths for application resources
1893    * elm_nstate: introduce nstate widget and inherit check from it
1894    * eo - add object sotrage in generic values with ref/unref
1895    * Elementary Toolbar: Send order signals when a item is added/removed
1896    * eo - add object names/ids esp useful for erigo as it wants object names
1897    * eo - add object comments - esp useful for erigo and gui builders
1898    * eo base - add value keys in addition to object and void ptr data keys
1899    * Efl: Add skeletton for new containers "Pack" API
1900    * Efl.Ui.Box: Add implementation of a simple box
1901    * Efl.Ui.Grid: Add implementation of a grid/table
1902    * Efl: Add Efl.Pack interfaces and Efl.Ui Box and Grid
1903    * eo base: names - add finding functions to fund by name
1904    * eo base - add loop_get for base class
1905    * ecore-wl2: update wl dnd/clipboard support to v3 of protocol (T3455)
1906    * ecore-wl2: Port session recovery protocol to work with Ecore_Wl2
1907    * Efl: Introduce Efl.Container and unify APIs
1908    * Edje: Replace edje part_table with a fake eo proxy
1909    * Edje: Return text defined in EDC in part_text_get
1910    * elput: Add API function to get pointer position on a given seat
1911    * elput: Add API function to set pointer position on a given seat
1912    * wayland: implement session recovery
1913    * elput: Support sending of session activate/deactivate event
1914    * elput: Add API function to switch to a given vt
1915    * elput: Add code to handle keybindings for vt switching
1916    * elput: Add API function to return a list of seats
1917    * elput: Add API function to return a list of Elput_Devices on a given seat
1918    * elput: Add API function to set max allowed pointer position
1919    * entry: add elm_entry_select_allow_set/get APIs
1920    * docs: add an experimental elua based documentation generator
1921    * popup: add popup default scrollable flag config for other profiles.
1922    * eolian: add event_prefix and have classes follow that or eo_prefix by default
1923    * ecore_imf: Add multiline hint in input hint
1924    * Eo: Implement eo_override() to enable overriding functions of objects.
1925    * elm_win: implement v2 of teamwork api using window-based display protocol
1926    * eolian: remove pointers from complex and class types
1927    * Efl: Add Efl.Part and switch to it
1928    * elput: Add API function to set left-handed device
1929    * elput: Add API function to calibrate input devices
1930    * elput: Add APIs to support keyboard key remapping
1931    * elput: Add API function to support caching of an xkb_context
1932    * elput: Add API function to support caching of existing keymap
1933    * Merge in elm code widget (T2044)
1934    * ecore-drm2: Add start of Ecore_Drm2 library
1935    * ecore-drm2: Add API function to set left-handed mouse mode
1936    * ecore-drm2: Add API functions to support cacheing of context & keymap
1937    * Merge branch 'devs/devilhorns/ecore_drm2'
1938    * elm fileselector - make ok/cancel in selector configurable per os
1939    * elm_win: Forward events between window and evas
1940    * eolian: add a new references system to help replace pointers
1941    * Efl: Introduce app-side min size hint
1942    * eolian: support @protected for accessors (get/set)
1943    * win: Add new API win_name_get (EO and legacy)
1944    * Canvas text: introduce new text object
1945    * Canvas text cursor: introduce this new object
1946    * Canvas Text: continue porting api and fixup bugs
1947    * Ui text interactive: introduce this new object (rebase squash)
1948    * Ui text: introduce this new text widget
1949    * eolian: implement a stringshare builtin
1950    * win: Add property accel_preference
1951    * efl: Introduce general Efl.Config API
1952    * Ui text: add cursor_new method
1953    * efl: Add Efl.Version struct and APIs
1954    * eolian: add support for static and terminated arrays
1955    * eo base - add weak object refs as per jpeg needs
1956    * elput: Add API function to return output name associated with input device
1957    * Eo refcount: Split the refcount to private and public (user).
1958    * ecore-drm2: Add API for vt-switching
1959
1960 Fixes:
1961
1962    * hover: Made hover itself unfocusable.
1963    * elm_list/focus: @bugfix crashes with empty lists and unfocused elements.
1964    * @fix homogeneous genlist recalc on theme change (T1023)
1965    * @fix slider popup creation with custom themes
1966    * @fix broken slider popup hide logic
1967    * diskselector: Fix segmentation fault (T988)
1968    * object_item: Check null in elm_object_item_del.
1969    * naviframe: Emit visible signal to edc theme when first item is pushed
1970    * fix ctxpopup getting min size from content immediately on set
1971    * Fix bug of moving cursor handler
1972    * entry - fix menu to not popup after every time mobile sel handles are clicked
1973    * elm: Add Drm Detection
1974    * Avoid Month wrapping by ignoring summer time correction.
1975    * elm_widget: @fix use of uninitialized values.
1976    * naviframe: Fix smart_show function to show only top item view
1977    * license: update FSF address. (T1042)
1978    * entry - send selection,cleared signal if a selection is dismissed.
1979    * @fix slider overlay parenting
1980    * actionslider: Fixed mouse movement issue.
1981    * elm_win: Unbreak the ABI break of window type.
1982    * Remove silencing of errors when called on non elm widgets.
1983    * theme overlays - fix to prepend on overlay to be semantically consistent
1984    * entry - fixed calc issue of the wrap none mode.
1985    * segment_control, toolbar: Fixed broken scale of widget item.
1986    * entry - entry did word wrapping even the mode was ELM_WRAP_NONE.
1987    * Focus: fix segfault due to bad call to Eo function.
1988    * list/genlist: Fixed Home and End key event handling routine.
1989    * Accessibility: unref the object only if it exists.
1990    * [Elm_Dnd] Fix type matching of drag and drop target objects in X11.
1991    * [Elm_Entry] Update selection handlers position and its visibility when scrolling
1992    * diskselector: Compare correct variables. (CID1193236)
1993    * atspi_object: Added missing comma. (CID1193238)
1994    * index: Set variable to NULL after free. (CID1193250)
1995    * access: Fixed memory leak. (CID1193244)
1996    * fix scrollbar to be clickable even if vieport is tiny compared to content
1997    * naviframe : Fixed the overlap issue during multiple push.
1998    * genlist needs to iterate exactly once over a fixed list when deselcting all items
1999    * list: Fixed item multi/single selection routine to skip disabled item correctly.
2000    * genlist: Fixed item multi/single selection routine to skip disabled item correctly.
2001    * panel: check _elm_config_key_binding_call return value
2002    * datetime: clip sub components into global clipper
2003    * prefs: Add EVIL_LIBS to build to avoid problems with missing regex.h under mingw
2004    * elm win - fix tracking of current position to properly store it in win obj
2005    * spinner: crash issue on deletion fix
2006    * elm win - fix wrong resizing of focus highlight obj.
2007    * fix left over soft cursors in elm (T893)
2008    * [Elm_Dnd] Correct drag position when rotation
2009    * [Elm_Dnd] Fix segmentation fault when deleting object with same registered drop callbacks
2010    * elm_map: Fixed a leak when ecore_file_download_full fails
2011    * gengrid: Fixed the focus animation in horizontal mode
2012    * map: remove memory leak
2013    * list/genlist/gengrid/toolbar: Fix - _nearest_visible_item_get() should always return an item.
2014    * plug: fix SEGV of elementary_test during reconnecting
2015    * list: Fixed _elm_list_item_content_focus_set in case the first content is focused.
2016    * dnd: Skip drag window when drag starts
2017    * widget: Initialized internal variables. (CID1199625)
2018    * scroller: Initialized some internal variables. (CID1199657)
2019    * spinner: fixed odd behavior of the spinner
2020    * ctxpopup: sd->box null check and event_flag set for previous and next focus move.
2021    * entry: wrong viewport value calculation issue fix
2022    * elm_interface_scrollable: fix resize after drag bug.
2023    * dnd: Correct drag window positon in drag start
2024    * tooltips position more accurately in X in xinerama
2025    * entry no longer completely breaks focus by focusing itself on selection signal
2026    * toolbar: Fixed wrong edje api usage for elm objects.
2027    * genlist: Removed unnecessary item show call on multi select.
2028    * ctxpopup bg theme should block all mouse events, not just left button
2029    * ctxpopup should not blindly show arrows when they are not wanted by the theme
2030    * gengrid: frame variable should be used for position changes.
2031    * widgets - propagate current parent orientation to sub object.
2032    * elm_map: Fix to support customized style for elm_map
2033    * entry: Fix a test case for editable, non-editable entry.
2034    * layout: remove sizing_eval call when layout is already destructed. @fix
2035    * elm_map: Fix to show and bring in a correct region after zooming
2036    * gengrid : Fix the issue to skip disable item in item select
2037    * entry: Enable context menu with mosue down even if the entry is not editable in some case.
2038    * hoversel: item-loop should happen on UP/DOWN Key in case of vertical hoversel and on LEFT/RIGHT Key in case of horizontal hoversel.
2039    * fix visiblity of entry cursor when selections exist (T1229)
2040    * elm_map: Fix to calculate map size not to be smaller than viewport size
2041    * [Fileselector] Fix double-call of callback function on clicking "Enter" key.
2042    * fix 0 size focus region (T1205)
2043    * Correctly emit the scroll signal when scrolling an entry @fix T1274.
2044    * entry: update selection handlers' visibility when entry is hidden or shown (T1175)
2045    * genlist: fixed wrong item focus set on item_focus_set API call.
2046    * scroller - emits the missed signals
2047    * elm win - if no ELM_DISPLAY is set, try more engines before giving up (T1294)
2048    * Add autogen.sh to EXTRA_DIST.
2049    * Remove autogen.sh from the dist tarball.
2050    * Remove autogen.sh from the dist tarball.
2051    * config: always create a themes directory for user.
2052    * po: Set all initial values for Language and Language-Team
2053    * win: fix borderless_set behavior
2054    * dnd: rotate dragwin if main window is rotated when draging
2055    * fix theme to not self-feed emit signals in a loop
2056    * fix check colorclasses for disabled text
2057    * elm object item: fix the comparison of eo class name in case of edje object.
2058    * fileselector: Make selected_set actually select the file
2059    * tooltip: corrected the typo in documentation of elm_object_tooltip_show
2060    * elm theme - fix wayland borders to be sized and colored correctly
2061    * transit - fix to adopt the tween_mode factor.
2062    * elementary: Don't segfault if we are not using an X11-compatible engine
2063    * list: call "selected" callback after set focus to the selected item
2064    * gengrid: corrected the reorder start and end evas smart callback call.
2065    * fix notification theme to not clip text
2066    * map: Add missing legacy API into legacy header
2067    * elc_naviframe: Fix warning caused by elm_obj_layout_signal_emit override function in naviframe
2068    * fix gst video loader in generic to have key actually work
2069    * ctxpopup: fix arrow geometry set.
2070    * ctxpopup: Fix wrong popup size.
2071    * elementary: Handle case where ELM_ENGINE environment variable is misspelled.
2072    * photocam should reset its preload when a new file is loaded
2073    * Gengrid: fix position calculation
2074    * Genlist: do not segv if the user clear the list on item double-click
2075    * gengrid once again selects items using keyboard when no item was previously selected
2076    * entry: fix clearing selection region problem while it's already selected.
2077    * NEWS: Manually add fix for T1530
2078    * elm_notify: fixing style applying
2079    * genlist: Fixed item select logic when item select mode is ALWAYS.
2080    * gengrid, genlist, list, toolbar: Fixed DISPLAY_ONLY select mode for an object.
2081    * gengrid: Fixed _item_unselect to check select value not highlight value.
2082    * genlist: Fixed ELM_OBJECT_SELECT_MODE_NONE codes and added more DISPLAY_ONLY check.
2083    * gengrid: Fixed ELM_OBJECT_SELECT_MODE_NONE codes and added more DISPLAY_ONLY check.
2084    * list: Fixed ELM_OBJECT_SELECT_MODE_NONE codes and added more DISPLAY_ONLY check.
2085    * gengrid/popup: Fix wrong return type of _item_del_pre_hook.
2086    * gengrid: Fixed item select logic when item select mode is ALWAYS.
2087    * label: Fix size calculation for wrapped label
2088    * panel: resize scrollable content in content_size_set API
2089    * elm examples - missing -lm link - fix
2090    * elm_map: the widget use efreet cache home to save image files to, so efreet should be initialized.
2091    * module: detect extention just based on if its windows or not.
2092    * conform, inwin, progressbar, radio: Fixed wrong part_alias_description implementations and documentations.
2093    * genlist: Fixed a crash bug in case of calling a genlist_clear in a select callback function.
2094    * elm_win should not check ELM_ACCEL variable if application has overridden it
2095    * remove accel_override from elm_config
2096    * bg: fix the _elm_bg_elm_layout_sizing_eval bug.
2097    * win: fix segfaults (wrong checking)
2098    * widget: fix seg fault when ts is NULL.
2099    * fileselector: Do not call _populate directly in APIs (T1663)
2100    * entry/test: make scrollable entries visible
2101    * elm win - start wins in withdrawn state
2102    * Elm_Panel: forbid changing of content of "elm.swallow.event" part
2103    * elm_widget: fix segfaults for _elm_widget_item_style_set/get
2104    * xcf: Make sure complete calculation is unsigned (CID63748, CID63749)
2105    * raw: Make sure to keep the correct sign (CID63746, CID63747)
2106    * genlist: Remove unnecessary callbacks when item loop is disabled.
2107    * widget: fix the typo. Use win object instead.
2108    * elm_box_align_set API fix
2109    * label: Reset sd->lastw as '-1' in some elm_label APIs for ensure the sizing_eval.
2110    * elm_box: inappropriate size_hint_align value usage fix
2111    * transit: free the map resource.
2112    * DBUS Menu: fixing SIGSEV and SIGBUS when trying to use dbus.
2113    * datetime: Fix edc sizing issue by putting fixed: 1 1.
2114    * win: set config engine on higher priority than DISPLAY env var
2115    * genlist: Fix genlist crash issue when clearing genlist on item focus callback.
2116    * test_external.edc: pulse value have to be true for put in pulsing mode.
2117    * win: Fix wrong return value of window theme apply.
2118    * elm_label: Add "slide,end" signal emission
2119    * elm_widget: Pass Elm_Object_Item *item as *event_info in item->del_func.
2120    * modules: Make sure we have all linker flags setup for our modules. (T1920)
2121    * elm/image: Fix an unclipped issue about image bigger than object size
2122    * elm_colorselector: fix not intended duplication
2123    * elm_colorselector: Fix layout broken in ELM_COLORSELECTOR_ALL mode
2124    * add clipper for gadget popup shine
2125    * genlist should ignore no-select items when moving with the keyboard
2126    * elm_toolbar: fix memory leak in _elm_toolbar_nearest_visible_item_get
2127    * elm_genlist: add missing callback call
2128    * gengrid: Add missing "moved" callback call on item reorder by key.
2129    * gengrid, genlist, list, toolbar: Fix memory leak and enhance performance.
2130    * elm_colorselector: Fixed to get proper min size with picker only mode
2131    * test_gengrid.c: Fixed Item_Data array size for prevent buffer overflow.
2132    * box layout should not silently fail when size is less than min size hint
2133    * Elm_Entry: Fix dropped text data insertion
2134    * genlist: unselect item if the select mode is display only or none.
2135    * genilst: unselect items if the genlist select mode is display only or none.
2136    * elementary: Fix DnD to work again in wayland
2137    * elementary: Fix return values to use Eina_Bool
2138    * elementary: Fix issue with event data causing an invalid free
2139    * elm_diskselector.c: idle enterer add condition changed.
2140    * elm_segment_control: Fix elm_object_item_text_set bug.
2141    * colorselector: memory leak fix  in _color_bars_add
2142    * genlist: cancel multi selected items.
2143    * elm progressbar - fix invalid access to freed units string
2144    * elm filesel - fix eio access of widget data after de in eio threads
2145    * theme: fix misprint in popup style alias name
2146    * elm_image: Fixed to have exact size using elm_image_fill_outside_set()
2147    * elm_widget: elm_object_disabled_set API fix
2148    * elm - elm image orientation api fix - major bug in implementation
2149    * DnD: fix callbacks deletion for inline windows.
2150    * elementary: Fix dereference of null return value (CID1261370)
2151    * elm image - fix image rotation in non-common cases
2152    * elm_transit: Fix to support zoom rate zero.
2153    * elm_transit: Fix crash issue caused by multiple transit effects.
2154    * Elm_Entry: set handler style according to current widget style
2155    * Icon: use size_hint_min instead of image_size to know the wanted size
2156    * panes: Fix elm_panes_fixed_set.
2157    * Correctly lookup icon paths - @fix T2044.
2158    * multibuttonentry: Delete duplicate running code.
2159    * elm_image: fix elm_image_memfile_set API fail when elm_image widget is not visible.
2160    * Gengrid : Fix memory leak in elm_gengrid_realized_items_update
2161    * elm_label: Fixed to prevent slide's autostart before calling elm_label_slide_go()
2162    * [tooltip] use proper object to set tooltip layer
2163    * elm_label: Fixed label disappearing after theme changed
2164    * win: fix an issue that profile is erased and set to NULL.
2165    * widgets: Apply default return value according to description in .eo or add description too.
2166    * elm list - fix access of deleted items in list when recursing
2167    * elm config - font selector - avoid accessing invalid data on deld items
2168    * elm - list - fix invalid item data scope get
2169    * panel: Remove error message from elm_panel_add API and _theme_apply func.
2170    * popup: passing right parameter to elm_layout_sizing_eval
2171    * elm engine - restore explicit use of ELM_ENGNE env var
2172    * genlist: select the focused item on enter key input
2173    * gengrid: select the focused item on enter key input
2174    * genlist: Fix elm_genlist_item_index_get.
2175    * popup: removed button style setting code in theme_apply
2176    * multibuttonentry: Item selected callback called twice redundantly.
2177    * entry: Don't unlink empty files when saving @fix T2122.
2178    * genlist/gengrid : Add upadating 'focus' state in item realized function.
2179    * datetime: Fix elm_datetime_field_limit_set.
2180    * elementary_test: fix build on windows
2181    * elementary: Restart default cursor for wayland windows
2182    * elementary: Fix issue of cursor getting unset on DRM engine
2183    * layout: apply widget's states when elm_layout_file_set is called
2184    * gengrid/genlist/list: focus first item if first_item_focus_on_first_focus_in is on whether focus highlight is enabled or not
2185    * config: fix config name
2186    * elm_win framespace toggling on fullscreen change: activate!
2187    * hoversel: Enabled default mirroring in hoversel.
2188    * Genlist: make reordered item selected
2189    * pdf: Add support for changes with poppler >= 0.31 (T2184)
2190    * popup: correct popup position.
2191    * layout: here default content alias can be acceptable.
2192    * Genlist/Gengrid : Modified to handle the focus highlight on unrealized items
2193    * genlist: Send param item type instead of eo item type.
2194    * widget: fix the abi break.
2195    * GLView: Return false if the surface could not be created
2196    * conform: Use eo_isa() to check object types.
2197    * elm_win fullscreen setting on FAKE wins should just toggle the flag
2198    * elm_widget: fix wrong parmeter.
2199    * elm_entry: fix focus on text selection
2200    * [elm_datetime] Fix to parse the POSIX locale format properly.
2201    * [elm_datetime] Fix to consider second field while comparing datetime values.
2202    * elm_datetime: compatibility for Windows.
2203    * elm_prefs: compatibility for Windows.
2204    * elm_slideshow: looking for right data directory in prefix.
2205    * elm_prefs: looking for right lib directory in prefix.
2206    * elm_panel: display directory from HOME on Windows.
2207    * elm_fileselector: display directory from HOME on Windows.
2208    * elm_diskselector: check if sd variable is null.
2209    * task_switcher: add variable verification.
2210    * elm_genlist: use of elm_app_data_dir_get() instead of PACKAGE_DATA_DIR.
2211    * elm_naviframe: use of elm_app_data_dir_get() instead of PACKAGE_DATA_DIR.
2212    * elm_naviframe: use of elm_app_data_dir_get() instead of PACKAGE_DATA_DIR.
2213    * elm_map: use of elm_app_data_dir_get() instead of PACKAGE_DATA_DIR
2214    * Elm_Win: Fix _elm_win_focus_prev_target_del callback added repeatly without callback del.
2215    * elm image - stop repeating events by default - wrong
2216    * elm_genlist: pass eo_it to eo_do_ret func, not VIEW(it)
2217    * [elm_panel] Fix mirroring issue.
2218    * test_naviframe: Fix content image file names.
2219    * elm_image: return EINA_FALSE if the data source is NULL in elm_image_memfile_set
2220    * spinner: fix entry style in non 'button_layout' mode
2221    * elm_gengrid: mark cursor_engine_only in data and update state when realized
2222    * atspi: add missing signals array sentiel.
2223    * elementary: Fix elm_win_window_id_get for wayland
2224    * elm_slider: fix theme apply
2225    * elm_clock: fix theme apply
2226    * elm: add safety check
2227    * elm_segment_control: mark default return value in eolian API
2228    * elm_photocam: Fixed T2337, zoom in/out rotated photocam image
2229    * Genlist: Fix for memory leak
2230    * elm_photocam: Limiting image reload in zoom in/out
2231    * elm_multibuttonentry: change theme_set API to provide full widget theming
2232    * elm_multibuttonentry: fix label position and size defects
2233    * elm_toolbar: fix memory leaks
2234    * Genlist: fix multiselect for ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY select_mode
2235    * Genlist: rectification in _item_focused_next()
2236    * map: fix scale calculation error
2237    * Fix slideshow smart events event_info
2238    * elementary: Remove unused variable
2239    * genlist: fix to return item style correctly.
2240    * theme: return false if elm_object_style_set() failed to set requested style.
2241    * label: Fix memory leak.
2242    * SlideShow: Fix double invocation of ItemClass delete function (T2394)
2243    * elm_object_item: fix the issue that del_cb doens't get item data as its parameter
2244    * widget: more fix wrt item data.
2245    * tooltip: set the correct style of label.
2246    * slider: use theme of object for popup.
2247    * entry: update selection handlers when entry is resized
2248    * elm_win: Set initial withdrawn state from win's ecore_evas property.
2249    * Immediatly change the cursor if changed from inside the widget
2250    * elm_genlist: fix implementation of genlist tooltip functions
2251    * fileselector button: correct window parent finding
2252    * elm config - init wl if env vars indicate we should
2253    * Genlist: support of ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY mode of genlist item for ELM_ITEM_SELECT_ON_FOCUS_DISABLE config variable.
2254    * elm - fix profile handling if ELM_PROFILE is set - dont listen to x msg
2255    * Gengrid: fix mirroring bug in gengrid widget.
2256    * gengrid/genlist: decrement item counter before triggering item del callback
2257    * glview: preserved changed state when altering render mode
2258    * tooltip: fix positioning when tooltip is affixed to a window object
2259    * interface scrollerable: modify the loop_v condition in _elm_scroll_momentum_animator() function
2260    * tooltip: fix tooltip multi line text issue (T2034)
2261    * fix list item mode change on elm list
2262    * cnp: Add safety check for NULL pointer from _elm_util_text_to_mkup().
2263    * cnp: Add safety check for NULL pointer from calloc() for anim_icon.
2264    * cnp: Add safety check for NULL pointer from strdup().
2265    * Dnd/X11: add dnd support for image, uri types
2266    * Cnp/X11: move entry-only code in elm_cnp to entry
2267    * Cnp/X11: correct object parameter in datacb
2268    * entry: add dnd image handling
2269    * cnp: Add safety check for NULL pointer from malloc().
2270    * clock: Add safety check for NULL pointer from localtime() func.
2271    * entry: emit changed,user signal when text is pasted or dropped
2272    * win: only trigger del trap if win type is not FAKE
2273    * win: do not use deferred ecore evas deletion for FAKE wins
2274    * dayselector : add safety check for NULL pointer from _item_find()
2275    * colorselector: add safety check for NULL pointer from ecore_x_image_new().
2276    * genlist: fix resize of items when added after elm_genlist_clear(). (T2367)
2277    * elm_colorselector: fix horiz/vertical padding to be affected by base_scale in edc
2278    * elm_genlist: reset timer to NULL on cancel only.
2279    * DnD: remove text/uri handling
2280    * config: fix the flush file path.
2281    * X11/CnP: remove X11 invocations from elm_entry (T2183)
2282    * config: read flush.cfg when elm_config_all_flush is called.
2283    * elm_colorselector: pixel-picker accuracy fix
2284    * elm_gengrid: fix the bug that gengrid item index(position) is updated wrong value in item_update
2285    * elm_interface_scrollable: fix wrong mirrored calculation
2286    * elementary: Add rudimentary support for Elm Wayland apps to set border icon (T2453)
2287    * Revert "theme: return false if elm_object_style_set() failed to set requested style."
2288    * Genlist: use correct variable during realize
2289    * elm_datetime: Fix datetime ctxpopup resize issue
2290    * Elm_Interface_Scrollable: Improvement in looping behavior
2291    * layout: Fix eo API error while running "Genlist 7" in elementary_test. (T2534)
2292    * Entry: Add chunked append in case of _elm_entry_entry_append
2293    * naviframe: Fix to work clicked callback of auto pushed button.
2294    * cnp: change drag win type to ELM_WIN_DND
2295    * elm_conform: remember window pointer.
2296    * elm_conform: remove smart_callback when it is removed.
2297    * elm - scroller - set hold flag on wheel events if used for that dir
2298    * image: fix a crash, 0 divide problem.
2299    * slider: compare slider values elaborately.
2300    * Entry: Fix behaviour of markup filters when setting entry text. (T2561)
2301    * elementary: Tweak elm wayland border focus to Fix T2575 (T2575)
2302    * elementary: Update elementary wayland border theme to match E's
2303    * elementary: Fix elementary wayland border opaque region calculations (T2575)
2304    * elementary: Fix program signal for enable/disable of shadows
2305    * elementary: Properly fix wayland opaque region setting (T2575)
2306    * popup: fix title icon to show up. (T2581)
2307    * Scroller: Improvement in _key_action_move() calculations.
2308    * genlist : fix genlist dangling pointer crash in item select (T2553)
2309    * elementary: Adjust shadow spacer on maximize (T2578)
2310    * elementary: Fix T2573: Extra blank line in Genlist Dnd Test (T2573)
2311    * Elm_Config: add getpwent support, fix compilation on Windows
2312    * Elm_Config: fix compilation when getuid() or geteuid() are not available
2313    * elementary: Fix compiler warning disgarding const qualifier
2314    * elementary: Fix external variable declaration to match const char
2315    * elm_gengrid: Fix condition error.
2316    * Elm_Prefs: use Evil API
2317    * elm_gengrid: fix missing variable initialization.
2318    * multibuttonentry: delete clicked signal preventing code when mbe shrinked.
2319    * entry: few times the hit_rect is not clipped properly during genlist scrolling, with entry as content.
2320    * multibuttonentry: fix bug with uneditable MBE use case.
2321    * multibuttonentry: update end text(item count) even mbe shrinked.
2322    * Colorselector: fix wrong object for callback call function
2323    * multibuttonentry: internal label object status, box pack, unpack logic clean up.
2324    * interface_scrollable: don't use integer abs on floating point
2325    * interface_scrollable: convert to int before using abs first
2326    * elm: simulate the clicked event over the object only.
2327    * hoversel: use elm_object_focus_set to set focus on subobjects.
2328    * colorselector: fixed up the selected process
2329    * popup: fix resize issue when action area and title area is absent. (T2623)
2330    * spinner: entry text makes to registered special value instead of number.
2331    * multibuttonentry: item object scale set is not need when theme applied.
2332    * mbe: remove unnecessary keypad hide call from multibuttonentry.
2333    * popup: fix resize issue in case of custom part text set
2334    * focus: add del callback always.
2335    * focus/list/genlist/gengrid: fix focus highlight issues on list widgets when auto focus enable is on. (T2555)
2336    * Tooltip: reset content delete callback directly after invocation
2337    * elm_toolbar: fix icon_size to consider edje base scale
2338    * spinner: Add to support spinner value %d format.
2339    * scroller: fix the focus move bug in scroller.
2340    * generic loaders - fix load if process esits before stdout produced
2341    * gengrid: extends D2418 to horizontal mode.
2342    * gengird: change focus move mechanism in gengrid.
2343    * elementary: Fix Copy and Paste test to actually paste clipboard text
2344    * elm theme - conformant - fix to have proper min size of conformant
2345    * cnp: init wayland dnd handlers upon creating the first drop target
2346    * cnp: initialize Elm_Selection_Data.action for wayland drops
2347    * cnp: fix wayland drop format selection
2348    * cnp: pass wayland drop event size to handler, do not nul terminate drop data
2349    * cnp: end wayland drag on allocation failure
2350    * cnp: only nul terminate wayland drops for text type drops
2351    * cnp: redo wayland drop to nul terminate for text_uri drops and free on every drop
2352    * Gengrid: Set focus after item looping
2353    * list: fix crash while setting nearest item in viewport (T2662)
2354    * Entry: fix cursor repositioning on theme_apply (T2646)
2355    * scroller: fix the misstake. change && -> ||
2356    * scroller: fix memory leak on keys traversal
2357    * theme: fix theme file path parsing issue on windows.
2358    * elm_win: Initilize the variable 'preferred_rot' as a -1 before invoking _elm_win_xwin_update() in _elm_win_finalize_internal().
2359    * gengrid: fix item focus movement in case of horizontal mode
2360    * gengrid: no need to loop in case of reorder mode is enabled
2361    * toolbar: fix issue of focus not coming to item on mouse click (T2697)
2362    * config: revert first_item_focus_on_first_focus_in to 0 (T2662)
2363    * Genlist: reset item tree expanded state when putting item in cache
2364    * elm win - fix to ensure smart calc is done before show
2365    * Gengrid: Fix wrong focus movement in _item_single_select_down
2366    * multibuttonentry: Use elm focus for items instead of evas focus.
2367    * Revert "Elm_Interface_Scrollable: Improvement in looping behavior"
2368    * Elc_Naviframe: When push is in progress, block pop until push is complete.
2369    * multibuttonentry: Fix mbe  clicked signal is not work.
2370    * Elc_Multibuttonentry: Item resize issue on text set
2371    * Genlist: Dont select first item if its DISPLAY_ONLY
2372    * naviframe: fix a focus issue when deleting the first item
2373    * gengrid: fix crash issue.
2374    * FileSelector: fix behaviour when the file is chosen
2375    * elm map - fix module load craziness loading all elm modules
2376    * elm map - fix crash on badly handled zoom timeout callback
2377    * FileSelector Entry: fix behaviour for events
2378    * elm_image: fix image preload issue
2379    * elm theme - make sure key sounds are on input channel for muting config
2380    * calendar: fix signal process timing issue when view update.
2381    * elm autofocus show - fix cases where focus is inside containers
2382    * elm - when focus goes back in to a window dont have scrollers jump
2383    * elm toolbar 0 size items fix if icon not found (T2710)
2384    * multibuttonentry: Fix box item append rtl when mirror enabled.
2385    * elc_multibuttonentry: Input panel should be controlled only if multibuttonentry is editable
2386    * focus: remove checking the focus origin in highlight job.
2387    * dnd/x11: correct coordinates in pos callback
2388    * test_dnd: transfer text without markup when drag label
2389    * [spinner] Notify when value is edited directly
2390    * elm - fix focus set on focus in on window due to previous focus fix
2391    * elm_conformant: display mode set fix
2392    * gengrid: fix duplicate edje signal (elm,state,focused) to item on focus
2393    * calendar: weekday update when first day of week changed.
2394    * spinner: Fix internal logic about special value show instead of number.
2395    * multibuttonentry: fix MBE item clear, item delete logic error.
2396    * Revert "index: fix index object got a wrong min value."
2397    * spinner: fix extra callback calls
2398    * multibuttonentry: Fix padding to be affected by base_scale in edc.
2399    * multibuttonentry: Fix MBE item box min size calc error.
2400    * elc_naviframe: fix crash in strcmp, if text_set is NULL issue
2401    * elm_hover: delay hover dismiss while handling edje signal
2402    * elm cursors - if min size is too small then force it to be sane
2403    * elm cursor - fix hotspot tracking to actually work right
2404    * toolbar: Fix crash on more_item when shrink mode is set with no item.
2405    * elementary: Fix calling ecore_evas_wayland_move with improper values
2406    * elm_hoversel: fix to show dismiss animation
2407    * toolbar: do not change align for "noicon" toolbar items (T2782)
2408    * elementary: Remove unused static variable
2409    * elementary: Remove unused static variable
2410    * elementary: Fix passing wrong parameter
2411    * elementary: Fix passing wrong parameter
2412    * elementary: Remove unused variable
2413    * elementary: Remove unused static varible
2414    * elementary: Remove unused function
2415    * elementary: Remove unused variables
2416    * elementary: Remove unused static variable
2417    * elementary: Remove unused static variable
2418    * elementary: Fix genlist example to not free data until After it has been removed from the list (CID1327342)
2419    * deskmirror: unset proxy.source_clip for urgency effects
2420    * border: bring sparklebear theme up-to-date with current efl rendering
2421    * elc_file_selector_button: free allocated path name
2422    * elm_win: fix wrong comment.
2423    * elm_cnp: DnD/X11: correct drag window position in rotation
2424    * dayselector: fix warning related to argument type
2425    * multibuttonentry: fix label packed many times in internal box.
2426    * win: reemit atspi "focused" event on bridge connection
2427    * multibuttonentry: when item is clicked/selected, select function not called issue fix.
2428    * widget: update child_can_focus flag on focusability change
2429    * colorselector: picker spinner UI not proper issue fix. (T2401)
2430    * autoscroll focus: pass the object region position relative to the scroller. (T1686)
2431    * elm_segment_control: fix invalid parameter
2432    * atspi: add missing SELECTED changed signals
2433    * win : Prohibiting auto-rendering, until elm_win is shown.
2434    * calendar: weekdays do not get translated when language is dynamically changed issue fix
2435    * index: internal item's edje object handling logic changed to improve performance.
2436    * naviframe: subtitle,show signal not sent
2437    * segment_control: fix variable affectation
2438    * Genlist: Fixed a possible crash in filter iterator and a typo.
2439    * Clouseau: handle case when the library is not installed
2440    * win: only perform maximize frame state updating during ecore-evas callback
2441    * gengrid: Prevent duplicated selected function calls when item is unselected in the function.
2442    * atspi: unprotect subset of methods
2443    * notify: fix broken timeout feature in elm_notify (T2853)
2444    * notify: fix hide animation
2445    * multibuttonentry: change default format count.
2446    * multibuttonentry: internal entry cnp mode set as "ELM_CNP_MODE_PLAINTEXT".
2447    * datetime: fix field arrange code for dynamically field sequence change case.
2448    * comp base: allow mouse events to propagate through comp base -> wallpaper
2449    * Entry: add markup cnp handlers
2450    * elementary: Fix test_colorclass function
2451    * elm: set language to edje when elm_language_set is called.
2452    * spinner: prevent scrolling when longpress timer enabled.
2453    * elementary: Don't call ecore_wl2_shutdown unless we have a display
2454    * elm border: change shadow toggle program signal source e -> elm
2455    * elementary: Update ecore wayland window geometry (T2919)
2456    * spinner: add possibility to enter negative value. (T2915)
2457    * gengrid: fix Logic in _item_single_select_left and _item_single_select_right.
2458    * Elm entry: fix null item in item provider.
2459    * Fileselector entry: fix a case when file was not selected
2460    * genlist : fix size hash issue when genlist layout sizing evaluated
2461    * genlist: remove unnecessary data creation
2462    * elm_photocam: add NULL check
2463    * atspi: return previous name in overloaded getters
2464    * Elm config: use a name instead of elm_widget_type_get (T2891)
2465    * Entry: Add newline filter for single line entry (T2660)
2466    * [config] fix static analysis issue
2467    * Elm entry: Fix to hide magnifier when menu is disabled.
2468    * elm - cursor - fix job handling to not leave rogue jobs
2469    * genlist : add size_calc forcely about content when elm_layout.
2470    * elm wl cnp - fix paste to not crash anymore
2471    * elm config - monitor JUST the correct files for profile and cfg change
2472    * elementary: Fix elementary not compiling
2473    * sys_notify: fix shutdown of elm_sys_notify
2474    * segment_control: check item disable (T2883)
2475    * elementary_test: remove wrong usage of EINA_UNUSED.
2476    * layout: do not unset max size hint during sizing eval
2477    * hide indicator after mouse wheel activation. (T2348)
2478    * combobox: fix recalc and hover's best_location error
2479    * js: fix examples functions
2480    * elm entry: check for null return from eina_rectangle_new
2481    * [Hover] Fixed the delaying of hover dismiss on continuous mouse clicks (T3006)
2482    * box: enforce size recalc during unpack_all()
2483    * config: try to properly update config for popup new align value. (T3008)
2484    * config: Correct defaults in upgrade of popup conf (T3008)
2485    * Gengrid: improve item_region_show code
2486    * elementary: Fix elm_win_window_id_get function (T3058)
2487    * Adjust "context_menu_disabled" configuration.
2488    * genlist : fix tree item floating issue when homoegeneous mode is enabled (T2708)
2489    * combobox: move responsibility to define filter and content to the user of a combobox
2490    * combobox: "return" key handled correctly and removed unreachable code. (T3075)
2491    * Genlist: do not select the item two times in case of a double click.
2492    * Elm Image: fix usage of animated gif on the same image object more than one time
2493    * combobox: fix disabled state (T3075)
2494    * combobox: fix continuous clicks on hover
2495    * [toolbar] don't leak icons into the UI
2496    * [toolbar] Adjust icon size along with text etc.
2497    * genlist/gengrid: Fix focus hilight error (T3122)
2498    * edje: Reduce duplicated item obj creations and deletions.
2499    * Elm entry: Fix selection using handlers.
2500    * multibuttonentry: Add item unfocused callback.
2501    * evas/canvas: fix an incorrect sizing of smart object bounding box.
2502    * Eo base: Make object del event @hot.
2503    * calendar.edc: fix typo in text style
2504    * Eo: fix eo_shutdown()'s return value to be FALSE on shutdown.
2505    * edje: fix edje_file_data_get() when no collections are present
2506    * Evas: Use proper language for harfbuzz shaping
2507    * genlist: update all realized items in a single job
2508    * Elm_Entry: Magnifier Not working properly on corner areas issue fix.
2509    * multibuttonentry: fix Segfault on pressing Delete Key
2510    * combobox: prevent empty swallow to be shown on hover_dismiss animation (T3124)
2511    * genlist: fix for a bug in tree expansion, T3132 (T3132)
2512    * win: fix a possible crash in elm_win_add
2513    * button: remove unnecessary action in program
2514    * Ecore con: Close server socket fd on failure.
2515    * eina: invalidate last add/del rects when the opposite operation occurs
2516    * evas: include Eet.h where it's needed.
2517    * Evas font: Use proper enum value for extrabold
2518    * ecore-x: Add EINA_SAFETY checks for missing display
2519    * ecore-x: Fix compiler warnings about return values
2520    * ecore-x: Add EINA_SAFETY checks for missing display
2521    * ecore-x: Add EINA_SAFETY checks for missing display
2522    * ecore-x: Add EINA_SAFETY checks for missing display
2523    * spinner: fix vertical drag style and logic
2524    * edje: fix typo affecting our 32bits signal matching code. (T3125)
2525    * tooltip: set pass events on the tooltip, not the content
2526    * eina: accept NULL in eina_array_free() without erroring
2527    * Evas text: set NULL free'd pointers in evas_object_text_free()
2528    * ecore-drm: Make ecore_drm_output_rotation_set fail properly
2529    * Evas Text: Update text layout when ellipsis is changed without resize
2530    * ecore-x: Add safety checks for NULL _ecore_x_disp in dnd functions
2531    * ecore-x: Add safety checks for NULL display in dpms functions
2532    * ecore-wl2: do not send double mouse up events during input ungrab
2533    * ctxpopup: completely disable focus-setting on show (T3088)
2534    * cursor: do not unconditionally unset cursor before setting an engine cursor
2535    * elm_widget: do not set NULL as parent for object
2536    * elm win: fix excess resize callbacks on windows when not really resizing
2537    * elm win: fix window redraw if norender is enabled on withdrawn windows
2538    * config: add more frames for scrolling options
2539    * gl-drm: revise page flip logic
2540    * edje: clear pending programs upon calling stop_programs_on()
2541    * elm win: use actual window size not requested to resize child objects
2542    * ecore evas: fix configure request queue count to only count changes
2543    * [editor] Fix crash when deleting selections
2544    * ecore-drm: Don't reset event modifiers on touch motion
2545    * ecore-x: add safety checks for _ecore_x_disp in some functions
2546    * edje_cc_handlers: font field in new text_class should be NULL at the begining
2547    * fix the wrong operation of mirrored set
2548    * ecore-x: add safety checks for _ecore_x_disp in some functions
2549    * edje: unset animator pointer after free in _edje_file_del()
2550    * hoversel: set hover layer to layer of hover_parent (T3203)
2551    * list: do not constantly reset scr_min flags
2552    * list: always apply new size hints for subobjects
2553    * Evas textblock: Fix markup cache, was completely broken.
2554    * Edje textblock: Assume textblock knows to deal with setting the same markup.
2555    * view list: free style in base destructor.
2556    * list: do not change scr_min flags when setting an unenforced list mode
2557    * list: set update hints on item edje objects
2558    * Evas textblock: fix cached markup's stringshare refs
2559    * edje epp - fix gcc warning about possible unused var usage
2560    * efl - fix threadqueue spinlock destruction on openbsd - doesn't like it
2561    * combobox: store eo_constructor() return value into obj
2562    * Genlist: fix for an item width calculation issue on item show / scrolling (T2603)
2563    * genlist: fix item sizing error
2564    * ecore-drm: Update copyright notice (T3286)
2565    * ecore-drm: Don't re-include config.h
2566    * ecore-drm: Disable default DBG log level
2567    * elm - genlist item - index get start from 0 - unbreak api break
2568    * edje: Don't leak array source if we are going to exit function (CID1350291)
2569    * evas-gl: Fix dereference after null check (CID1339785)
2570    * ecore-wl2: set fd handler active flags correctly for connect/create
2571    * ecore_wl2: Don't treat EINVAL as a recoverable condition
2572    * eolian generator: check fwrite return value currectly (CID1327247)
2573    * ecore_drm: Update device copy of framebuffer after page flip completes
2574    * gl_common: call evas_gl_common_texture_free() before dropping image cache
2575    * ecore_drm: Disable custom tick if we can't wait for vblank
2576    * interface_scrollable: fix the getting scroll view port size
2577    * evas: Fix incorrect expression in efl_canvas_surface_wayland (CID1353365)
2578    * evas: Fix incorrect expression in efl_canvas_surface_tbm (CID1353365)
2579    * evas: Fix incorrect expression in efl_canvas_surface_x11 (CID1353363)
2580    * docs: bring back docs from eo files by switching to the new group name (T3109)
2581    * docs: bring back docs from eo files by switching to the new group name (T3109)
2582    * docs: bring back docs from eo files by switching to the new group name (T3109)
2583    * edje: do not emit selection,start twice when running select all
2584    * entry: do not set selection on selection,start signal
2585    * evas-wayland-egl: Override image_native init and shutdown functions
2586    * evas-wayland-shm: Override image_native init and shutdown functions
2587    * evas.canvas3d: fix wrong output in evas-3d-pick example
2588    * Genlist: fix wrong use of Eo item
2589    * Genlist: fix test ending
2590    * evas-wayland-shm: Fix rotation for wayland shm engine
2591    * label: whenever text is changed, sliding related things should be checked
2592    * Evas font: fix width calc in last_up_to_pos
2593    * Evas textblock: fix null-derefernce in _style_match_tag()
2594    * elm_win: force resize during show if job is pending
2595    * elm_win: monitor wl CONFIGURE events and unset resizing flag accordingly
2596    * elm: fix window resize self-trigger
2597    * evas sw render: cutout rects may be used in multiple threads (T3348)
2598    * efl - evas - sw engine - donmt free spinlock because cache always needed
2599    * edje_cc: fix parsing error when some keywords are used as part name
2600    * elm_fileselector: fix progressbar mode
2601    * textblock: support escaped &apos; tag
2602    * wayland: ignore resize from no-op surface configure events, send events always
2603    * ecore: add ecore_main_fd_handler_file_add() handlers to file handler list
2604    * evas render: fix updates sometimes are list of rects sometimes updates (T3226)
2605    * evas sw render: fix previous thread fix to be portable
2606    * evas - fix leak because cutouts_fre .. doesnt free - it just resets to 0
2607    * evas-software-generic: remove native.func.data variable and data argument of native calblacks.
2608    * ecore-wl2: Enable releasing keyboard, pointer, and touch if supported
2609    * ecore-drm: do not attempt to destroy sprite outputs which have never repainted
2610    * evas: gif loader - fix out of bounds access on cmap of invalid pixels
2611    * elm win - null  out freed data on smart del
2612    * evas - gif loader - handle missing colormap
2613    * ecore-xcb: Fix wrong initialization
2614    * ecore-xcb: Implement missing keyrouter and keygrab functions for xcb (T3377)
2615    * elm_win: unset opaque region when alpha is set
2616    * elm_win: update opaque region while fullscreened
2617    * elm_win: conditionally emit focus and maximize signals in frame creation
2618    * popup : fix create scroller bug when list item add.
2619    * evas-wayland-shm: Update copyright notice (T3421)
2620    * ecore-xcb: Add missing ecore_x_randr_output_crtc_set API function
2621    * ecore-xcb: Add missing API function ecore_x_randr_edid_info_has_valid_checksum
2622    * ecore-xcb: Add missing API function ecore_x_randr_edid_manufacturer_name_get
2623    * ecore-xcb: Add implementation for missing API function
2624    * ecore-xcb: Add implementation for missing Ecore_X API
2625    * ecore-xcb: Add implementation for missing API function
2626    * ecore-xcb: Add implementation for missing API function
2627    * ecore-xcb: Add implementation for missing API function
2628    * ecore-xcb: Add implementation for missing API function
2629    * ecore-xcb: Add implementation for missing API function
2630    * ecore-xcb: Add implementation for missing API function
2631    * ecore-xcb: Add implementation for missing API function
2632    * ecore-xcb: Add implementation for missing API function
2633    * ecore-xcb: Add implementation for missing API function
2634    * ecore-xcb: Add implementation for missing API function
2635    * elm_win: update wayland opaque region during pre-flush...always
2636    * ecore_x: fix emission of ECORE_X_EVENT_XKB_NEWKBD_NOTIFY
2637    * elm_win: move frame obj creation/deletion for fullscreen property to state change cb
2638    * elm_win: handle icon object lifetimes more accurately, use icon_name in csd icon
2639    * ecore-wl2: redo Ecore_Wl2_Event_Window_Configure entirely
2640    * eina tmp get - support other tmp dir env vars and dont use xdg runtime
2641    * efreet: fix tmp file/dir/log handling to not leave a mess and work
2642    * efreetd - fix more cache path handling to live in the cache dir
2643    * Evas: Add API to reinit the language and use it in elementary.
2644    * Evas langauge: Prevent potential buffer overflow and clean code.
2645    * elm_win: force opaque update on maximize state change
2646    * evas gl - fix leak with font glyph textures
2647    * ecore - system modules - fix eldbus interdependency and complaints
2648    * ecas gl: ensure make current/window/outpbut enabled before flushing
2649    * edje - delete obj - null out freed items in structs/data
2650    * ecore-drm: Don't leak object properties
2651    * elput: Add missing optional feature check for systemd
2652    * datetime_input_ctxpopup: delete previously created ctxpopup if theme is broken
2653    * edje_cc: delete anonymous lookup during program removal
2654    * elm_win: remove duplicated focused/unfocused event call
2655    * elm_focus: keep all focused states to be consistent when win loses and gets focus
2656    * eina mempool: don't allow 0 sized mempools
2657    * edje_cc: Fix filters inheritance (T3467)
2658    * genlist: recalc item size after item content field updated
2659    * eina value test - gix blob check to check only relevant fields
2660    * genlist: call update_job after smart_calculation done
2661    * Edje edit: fix get list of program tagrets.
2662    * Edje edit: fix aspect_preference value into generate code function.
2663    * elm_cnp: attempt to get all applicable mime types when getting selection
2664    * elm_cnp: accept appropriate text types in wl drop handlers
2665    * genlist : arrange focus set in mouse up
2666    * evas - legacy evas_object_del - always hide obj regardless of refs
2667    * edje: fix the source string for table item
2668    * Elementary toolbar: Fix flickering issue from resizing the box multiple times
2669    * efl: Add uuid as a dependency for Ecore_Wl2 (T3505)
2670    * elm_genlist: fix the sorted insert after expanded tree item
2671    * evas: Fix improper extra library linkage for various engines
2672    * ecore-drm: Add missing initializer for fb2 command
2673    * elementary interface/scrollable: remove duplicated function calls for bars
2674    * elementary: fix genlist tree filters
2675    * edje_entry: fix crash issue in case of no selection text
2676    * edje_text: don't apply ellipsis if fit is setted (T3519)
2677    * elm_genlist: when appending items to the parent, prepend to the parent
2678    * ecore-evas-wayland: Remove include for old Ecore_Wayland library
2679    * ecore-audio: Fix issue of improper deleting of ecore_job
2680    * efl: Make building Ecore_Wayland optional
2681    * ecore_file: fix memory leak
2682    * ecore_drm: Fix off by 1000 in output rate calculation (T3587)
2683    * elput: Remove useless dbus argument fetching
2684    * ecore-drm: Fix potential segfault when setting output mode
2685    * ecore-wl2: Remove need for including <sys/param.h>
2686    * elput: Fix issue of NULL seat named being passed during input init
2687    * elm win: change to use legacy api for cocoa engine
2688    * edje_callbacks: fix click signal emitting even though mouse event was cancelled
2689    * ecore-evas: call application-set focus functions if no engine functions exist
2690    * Elementary toolbar: Don't call "clicked" callback when item is just selected
2691    * elput: Don't multiply pointer axis value
2692    * ecore-wl2: Add environment variable to optionally disable wobbly windows
2693    * elementary: Fix build issue when x11 is disabled
2694    * elementary: Don't define handlers if we are not going to use them
2695    * elementary: Conditionally define functions based on x11/wayland
2696    * elementary: Cleanup compiler warnings when not using X11
2697    * eina test suite vector - make correctness range 2x as big
2698    * elm_list: perform a null check before accessing its member
2699    * ecore-evas: Fix Makefile to not include Ecore_Wayland
2700    * efl: Define if systemd version >= 209
2701    * evas-vg: Don't fetch parent if we are not going to use it
2702    * fix warnings about double/float comparisons in eina vector (T3245)
2703    * evas 3d - fix mesh savers/loaders to not leave memory unset
2704    * ecore-con - simplify down to a single libc resolver (T3668)
2705    * ecore-con tests - remove WRONG connect check
2706    * eldbus: divide dbus call timeouts by 1000 to convert from milliseconds
2707    * evas - use actual smart bounding box not obj geometry for render incl
2708    * slider: theme - fix warnings
2709    * eina hash - fix stringshare key comparison function (T3638)
2710    * efl - fix many bounds over/underflow where we use int for ptr cmp (T3638)
2711    * Elm entry: fix returning wrong focus region
2712    * elput: Fix issue where double/triple click was not working
2713    * elput: Remove badly named API
2714    * efl - ecore c+ ecore-imf - fix odd case input when faking a real event (T3703)
2715    * ecore-evas-drm: Fix issue of mouse pointer not centering on startup
2716    * widget: set the parent-child relation again, when the widget is unset
2717    * ecore-evas-drm: Register direct input callback for gl_drm also
2718    * ecore-evas-drm: Disable direct input callback
2719    * elm_win: force wl cursor set on every mouse-in
2720    * elput: Use Eeze function to get the udev to create context with (T3712)
2721    * edje_edit: fix map API (light, perspective, rotation)
2722    * elput: Fix crash whem sd_session_get_seat fails (T3785)
2723    * ecore-xcb: Fix XCB to be usable again
2724    * evas: fix order binding attributes to gl.
2725    * elementary/colorselector: colornames updated with spaces.
2726    * elementary/colorselector: use layout instead of edje object for components.
2727    * elm ctxpopup: fix auto_hide mode to work correctly
2728    * elementary: Remove unused variable
2729    * elput: Missing pointer initialization. (T3785)
2730    * edje_edit: fix copy&paste type for map functions which should return int
2731    * edje_edit: text style should be able to set into NULL
2732    * ecore-wl2: Support wl_seat_listener version 4
2733    * elementary: Remove set but unused variable
2734    * edje_edit: add missed part and description initializations
2735    * elementary: add implementation for elm_multibuttonentry_item_selected_get API
2736    * evas: fix possible memory leaks in e3d_drawable_texture_rendered_pixels_get
2737    * evas-wayland-egl: Make sure surface pointer is valid before using it
2738    * eolian: fix incorrect doxygen param generation
2739    * edje_cc - limit embryo_cc instances in bg to something sensible (T3874)
2740    * edje_calc: fix interpolate calculation of map colors
2741    * eolian: fix error cursor positioning
2742    * ecore-evas-drm: Re-enable direct input callback
2743    * elput: Fix issue of VT-Switching not working
2744    * configure - remove gnu make hack as it seems to not be needed anymore (T3767)
2745    * edje_edit: save referenced groups when image id's are changed
2746    * eolian: move deferred eo file parsing to the very end
2747    * eolian: enable inheritance checks and fix EFL to build with them
2748    * elput: Trap for null physical seat name
2749    * elementary: Fix fileselector directory monitoring events
2750    * Edje, Elementary: Remove <password=off> tag when password mode is disabled
2751    * eolian: implement a stringshare builtin
2752    * examples: evas3d: fix out of range array
2753    * elc_combobox.c: apply style to inner parts of combobox like entry and genlist
2754    * elm_entry: fix duplicate text set
2755    * edje_text: fix the fit calculation for different text size (T3569)
2756    * evas: avoid calculation bounding for camera and light objects
2757    * edje_external: fix external icon handling
2758    * elm_entry: restrict focus region to inside of entry object area
2759    * evas: Fix bad clipping with proxy
2760    * ecore_wl2: Fix dnd breakage when focus leaves window
2761    * evas: add pattern "style" when evas query fonts via fontconfig
2762    * ecore-wl2: Prevent duplicated mouse up events
2763    * elementary: Fix bug in wl dnd where all subsequent mimetypes would be accepted
2764    * elementary: Fix over-zealous optimization attempt
2765    * elementary: Fix erroneous usage of EINA_UNUSED
2766    * ecore-input: Check return fo ecore_main_fd_handler_fd_get (CID1356632, CID1356624)
2767    * ecore-evas: Fix error handling issues in wayland_shm engine (CID1357142, CID1357141)
2768    * elput: Check return of read function call (CID1357143)
2769    * evas-wayland-shm: Remove logically dead code (CID1357144)
2770    * elementary: Fix explicit null dereference (CID1357147)
2771    * ecore-wl2: Fix derefence after null check (CID1357148)
2772    * ecore-evas-wayland: Fix issue of passing wrong values to resize (CID1357150)
2773    * ecore-wl2: Check the return value of ecore_main_fd_handler_fd_get (CID1357152)
2774    * ecore-wl2: Fix issue of passing negative number to close() and read() (CID1357152, CID1357153)
2775    * ecore-drm2: Don't leak return from _output_name_get function (CID1357161)
2776    * ecore-wl2: Fix issue where hash would not get destroyed on error (CID1357171)
2777    * elc_hoversel: just little fix of expand/noitem behavior
2778    * edje_pick: load just used images.
2779    * theme: return enum from elm_widget_style_set instead of bool
2780    * ecore-wl2: Fix uninitialized variable (CID1357214)
2781    * edje signal cb - dont delete already deleted signals
2782    * elm layout - add and delete signal cbs from the same consistent obj
2783    * evas update buf - dont ref and unref outbug as an evas image - it's not
2784    * elementary: Update connman theme for all security
2785    * ecore-wl2: Fix error handling for bad fd (CID1357213)
2786    * Elementary: cnp - check on NULL data in elm_drag_start
2787    * evas: Fix rare issue with recursive proxy src invisible (T4006)
2788    * efl - threads and signals - make efl work on "insane" os's with signals
2789    * elc_combobox: fix theme and style set for combobox
2790    * evas event handling - fix incorrect object reporting (T3718)
2791    * efreet - fix mime file path messing with short paths like / (T4015)
2792    * elc_combobox: add/remove item doesn't resize container with genlist
2793    * evas event handling2 - fix incorrect object reporting (T4017)
2794    * elm widget - stop segv during shutdown when objects become deleted
2795    * elementary: clear callbacks before destroying object to avoid crash. (T3188)
2796    * elm_entry: remove unnecessary text clearing in text_set
2797    * elm_calendar: fix first week is not changed
2798    * elc_popup: move the code making buttons buffer for readability
2799    * evas event handling3 - fix yet more corner cases for clipped objects
2800    * edje_pick: realloc bug fix
2801    * edje_edit: on save_all firstly save all cached group, then all other
2802    * evas event handling4- fix more corner cases where bounding is bad (T4017)
2803    * elm conform - fix leak on jproperty change (CID1353606)
2804    * gl generic ector leak - fix not using return value of eng_image_data_put (CID1339963)
2805    * ecore-drm2: Perform input device calibration based on output name
2806    * edje: fix the map state issue.
2807    * evas-wayland-shm: Fix Insecure temporary file (CID1357164)
2808    * elput: Fix insecure temporary file (CID1357165)
2809    * edje: update a style when a style is added as class's member
2810    * Edje entry: Skip codes for updating cursor when cursor position is not changed
2811    * Evas textblock: Apply scale factor to <linesize>, <linegap> formats
2812    * Canvas text: fix corner case in range geometry calc
2813    * edje: Fix issue of null pointer dereference (CID1267490)
2814    * ecore-wl2: Fix issue of misleading 'if' statement
2815    * Edje calc: Fix Evas Text width calculation with ellipsis
2816    * Eo add ref: Fix a bug causing leaks and wrong refcount in some cases.
2817    * elementary: Clip window swallow clients
2818    * elementary: Properly swallow wayland clients
2819    * elm tooltips - fix positioning and more to be sane and have less bugs (T3980)
2820    * elementary: Fix issue of minimum resizing in wayland
2821    * evas-generic: Fix gcc warning of incorrect format
2822    * evas-generic: Fix gcc wanring
2823    * elput: Cleanup erroneous errors when trying to get output name
2824    * evas-wayland-shm: Create buffers with ARGB by default
2825    * elementary: Make wl frame borders above content
2826    * eina thread create - use pthread_sigmask as this can be called from thread
2827    * Evas font: fix width query for OT (T4068)
2828    * elementary: Fix issue of toggling border state causing visual jumps (T4092)
2829    * elocation: properly generate pkgconfig file. (T4120)
2830    * ecore_con: fix lookup of libcurl on OpenBSD. (T4130)
2831    * eina rbtree iterator - fix leak found while debugging other problems
2832    * evas - on shutdown avoid potential invalid memory access (T4103)
2833    * edje_pick: copy dependent group
2834    * elm flip - make it not crash and interactive mode work again
2835    * edje_pick: reset alias flag for copied group
2836    * evas: Fix missing breaks in switch (CID1347414, CID1347413)
2837    * edje: Fix unchecked return value (CID1349867)
2838    * eldbus: Check return value and error out if necessary (CID1355233)
2839    * elementary: Remove logically dead code (CID1355585)
2840    * elementary: Remove logically dead code (CID1356617)
2841    * eina: Fix null pointer derefernce (CID1356625)
2842    * elementary: Remove logically dead code (CID1357392)
2843    * Gstreamer1: implement subtitles mute/unmute ability
2844    * evas image updates - optimize by over-rendering less with hidden content
2845    * elm quicklaunch binary - fix coverity CID 1353607
2846    * evas cache2 - fix coverity CID 1357754
2847    * edje entry - fix coverity CID 1357752
2848    * efl ui video - fix coverity CID 1356997
2849    * efl ui image async locking -fix CID 1356199 - locked data cant be messed with (CID1356199)
2850    * elm default config - change default select on focus to be disabled (T3198)
2851    * elm button default theme - fix disabled events to not pass through (T2955)
2852    * elm button theme - fix anchor style to not pass events when disabled
2853    * elm table and box resize themselves on sizing eval - fix this - dont resize (T3031)
2854    * elput: Fix issue of losing mouse input when removing a device (T4192)
2855    * elm_conform: set data pointer to obj from NULL.
2856    * evas and ecore_x shm segment management - fix over allocation and perms
2857    * edje examples - when you cp also just assume success if same file
2858    * elm cnp win32 - do one side at least of unix newlines to windows newln (T3556)
2859    * edje_pick: copy block 'data'
2860    * ecore-wl2: Add safety check for valid compositor
2861    * efl - ecore-x - work around e's badness in makeing an x image for all wins
2862    * edje_edit: avoid such values like 2.77556e-17
2863    * elementary: fix legacy path set/get for Fileselector specializations (T4198)
2864    * ecore imf - ibus - fix destroy/disconnect handling that crashes
2865    * Canvas text: fix range geometry calculation for RTL (T3627)
2866    * ecore_audio - save 232k of real RAM by dlopening depednecies (T4227)
2867    * edje - reduce memory footrpint by dlopening ephysics on demand (T4227)
2868    * ecore-imf - fix stupidity of loading ALL modules even if not needed (T4227)
2869    * elm scroller accel was broken by default confgis setting it to 0. fix (T4263)
2870    * elementary widget: fix a wrong disabled behavior.
2871    * edje_edit: delete swallowed object before unswallowing (for part type GROUP)
2872    * Fix text check in Elm_Code T4264
2873    * elm theme - don't use empty env vars eina_prefix handles anyway
2874    * glx: Fix black windows in E on nvidia (T3030)
2875    * elm focus default theme: fix wrong resizing
2876    * Fix further text checks in Elm_Code T4264
2877    * Elm.Entry: use proper theme_set function on edje object (T4091)
2878    * efreet: free fallback cache on shutdown
2879    * eina lock semaphores - do not use shared semaphores and fix osx names
2880    * ecore-con - fix complaint about null slave list due to shutdown
2881    * embryo_cc - fix coverity complaint about assert (CID1361224)
2882    * eina log - keep coverity happy with potential ptr comparison overflow (CID1361220)
2883    * eina log - handle possible overflow from high mem (last few bytes) or env (CID1361219)
2884    * elm config - dont rescale ui if no config that needs rescale changed (T4296)
2885    * edje_cc - fix inheritance of programs and store channel too in copy
2886    * efl - edje entry - dont emit changed on markup set unless text changed (T4045)
2887    * elm_map: fix wrong check of source search
2888    * elm_need_efret() - improve error handling according to coverity (CID1360466)
2889    * edje_pick: don't copy dependencies group if they in the import list (T4313)
2890    * edje_pick: set the correct file name for copied sample
2891    * edje_pick:set the correct compression for sample (T4314)
2892    * evas smart obj delete on shutdown - fix weird child with null parent
2893    * evas image update calculation - account for clipped color changes (T4246)
2894
2895 Changes since 1.16.0:
2896 ---------------------
2897
2898 Features:
2899
2900    * eina: add eina_tmpstr_manage_new, eina_tmpstr_manage_new_length APIs
2901    * eina: add API eina_strftime
2902    * Edje: Directly embed TGV files inside EDJ when possible
2903    * eolian: add eolian_type_aliased_base_get
2904    * Evas object: Add paragraph_direciton APIs
2905    * Evas textblock: add support for hyphenation wrap style
2906    * cmake: Add a helper script which defines generator rules for eo files
2907    * evas: Add ExtraLight, ExtraBold for font weight.
2908    * Evil: add support for LC_MESSAGES for setlocale()
2909    * ecore_win32: add clipboard management
2910    * ecore_win32: add support of X11 shaped cursors
2911    * ecore_cocoa: add support for system cursors
2912    * Ector: Implement pixel buffer support
2913    * ecore_cocoa: add support for system cursors
2914    * ecore: Add a new wayland module (T2842, T2841)
2915    * eina: Adding API for base64 decode.
2916    * edje: introduce size_class attribute
2917    * Static deps unibreak: Update to latest version.
2918    * edje_callbacks: Add mouse,pressed,in/out signal.
2919    * efl-js: JavaScript Eolian binding
2920    * edje: add text_classes syntax to EDC (T2900)
2921    * Add a new Ecore_Drm API for setting left-handed mouse
2922    * edje_embryo: add printf feature.
2923    * ecore-drm: Add a new API for keymap cache
2924    * Evas_Engine: add TBM surface and clean up Native Struct
2925
2926 Fixes:
2927
2928    * eina: fix computation of sqrt near 1.
2929    * efl: fix build out of tree
2930    * Evas: Allow edje_decc to work with ETC images
2931    * edje: initialize map.zoom values to fix old *.edj compatibility issues.
2932    * Evas sw_generic/x11: Fix calls to native_bind_cb/unbind_cb
2933    * edje - signal match code - clean up function readablity and fix crash
2934    * ecore_con: remove last occurence of EMILE_SSLv3
2935    * efl: Fix configure help message for cserve
2936    * efl: Fix configure help message for multisense
2937    * ecore-evas wayland: use correct values when updating wayland window size
2938    * ecore-evas drm: null global device pointer after free (T2844)
2939    * Evas GL: Fix BadMatch with pbuffer make current
2940    * Evas GL: Remove invalid call inside make current pbuffer
2941    * ector: disable NEON build. (T2851)
2942    * Evas language: Fix language from locale function.
2943    * evas-gl: Remove extra parentheses
2944    * evas-software-x11: Fix returning NULL pointer
2945    * evas-software-x11: Fix resource leak (CID1339782)
2946    * ector: Fix incorrect expression (CID1339786)
2947    * ecore-evas-wl: Fix issue of improper window geometry (T2842)
2948    * ecore-drm: Don't send mouse_move event too early
2949    * ecore-evas-drm: Send fake mouse_move event after registering (T2854)
2950    * ecore-wayland: Make ecore_wl_window_maximized_get return proper values
2951    * evas-gl_drm: Remove set but unused variable
2952    * ecore-evas wayland: enforce frame/state change triggering before move/resize (T2841)
2953    * ecore-wayland: return only the relevant state value for maximize/fullscreen
2954    * ecore-wayland: rewrite maximize/fullscreen set functions for consistency (T2841)
2955    * Edje: Fix Evas 3D eet data descriptors
2956    * Evas text: Fix memory leak
2957    * ecore-wayland: Add EINA_SAFETY checks to window functions
2958    * ecore-wayland: Fix iconified functions for consistency
2959    * ecore-wayland: Reduce overhead for maximize/fullscreen set functions
2960    * [eolian_gen] remove documentation for removed argument.
2961    * evas: fix unreachable code in _generate_unic_color_key function in Evas.Canvas3D.
2962    * evas: fix possible accsess to NULL pointer in Evas.Canvas3d.
2963    * evas: fix uninitialize variable in convex_hull_vertex_set function
2964    * evas: remove useless part of code in evas_convex_hull_get function
2965    * ector: fix the rounding issue when applying transformation to shape data in freetype backend.
2966    * efreet_icon: Fix wrong inherit selection
2967    * edje entry: return correct selection
2968    * evas-3d: Fix missing field initializers
2969    * Evas: use LC_MESSAGES on Windows to fix compilation
2970    * eina: fix missing header
2971    * ecore_file: fix ecore_file_file_get() on Windows
2972    * ecore_cocoa: don't track NSAppKitDefined event
2973    * ecore_cocoa: fix live resize of windows
2974    * evas: fix a NULL dereference issue in font.
2975    * efl: fix build failure when it builds with coverage.
2976    * edje cc fix - we parsed floats not intsfor min and max desc size
2977    * Evas Textblock: Fix text disappear issue when text is made up with multiple items. (T2709)
2978    * efreet desktop tracking - fix monitoring of dirs of custom desktops
2979    * fix efreetd to scan more subdirs for desktop and icon files
2980    * Evas textblock: fix height on line wrapping (T1583)
2981    * ecore_evas: fix disappearing socket image
2982    * edje: fix edje RTL description in case of custom state of a part
2983    * evas: rewrite gl image transformation logic in a very simple way
2984    * edje_entry: Fix crash on selection (T2910)
2985    * Edje entry: Use markup text for password in preedit mode
2986    * ecore-wl2: Fix not sending compositor reguests when we use ecore_wl2_display_connect
2987    * ecore-wl2: Fix issue of compositors not flushing clients properly
2988    * ecore-evas-wl: Fix issue of resize jumping
2989    * ecore-wl2: Fix maximized and fullscreen functions to restore geometry
2990    * ecore-wl2: Fix issue of not unsetting move mouse pointer
2991    * ecore-wl2: Change name of ecore_wl2_window_class_name_set function
2992    * ecore-evas wayland: use correct values when updating wayland window size
2993    * ecore-evas wayland: enforce frame/state change triggering before move/resize (T2841)
2994    * ecore-wl2: Fix maximized & fullscreen functions to use window flag
2995    * ecore-wl2: Remove setting custom wl_log handler
2996    * ecore-evas wayland: use correct values when updating wayland window size
2997    * ecore-evas-wl: Fix issue of improper window geometry (T2842)
2998    * ecore-evas wayland: enforce frame/state change triggering before move/resize (T2841)
2999    * ecore-evas wayland: use correct values when updating wayland window size
3000    * ecore-evas-wl: Fix issue of improper window geometry (T2842)
3001    * ecore-evas-wl: Fix issue of resize jumping
3002    * ecore-evas wayland: enforce frame/state change triggering before move/resize (T2841)
3003    * ecore-evas-wayland: Use proper Ecore_Wl2 window functions
3004    * Evas textblock: Skip layout logic for an text item which doesn't have font.
3005    * ecore-evas-wl: Cleanup creating a wayland canvas
3006    * ecore-evas-wayland: Properly cleanup ecore_wl2 during error
3007    * ecore-wl2: Implement function pointer for configure acknowledge
3008    * ecore-evas-wayland: Acknowledge configure event post render
3009    * efl - ecore-x xrandr - fix memleaks of properties fetched
3010    * ecore-wl2: Don't free display structure during display cleanup function
3011    * evas-wayland-egl: Fix the unnecessary renewal of the engine window.
3012    * Evas textblock: fix evas_textblock_cursor_line_set
3013    * ecore-wl2: Fix issue of cleanup function always removing from client display hash
3014    * evas: Fix definition of framespace in canvas eo file
3015    * ecore-wl2: rewrite maximize/fullscreen set functions for consistency (T2919)
3016    * ecore-evas-wayland: Don't set window geometry in ecore_evas (T2919)
3017    * Edje cc: Fix use of uninitialised value.
3018    * Evas textblock: improve and fix line range rectangles (T2648)
3019    * ecore-wl2: rewrite iconified set function for consistency (T2919)
3020    * efl - ecore-x randr - fix coverity issue found after previous leak fix
3021    * Evas text: Fix Evas Text truncated text case.
3022    * edje: calc - remove pointer comparison while finding part desc
3023    * ecore-evas-wayland: Move configure acknowledge to render_flush_pre
3024    * ecore-evas-wayland: Fix issue of starting resizing causing size jumps
3025    * evas_eet: Add Type Safety check
3026    * Evas textblock: add missing test fonts (T2908)
3027    * evas: trigger RENDER_FLUSH callbacks during async render
3028    * ecore-wl2: Add new event for sync done
3029    * ecore-evas-wl: Defer creating surfaces for wayland canvas
3030    * ecore-evas-wl: Fix copy/paste errors
3031    * evas - fix evas module locks to init/del when movile created/destroyed
3032    * Evas Textblock: Fix NULL dereferencing issue
3033    * Eolian gen: Don't fail if file is empty (--gi)
3034    * ecore-drm: Fix failure of setting/closing evdev->fd which causes fd leak
3035    * ecore-evas wayland: move frame sending to pre-flush callback
3036    * evas: do not add unclipped smart members to the master clip
3037    * evas: trigger FLUSH_PRE callback prior to kicking off an async render
3038    * evas: do not unset/delete master clip after every frame
3039    * efreet_icon_cache_create: null theme eet file to avoid double free
3040    * edje_cc: track parts for descriptions, ensure part types match when inheriting
3041    * edje_cc: terminate filter file scripts
3042    * edje_cc: correctly copy part descriptions when setting part type
3043    * edje_cc: redo part type setting to be even more correct
3044    * Edje entry: Fix issue with width calculation and padding
3045    * emotion - fix gst back-end to report title and other meta changes
3046    * Edje entry: Fix cursor position on mouse up and down
3047    * evas: unset pointer ungrabs when using EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN
3048    * evas: handle existing pointer grabs when changing object pointer mode
3049    * efreetd: send ipc for EFREET_EVENT_DESKTOP_CACHE_BUILD...always (T2733)
3050    * ecore_x: fix memory leak
3051    * ecore_x: fix memory leak
3052    * ecore-wl2: Fix MIN() macro comparing int vs unsigned int
3053    * eo: Fix resource leak (CID1339783)
3054    * ecore-drm: Add missing variable 'dev'
3055    * Edje_cc: support braces for description.proxy attribute.
3056    * edje: custom state - if RTL flag is not set, return original description
3057    * edje: Fix compiler warning about set but not used variables
3058    * eina_js: Fix documentation generation (T3005)
3059    * ecore-wl2: Fix support for nested compositors
3060    * efreet: fix undeclared function
3061    * ecore_con: fix compiling on OS X
3062    * evas_gl_cocoa: update function parameters
3063    * ecore_wayland: set touch_focus window when gets pointer_enter
3064    * eina mp: only include malloc.h on linux
3065    * js: fix binding after namespace change of connector
3066    * Edje UI mirroring: Fix UI mirroring for GROUP parts. (T3021)
3067    * Edje entry: Fix memory leak.
3068    * eina-cxx: Remove Eo classes defined manually (T2940)
3069    * edje: unswallow objects from parent edje when swallowing into new edje
3070    * ecore-drm: Call inputs shutdown before eina_shutdown
3071    * ecore_wayland: send mouse_move when sets touch_focus window in cb_touch_down
3072    * ecore_wayland: move check for pointer capability
3073    * ecore_drm/ecore_wl2: logging: remove errant usage of %m
3074    * win32: Fix compilation due to recent changes in Evil
3075    * embryo: change the log catagory of printf in embryo
3076    * ecore imf: fix imf module load hangs when not even configured
3077    * ecore-x: add safety checks for _ecore_x_disp in some functions
3078    * Eina: Fix eina_file_mk[ds]temp when a path is passed
3079    * elua: Fix use of eina_file_mkstemp after previous patch
3080    * Evas GL: Also fix surface cap cache
3081    * edje/edje_edit: make posible to unset the program filter part and state
3082    * ecore-drm: Cleanup ecore-drm shutdown routine
3083    * ecore-evas-drm: Cleanup drm outputs during shutdown
3084    * ecore-drm: Refactor logind code to use tty functions
3085    * ecore-drm: Destroy any existing eeze watch when we free the device
3086    * ecore-drm: Don't unset logind variable when disconnecting a device
3087    * ecore-drm: Unify and cleanup tty code
3088    * ector: fix potential crash if cairo is not found on the system. (T2938)
3089    * Ethumb: make the emotion plugin correctly use the edje frame if requested.
3090    * ecore_evas_extn: Add safety checks, fixing a crash in elm_test (T2835)
3091    * edje: Fix potential NULL pointer dereference (CID1349866)
3092    * efreet: reject invalid "" data for Efreet_Desktop->x hash (T3096)
3093    * efreet: add locking for efreet_desktop_x_field_get()
3094    * evas: Fix segfault when trying to determine overlay usage
3095    * evas: Fix explicit NULL dereference (CID1347415)
3096    * Evas clip: Fix rare crash in _render_pre_clipper_change
3097    * eina: fix invalid prototype
3098    * eeze: Fix eeze_udev_find_by_subsystem_sysname function
3099    * eldbus: Correctly read/write boolean to eina_value (T3089)
3100
3101 Changes since 1.15.0:
3102 ---------------------
3103
3104 Features:
3105
3106    * ecore-wl: Support wl_keyboard_send_repeat_info for adjusting keyboard repeat rate and delay
3107    * evas gl: add support for new partial update extension.
3108    * ecore-x: provide property state in Ecore_X_Event_Window_Property
3109    * ecore-x: add property member to Ecore_X_Event_Selection_Notify
3110    * Evas GL: Restore current context to evas gl context when the backend has taken over
3111    * eina: add API to join pahs, as well as path separators
3112    * Eo base: Change parent_set to be an assignment of ref.
3113    * ecore x vsync - add in exynos checks and move kernel v checks inside
3114    * eina thread - add wrapper for setting thread name and fix affinity
3115    * efl - set thread names for internally created threads for debugging
3116    * eolian/generator: generation of doxygen @note and @warning tags
3117    * evas - sw async render - move pixel upload/swap to a thread
3118    * evas gl - optimize updates
3119    * Edje: Add filter support to SNAPSHOT parts
3120    * edje_cc: Allow PROXY as clipper (clip_to and desc.clip_to)
3121    * Evas GL: Add new API to get current Evas GL
3122    * evas - cutouts - use less cpu by skipping non-intersecting cutout objs
3123    * ecore - detect nested ecore_main_loop_begins from silly code
3124    * evas software x11 - increase shm buffer size for modern displays
3125    * evas software x11 - set merge mode explicitly to smart or env var
3126    * edje: add edje signal emit about swallow, text
3127
3128 Fixes:
3129
3130    * Edje entry: Make filter logic consistent across all input methods
3131    * evas_check_engine: Remove tests for specific version of EGL
3132    * Edje entry: Fix to delete selection when preedit status has not ended.
3133    * ecore_evas: fix first render skip in several windows
3134    * eolian/generator: fix turning values into @return when generating docs
3135    * eina: fix direct_ls_simple and ls_simple tests on Windows
3136    * efreet - fix efreetd kill and start with clean cache case blank icons
3137    * evas - handle case where layer->evas is null - don't crash
3138    * emotion: Fix typos in doxygen
3139    * ecore-wl: do not nul terminate drops
3140    * eo - fix bug vector when unparenting of an eo obj may affect others
3141    * Evas filters: Fix for Lua 5.3 (with --enable-lua-old)
3142    * Evas filters: Fix massive memleak with async sw render
3143    * Evas language: fix script run code (T2670)
3144    * Edje_Entry: check selection before the cursor position change.
3145    * eo - destruction - ensure child is removed from parent child list
3146    * Evil: fix compilation when MSVC is not available. (T2681)
3147    * efl - jp2k loader - guard against openjpeg bug tha causes an abort
3148    * ecore_win: fix the incorrect mouse cursor position.
3149    * edje_cc_out: Fix edje_cc compile error with script on Windows.
3150    * ecore_wayland: bind and destroy session_recovery interface correctly.
3151    * ecore_pipe: add write fdset and except fdset.
3152    * edje: Fix double free scenario caused by static pointer.
3153    * Evas textblock: fix case of own_closer in style_set (T2654)
3154    * Eina rectangle: Check for valid rectangle before taking intersection
3155    * evas_canvas3d: Recalculation coordinates for pick object from scene
3156    * evas - fix texture context bind reset in gl common using wrong texture
3157    * Evas masking: Fix potential invalid access to mask image
3158    * evas: CID 1323091 (CID1323091)
3159    * evas: fix memory leak in evas_object_image_render_pre.
3160    * ecore - let the ecore_con_eet_*.c examples build.
3161    * efl - edje_cc - fix double close of embryo script fd's to tmp files
3162    * ecore_x: free the allocated memory after used.
3163    * ecore_x: fix the memory leak.
3164    * evas: node that are used for a fill should not have a parent or they are going to be drawn.
3165    * ector: fix cairo backend to properly multiply gradient color.
3166    * edje_cache: remove duplicated call of _edje_file_coll_open
3167    * Ector software gradient: Fix cast from integer to pointer of wrong type.
3168    * eldbus: add dbus_pending NULL check
3169    * edje: fix internal colorclass field
3170    * evas_canvas3d:Broken source file for generation 3D shaders
3171    * Evas smart: Add obj type safety check to callback_del.
3172    * evas image object - dont update just if image is dirty
3173    * edje_adit: fix typos in header
3174    * Edje entry: Make cursors to null after free
3175    * ecore_evas-x11: unset withdrawn state when window is mapped (T2745)
3176    * Eo: fix double callback deletion
3177    * evas - protect against invalid obj id in legacy wrapper func
3178    * Eo: reduce memory usage across applications.
3179    * upower: free version string splits
3180    * ecore_win32: fix the mouse out behavior.
3181    * ecore-audio: defer deletion of pulseaudio timer until after event processing
3182    * doc/eldbus: fix parameter in document
3183    * Edje: Fix IMAGE filters
3184    * edje_cc: Fix inheritance of "no_render" flag
3185    * evas render - async sw - fix context duplication by using proper dup call
3186    * eldbus - make method calls less crasy since libdbus likes to abort
3187    * Revert "eina: change default log level at which we display backtrace."
3188    * eolian: fix out-of-bounds indexing on tokens (CID1324818)
3189    * Eo: Remove dead code. (CID1240224)
3190    * evas_box: fix children size and position calculation when padding is used for horizontal flow layout
3191    * evas-3d: fix primitives
3192    * Ecore pipe: clean up handling of already read information. (CID98384)
3193    * Ecore Con: Fix possible timing attacks. (CID1039559, CID1039558)
3194    * Ecore con: Prevent possible use of uninitialised buffer on the stack. (CID1316016)
3195    * evas rectangle - ensure centers of rects that just move/resize dont rend
3196    * evas engines - fix partial swap to not skip swaps if full mode used
3197    * Evas image: Fix wrong usage of engine data macro
3198    * ethumb - fix client free issue with pending dbus messages (T2769)
3199    * Evas filters: Fix crash with async sw rendering
3200    * evas-wayland-shm: Fix to add support for MERGE_MODE Smart
3201    * evas-wayland-shm: Don't leak rectangles during flush
3202    * ecore-evas-wayland-shm: Check for fullscreen and override windows when processing updates
3203    * ecore-evas-wayland: Set ee->draw_ok appropriately based on visibility
3204    * ecore-evas x - solve internal window size flickrs in e
3205    * eio_monitor: fix memory leak issue
3206    * evas_canvas3d: fix mesh being added twice added to scene data
3207    * Eo: Fix Eo on Windows.
3208    * Ector renderer: fix return value to be of the right type.
3209    * Edje cc handlers: Fix memory leak and possible crash.
3210    * Eeze sensor udev: Fix memory leak and possible crash.
3211    * Ector renderer: fix return value to be of the right type.
3212    * ecore-wayland: Comment out unused functions for session listener
3213    * ecore-wayland: Comment out unused functions
3214    * eolian-cxx: Fixed assert which was a tautology (CID1316018)
3215    * eolian-cxx: Fixed possible exception escaping main (CID1265600)
3216    * Ecore_xcb_keymap: Fix memory leak in _ecore_xcb_keymap_finilize
3217    * Evas filter: Fix proxies of filtered images
3218    * ecore-wl: Don't update window size during ecore_wl_window_resize function
3219    * ecore-evas-wayland: Don't resize ecore_wl window to include frame size
3220    * ecore-evas-wayland: Fix common window configure callback to not adjust for framespace
3221    * evas-drm: remove useless condition
3222    * ecore-evas-wayland: Trap for subsequent resize events
3223    * edje_cc: fix segfault when a program attempts to play a non-registered sound
3224    * Ecore_Con: make sure to create named pipe with a unique name
3225    * ecore_exe: read remaining data when the child application has closed
3226    * ecore_file: fix ecore_file management function on Windows
3227    * Ecore exe win32: Fix double-free errors. (T2675)
3228    * eina: Include <unistd.h> for getuid and geteuid functions
3229    * Eina: fix eina_file_current_directory_get()
3230    * Eina: fix memory leak in eina_file_open()
3231    * evas: Fix clang warning for missing field 'async' in default_state
3232    * ecore-drm: Add missing field initializers for vt_mode
3233    * ecore-evas-wayland-egl: Fix clang warning about extra parentheses
3234    * edje_edit: Fix clang warning of unused variables
3235    * ecore-wayland: Redo window animators to not use Custom source animators
3236    * ecore-evas-wayland: Don't use custom animators for frame callbacks
3237    * evas: no need to compute clippees list if we just want to know if there is any.
3238    * evas: render - use evas_object_clipees_has instead of evas_object_clipees_get
3239    * edje: load - use evas_object_clipees_has instead of evas_object_clipees_get
3240    * Eo events: Add a struct member marking if it's a legacy event or not.
3241    * evas gl - fix big endian fully by adding a host of new img shaders
3242    * evas: fix memory leak
3243    * evas table: fix miscalcuation in cells with span and padding (T2655)
3244    * edje: comparision with non-scaled min values issue fix.
3245    * evas textblock: fix memory leak
3246    * ecore-wayland: defer shell surface creation for windows if shell is not bound
3247    * evas: fix memory leak.
3248    * efl - edje - fix edje calc to avoid eo calls when object doesnt change
3249    * efl - eo - massively improve eo cal resolv and data scope get with cache
3250    * efl: fix copy & paste typo while parsing SVG elliptical arc command. (CID1328426)
3251    * evas - software render async - fix async render to actually be all async
3252    * emile: prevent segv when rotation is asked and there is no opts provided.
3253    * eo - make null object silent if eo id is off
3254    * ecore_audio: do not compile elua file if ecore_audio is disabled
3255    * efl - make drm vsync handle broken drm irq timestamps
3256    * Emile: Allow load of ETC images if region = whole image
3257    * Eet: fix decoding of embedded ETC images
3258    * Eet: Another ETC decoding fix
3259    * ecore-drm: Don't exit tty setup if tty is already in graphics mode
3260    * evas-gl-drm: Move definition of Render_Engine out to header
3261    * evas-gl-drm: Resize gbm surface when canvas size changes
3262    * ecore-evas-wl: Ignore step size when maximizing
3263    * eina_quaternion: correct the API name in header file
3264    * ecore imf - fix modules that are x11 based to only load in x11 and in wl
3265    * efreet - fix efreetd to not exit on $home being in extra app dirs
3266    * ecore_file: Fix ecore_file_file_get function on Windows.
3267    * ecore-evas-drm: Use GBM_FORMAT_XRGB8888 when creating new canvas
3268    * evas-gl-drm: Fix issue of gl_drm engine not working (T2807)
3269    * evas-wayland-egl: Fix missing support for EVAS_NATIVE_SURFACE_WL
3270    * evas-wayland-egl: Add missing include header for gl_common
3271    * Evas Text: avoid SIGSEV while ellipsis recalculation (T2640)
3272    * evas-gl-drm: Set Outbuf vsync according to engine
3273    * ecore-drm: Don't always check fb size against dumb buffer
3274    * ecore-evas-gl-drm: Don't create software dumb buffers when using gl
3275    * evas-gl-drm: Find symlink for eglSetDamageRegionKHR
3276    * evas-gl-drm: Implement eglSetDamageRegionKHR
3277    * ecore-drm: Check return value of drmHandleEvent and cleanup
3278    * ecore-drm: Fix issue of duplicate page flips
3279    * ecore-drm: Fix issue of hanging in read() (T2791)
3280    * ecore-drm: Remove unused function
3281    * eina/efreet: open file with binary file on Windows
3282
3283 Changes since 1.14.0:
3284 ---------------------
3285
3286 Features:
3287
3288    * Eo: Add eo_do_part.
3289    * Eolian: Add API to retrieve an event of a class by its name
3290    * evas: enable NEON-optimized code for aarch64.
3291    * evas: implement _op_blend_c_dp_neon in NEON intrinsics.
3292    * Static deps: Move unibreak to be an external dep.
3293    * Static deps unibreak: update to what will soon be version 3.
3294    * ecore-drm: Add API function to return screen size range
3295    * ecore-drm: Add API function to return the name of an output
3296    * ecore-drm: Add API function to return output connected state
3297    * ecore-drm: Add API function to return the connector type of a given output
3298    * ecore-drm: Add API function to return if a given output has a backlight
3299    * ecore-drm: Add API function to return the edid of a given output
3300    * ecore-drm: Add API function to return output modes
3301    * ecore-drm: Add support for a Primary Output
3302    * ecore-drm: Add API function to return primary output
3303    * ecore-drm: Add API function to get an output's crtc size
3304    * ecore-drm: Add API function to find an output given a name
3305    * ecore-drm: Add new API function to mark an output as primary
3306    * ecore-drm: Add API function to test if an output can go on a given crtc
3307    * ecore-drm: Add a 'name' field to Ecore_Drm_Event_Output
3308    * ecore-drm: Add API function to set a new mode on an output
3309    * efl - add more evlog points
3310    * eina: add crosss platforme API to retrieve tmp and home directories from environment.
3311    * edje entry: Improves anchors handling
3312    * eina_cpu - up max number of threads to 32
3313    * eolian: much better and stricter redefinition checking
3314    * evas: New Evas Callback added when viewport is resized.
3315    * eolian: new syntax for params/values/keys
3316    * ecore-x: add function to init ecore-x from external Display* object
3317    * Eo: Add a return value to eo_constructor().
3318    * Eo: Remove eo_error_set() and clean up finalizer()
3319    * ecore-input: add keysym to Ecore_Event_Key struct
3320    * evas: add keysym member to key event structs
3321    * eolian: disallow cyclic dependencies between .eo files
3322    * ecore_imf/wayland: support autocapital mode in wayland text input
3323    * Evas textblock: Add underline height support
3324    * ecore_imf/wayland: support password mode in wayland text input
3325    * ecore_imf/wayland: support input hint in wayland text input
3326    * ecore_imf/wayland: support input language mode in wayland text input
3327    * eolian: initial exposed declaration API - not yet very useful
3328    * Evas GL: 1.x support for GLX
3329    * Evas GL: support surfaceless make current
3330    * eolian: add documentation handling API
3331    * ecore-x: add new grab touch devices functionality.
3332    * eolian/generator: generation for new documentation system
3333    * eolian: support for @since tag in new doc comments
3334    * Edje: Add clip as a property of a part description
3335    * Evas: Add "no-render" flag for proxy sources & clippers
3336    * Ecore_input: Add "ECORE_EVENT_MOUSE_BUTTON_CANCEL" event
3337    * ecore-buffer: Add ecore_buffer library to EFL.
3338    * edje: add support to control the transition time of edje animation globally.
3339    * edje: add possibility to speed up animation per object.
3340    * eolian_cxx: Use C++ wrappers instead of native types as parameters
3341    * Edje/evas filters: Add filter.source support
3342    * Edje/evas filters: Use EDJ data sections to store filters code
3343    * Edje & evas filters: Add extra data from EDC to Lua program
3344    * ecore-x: add ecore_x_keysym_get()
3345    * Evas Textblock: Add obstacle objects feature
3346    * Evil: add a wrapper around _mkdir
3347    * eolian: add API: eolian_declaration_get_by_name
3348    * eolian/generator: add proper generation of references
3349    * eolian: improve function_full_c_name_get API
3350
3351 Fixes:
3352
3353    * Evas gl: Fix shader generation with out of source builds.
3354    * Eolian/Generator: fix enums generation (T2400)
3355    * evil: fix mem leak in dlsym() when using UNICODE
3356    * evil: fix dladdr() implementation, add 2 unit tests for evil.
3357    * elua: use a minimal app to avoid loading eolian at runtime
3358    * ecore-drm: Set output connected property in the creation function
3359    * ecore-drm: Set drm client capabilities to support universal planes
3360    * ecore - ecore_pipe_wait timeout broken as it never adjusts while waiting
3361    * rg_etc: Correct ifdef to keep function available for debug build
3362    * Evas GL common: Skip shaders generation if there is no change
3363    * ecore-wayland: Input grab_count is unsigned int, no need for comparison < 0
3364    * ecore-drm: Fix issue of edid parsing not ignoring string
3365    * ecore-drm: Fix ecore_drm_output_edid_get to return a hex string
3366    * ecore-drm: Fix finding possible crtcs
3367    * ecore-drm: Skip not connected outputs when calculating geometry
3368    * Evas filters: Fix glReadPixels usage for EGL
3369    * evas grid smart - fix coord overflows when grid size and vsize are large
3370    * ecore-drm: Fix purpose of ecore_drm_output_enable/disable functions
3371    * ecore-drm: Greatly improve drm rendering speed
3372    * ecore-drm: Only send output events when we enable/disable an output
3373    * ecore-drm: Fix issue with output_current_resolution_get function
3374    * evas canvas: add exceptional handling in invalid input case.
3375    * ecore_evas_wayland: prevent duplicated shutdown of ecore_wl
3376    * ecore-drm: Fix segfault if sending output event and output has no current mode
3377    * ecore-drm: Ignore output enabled flag when setting output mode
3378    * evas-drm: Mark framebuffer as dirty before sending
3379    * edje: fix back edje_watch.
3380    * eina - cpu count - fic cpu count to count # of cores correctly
3381    * evas canvas: fix insane mouse move events on proxy source.
3382    * ecore-drm: Only try to set the crtc mode if an output is connected
3383    * eina-bt: Fix Coverity CID1297405 (dereference before null check)
3384    * eolian: use data_type consistently in the C generator
3385    * Ecore con url: Fix wrong object destruction.
3386    * eolian: allow keys/values in property get/set
3387    * eolian: properly handle errors in database_fill (CID1299294)
3388    * ecore-wl: Set keycode in event structure for key down/up
3389    * evas_object_textblock: fix dereference before null check (CID1270031)
3390    * ecore-wl: Remove +x from ecore_wl_input.c
3391    * ecore-drm: Remove call to set drm mode when creating an output
3392    * eina_cxx, eldbus_cxx: Fix perfect forwarding of arguments
3393    * embryo_cc: prevent memory curruption
3394    * edje: fix memory leak detected by prevent static analyser.
3395    * evas: make image_size_get() return the actual image size
3396    * Fix issue wrong surrounding text returns when there is selection area
3397    * edje: edje_cc_parse should check pair of parens.
3398    * pkg-config: fix portability issue on Windows. (T2458)
3399    * ecore-evas: Fix issue of gl_drm engine not being able to load
3400    * Evas masking: Fix rare issue of invalid rendering (GL)
3401    * Evas GL: destroy egl image when surface is destroyed
3402    * Evas GL: Fix direct_mem_opt and direct_override
3403    * Evas GL: Make current to an Evas GL context before destroying surface buffers
3404    * Evas GL: return correct context for context_get with indirect context
3405    * Evas GL: Pass correct attachment enum for glDiscardFramebufferEXT (T0)
3406    * Evas GL: Match FBO config with window surface config
3407    * emile: fix region load for jpeg image with orientation different set.
3408    * ecore_con: fix error handling case.
3409    * eolian: double newline ends summary, not single
3410    * evas-gl-drm: Rework gl_drm engine to function again
3411    * ecore-evas-drm: Update ecore_evas_drm for recent evas gl_drm changes
3412    * ecore-drm: Remove erroneous error messages from EINA_SAFETY checks
3413    * ecore-evas: Change gl_drm to be the proper engine name
3414    * ecore-drm: Don't crash when trying to disable an output
3415    * evas-gl-drm: Readd support for pre_swap/post_swap callbacks
3416    * ecore-evas-drm: Use XRGB format for gl_drm canvas
3417    * evas-gl-drm: Create eglContext before eglWindowSurface
3418    * ecore-drm: Don't free an output on unplug
3419    * ecore-evas-drm: We don't need to feed mouse events here
3420    * evas-gl-drm: Refactor gl_drm engine to not use dumb buffers
3421    * evas-gl-drm: Fix issue with swap mode returning wrong value
3422    * eina: Fix warning about unused paramaters
3423    * evas-gl-drm: Trap for invalid gbm bo
3424    * eolian_cxx: initialize all members in a struct correctly (CID1298133)
3425    * eolian: we need import_types_ref.h included in tarball
3426    * ecore-wayland: Fix T2466: Update xdg shell protocol code
3427    * edje: set GROUP/SWALLOW/EXTERNAL pass events based on mouse events
3428    * eina semaphore lock - don't wake up because of signals
3429    * eolian: pass rbuf to doc_error (CID1304728)
3430    * elua lib: sanitize all file paths before writing them (CID1267463)
3431    * ecore-x: Fix warning of unused variable
3432    * ecore-x: Fix warning of defined but unused function
3433    * ecore-x: Fix compiler warning of unused variable
3434    * evas: Remove unused variables
3435    * ector: always initialize the array contents even without fetchfunc (CID1294210)
3436    * ecore: null cb function is unacceptable.
3437    * Edje_entry: Fix control + (x,a,y,z,m,c) not working issue.
3438    * Evas GL: Fix coverity CID 1304559, 1304560 (CID1304560, CID1304559)
3439    * eolian/generator: fix enum field doc generator bug
3440    * Evas filters: Fix blend with color with rgba buffers
3441    * edje entry - also filter 0x7f (DEL) char on input as it's invalid entry
3442    * evas_smart: Add a check for zero size before malloc
3443    * evas_event: evas_event_feed_mouse_cancel set EVAS_EVENT_FLAG_ON_HOLD
3444    * Evas: Remove shader_3d .x generated file from BUILT_SOURCES
3445    * eolian: check for C type keyword before trying to append as C type keyword
3446    * ecore-evas-drm: Default to GBM_FORMAT_ARGB8888
3447    * eina/simple_xml_parser: don't parse the <, > in the attribute string.
3448    * evas-gl-drm: Cleanup compiler warnings when building gl_drm engine
3449    * ecore-input-evas: Fix Coverity CID1306803 (logically dead code)
3450    * evas-render2: Fix Coverity CID1306141: Dereference null return value
3451    * edje: Fix Coverity CID1299026 and CID1299027: Explicit null dereference
3452    * evas: fix Evas.Canvas3D color pick
3453    * ecore-wayland: Fix issue of events not getting dispatched properly
3454    * ecore-drm: Fix issue of outputs not getting registered with the wayland registry (T5, T2465)
3455    * ecore-drm: Fix setting proper output subpixel value
3456    * ecore-drm: Quiet down output from libinput
3457    * eo - silence ERR logs on constructor fail - this is valid behavior
3458    * efl - efreetd service move from dbus session bus to ecore ipc
3459    * eina module - it is not an error to ERR log to not load a .so
3460    * ecore con dns - a failed dns lookup is not an err log event
3461    * ecore con - fix object data referencing for deleted objects
3462    * edje_embryo: correct type mismatching in get_geometry() method
3463    * eolian: try replacing '.' with locale specific decimal point
3464    * eolian/generator: constify all prototypes for @const functions
3465    * edje_cc: Fix dereference null return value (CID1308232)
3466    * edje_cc: Fix dereference before null check (CID1302700)
3467    * ecore-wayland: Update xdg shell protocol file
3468    * ecore_x_xi2: fix crash if device info is NULL.
3469    * ecore-evas-extn : map shm for sharing render pixels conservatively
3470    * Evas textblock: Fix issue with line_coord_set and y before the first line.
3471    * evas: opaque value does not change even if image data be changed
3472    * Evas textblock: Fix infinite loop case
3473    * ecore_imf: fix wrong return type of ecore_imf_context_input_panel_return_key_type_get
3474    * evas-fb: Fix compiler warnings about suggested parentheses
3475    * Interfaces: fix event name
3476    * Ecore exe (windows): Fix object destruction/failed creation.
3477    * Ecore Con: Fix ecore_con_local hangs on Windows.
3478    * evas - image core - fix unloading of images to work again
3479    * edje edit: don't set the color_class color as main
3480    * edje_edit: return EINA_TRUE for unset color_class
3481    * Efreet: Fix config and data dir paths on windows.
3482    * ecore-wayland: Remove improper use of EINA_UNUSED
3483    * evas: Init need_unload value after unload.
3484    * Evas textblock: Clear unused paragraphs
3485    * ecore-wl: Reset input's pointer & keyboard focus on events
3486    * ecore-wl: Reset ecore_wl_input repeat values on keyboard leave
3487    * ecore-wl: Don't renew keyboard-repeat timer if we have no focused surface
3488    * ecore-wl: Reset input keyboard repeat values when we cancel the timer
3489    * The default return value of edje_object_base_scale_get API is 1.0. The return value is used for divisor in many case. If it return 0.0 when it fail, it can break app with div by zero.
3490    * Evas masking: Fix rendering of masks that belong to a proxied smart object
3491    * eolian: do not use an invalid pointer after updating buffer
3492    * image_savers/jpeg: fix undefined behavior of using sigsetjmp on jmp_buf
3493    * Eolian: fix eolian helper for windows.
3494    * Ecore evas: Correct function name in magic failure.
3495    * Evas GL: Fix glClear(0,0,0,0) with DR and COPY
3496    * Evas GL: Fix sync, wlbuffer and image egl ext functions
3497    * evas: fix missing render2_walk initializers
3498    * Evas GDI engine: save the original bitmap into the memory DC
3499    * Ecore_Win32: do not allocate data as it is useless. Fix memory leak.
3500    * ecore-drm: Ignore key events that are not seat wide state changes
3501    * Evas masking: Fix crash in async rendering
3502    * evas-wayland-shm: Don't call surface commit until we've setup the frame listener
3503    * evas canvas3d: bounding box does not change the position according object
3504    * Evas filters: Fix invalid rendering in case of async render
3505    * Evas filters: Fix order of header file includes
3506    * wayland_shm: Don't store frame_cb
3507    * wayland-shm: re-organize some of the swap/redraw logic
3508    * wayland-shm: Remove "mapped"
3509    * evas-wayland-shm: Fix issue of surface_swap spamming invalid warning
3510    * efl: Bump required wayland library versions
3511    * ecore-evas-wayland-shm: Remove duplicated code on configure event
3512    * ecore_evas_x: make gl_sync_draw_done an explicit signed char type
3513    * evas engine: add null point exception.
3514    * evas-wayland-shm: If no depth is specified during reconfigure, use existing depth
3515    * wayland-shm: When we run out of shm buffers kick the server to get some back (T2612)
3516    * ecore_evas: Fix crash in async render
3517
3518 Changes since 1.13.0:
3519 ---------------------
3520
3521 Features:
3522
3523    * edje: add of model lookups.
3524    * evas: Evas_3D - ColorPick mechanism finding node and mesh in scene.
3525    * evas/gl_x11: introduce tbm native surface type
3526    * evas/software_x11: implement native surface set for x11 type
3527    * evas/software_x11: implement tbm native surface type
3528    * edje: Edje_Edit - functions to edit layouts of BOX parts
3529    * evas: Evas_3D - callbacks for Evas 3D.
3530    * Edje: new set/get API omogeneous, paddings and align for BOX/TABLE in Edje Edit
3531    * ecore_con_url: add ecore_con_url_head()
3532    * edje: add camera properties to edje_cc.
3533    * Edje: Edje_Edit - setter and getter for min param of TABLE/BOX parts
3534    * edje: Adding the zoom effect of map to edje
3535    * Evas GL: Automatic fallback to indirect rendering when the scene has not changed.
3536    * ecore-drm: Add function to return the pointer xy of Ecore_Drm_Device
3537    * ecore-drm: Implement edid parsing for Ecore_Drm_Output
3538    * edje color classes can now have text descriptions
3539    * Evas GL: Add support for Evas GL 3.0
3540    * Eolian: add API to return the class from a function.
3541    * ecore-drm: add ecore_drm_devices_get to get the list of drm devices
3542    * evas: Support bitmap embedded color font. (T2139)
3543    * Eolian: add API to determine if a function is implemented.
3544    * edje: add edje_color_class_active_iterator_new()
3545    * ecore_evas - eetpack utility for packing files (imgs) into eet files
3546    * edje: add part.desc.rel.{to,to_x,to_y} keywords
3547    * edje: allow empty part.desc.inherit; statements to autoinherit default desc
3548    * ecore-drm: Add support for DPMS on an output
3549    * ecore-drm: Add API function to set output gamma
3550    * ecore-drm: Add API function to mark a Framebuffer as dirty
3551    * ecore-drm: Add API to setup the drm device for software rendering
3552    * ecore-drm: Add API function to disable an output
3553    * ecore-drm: Add API function to find an output at given coordinates
3554    * ecore-drm: Add API function to return an output crtc buffer id
3555    * ecore-drm: Add API function to return an output's crtc id
3556    * ecore-drm: Add an API function to return the connector id of an output
3557    * ecore-drm: Add 2 new API functions for setting and sending framebuffers
3558
3559 Fixes:
3560
3561    * Edje: edje_edit - fix Segmentation Fault on new BOX part
3562    * evas text: fix _ellipsis_get to return -1.0 on failure.
3563    * eina: fix eina_bench.c compilation error.
3564    * Evas masking: Fix some garbage pixels with the SW engine
3565    * Evas masking: Fix potential issues with map & masking
3566    * Evas masking: Force BLEND mode in case of image masking (GL)
3567    * ecore-drm should not use sscanf when getting logind vt
3568    * eina: correctly handle and report Eina_File error on Windows.
3569    * eina: fix Eina_Log to only try to free non deleted log.
3570    * eolian: add right extension to eolian_gen if we are on Windows
3571    * eio: check that the file to be monitored is not an empty string.
3572    * ecore: directly allocating and freeing Ecore_Win32_Handler variable.
3573    * ecore_con: fix _ecore_con_server_flush on Windows.
3574    * ecore_con: fix use of FormatMessage for error reporting on windows.
3575    * eina: fix directory listing on windows when directory is empty.
3576    * ecore-drm: Disable/Enable inputs if we release/acquire the VT
3577    * ecore-drm: Disable/Enable inputs if we release/aquire VT through logind
3578    * ecore-drm: Print error when taking control of a device fails
3579    * ecore/drm: Fix libinput >= 0.8 check
3580    * ee-win32 probably might compile now
3581    * ecore/drm: Compile ecore_drm_logind.c without condition
3582    * edje: edje_edit - fix group source generation of item 'weight' param
3583    * edje: edje_edit - fix group source generation of box params
3584    * evas: fix error checking of eglBindAPI.
3585    * ecore-drm: Fix issue of checking improper eldbus message for errors
3586    * ecore-drm: Don't recreate ecore_event handlers if we already have them
3587    * ecore-drm: Fix issue of ecore_drm not calling ReleaseDevice when an input is destroyed
3588    * ecore-drm: Fix issue with ecore_drm_evdev->path being incorrect
3589    * evas: Evas_3D - fix bug with pack meshes data.
3590    * ecore-drm: Add output id to output event
3591    * edje: fix windows build
3592    * evil: fix gecos field of struct pw
3593    * Evas GL: Fix leak of surfaces with GLES 1.1
3594    * eina + ecore - fix main loop thread id tracking on fork
3595    * evas-3d: fix incorrect reading of .obj file which had an empty line before data in unix encoding.
3596    * ecore-wl fullscreen state is based on either window type or attribute
3597    * ecore-xcb: Fix 'variable set but not used' message
3598    * evas-software-x11: Remove improper EINA_UNUSED for function parameter
3599    * evas-software-x11: Provide TBM Native Surface support for xcb engine
3600    * ecore/ecore_audio: fix timer control logically wrong.
3601    * evas-gl-drm: Cleanup compiler warnings for dbg/err messages
3602    * evas-gl-drm: Fix T2158: compile fails when --with-opengl=full is passed
3603    * ecore-imf: Add check for environment variable to enable show/hide of input panel
3604    * ecore-wl: Send xdg_surface_set_window_geometry when we update window size/position
3605    * ecore-drm: Center mouse pointer on an output when it gets created
3606    * ecore-evas-drm: Fix function call to ecore_evas_pointer_xy_get for drm engine
3607    * edje - somehow edje doesn't init evas and this makes edje_decc break...
3608    * Evas GL: Fix list of extensions with GLESv1
3609    * evas: fix bug in the destructor of node in Evas_3D.
3610    * edje: Edje_Edit - fix part alias source generation.
3611    * examples: fix bad unref's in ecore and evas.
3612    * ecore-drm: Return the index of the crtc from output_crtc_find
3613    * eina: win32 release lock in case of error
3614    * eio: fix segmentation fault on eio_monitor for win32 api
3615    * ecore_cocoa: remove ObjC autorelease block to avoid segv when window is closed.
3616    * ecore_cocoa: move mouse event handling to NSWindow
3617    * ecore_cocoa: handle right and other mouse events
3618    * ecore_cocoa: fix keyboad event handling
3619    * ecore-wl cursor setup no longer triggers errors on startup (T2202)
3620    * ecore-wl now allocates cursor_theme_name struct member of Ecore_Wl_Input
3621    * edje: Edje_Edit - fix program transition source generation
3622    * edje: Edje_Edit - add data items into generated code for the group.
3623    * efl - bring back symlink complaint regardless of env vars
3624    * ecore_cocoa: release resources on window close event
3625    * evas: make current context on lockFocus for gl_cocoa backend.
3626    * evas: bypass lockfocus in NSView on OSX
3627    * ecore_cocoa: don't reject mouse events outside the window
3628    * ecore_cocoa: fix mouse scrollwheel direction
3629    * evas-wayland-shm: Refactor Evas Wayland Shm Engine (Fix T2201)
3630    * ecore-evas-wayland: Remove frame callbacks from Ecore_Evas wayland engine
3631    * ecore_con: fix ECORE_CON_LOCAL_SYSTEM use with negative port number.
3632    * eina: safety check for NULL pointer
3633    * evas/gl_x11: set EGL_PLATFORM environment variable
3634    * Edje: edje edit - ability to remove last item in BOX/TABLE
3635    * evas-gl-common: Fix building when --with-opengl=es
3636    * evas-software-generic: Allow future rendering calls if evas has to skip a frame
3637    * evas-wayland-shm: Fix redrawing issues that were causing 'flashing' in latest engine code.
3638    * ecore-drm: Add more debug info when output is created or updated
3639    * ecore-drm: Fix build error caused by missing function declaration
3640    * evil: fix access to a file mapping object
3641    * evas: prevent crash.
3642    * eeze: Fix issue of eeze_udev_watch_add not getting events for drm
3643    * ecore-drm: Fix issue of not getting updated for output hotplug events
3644    * ecore_exe: fix ecore_exe_pid_get on windows
3645    * ecore-drm: Use better output names
3646    * ecore_idler: + null check.
3647    * Edje: Edje_Edit - fix typo in code generation of BOX part
3648    * eina: Change newline parsing to handle crlf better (T2236)
3649    * ecore_drm: use get_vt instead of parsing the tty attribute
3650    * ecore_file - fix nasty memory issues in ecore_file_app_exe_get()
3651    * efreetd - cache - fix handling a text index file with 0 length lines
3652    * eolian_cxx: fix build error for some generated C++ wrappers
3653    * evas-3d: T2226 (Evas Eet saver does out of range access) fixed.
3654    * Ector: Ship missing headers.
3655    * ecore_cocoa: fix scrollwheel behavior
3656    * 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.
3657    * ecore-drm: Create all framebuffers using XRGB8888 by default
3658    * evas-drm: Remove evas_bufmgr.c from the Evas Drm engine
3659    * ecore-drm: Add width & height to Ecore_Drm_Fb structure
3660    * evas-drm: Use Ecore_Drm_Fb for framebuffers
3661    * ecore-drm: Move Eeze Udev Watch to Drm Device
3662    * ecore-drm: Add more connector types
3663    * ecore-drm: Fix issue with edid_parse_string truncating strings
3664    * ecore-drm: Better output name format
3665    * ecore-drm: Send ECORE_DRM_EVENT_OUTPUT on unplug also
3666    * ecore-drm: Set mode flag for preferred if this is the preferred mode
3667    * ecore-drm: Fix output_geometry_get function
3668    * eina: Add NULL check for eina_threadqueue_free
3669    * [evas/evas_3D] Uninitialized component of vector gl_FragColor in shadow_map shader
3670    * Evas GL: reset current surface to NULL when it is destroyed
3671    * Evas GL: Add missing dlopen for GLX 1.x version
3672    * Evas image: Return proper path even with mmap
3673    * ecore-drm: Improve drm output creation, mode detection, and cloning support
3674    * evas-drm: Use ecore_drm_fb_dirty function to mark framebuffer as dirty
3675    * ecore-drm: Delay destroy of output if there is a pending flip
3676    * ecore-drm: Fix issue of outputs_geometry_get not skipping cloned outputs
3677    * ecore-drm: Remove per-output framebuffers
3678    * ecore-drm: Update drm device & output code to remove per-output dumb buffers
3679    * ecore-evas-drm: Setup Ecore_Drm_Device for software rendering
3680    * ecore-drm: Update device active state on VT switch and use new output_disable function
3681    * ecore-drm: Skip repaints if we are VT switched away
3682    * ecore-drm: Create drmEventContext Once during device open
3683    * ecore-drm: Move drm headers to Ecore_Drm
3684    * ecore-drm: Remove unused API function that should not have been committed
3685    * ecore-drm: Move doxygen documentation to main Ecore_Drm header
3686    * ecore-drm: Modify device pageflip function to accept ecore_drm_fb callbacks
3687    * ecore-drm: Change @since 1.15 to @since 1.14 for newly added APIs
3688    * ecore-evas-drm: Use new Ecore_Drm functions to get properties of the output
3689    * evas-drm: Cleanup Engine Info structure
3690    * evas-drm: Cleanup evas_engine header file
3691    * evas-drm: Cleanup drm engine code
3692    * evas-drm: Make evas drm engine use new ecore_drm functions
3693    * evas-drm: Remove evas_drm file from build order
3694    * evas-drm: Add back in the r, g, b masks for conversion
3695    * evas_object_box: add MAGIC_CHECK when it is added.
3696    * Edje: Edje_Edit - new part addition should initialise threshold as -1
3697    * ecore x vsync - ensure drm fb is set to close on exec - intended (T2138)
3698    * efreetd - startup slowness fix for recursing directories
3699    * efl: Remove dead configure options for drm-hw-accel
3700    * evas: Fix CID1293000 (resource leak)
3701    * ector: Fix Coverity CID1293003
3702    * evas-3d: Fix Resource leak from CID1271635
3703    * edje: Fix dereference null return value (CID1287154)
3704    * evas-gl-x11: Fix dereference before null check (CID1293519)
3705    * evas-software-x11: Fix dereference before null check(s) (CID1270030, CID1270028, CID1270029)
3706    * Evas object: verify the parent is valid and fail if not.
3707    * efreetd: If we fail to allocate space for subdir_cache, then get out (CID1294212)
3708    * Evas GL: Fallback to indirect rendering if mul_col != 0xFFFFFFFF
3709    * eo_gdb.py: fix syntax error
3710    * eio: reorder tests linkage to unbreak debian-based systems
3711    * evas-drm: Handle render mode for 4 buffers
3712    * ecore-drm: Add pending_flip field to Ecore_Drm_Fb
3713    * evas-drm: Mark the Ecore_Drm_Fb as complete when we get the page flip event. (T2289)
3714    * ecore-drm: Fix hotplugging of outputs
3715    * ecore-drm: Fix mouse movement across multiple outputs
3716    * ecore-drm: Don't fetch output geometry on every mouse movement
3717    * evas: fix possible segfault in evas_3d_node_member_add/del.
3718    * Evas textblock: remove freed item from the line list
3719    * evas: restore the value of "do_region" in jpeg loader as EINA_TRUE
3720    * emotion - gst1 module - handle long standing bad map/unmap of gst buf
3721    * eio - fix crashes due to stale eio files in tracking list (T2129)
3722    * ecore-drm: Remove 'defined but not used' function
3723    * ecore-drm: Use #if 0 to comment out unused function
3724    * ecore-evas-x: Fix issue of wrong interface function pointer being set (CID1267461)
3725    * emile: Fix resource leak (CID1288918)
3726    * emile: Fix resource leak (CID1288919)
3727    * ecore-evas-extn: Use eina_mkstemp in place of mkstemp (CID1039610)
3728    * ecore_imf: init wayland before using wayland calls.
3729    * evas-blend-ops: fix off-by-1 in the C MUL3_SYM "simd" multiplier
3730    * ecore-evas-drm: Fix issue of fullscreen surfaces not getting focus on show (T2349)
3731    * evas: fix rotation and flipping of image in gl engine (T2338)
3732    * efl: Move test for gl library to evas-gl-drm engine checks and Fix T2167
3733    * efreet: fix leak in efreet_util_desktop_exec_find()
3734    * ecore_timer: fix the default return value.
3735    * evas_text: fix default return value.
3736    * edje_util: fix memory leak
3737    * eina: correct document for eina_hash_list_prepend/remove.
3738    * ecore-wayland: Fix issue of efl/elm apps not setting opaque & input regions
3739    * autotools: fix non-verbose build output
3740    * eolian: mark _class_get func protos with EOAPI
3741    * Edje embryo: Fix invalid check for get_state_val (text str)
3742    * Eina: fix eina_file_split on Windows and update unit test
3743    * ecore-drm: Fix using uninitialized output value
3744    * evas-wayland-shm: Use size of buffer when caching
3745    * evas-wayland-shm: Minimize race condition when finding free leaf
3746    * evas-wayland-shm: Update software_generic render engine size on output resize
3747    * evas-wayland-shm: Fix T2352 (focused window borders blink)
3748    * ecore-evas-wayland: remove duplicated shutdown of ecore_evas_wl_common
3749    * ecore_drm: close fd if flag set fails
3750    * ecore-drm: append O_CLOEXEC always
3751    * ecore-drm: don't return EINA_FALSE as an invalid fd
3752    * ecore-drm: close fd when asked to close fd
3753    * eolian: specialize tmp free for typedef (avoid double free issue)
3754    * eolian: fix lexer assertion failure
3755    * ecore-evas-wayland: Fix issue of setting NULL cursor object
3756    * edje: _check_recursive_reference reworked to fix segv in Edje_Edit.
3757    * ecore-drm: Add missing doxy for ecore_drm_output_enable
3758
3759 Changes since 1.12.0:
3760 ---------------------
3761
3762 Features:
3763
3764    * Edje: Set the min, max sizes of the image automatically.
3765    * elocation: Add elocation libraray to EFL.
3766    * Evas GL: Introduce concept of safe extensions
3767    * edje: Edje_Edit - add generation of 'limits' parameter of group in EDC.
3768    * eolian: add support for @optional ctor tag (T1804)
3769    * Eet: add diffeet a tool for diffing eet files.
3770    * edje entry: improve selection performance
3771    * evas_object_main: Keep map effect after evas object move
3772    * eet - add new  api to verify eet file against stored cert
3773    * evas: Evas_3D - add bounding sphere, revision frustum culling
3774    * evas: Evas_3D - add mesh blending mode.
3775    * Evas GL: Add support for bind_wayland_display extension
3776    * Evas: Evas_3D - Add check of visibilty node.
3777    * ecore: Add a new API function ecore_main_loop_nested_get
3778    * ecore: Add code for new API function 'ecore_main_loop_nested_get'
3779    * eldbus: Add API function declaration for eldbus_proxy_send_and_block
3780    * eldbus: Add actual API function code for eldbus_proxy_send_and_block
3781    * eeze: Add API function declaration for find_by_subsystem_sysname
3782    * eeze: Add API function for eeze_udev_find_by_subsystem_sysname
3783    * ecore-drm: Port ecore_drm to use libinput
3784    * ecore-drm: Merge port to libinput
3785    * evil: add getpwnam() function
3786    * ecore-drm: Handle various touch events
3787    * edje: Edje_Edit - generate alias parameter for 'parts' block.
3788    * edje: Edje_Edit - add API for program actions PLAY_SAMPLE and PLAY_TONE
3789    * edje: Edje_Edit - add generation of 'filter' parameter of program
3790    * +eina_memdup
3791    * edje: support anti_alias option
3792    * edje: Edje_Edit - add API for renaming of image.
3793    * Evas masking: Use alpha mask in SW engine draw functions
3794    * Evas masking: Add clip_image_[un]set functions to draw context
3795    * Evas masking: Allow setting an image object as clipper
3796    * Evas masking: Implement mask support in evas_render
3797
3798 Fixes:
3799
3800    * edje_calc: fix image set bug.
3801    * ecore_drm: Added internal function for drm output updates when device is hotplug
3802    * ecore-wayland: Fix the issue of UnIconifying an xdg_surface
3803    * Fix bug ecore_imf_context_cursor_position_set was not called when cursor was moved by ECORE_IMF_CALLBACK_SELECTION_SET
3804    * edje_cc: fix log message for authors write procedure.
3805    * Evas GL: Fix bug in evgl_eng_pbuffer_surface_create (EGL)
3806    * ecore_anim: fix source_set bug.
3807    * edje: fix wrong generation of 'minmul' and 'text.min' parameters in EDC.
3808    * edje: add formating for floating point numbers in EDC.
3809    * eldbus-codegen: Make generated code for property set work by setting the cb
3810    * evas/3d: Fix dereferencing a pointer that might be null found by coverity
3811    * Eo: protect against recursive object destruction calls, fixes T1741 (T1741)
3812    * ecore-drm: fix error check of _device_flags_set function
3813    * eldbus-codegen: Free msg on error path for generated code.
3814    * eldbus-codegen: More memory leak fixes for generated code.
3815    * textblock: correct text position for RTL text with margins
3816    * evas/map: correct last 1 pixel handling in spans.
3817    * ecore-drm: remove unnecessary setting file's flag of O_RDWR that are ignored.
3818    * ecore-drm: close fd handle if _ecore_drm_tty_setup() is failed in ecore_drm_tty_open().
3819    * ecore-drm: Sending Active to login1.Session
3820    * ecore-drm: pass appropriate arguments to eldbus_message_arguments_get(), so that it can be return as success in _cb_device_resumed().
3821    * evas_map: Remove unnecessary check for current map
3822    * ecore_evas_x: Fixed strange condition.
3823    * evas: Evas_3D - fix depth texture size.
3824    * Evas textblock: Fix possibly null dereference.
3825    * ecore-wayland: Fixed a request of start_drag with null value
3826    * ecore-wayland: Check if system has mouse in ecore_wl_input
3827    * evas-gl: Fix improper #ifdef check
3828    * evas-gl: Fix evas-gl to compile for EGL
3829    * ecore-wayland: If we fail to create a new opaque region, safely exit the function.
3830    * ecore-wayland: Check return of input_region create and get our safely
3831    * ecore-wayland: No need for setting the input here as it's done again directly below.
3832    * ecore-wayland: Add safety check for window surface creation
3833    * ecore-wayland: Add safety check for xdg_popup creation
3834    * ecore-wayland: Check for xdg_surface before sending ack_configure
3835    * Evas GL: Add preventive padding after Evas_GL_API
3836    * evas: Evas_3D - fix typo.
3837    * autotools: fix compiling/linking gl engines on OSX.
3838    * ecore con: Fix GnuTLS build error.
3839    * ecore-drm: Remove erroneous debug messages
3840    * ecore/animator: fix the bezier cubic compuation.
3841    * eldbus: Fix _eldbus_connection_send_and_block()
3842    * eldbus: Add timeout parameter to eldbus_proxy_send_and_block()
3843    * ecore-evas-wayland: Fix issue with ELM_PROFILE=mobile and windows not showing up correctly.
3844    * eeze_scanner needs to hash on the address of the pointer and not use direct_add() (T1612)
3845    * ecore/animator: fix the wrong computation of bezier cubic.
3846    * evas_xcb_outbuf: fix memory leak
3847    * ethumb: Fixing eina_init to eina_shutdown.
3848    * ecore-drm: Fix error message typo
3849    * ecore-drm: Fix formatting
3850    * ecore-drm: Cleanup structures in private header
3851    * ecore-drm: Fix ecore_drm_launcher_device_close to not cause segfaults
3852    * ecore_audio: fix memory leak in ecore_audio_pulse.
3853    * edge: fix memory leak and removed redundant return statement.
3854    * ecore-drm: Added cleanup data code as a error handling of connect logind.
3855    * ecore_drm: Removed unused variables in ecore_drm_evdev
3856    * ecore-drm: cleanup data when failed to setup tty.
3857    * ecore-drm: restore VT to text mode when close tty.
3858    * ecore-drm: fix passing wrong argument to open().
3859    * ecore-drm: Remove libinput log print callback
3860    * ecore-drm: Fix usage of EINA_LIST_FREE
3861    * ecore-drm: Add output size to device structure and add internal function for setting size
3862    * ecore-drm: Add internal function to set the output size in the input device structure
3863    * ecore-drm: Transform touch events into output coordinates
3864    * ecore-drm: Update pointer motion event coordinates
3865    * ecore-evas-drm: Create inputs before we create outputs
3866    * ecore-evas-drm: Fix up error handling
3867    * ecore-drm: Also update device calibration when output size changes
3868    * ecore-drm: Finish implementing touch events
3869    * ecore-drm: Don't declare sprite variable unless we need it, also fix some formatting.
3870    * eldbus: Fix possible null dereference reported by Coverity (CID1256952)
3871    * evas-gl-common: Fix issue with Coverity reporting null dereferences (CID1257607, CID1257606)
3872    * ecore-drm: Free devices before we release the libinput reference
3873    * edje: Removed redundant assignement of rest_args.
3874    * ecore_con: Added NULL check in dns_so_reset() for dns_socket object.
3875    * ecore-drm: add error handling, when fail to setup tty.
3876    * eldbus: Fix crash when removing the last reference of the message container inside of the message callback (T1908)
3877    * eet: fix memory leak in eet_cipher
3878    * evas: fix memory leak in evas_swapper.
3879    * eeze: add null check condition in eeze scanner module.
3880    * evas: fix memory leak issues in evas_object_textgrid.
3881    * efreet: pass the correct option from the user input.
3882    * ecore: fix memory leak issues.
3883    * eina: fix memory leak issue in Eina_Value.
3884    * evil: fix memory leak issue in evil_dirent module.
3885    * edje: add tween images into generated code for the group.
3886    * edje: fix memory leak in edje_edit_source_generate.
3887    * Edje_Edit: Add sound samples into generated code for the group.
3888    * evas/gl_x11: set EGL_PLATFORM environment variable
3889    * ecore_con: the timer callback is waiting for the Eo object not its private data. (T1962)
3890    * edje: Edje_Edit - remake deletion and replacing of strings
3891    * ecore-evas: Fix compiler warnings about inproper returns
3892    * eina_cxx: Fix eina::accessor for C++ Eo wrappers
3893    * eina_cxx: Fix eina::array cend method recursive calling itself
3894    * edje: Edje_Edit - add Proxy to Edje_Part_Collection_Directory_Entry initializatoin.
3895    * eet: Remove unused variable
3896    * ecore-evas-drm: Perform shutdown in proper order
3897    * ecore-drm: Fix incorrect launcher shutdown procedure
3898    * ecore-drm: Fix issue with TakeControl and ReleaseControl functions
3899    * edje - fix uninitialized coord sizes if swallow obj is invalid
3900    * evas textgrid - fix drawing of codepoints that are 0
3901    * ecore_evas_drm: Added support for initial rotation in ecore_evas_drm
3902    * ecore-wayland: Simplify opaque and input region handling.
3903    * ecore-evas-wayland: Fix min/max size calculations
3904    * ecore: fix compilation, missing return value in ecore_thread_wait
3905    * evas:fix markup text length issue
3906    * ecore_imf: Add null check condition in ecore_imf module
3907    * ecore_evas_x: Free XCounter values leak.
3908    * eo: Fix bad addressing in _eo_classes array
3909    * ecore-evas-wayland: Port fix of min/max size calculations to the configure event handler
3910    * ecore_evas/wayland_egl: Set alpha of ecore_evas object if parent alpha is set
3911    * evas: Fix unintentional integer overflow (CID1261436)
3912    * edje: Fix Coverity CID1261437
3913    * ecore_imf/scim: Fix logically dead code in scim module (CID1261449)
3914    * edje - edje_cc - fix wrong state lists where default is not the first (T1926)
3915    * efl - edje_cc - fix default state checks in previous commit
3916    * Eo tests: Fix bad free in eo_test_value
3917    * edje: Remove dead code
3918    * eina - mmap safety handler - fix to only handle sigbus's from io
3919    * ecore-drm: Add actual Outut to the Input device structure
3920    * ecore-drm: Remove unused function
3921    * ecore-drm: Remove call to unused function
3922    * ecore-drm: Limit mouse movement to within the output size
3923    * ecore-evas-drm: Init outputs before inputs so that input devices can have a pointer to outputs
3924    * ecore-wayland: Don't set move cursor unless we actually start a drag
3925    * ecore-wayland: Fix issue with Elementary DnD test not releasing mouse
3926    * ecore-drm: Re-enable setting K_OFF keyboard mode
3927    * Eee image: fix macros to be surrounded with do while().
3928    * eet - image decode - fix robustness of image decode from eet file
3929    * edje: Edje_Edit - fix memory leak in edje_edit_image_usage_list_get
3930    * ecore-wayland: Don't crash if we have no input->cursor_name
3931    * ecore-drm: Restore tty keyboard mode on restore of tty
3932    * ecore-drm: Reset output cursor and crtc mode on shutdown
3933    * ecore-drm: Don't init tty unless we are Not using systemd
3934    * edje: edje_pick - fix double free eina hash iterator.
3935    * ee engines should not crash when re-setting the same title/name_class
3936    * ecore-wayland: Don't send a mouse_up on grab release unless we actually have a grabbed button
3937    * Efreet: do not get confused by path ending with / in XDG_* vars
3938    * evas: fix to load BMP file compressed with RLE.
3939    * ecore: Remove potentially useless 'else' branches
3940    * ecore-drm: Store session name inside dev structure and don't take/release session control inside dbus functions
3941    * ecore-drm: Default device->session to NULL
3942    * ecore-drm: Cleanup tty code and handle vt signal trapping
3943    * ecore-drm: Fix various issues with logind code
3944    * ecore-drm: Cleanup launcher code
3945    * ecore-drm: Cleanup private header file
3946    * ecore-drm: Move session and vt fields to store inside the Ecore_Drm_Device
3947    * ecore-drm: Remove logind header file from build order
3948    * ecore-drm: Remove logind header file
3949    * ecore-evas-drm: Fix improper shutdown sequence
3950    * ecore-drm: Remove session parameter for internal function
3951    * ecore-drm: Remove unused function parameter
3952    * ecore-drm: Remove session parameter for session take/release functions
3953    * Merge branch 'devs/devilhorns/ecore_drm'
3954    * edje_cc must error when first provided state description is not "default" 0.0 (T1926)
3955    * ecore-x: Fix calls to disable dpms in xcb
3956    * ecore-x: Add missing EINA_UNUSED for function paramater
3957    * ecore-x: Remove unused variable in backlight_available code
3958    * ecore-x: Use proper XCB_ATOM_CARDINAL in call to window_property_get
3959    * ecore-x: Fix build error in xcb
3960    * ecore-xcb: Fix unused paramater compiler warning
3961    * ecore-xcb: Fix compiler build break
3962    * ecore-xcb: Fix ecore_x_window_full_new function to compile again
3963    * ecore-xcb: Add missing EINA_UNUSED for function paramater
3964    * evas-software: Fix call to evas_software_xcb_outbuf_setup function
3965    * evas-software: Fix software engine to compile using xcb
3966    * evas-software: Fix compile errors when using xcb
3967    * evas-image-loaders: Fix compiler warning of comparison between signed and unsigned values
3968    * edje: Edje_Edit - fix setting NULL into string pointer
3969    * embryo_cc_sc2.c: prevent memory corruption.
3970    * Set the name for table, box items
3971    * evil: fix initialisation of the socket library.
3972    * eolian: fix unary expression parsing (correctly consume tokens) (T2064)
3973    * evil: fix SEGFAULT in strcasestr
3974    * Edje: edje_cc - abort recursive Reference that is made by GROUP parts
3975    * evil: get right Windows environment variables for home path.
3976    * eio: Win32 make GetOverlappedResult function non-blocking
3977    * autotools: fix make check build error on Windows
3978    * eo: fix to pass make check on windows
3979    * eolian: fix to pass make check on windows
3980    * check: fix tests suites on Windows
3981    * eina: use uintptr_t for Eina_Thread storage to be the same size for the different architectures.
3982    * ecore_win32: don't allocate Ecore_Event_Key events with NULL keys
3983    * eina: fix tests suites for Windows to have a predictable result.
3984    * Edje: edje_edit - abort Recursive Reference in edje_edit_part_source_set
3985    * ecore-drm: Trap for failure to dup stdin
3986    * ecore-wayland: Don't send key repeat events for keys which should not get them
3987    * eet - fix endianess break added by cedric a year ago in image decoding (T1987)
3988    * eina: fix valgrind invalid read of size in eina_file_path_sanitize.
3989    * ecore-x: Deprecate misspelled screensaver API function
3990    * ecore-x: Deprecate old misspelled API function and add new one
3991    * ecore-x: Port deprecated API and new API function to xcb
3992    * evas: Evas_3D - fix bug with uninit Evas_Mat4 flag.
3993    * eldbus: production code inside Eina Safety Check assert.
3994    * Ecore_con: fix initialisation clean up and avoid memory leak.
3995    * eldbus: fix memory leak.
3996    * elua: correct eo inheritance behavior
3997    * eina: Eina_Value - use eina_mempool_free to cleanup the memory
3998    * evas: Evas_3D - fix when bounding sphere is large, situation with incorrect frustum calculation was possible.
3999    * eldbus: eina_value not allocated from mempool.
4000    * evas: Evas_3D - fix evas_3d_scene_pick when trying to get empty texcoords from mesh.
4001    * evas: Evas_3D - fix order of transformation while updating bounding object.
4002    * eina: fix semaphore initialisation
4003    * ecore-drm: Fix issue with ecore_drm_output_crtc_Find sending back an invalid id. Fix T2086
4004    * evas - gl engine - pipe renderer - disabling of unused arrays for lines
4005
4006
4007 Changes since 1.11.0:
4008 ---------------------
4009
4010 Features:
4011
4012    * evas: add evas gl-drm engine
4013    * eina: port Eina_Spinlock for OSX
4014    * eo: mmap()/unmap() are also supported on OSX
4015    * ecore-wayland: Implement ivi-shell support for Ecore_Wayland (T1552)
4016    * ecore_cocoa: NSRunLoop integration
4017    * edje: Edje_Edit - add code to generate edc source for all transition types in programs
4018    * ecore-drm: Add API function for getting screen geometry
4019    * ecore-drm: Add API function to get screen geometry
4020    * ecore-evas-drm: Add function to return screen geometry
4021    * Eolian/Generator: support @empty and @auto.
4022    * edje: Edje_Edit - get the buffer with sound's data
4023    * eeze: Add missing drm subsystem & device type and add a new Eeze_Udev_Type for drm
4024    * eeze: Add case for EEZE_UDEV_TYPE_DRM in eeze_udev_find_by_type function
4025    * eeze: Add ability to get syspath from a watch for DRM
4026    * Merge branch 'devs/devilhorns/eeze'
4027    * eeze: Add eeze_udev_syspath_get_synum function
4028    * eeze: Add code for eeze_udev_syspath_get_sysnum function
4029    * +eina_value_util api
4030    * eeze: Add Eeze udev types for backlight and leds
4031    * eeze: Add cases for backlight and leds in eeze_udev_find_by_type
4032    * eeze: Add cases for backlight and leds in get_syspath_from_watch.
4033    * ecore-drm: Port ecore_drm_inputs code to use Eeze instead of udev
4034    * Merge branch 'devs/devilhorns/ecore_drm_eeze'
4035    * +eina_strdup(), eina_streq()
4036    * ecore-drm: Added private functions to get brightness levels in backlight
4037    * Evil: add strptime()
4038    * ecore-wayland: Add API functions to iconify an Ecore_Wl_Window
4039    * Merge branch 'devs/devilhorns/xdg_shell'
4040    * evas: Evas_3D - add .eet export/import
4041    * edje: Edje_Edit - get the source name of the sample
4042    * Evas GL: Add API evas_gl_error_get()
4043    * Evas GL: Add APIs to get current surface/context
4044    * Evas GL: Add API evas_gl_rotation_get
4045    * Evas GL: Add support for client-side rotation
4046    * Evas GL: Add evasglCreateImageForContext + import defs
4047    * Evas GL: Add support for fence_sync and similar extensions
4048    * Evas GL: Add evas_gl_surface_query
4049    * Evas GL: Add support for pbuffer surfaces
4050    * Evas GL: Add support for OpenGL-ES 1.1 (part 1)
4051    * ecore_drm: Added internal function to check if drm device is hotplug device
4052
4053 Fixes:
4054
4055    * evas: Evas_Gl_X11 - add missing eng_window_free
4056    * evas: Evas_wayland_Egl - fix black surface during resize
4057    * evas: Evas_Wayland_Egl - change size of common gl context after egl make current according to current Outbuf's size
4058    * edje: Edje_Edit - fix support for program's targets
4059    * edje: Edje_cc - fix not storing edc sources in .edj file with --no-save option
4060    * ecore_evas: Ecore_Evas_X - make sure that ecore evas post render is always called.
4061    * ecore-evas-wayland: Fix ecore_evas async rendering with wayland engines
4062    * fix efl deadlock with thread queues
4063    * ecore-wayland: Remove need for function prototypes
4064    * ecore-wayland: Fix ecore_wl_screen_size_get function to handle more than one output.
4065    * ecore_evas: Ecore_Evas_X - Fix broken rendering during rotation with resize (T1371)
4066    * eina_file: fixing wrong return value on access problems in file copy process
4067    * gl-drm: Fix missing link to gbm for ecore_evas_drm and clean up build script
4068    * shutup ecore-x vsync stupid log domain failures
4069    * ecore-drm: Add local function to free outputs and on any errors during create, call it
4070    * ecore-drm: Fix copy/paste build error
4071    * ecore-evas-drm: Fix misplaced #ifdef from gl_drm patch
4072    * emotion - fix calling pos update cb for gst1 module in frame new
4073    * emotion - audio volume - leave as-is on file open/init
4074    * evas textblock: fixed ellipsis character cut off issue with complex markup text. (T1213)
4075    * edje_cc now throws an error during link combination when the current part has no name
4076    * evas: fix build on armv7l. (T1620)
4077    * evas-drm: Fix evas-drm picking incorrect resolution/mode for outputs
4078    * edje embryo stop_program() should stop pending actions
4079    * ecore: Check that eo_data_scope_get returns valid Ecore_Timer_Data before trying to use it
4080    * evas: let's freeze the canvas, shall we ?
4081    * edje: prevent resource leak.
4082    * ecore-evas-drm: Implement ecore_evas_pointer_xy_get for drm engine
4083    * ecore-drm: Close input device fd on error during open and fix some todo messages
4084    * ecore-drm: Fix missing close of fd on _device_add
4085    * ecore-drm: Fix drm VT switching to work again
4086    * Evas: Fix crash in hide
4087    * ecore-wayland: Allow setting input->cursor_size even if we don't have the shm interface yet
4088    * ecore-wayland: Don't crash if we have no shm interface yet when setting cursor theme
4089    * Evas filters: Fix parsing of argument lists (T1615)
4090    * edje_program: added signal "focus,part,out" when focus is discarded
4091    * evas: Gl_Cocoa - fix early segfault caused by unloaded symbols
4092    * efl: Move Eldbus above Ecore_Drm
4093    * ecore-drm: Remove direct dbus dependency from Ecore_Drm
4094    * ecore-drm: Add Eldbus header to private header file
4095    * ecore-drm: Include config.h in private header
4096    * ecore-drm: Fix private function prototypes for new dbus functions
4097    * ecore-drm: Rework input code to function with Eldbus
4098    * ecore-drm: Rework internal dbus code to use Eldbus
4099    * Merge branch 'devs/devilhorns/ecore_drm'
4100    * efl - vsync - deal with both broken and non-broken libdrm
4101    * eina: do no use umask on Windows in eina_file_mkstemp()
4102    * eeze: Fix return value for eeze_udev_syspath_get_sysnum
4103    * eeze: Fix issue with eeze_udev_find_by_type not finding devices when name is NULL.
4104    * ecore-evas-drm: Fix calling ecore_drm_device_find twice in some cases
4105    * ecore-drm: Move Eeze above Ecore_Drm
4106    * ecore-drm: Add Eeze as a dependency for Ecore_Drm
4107    * ecore-drm: Remove dependency on libudev for ecore-drm
4108    * ecore-drm: Remove internal dependency on libudev
4109    * ecore-drm: Add Eeze as an internal dependency for ecore-drm
4110    * ecore-drm: Fix comment to not mention udev
4111    * ecore-drm: Remove references to udev functions and init Eeze during startup
4112    * ecore-drm: Fix ecore_drm_device_find function to use Eeze
4113    * ecore-drm: Remove udev from private header and add an Eeze_Udev_Watch for Ecore_Drm_Input
4114    * ecore-drm: Port ecore_drm_output backlight init code to use Eeze
4115    * eeze: Fix missing break in switch(s) (CID1240225, CID1240226)
4116    * ecore_x_vsync - fix tiny leaklet of drmversion
4117    * ecore-drm: Remove need to use an extra variable for storing device.
4118    * ecore-drm: Add an extra blank line just to separate code
4119    * efreet: Accept both only_show_in and not_show_in
4120    * ecore-drm: Fix adding an input device when we don't get the devpath from Eeze.
4121    * ecore-drm: Add some more debug information if a device fails to open
4122    * ecore-drm: Don't crash if we get no devpath from Eeze
4123    * Evas Textblock: Fix bad empty line add on wrapping
4124    * ecore-drm: Fix _device_add function to check input
4125    * ecore vsync - fix up dual nvidia + dri/drm driver discovery
4126    * Evil: fix fcntl() when used with F_SETFL
4127    * eeze: Add configure check for older libudev version
4128    * eeze: Add ifdef trap for older udev version
4129    * edje_cc: fix memory leak.
4130    * eeze - sensors - ints for sensor events were decld in .h - and never .c
4131    * Evas Textblock: Fix native width of BiDi text (T1532)
4132    * ecore-wayland: Check return of calloc
4133    * ecore-wayland: Check for valid shell before sending bound event
4134    * ecore-wayland: Add support for xdg_surface class name
4135    * ecore-wayland: Bump xdg_shell version for pending release
4136    * ecore-wayland: Cleanup shell surface creation
4137    * ecore-wayland: Add support for handling surface delete callback
4138    * evas textblock: return text direction for under cursor in cursor geometry get
4139    * eina: open files in read-onnly for eina_file_open() on Windows
4140    * ecore_drm: Verifying if name format is /dev/xyz before assigning to tty.
4141    * evas-gl-common: Fix compile for EGL due to missing GL_LINE_SMOOTH
4142    * ecore-drm: Fix failure of finding drm device on ARM platforms.
4143    * ecore-drm: Fix drm cards on ARM platform not having boot_vga parameter
4144    * ecore-evas-drm: Set the ecore_drm_device reference in the engine data
4145    * eina: remove macros referencing to absent functions.
4146    * evas: GL_X11 context need to always be with alpha or it will fail to change.
4147    * Edje_Edit: creating new hash in global data if it is not created yet
4148    * Ecore_Win32: Fix string for the BackSpace key on Windows
4149    * edje: Edje_Edit - fix edje_edit_image_usage_list_get() to return usage list with images with USER compression.
4150    * edje: Edje_Edit - add state alloc for PROXY part.
4151    * eio: actually correctly set all field to NULL. (T1729)
4152    * ecore-wayland: We should be dispatching pending events After we flush clients
4153    * evas: evas_map - fix cast from double to int with using lround()
4154    * edje: Edje_Edit - fix edje_edit_state_aspect_pref_set() function to setup Source and None aspect preferences
4155    * evil: simplify implementation of localtime_r
4156    * eet: enhance error messages with libjpeg
4157    * ecore-drm: Default output to NULL and add safety check for NULL output after the device loop.
4158    * ecore-drm: Create udev watch for each output, and delete the watch when we free the output.
4159    * evas: Evas_Box - layout_flow_horizontal and layout_flow_vertical fix
4160    * evas-wayland-egl: Fix function prototype for eng_context_create
4161    * Eo id: Fix id security checks for invalid objects.
4162    * ecore-drm: Cleanup/Unify output_free function code
4163    * ecore-drm: Check for valid crtc before calling free
4164    * ecore-drm: Cleanup backlight and drm device in output_free function code
4165    * ecore-drm: Added documentation for various APIs in ecore_drm_device module
4166    * ecore-drm: Added documentation for various APIs in ecore_drm_output module
4167    * ecore_wayland: Making _ecore_wl_init_count not to go below zero in shutdown.
4168    * ecore_drm: Making _ecore_drm_init_count not to go below zero in _ecore_drm_shutdown.
4169    * ecore-drm: Add error message for calling shutdown without calling init first.
4170    * ecore-wayland: Add error message for calling shutdown without calling init
4171    * ecore_wayland: Making _ecore_wl_shutdown return int instead of EINA_BOOL.
4172    * evas-gl-drm: Fix initialization from incompatible pointer type
4173    * evas gl rgba visual/rendering fix try ... again
4174    * dnd/x: fix type set for case there is no type list exists
4175    * edje: edje_edit - don't unlick(NULL) (T1760)
4176    * edje: edje_edit - fix posible resource leak (T1760)
4177    * Edje_calc: set the image set border again after resize.
4178    * ecore_evas - ecore_evas's should start withdrawn then normal on show
4179    * edje_cc_out: update the id of set images.
4180    * ecore-tests: Add missing separator
4181    * evas-gl-x11: Check return value of glXMakeContextCurrent (CID1249651)
4182    * evas-gl-x11: Fix copy/paste error from Coverity fix
4183    * evas-gl-x11: Don't call gl_common_error_set if MakeContextCurrent fails
4184    * evas-gl-3d: Fix compiler warning about 'ld' may be used uninitialized
4185    * ecore-evas-wayland: Fix wayland windows not showing up after 5954289c6ce1cd55ff212428291604b981438439
4186    * eina_unicode: fix memory allocation
4187    * edje: fix use of eina_tmpstr_del after eina_shutdown.
4188    * ecoreidrm: Cleaned up unwanted code.
4189    * ecore-drm: Remove commented out dead functions
4190    * ecore-drm: Remove dead functions
4191    * eina: clear up eina_tmpstr length information (T1775)
4192    * elua: load .dylib on OSX
4193    * Ecore File: Corrected documentation of ecore_file_monitor_add API
4194    * edje: fix edje_object_part_text_item_list_get and edje_object_part_text_item_geometry_get
4195    * elua: remove the : prefix for running apps
4196    * evas: fix quaternion initiation for node, which isn't a root node
4197    * edje: Edje_Edit - fix segfaults on restacking of text parts with set 'text_source'.
4198    * edje: Edje_Edit - fix segfault on copying state of IMAGE part with twins
4199    * elua: two-stage bytecode caching
4200
4201 Changes since 1.10.0:
4202 ---------------------
4203
4204 Features:
4205
4206    * Eolian: add support for typedefs.
4207    * Eolian/Generator: add support for implementation source file.
4208    * Eolian: add support of namespaces.
4209    * eina-tiler:add union, subtract, intersection, equal apis for tilers
4210    * Evas/Textblock: add support for ellipsis values
4211    * Eo: Add eo_finalize. A func that's called at the end of eo_add.
4212    * edje: Edje_Edit - add sounds list accessor.
4213    * edje: Edje_Edit - add edje_edit_part_copy function that copy parts within whole group.
4214    * edje: Edje_Edit - add edje_edit_part_pointer_mode functions.
4215    * evas: Evas_3D - Revision frustum culling.
4216    * edje: Edje_Edit - add edje_edit_part_precide_is_inside functions.
4217    * edje: Edje_Edit - add edje_edit_part_access functions.
4218    * edje: Edje_Edit - add edje_edit_group_orientation_set/_get.
4219    * edje: Edje_Edit - add edje_edit_part_multiline functions.
4220    * edje: Edje_Edit - add edje_edit_part_cursor_mode functions.
4221    * evas: Evas_3D - add .obj export/import.
4222    * evas: Evas_3D - add evas_box3_ray3_intersect and evas_box2_intersect_2d functions.
4223    * edje: Edje_Edit - add parameters to generate source code for part.
4224    * Evas ETC2: Add ETC2 encoder skeletton
4225    * Evas TGV: Add ETC2 support to the TGV saver
4226    * Evas ETC2: Implement T mode encoding
4227    * Evas ETC2: Implement H mode encoding
4228    * Evas ETC2: Implement Planar mode
4229    * Evas: Implement full ETC2 encoder
4230    * Ecore_Evas: add new API for unset the cursor from Ecore_Evas.
4231    * Elua: initial commit
4232    * Introducing Elua: an EFL-LuaJIT app runtime
4233    * edje: Edje_Edit - edje_edit_state_text_class_xet()
4234    * edje: Edje_Edit - edje_edit_state_text_text_source_xeg()
4235    * edje: Edje_Edit - add edje_edit_part_item_append functions.
4236    * edje: Edje_Edit - add edje_edit_state_minmul functions.
4237    * edje: Edje_Edit - edje_edit_state_text_repch_xet()
4238    * edje: Edje_Edit - edje_edit_state_text_size_range_min_max_xet()
4239    * Evas gl: Enable texture atlasses with ETC1/2
4240    * edje: Edje_Edit - add edje_edit_sound_sample_add() function that allows user to add new sound sample to collection
4241    * edje: Edje_Edit - edje_edit_sound_compression_rate_xet()
4242    * edje: Edje_Edit - add edje_edit_part_items_list_get.
4243    * Evas: Add encoding parameter to the savers
4244    * Eet: Add support for ETC2 encoding and decoding
4245    * Edje: Add support for ETC2 through LOSSY_ETC2 images
4246    * edje: Edje_Edit - add functions that allows user to set and get frequency value of tones in collection
4247    * edje: Edje_Edit - add edje_edit_part_item_source functions.
4248    * edje: Edje_Edit - add bunch of BOX and TABLE param get/set functions.
4249    * edje: Edje_Edit - edje_edit_part_select_mode_xet()
4250    * edje: Edje_Edit - edje_edit_sound_compression_type_xet()
4251    * edje: Edje_Edit - add edje_edit_state_map_light_xet()
4252    * edje: Edje_Edit - add edje_edit_part_item_align functions.
4253    * edje: Edje_Edit - add edje_edit_state_map_rotation_center_xet()
4254    * edje: Edje_Edit - add edje_edit_part_entry_mode_xet()
4255    * eolian: introducing a new lexer/parser
4256    * Introducing new lexer/parser for Eolian
4257    * edje: Edje_Edit - add API for missing map properties
4258    * edje: Edje_Edit - add edje_edit_part_item_del.
4259    * edje: Edje_Edit - add missed iterator and object deletion in _delete_play_actions() function
4260    * edje: Edje_Edit - add functions that provide the ability to set and get source for proxy parts state
4261    * edje: Edje_Edit - add edje_edit_sound_tone_add() function that allows user to add new tone to collection
4262    * eolian: introducing support for .eot files
4263    * eolian: new type API
4264    * Evas: Add DDS image file loader
4265    * Evas gl: Add support for S3TC textures (T5, T3, T1)
4266    * edje: Edje-Edit: edje_edit_state_map_perspective_xet()
4267    * edje_edit: Add edje_edit_part_item_aspect_mode functions.
4268    * edje_edit: Add edje_edit_state_map_point_color functions.
4269    * edje: Edje-Edit: edje_edit_state_map_on_xet()
4270    * evas: jpeg loader - support flip, transpose, transverse
4271    * edje: Edje_Edit - add edje_edit_part_item_weight functions.
4272    * edje: Edje_Edit - add edje_edit_part_item_spread functions.
4273    * eolian: new API for struct types
4274    * Evas TGV: Add support for ETC1+Alpha
4275    * Evas gl: Add support for ETC1+Alpha textures
4276    * Eet: Add support for ETC1+Alpha
4277    * new eina api/object - eina thread queues
4278    * ecore-drm: Add necessary headers for dbus and systemd-login
4279    * edje embryo: Now supports get_anim_pos_map
4280    * efreet - add menu ref/unref calls and refcounting to try solve e issue
4281    * edje: Add dpi feature.
4282    * ecore animator - adjust ecore loop time when animtor ticks to be exact
4283    * add function to set ecore loop time
4284    * add simple ecore-con-url test suite
4285
4286 Fixes:
4287
4288    * Eolian: fix generation when optimization is set.
4289    * Edje GROUP objects now recursively hide child objects when parent is hidden
4290    * Evas textblock: Fix wrong advance calculation when bidi is disabled.
4291    * Eo/evas events: Fix support of mixing legacy smart events and eo events.
4292    * evas loader - redo gif fix so it doesn't break everything
4293    * Evas: Remove invalid cast and fix warning/bug on windows
4294    * Win64: Fix a bunch of warnings
4295    * eina/file - revert 18be4c50d9990c82ed9ce4269b7820e61f772699
4296    * Eolian: Fix class look up.
4297    * Eolian: Fix bad behavior when the .eo is incorrect
4298    * evas: Examples - fix Evsa3D Eo classnames.
4299    * Evas textblock: Fix crash when cutting ligatures with formats. (T1308)
4300    * edje: Edje_Edit - fix edje_edit_part_source_set
4301    * Remove autogen.sh from the dist tarball.
4302    * eo: force zeroing memory on non Linux system.
4303    * edje: Edje_Edit - fix func edje_edit_state_text_source_set()
4304    * evas gl: distinguish between IMG and EXT MSAA extensions
4305    * evas/textblock: check item's type before returning result.
4306    * remove unnecessary second checks on validity
4307    * elua: Fix building of binary
4308    * eina-cxx: fix compilation error on clang in eina_thread.hh (T1328)
4309    * eina-cxx: fix compilation error on clang (T1328)
4310    * Evas textblock: Fix issue with edje fonts not being used. (T1331)
4311    * edje: Edje_Edit - some minor edits
4312    * configure: Add dl to edje libs
4313    * Evas/Textblock: Introduce PS deletion bug test and fix
4314    * edje: Edje_Edit - fix compiler warnings for edje_edit_part_item_source_get/set
4315    * ecore-evas-wayland: Remove useless variable.
4316    * ecore_win32: fix key events on Windows.
4317    * ecore: fix ecore main loop on Windows when number of objects is greater that MAXIMUM_WAIT_OBJECTS
4318    * eina: fix build on windows.
4319    * Documentation: adding missed documentation to edcref (map.color param)
4320    * evas/gl - fix to render grayscale with transparency format in gl backened.
4321    * ecore-evas: Fix cursor position getting reset to 0,0 when using ecore_evas_cursor_object_set
4322    * edje: textblock style loading changed
4323    * evas/gl: improve the rendering quality.
4324    * lz4: fix possible security issue.
4325    * jpeg loader: exif parsing bug fix
4326    * evas: fix jpeg loader rotation by metadata (exif)
4327    * lz4: fix shadow issue
4328    * configure.ac: Remove obsolete macros
4329    * evas - gl common - fix drop of image on cache hit in gl engine images
4330    * this fixes crazy french altgr setups that confuse binding masks (T1273)
4331    * edje_edit: adding @since 1.11
4332    * evas: gl_common fix make dist
4333    * ecore-drm: Shutdown ecore_event on udev error.
4334    * edje: Edje_Edit - fix Documentation generation error's and warning's
4335    * ethumb: fix setup related API problem
4336    * ethumb: support ETHUMB_THUMB_ORIENT_ORIGINAL without libexif
4337    * evas-engine-drm: Fix drm engine breakage from Frenchie
4338    * evas-engine-drm: Fix invalid variable check
4339    * ethumb: dbus reply message handling minor bug fix ("queue_remove" method call)
4340    * evas-engine-drm: Fix software_generic_update to use the correct size.
4341    * evas-engine-drm: Fix update of output buffer size
4342    * evas-engine-drm: Fix evas drm engine bufer depth
4343    * evas-engine-wayland-shm: Check for depth being INHERIT on reconfigure
4344    * edje: Edje_Edit - fix size memory calculating for realloc array of tweens.
4345    * ecore-evas: Fix missing drm engine in list
4346    * evil: fix mistaken check of returned value by mkdir.
4347    * eina: (Windows) fix creation of files with eina_file_open() in some cases
4348    * evas: mark the evas text object as dirty, when text style is changed.
4349    * ecore-drm: Fix trapping of SIGUSR1 for VT switching signals
4350    * Evas textblock: Fix memory leak
4351    * evas-wayland-shm: Free allocated rectangle after sending damages
4352    * ecore_evas_extn: do not double close fd in case of memory starvation. (CID1039885)
4353    * ecore_evas_extn: fix wrong plug image display after connect
4354    * ecore animator - this fixes suspended animators still waking up
4355    * ecore-evas - fix continual wakeups with unchanged canvases
4356    * ecore_x: don't go below 0. (T1467)
4357    * Evas textblock: Correct word start/end moving at new line or line begins with spaces
4358    * evas/textblock: fix to keep original format when a markup tag is matched to a style tag.
4359    * build/drm: Fix broken build from scratch and add missing library dependency for evas_drm engine (T1473)
4360    * textblock: Update visual_pos before calling _size_native_calc_line_finalize.
4361    * edje: fix coverity defects (CID1214113, CID1230296, CID1230295)
4362    * ecore_evas_buffer: fix dereference null return value (CID1210810)
4363    * evas-wayland-egl: Fix wayland egl engine to work again (T1478)
4364    * evas-wayland-egl: Fix evas wayland_egl engine not loading due to missing symbol
4365    * eldbus: do not ignore numeric "0" in property_set
4366    * Evas text: fix text object size with empty texts.
4367    * evas-wayland-egl: Fix evas wayland_egl engine crash on mesa driver
4368    * wayland-egl: Fix eng_window_new function prototype
4369    * wayland-egl: Fix calls to eng_window_new
4370    * wayland-egl: Fix Outbuf structure not having evas & engine info
4371    * evas-wayland-egl: Fix typos about egl context attribute list
4372    * evas-wayland-egl: Add missing free
4373    * evas-gl-common: Fix invalid use of Texture
4374    * ecore-wayland: Calloc Can fail, so check that it works (or return if not).
4375    * evas-software-x11: Remove EINA_UNUSED for function paramater that is used
4376    * edje_pick: fix a segfault on 'set' copy
4377    * edje_pick: fix a copied aliases
4378    * Grid: fix a mirroring bug
4379    * evas gl - fix yuv smooth rendering
4380    * evas image loaders - silence noisy warnings that are just not needed
4381    * evas-wayland-egl: Fix segmentation fault on dynamic loaded gl related functions.
4382    * evas-wayland-egl: Free Outbuf if gl_generic_init fails
4383    * evas-wayland-egl: Check for valid tilebuffer before setting tile size
4384    * evas-wayland-egl: Increment frame count after flush
4385    * evas-wayland-egl: Don't resize gl_context during first_rect
4386    * evas-wayland-egl: Fix wayland egl engine not rendering
4387    * efl: Fixed unwanted configure.ac warning.
4388    * evas textblock: fixed ellipsis character cut off issue with complex markup text. (T1213)
4389    * evas-gl-generic: Remove useless returns
4390    * ecore_imf_context: fixing default id getter
4391
4392 Changes since 1.9.0:
4393 --------------------
4394
4395 Features:
4396
4397    * eina: add eina_inarray_resize @feature.
4398    * eina: add eina_accessor_clone and update all Eina_Accessor to take advantage of it.
4399    * eina: add a C++ bindings to Eina @feature.
4400    * @feature - Apply NEON intrisics improvement to rotation
4401    * Evas textblock: Implemented mid-contextualization formatting.
4402    * evas-drm: Add evas_drm to build order for Evas drm engine
4403    * evas-drm: Add Evas Drm Engine (software only currently)
4404    * evas-drm: Add option to enable drm hardware acceleration
4405    * evas-drm: Start on hardware-accel support for drm
4406    * evas-drm: Triple buffer by default.
4407    * evas-drm: Fix opening of drm card
4408    * evas-drm: Start on hardware Plane support
4409    * evas-drm: Add vsync/non-vsync support to evas_drm code
4410    * evas-drm: Ddd support for setting vsync with env variable.
4411    * edje: @feature to include license in edje file. (T1027)
4412    * edje: add support of last input entered in password mode to be always visible in entry.
4413    * eio: make it possible to limit the amount of memory used by threads.
4414    * eina: make Eina_Error thread safe.
4415    * edje: add AUTHORS and more than one license file to Edje.
4416    * ecore-drm: Add Ecore_Drm code
4417    * ecore-drm: Add configure.ac autofoo for ecore-drm
4418    * Eet: Added vieet a tool to edit eet files.
4419    * eina-cxx: Added eina_log support for C++, using IOStreams syntax
4420    * ecore-drm: Add API function to return the vt fd
4421    * ecore-drm: Add dependency on xkbcommon
4422    * ecore-drm: Add code pass along key events to ecore_event
4423    * ecore-drm: Set the window of the Ecore_Event_Key structure
4424    * ecore-drm: Add code to handle modifiers in a key event
4425    * ecore-drm: Add code to handle mouse input
4426    * evas/font: Added evas_font_path_global_* APIs.
4427    * Eo: Made eo id for classes a bit more secure.
4428    * ecore-drm: Add API function to return the drm device name
4429    * ecore-evas-drm: Add support for resize and move callbacks
4430    * ecore-evas-drm: Add support for setting focus_in & focus_out callbacks
4431    * ecore-evas-drm: Add support for setting the mouse in & mouse out callbacks of the ecore_evas
4432    * ecore-evas-drm: Add support for ecore_evas_move function
4433    * ecore-evas-drm: Add support for ecore_evas_move_resize
4434    * ecore-evas-drm: Add support for rotation set
4435    * ecore-evas-drm: Add support for setting the title of the ecore_evas
4436    * ecore-evas-drm: Add support for ecore_evas_name_class_set
4437    * ecore-evas-drm: Add support for setting size hints
4438    * ecore-evas-drm: Add support for ecore_evas_object_cursor_set
4439    * ecore-evas-drm: Add support for ecore_evas_layer_set
4440    * ecore-evas-drm: Add support for ecore_evas_iconified_set
4441    * ecore-evas-drm: Add support for ecore_evas_borderless_set
4442    * ecore-evas-drm: Add support for maximized, fullscreen, withdrawn, and ignore_events settings
4443    * ecore-evas-drm: Add support for alpha & transparent setting
4444    * ecore-evas-drm: Add support for setting aspect of ecore_evas
4445    * edje_cc now supports program.targets keyword for adding N targets in one line
4446    * edje_cc now supports group.remove for removing parts from inherited groups
4447    * edje_cc now supports part.inherit for copying attributes of parts within a group more easily
4448    * eeze_udev gets more helper functions
4449    * edje_cc now supports program.sequence for more easily chaining programs together
4450    * edje_cc can now use group.program_remove to remove inherited programs
4451    * edje_edit: function that will return the source code of the loaded edje edit object.
4452    * ecore-drm: Add API function for getting size of an output.
4453    * eet-cxx: add implementation for eet C++.
4454    * Eina: Fix mistake in a previous patch
4455    * +eeze_udev_get()
4456    * eina-cxx: Modified eina C++ log use syntax
4457    * Move to Eo2 and adjust code accordingly
4458    * Eo: eo_do now returns called func's value + default ret fix.
4459    * Edje: Use LOSSY_ETC1 instead of LOSSY
4460    * Evas TGV: Add direct copy mode for ETC1/ETC2 data
4461    * Evas: Add support for ETC2 in the TGV loader
4462    * Evas gl_x11: Add ETC2 support to the GL/X11 engine
4463    * edje_cc now supports "lazEDC", a more concise version of EDC
4464    * edje_cc now supports the group.inherit_only attribute
4465    * edje_cc now supports targets for SIGNAL_EMIT actions
4466    * edje_cc now has the program.groups and X.target_group keywords for target grouping
4467    * edje_cc now supports group.program_source for specifying a default source in programs
4468    * eina_hash now has helper functions for managing lists inside hashes
4469    * edje_cc now supports part.description.link for single line state changes
4470    * edje now has the group.script_recursion flag for permitting unsafe embryo recursion (T905)
4471    * eolian_cxx: initial version of the EFL C++ Bindings Generator.
4472
4473 Fixes:
4474
4475    * ecore: @fix race condition when using ecore_main_loop_thread_safe_call_sync.
4476    * examples/evas: Set a proper format string for fprintf
4477    * evas-drm: Set Magic on the Ecore_Evas
4478    * evas-drm: Fix configure.ac typo for drm hw accel argument
4479    * evas-drm: Call framebuffer_set earlier in the process so that the screen gets updated sooner.
4480    * evas-drm: Fix opening of drm card
4481    * evas-drm: Forgot to install the evas drm engine pkgconfig file
4482    * evas-drm: cleanup outbuf structure and functions
4483    * evas-drm: cleanup evas_engine code for drm sw engine
4484    * evas-drm: Add vsync/non-vsync support to evas_drm code
4485    * evas-drm: Ddd support for setting vsync with env variable.
4486    * Evas: Fix build issue when building without drm
4487    * ecore_avahi: @fix timeout to avoid pitfall of forever frozen timer.
4488    * evas-drm: Fix evas drawing delay for cedric
4489    * Evas filters: Avoid CRI message when using the GL engine
4490    * Evas filters: fix black squares with the GL engine
4491    * Evas filters: fix random cases of 'dancing text'
4492    * Evas filters: fix clip to target calculation
4493    * edje: fix edje_watch to not pass the '\n' to eio_monitor.
4494    * edje: let's allow to reset escaped text to NULL. (T821)
4495    * evas-drm: Don't call framebuffer set from within send function
4496    * evas-drm: Check buffer validity in swap function
4497    * evas-drm: Fix setting cached image alpha flag
4498    * ecore-evas-x: Fix resource leak from eina_str_split_full usage (CID1188012)
4499    * eo: memory waste at mixin class elaboration
4500    * Edje entry: fix bug preedit text is committed in the next entry when Tab key is pressed.
4501    * edje/edje_edit: fix part add bug
4502    * edje/edje_edit: Check for NULL
4503    * evas-drm: Remove hardware acceleration fields from engine structure
4504    * evas-drm: Add headers for hardware acceleration
4505    * ecore-drm: Add missing define
4506    * ecore-drm: Comment out Gbm Format
4507    * efl: Fix installing ecore-drm pkgconfig file
4508    * efl: Fix build with drm disabled
4509    * evas/fb: avoid crashing it outbuf setup failed.
4510    * evas: @fix convert to 24bits so dst_jump is used properly.
4511    * evas/fb: expose and call fb_freemode() and fb_cleanup()
4512    * ecore_fb: @fix use of uninitialized values reported by valgrind.
4513    * evas/fb: use stride instead of width.
4514    * eina: Fix bug in eina_convert_itoa (T1062)
4515    * edje/entry: fix to not emit "changed" signal in unnecessary cases of password mode.
4516    * edje: do not leak in case of error. (CID1191310, CID1191311)
4517    * evas-fb: Fix broken build of efl
4518    * ecore-drm: Initialize ecore_event on ecore_drm_init
4519    * edje - allow lager clipper space.
4520    * eina-cxx: Fixes compilation errors and warnings in clang
4521    * evas: Replace EINA_LIST_FOREACH_SAFE to while statement.
4522    * evas: @fix use the correct composite op on lines with pixman
4523    * Evas filters: Fix 1-D blurs on a single buffer
4524    * Evas filters: Fix memory leak when destroying the object
4525    * ecore-x: Predefine Ecore_X_Atom and Ecore_X_Icon
4526    * ecore-evas: Predefine Ecore_X_Atom and Ecore_X_Icon
4527    * evas: restore behavior of stack above and below when no rel is specified. (CID1191907, CID1191906)
4528    * Ecore x: Add back the two symbols removed in 1.9.
4529    * eet: fix tokenizer's escape logic.
4530    * Evas textblock: Don't include right margin/padding twice when aligning lines.
4531    * edje: check font change in edje text part cache infra.
4532    * edje/util: set flag to all_part_change when edje class member is added.
4533    * Evas cserve2: Fix client crashes when a file changed
4534    * Evas gl: Fix clip in image_draw if it's not set
4535    * ecore-drm: Fix ecore_drm_device_window_set to use an unsigned int
4536    * ecore-evas-drm: Fix setting of the ecore_evas property window and register the prop.window for events.
4537    * evas-drm: Fix engine to use the output's framebuffer as window id
4538    * ecore-wayland: Fix ecore_wl_init 'stalling' when used in a server
4539    * Eolian/Lexer: increase buffer length for .eo files
4540    * Eolian/Generator: Don't generate sub ids structure if not needed.
4541    * ecore-drm: Fix absolute motion coordinate calculation
4542    * edje_cc no longer fails on collections.group{}
4543    * edje_cc now correctly handles lack of state int in STATE_SET action
4544    * edje_cc also checks min args correctly for STATE_SET actions
4545    * Evas filters: fix potential memory leak
4546    * eio monitors no longer trigger a CRI error during free
4547    * edje_cc uses macros for some of its handler setup
4548    * evas/gl - fill up missed blend mode.
4549    * evas: Fixed warning for uninitialized variables
4550    * edje_cc now correctly handles group inheriting when the inherit is after a part/program
4551    * build: Disallow non-working sdl + opengl ES combination (T856)
4552    * Evas Textblock: increase ref of format before work
4553    * evas/proxy - redraw proxy source properly.
4554    * Eolian: move the beta API ifdef to cover all the H types and functions.
4555    * Eolian: fix virtual pure support.
4556    * Eolian/Lexer: fix function names parsing.
4557    * edje_cc: Fix the crash when compiled wrong edc file containing empty part
4558    * evas - fix incorrect object reset.
4559    * evas-drm: Add trapping for a canvas below framebuffer size
4560    * ecore-evas-drm: Add better support for ecore_evas_fullscreen_set
4561    * ecore-drm: Fix mouse wheel to not be inverted
4562    * emotion: fix memory leak
4563    * edje_cc: fix group inheriting with scripts. (group.script and .program.script)
4564    * ecore-evas - fix object cursor to not delete the same cursor when set
4565    * ecore_evas_extn: give proper event data to callbacks
4566    * ecore_evas_extn: fix doxygen sample
4567    * evas-drm: Default async page flip to false as this can cause tearing
4568    * evas-drm: Remove all async_page_flip options/references
4569    * ecore-con - deal with internal buffer growing over 2g in size
4570    * fix swap buffers with damage to not detect if ext str is not there
4571    * ecore-wl: Optimize opaque region setting for surface and reduce unnecessary calls to surface commit.
4572    * ecore-wl: Optimize setting of window input region
4573    * ecore-evas-wl: Reduce useless compositor redraws during render update and update input & opaque regions after resizing.
4574    * ecore_evas_extn: initialize server handle on server deletion
4575    * ecore_evas_extn: update plug image object after disconnection
4576    * Eo: eo_do now returns called func's value + default ret fix.
4577    * Fixed a problem with e wl server that sent invalid key value to wl client.
4578    * ecore-evas-wl: Ooops, Fix opaque & input regions being set to incorrect values
4579    * ecore-wl: Don't create an input cursor surface unless the input has pointer capability.
4580    * ecore-wl: Check for existance of data device manager
4581    * eo: fix broken children iterator, remove redundant fields.
4582    * ecore: Fixed se of EINA_MAIN_LOOP_CHECK_RETURN macros with functions with return types
4583    * emotion: fix triggering condition of fallback module loading (T1025)
4584    * edje now correctly forces ellipsis setting on text parts
4585    * emotion: play set before file open callback bug fix
4586    * emotion: use eina stringshare not strdup
4587    * configure: Only allow wayland + egl with opengl ES (T1202)
4588    * eldbus-codegen no longer passes garbage values to error callbacks
4589    * fix emotion_test signal emit object
4590    * evas-wayland-shm: Use XDG_RUNTIME_DIR if available for creating mmap'd buffer file.
4591    * evas-wayland-shm: Fix 'oopsie/typo' in temporary file name template
4592    * ecore-x - fix setting protocol atoms for icccm for 64bit
4593    * ecore-drm: Send proper keycode to ecore key event, and remove erroneous variable.
4594    * edje/Edje_Edit: _edje_edit_real_part_add init field of Edje_Real_part
4595    * fix ecore_con_url using 100% cpu and just let fd handler do work (T1251)
4596    * fix behavior of edje entry to match other toolkit entries (T1229)
4597    * fix ecore_thread_global_data_wait to work when no data exists yet
4598    * Eo: Fix deref after free. (CID1039898)
4599    * evas/render - fix segfault because of null cow access. (T1252)
4600    * edje: Edje_Edit - fix wrong behaviour on draggable.event processing while deleting parts.
4601    * evas/text: fix abnormal ellipsis logic when harfbuzz is enabled.
4602
4603 Changes since 1.8.0:
4604 --------------------
4605
4606 Additions:
4607
4608    * evas - Added eina_stringshare_ref call for fallbacks, lang in font description.
4609    * evas gl: added partial rendering support for qcom extension
4610    * Evas filters: Add a small utility to take some screenshots
4611    * edje - feature - add channel types for sounds and ability to mute them
4612    * ecore_evas: added window manager rotation to manage the rotation of windows by the WM.
4613    * Add quadruple swap mode for partial rendering
4614    * Evas filters: Implement advanced text effects
4615    * Evas filters: Add transform filter
4616    * Evas: Add support for Alpha buffers
4617    * ecore_x: Add ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_OVER.
4618    * ecore_x: Added API - ecore_x_e_illume_window_state_send
4619    * Evas font: Added support for font fallback for eet/edje fonts.
4620    * eina_tls: add eina_tls_cb_new(Eina_TLS *key, Eina_TLS_Delete_Cb delete_cb)
4621    * edje: Support to set or retrieve selection of ecore_imf
4622    * Add ecore_imf_context_selection_get API to allow Input Method to get the selected text.
4623    * eina: add eina_{str,bin}buf_manage_read_only_new_length().
4624    * eina: add eina_binbuf_append_buffer() and eina_strbuf_append_buffer().
4625    * edje: use luajit by default, if you want lua use --enable-lua-old
4626    * ecore-x now supports XPRESENT
4627    * evas - fonts - move to using 4bit and rel 4 bit compressed font glyphs
4628    * evas gl - prefer alpha4 format for font textures if possible (save memory)
4629    * Edje: add edje_object_part_text_input_panel_show_on_demand_set/get()
4630    * emotion: initial port of emotion to GStreamer 1.0
4631    * edje: edje_edit - adding getter and setter for smooth parameter
4632    * edje: edje_edit - adding API to move to the specified place in the parts stack
4633    * edje: edje_edit - adding getter and setter for text source
4634    * edje: edje_edit - adding getter and setter for text style
4635    * edje: edje_edit - adding edje_edit_group_copy.
4636    * Ecore_Avahi: initial commit.
4637    * edje: adding Alias API into edje_edit module
4638    * edje embryo now supports reset_timer()
4639    * Ecore: add DnD abort from source
4640    * ecore_evas/wayland: Add a function to cleanup the frame callback.
4641    * Adding the cubic-bezier curve to edje transitions
4642    * Eldbus: added function for getting bus unique name
4643    * edje_edit: Add getters and setters for fixed param
4644
4645 Improvements:
4646
4647    * evil: don't depend on the toolchain defined macro.
4648    * emotion: lower severity of a simple warning.
4649    * ecore_evas_fb: allow to force tslib even if mouse was handled.
4650    * autotools: detect cross compilation.
4651    * Evas filters: Improve test coverage of the filters
4652    * Evas filters: Add render test cases with pixel verification
4653    * Evas textblock tests: Improved textblock word start/end tests.
4654    * configure - add warning for non /usr prefixes!
4655    * Evas textblock tests: Add a wrapping test for complex cluster wrapping.
4656    * ecore-evas - sdl module - limit to 1 window at a time
4657    * Edje/entry: Add propagation handling in mouse_out for link anchors (T878)
4658    * Emotion test: rename speed slider to alpha as it should be.
4659    * Emotion test: New volume slider. More readable alpha text.
4660    * distribution cleanup - remove os/arch from module dirs and simplify version
4661    * eina: allow eina_time_get to fall back to other clocks if the first one fails
4662    * configure - add big complaint section if you use off configure options
4663    * Evas textblock: Added a test for rendering of spaces in some cases.
4664    * evas: software_x11 - use evas_xlib_swapper_depth_get to get buffer stride.
4665    * evas: add eglMakeCurrent in evas map create/free.
4666    * evas/op_blend: rename LOOP_ALIGNED_U1_A48_SSE3 to LOOP_ALIGNED_U1_A48
4667    * Edje entry: Enable allow_set for DEFAULT select mode.
4668    * Edje entry: always finish selection when mouse is up.
4669    * Evas textblock: Added tests for *_cursor_char_coord_set.
4670    * Evas filters: Disable proxies with the GL engine
4671    * Evas filters: Add support for proxies in Edje
4672    * Evas filters: Implement basic Edje support
4673    * Evas fonts: Pass RGBA_Image instead of DATA32 buffer
4674    * Evas text utils: Check syntax in color parse
4675    * autotools: use libevil libdl implementation.
4676    * evas: gl backend - ensure eng_window_use in image_content_hint_set
4677    * Evas font: Change font fallback to not depend on fontconfig >= 2.11.
4678    * Evas textblock: Improved error messages when detecting errors in markup.
4679    * evas: textblock - Added Null checking in evas_textblock_text_markup_to_utf8 before calling eina_strbuf_append_length API.
4680    * Evas font: Renamed evas_load_fontconfig and added support for a base set.
4681    * edje: call imf reset before selecting text area
4682    * Updating hungarian and italian translations
4683    * Evas font: Added support for the freetype spacing tag (T865)
4684    * Evas font: Added support for weight/width/slant font tags.
4685    * Evas textblock: Added a test for range geometry with bidi text.
4686    * allow --without-tests in addition to --with-tests=no
4687    * Registers a fallback handler for a given subsection of the object hierarchy.
4688    * ecore_imf: Add selection_set callback type to allow Input Method to select a region of text
4689    * Synced libunibreak local copy with upstream (T805)
4690    * ecore_getopt: support for per-category help listing
4691    * eina-inlist - handle prepend/append relative if list is null (empty)
4692    * eet: reduce memory usage of Eet internal structure by removing useless structure.
4693    * edje: Add changed signal emit in _edje_entry_imf_event_delete_surrounding_cb
4694    * emotion: Use the GStreamer 1.x module instead of the 0.10 one in the border example application
4695    * edje_entry: When preediting, cursor should not be moved.
4696    * ecore_getopt: support for categories
4697    * Textblock: Add test cases for style padding
4698    * ecore_x: set cursor with xinput2
4699    * ecore xcim module - don't printf every time you start to add stdout noise
4700    * emotion gstreamer1: Set visualizations if the vis name is not NULL
4701    * emotion gstreamer1: Also handle DATE_TIME tag
4702    * emotion gstreamer1: Don't forget to allocate metadata struct
4703    * emotion gstreamer1: Implement seekability check via seeking query
4704    * emotion gstreamer1: Add support for selecting subtitle channels
4705    * emotion gstreamer1: Volumes > 1.0 are valid too
4706    * emotion gstreamer1: Add support for buffering and clock-lost handling
4707    * emotion gstreamer1: Major cleanup of internal and GStreamer state handling
4708    * emotion gstreamer1: Don't set pipeline to PAUSED during seeking
4709    * emotion gstreamer1: Use GST_PLAY_FLAG_VIS instead of the corresponding integer
4710    * emotion gstreamer1: Don't use the NATIVE_AUDIO/VIDEO flags
4711    * emotion gstreamer1: Use refcounting instead of in/out variable counting
4712    * emotion gstreamer1: Simplify pipeline creation
4713    * emotion gstreamer1: Some code re-flow in the GStreamer bus handler
4714    * emotion gstreamer1: Use GStreamer's path/URI handling functions instead of writing our own
4715    * emotion gstreamer1: Rename functions and variables for clarity
4716    * eina: add test case - eina_list_clone, eina_list_reverse_clone
4717    * ecore: use WIN32 API to port readdir_r in ecore thread example
4718    * autotools: really don't build Unix specific example on Windows
4719    * ecore_x: Set data of selection event for XDND selection
4720    * ecore: don't build Unix specific example on Windows.
4721    * configure: correctly detect C99-capabilities for ecore_con_resolver
4722    * win build - check for pause func and use only if its there
4723    * setuid safeness - ensure if an app that is setuid doesn't do bad things
4724    * evas - gl-x11 engine - put in guessed blacklist of yinvert extn for intel mesa
4725    * efl - build - add warning about gnutls to configure and dropping privs
4726    * evas: let's use HUGETLB when it makes sense.
4727    * edje: be more informative when and where a file was not found.
4728    * Use key instead of keyname for considering setxkbmap
4729    * Major cleanup of the Emotion GStreamer 1.x video sink
4730    * Updating serbian and italian translations
4731    * evas: disable use of mmap on windows for allocating pixels buffer.
4732    * eina: make eina_binbuf_free and eina_strbuff_free accept NULL.
4733    * scimimmodule: support super key (between ctrl and alt key)
4734    * scimimmodule: code refinement related to key modifier and lock
4735    * ibusimmodule: support CAPS LOCK and NUM LOCK
4736    * configure - add warning when enabling xcb
4737    * Blending function rework and speedup
4738    * emotion - generic - set play after setting mutes and play speed etc.
4739    * evas: improve textblock rendering by walking even less in all case.
4740    * ecore-x - add call to create a permanent window that is not deleted on exit
4741    * Adding hungarian translation
4742    * Evas test textblock: Added a test for a broken range_text_get case.
4743    * edje: edje_decc - added -output flag (save to specified dir)
4744    * evas - jpg loader - speed up header check for pgoressive jpgs
4745    * Remove ecore_imf_context_reset in focus-in event handler
4746    * autotools: Evil is actually needed on Windows add the correct line for Ecore_Avahi.
4747    * getopt: add positional argument handling.
4748    * Evas test textblock: Added a test for a broken range_delete case.
4749    * Evas textblock: Added more range_delete tests.
4750    * ibusimmodule: support preedit style
4751    * emotion: make webcam initialization lazy and non blocking (T648)
4752    * rebase dns.c from upstream
4753    * autotools: detect systemd to warn user they are required to use --enable-systemd to turn it on.
4754    * autotools: let's try this variant for detecting c++ compiler availability.
4755    * Evas tests: Add invalid markup test
4756    * ecore-evas - disable comp syncing by default (can be turned on though still)
4757    * Evas textblock: Slightly improve paragraph items freeing.
4758    * ecore evas - add animator update syncing to only render on animator ticks
4759    * ecore loop + animator - add call to get if an animator cb has run this iter
4760    * evas - Clip mark performance improvement
4761    * efreet: propagate scan error to caller
4762    * eina: this is actually a better way of improving Eina_Hash performance.
4763    * eina: fuzze test the eina_hash_string_superfast to.
4764    * eina: increase hash matching inside of Eina_Hash.
4765    * eina: add fuzzy test of eina_hash.
4766    * eina: add fuzzy testing of the red black tree.
4767    * Implement withdrawn_set/unset on Wayland engines. (T155)
4768    * ecore_evas/wayland: Implement ecore_evas_withdrawn_set.
4769    * Update Korean translation for the efl1.8 release
4770    * NEON vectorization: added use of COLSAME define in map routine
4771    * configure: add optional solution to alert
4772    * ecore_evas_object_example: Added cursor unset example.
4773    * Emotion generic: change the log domain name to be consistent with others domains.
4774    * Emotion test: added --loop and --position args.
4775    * Emotion generic: remove the player restart hack.
4776    * eina: reduce log to warning when not found.
4777
4778 Fixes:
4779
4780    * Check ecore_x_window_prop_card32_get() return value correctly in ecore_x_e.
4781    * edje freeze count can no longer become negative
4782    * Revert "Evas font: Change font fallback to not depend on fontconfig >= 2.11." (T1006)
4783    * Evil: Fix parallel build for Windows
4784    * Emotion Generic: receiving the size on opening is correct.
4785    * edje: Edje_Edit - make sure we don't use an not initialized value (CID 1181885 and CID 1181888)
4786    * Evas textblock: Fixed a few word start/end issues (T995)
4787    * ethumb - fix clients going right to disk and getting half written thumbs
4788    * edje: fix custom allocator with luajit
4789    * Evas text utils: Fixed walking compound clusters.
4790    * evas/image - update dirty region in the render time.
4791    * Gif: Fix animated gifs when used as proxy sources
4792    * Emotion test: no need for an animator to update the time string.
4793    * Emotion test: no need to search for a folder that no more exists
4794    * Emotion test: add the volume slider also to the Reflex group.
4795    * Emotion test: Removed volume key bind. EINA_UNUSED--
4796    * edje: fix Eo ids, to make Eolian keep silence
4797    * evas/common: fix segfaults in evas_map_image_loop.c
4798    * eina: fix in eina_rectangle_pool to make sorting effective
4799    * eet - dump - if group type is not a handled type, assume unknown (CID 1039307)
4800    * evas - table - fix theoretical leak that likely will never happen (CID 1039663)
4801    * evas - gl - core - checke for wrong context in error check (CID 1135266)
4802    * evas - gl x11 - fix glx texture from pixmap target rectangle mode check (CID 1135267)
4803    * edje - edje_cc - remove logically dead code (CID 1135268)
4804    * evas cserve2 - fix chekc of wrong return type (CID 1135269)
4805    * evas - gl core - don't access null ptr on init (CID 1135270)
4806    * edje - fix bunch of possible null return errors with checks (CID 1135274 CID 1135272 CID 1135275)
4807    * evas filter - fix uninitialized pointer in evas (CID 1174077)
4808    * evas - filter - don't use longs when DATA32 is the right type (CID 1174078)
4809    * evas - filters - remove logically dead code (CID 1174084)
4810    * evas - proxy source visible check not done on update del (T842)
4811    * edje segv on file update - try and fix this. not sure if this caused it
4812    * edje - fix probable leak by ensuring current prog is freed on real part free (T923)
4813    * Evas textblock: Fixed colour setting for textblock formats (T926)
4814    * Evas textblock: Fix rendering of spaces in some cases (T924)
4815    * Evas filters: Check for EVAS_CSERVE2 when using cs2 APIs
4816    * ecore_x_selection: fix selection data freeing
4817    * in case font_instance is null in text_props... avoid using it
4818    * Evas Textgrid: Don't leak an eina_stringshare when scale_update is called.
4819    * evas - textblock ... fix valign handling to actually work as documented
4820    * evas text filter - fix va_arg usage to not cause compiler internal errs
4821    * ecore_x: fix wrong Atom name.
4822    * Evas textblock: Fixed *_cursor_char_coord_set with some y values.
4823    * ecore-x xpresent - fix build if you DONT have xpresent there.
4824    * edje: edje_calc - fix deffect by find the part description when 'approximate' is EINA_FALSE
4825    * eina: restore magic debug option for ABI compatibility purpose.
4826    * edje embryo reset timer should probably call the reset function
4827    * Patcna: fix wrong widgth and height in eina_rectangle computation logic.
4828    * evas - fix tom's bold-killer from 2cb9db171ead5bc9920234e27c2e12b7c7b3883a
4829    * Evas textblock: Fix selection with bidi text.
4830    * fix evas_tiler bug (makes evas get stuck in an infinite loop there in certain scenarios)
4831    * Edje entry: Fix memory corruption (of by one in allocation) (T867)
4832    * Edje entry: Fix anchor href parsing.
4833    * entry: clear selection before selecting new one
4834    * checking for libmount newer than 2.19.0 means newer, not older
4835    * configure: Add ecore-imf to ETHUMB_INTERNAL_LIBS
4836    * eina: fix test suite for rwlock... hopefully.
4837    * evas: textgrid - fix crash in terminology with rare characters.
4838    * embryo: force the insertion of a '/' in the path to be sure that file path make sense.
4839    * eina_tls: fix calls to TlsFree
4840    * ecore_imf: fix to call function of immodule when the input method property is changed
4841    * embryo_cc - remove trainling / from path for windows stat so it works
4842    * Evas: Fix proxy rendering for animated objects (T832)
4843    * eina: do not access dead pointer from within valgrind macro.
4844    * ximimmodule: fix dereference after null check (CID 1162749)
4845    * okay, bring back xrandr < 1.4 compat for ecore_x_randr_output_name_get
4846    * nul terminate string from ecore_x_randr_output_name_get
4847    * Evas: Fix MMX mask function _op_copy_p_mas_dp_mmx()
4848    * _op_blend_c_dp_neon miscalculation fix
4849    * eet_data: guarantee double-word alignment for temporary stack buffer.
4850    * eina/mp/one_big: fix alignment issues.
4851    * configure: include required NEON build flags.
4852    * ecore_x: Fix to handle paste null data case.
4853    * 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.
4854    * Evas cserve2: Fix invalid memory access
4855    * emotion gstreamer1: Call _emotion_frame_new() for audio-only streams without visualisations too (T767)
4856    * Textblock: Relayout if needed in line geometry get
4857    * Textblock: Fix padding with styles (part 2)
4858    * Textblock: Fix padding computation (part 1)
4859    * Evas/cserve2: Add some safety checks when reading socket messages (CID 1039571 and 1039572)
4860    * Evas/cserve2: Remove dead code (CID 1039925)
4861    * Evas/cserve2: Stop looking at those dirty pics!
4862    * Evas/cserve2: Fix potential crash in image_free
4863    * Eio monitor: Fix crash on invalid data access
4864    * Evas/cserve2: Keep image_id when reopening a changed file
4865    * Evas/cserve2: Clear up File_Data when opening a new image
4866    * Evas/cserve2: Rename "invalid" field to "changed"
4867    * Evas/cserve2: Add another load error check
4868    * Evas/cserve2: Fix crash on image file change
4869    * Evas/cserve2: Fix crash in server on file change
4870    * Evas/cserve2: Fix memleak during shutdown
4871    * Evas/cserve2: Use calloc instead of malloc
4872    * Unbreak ecore_evas wayland engines
4873    * evas - cserve2 - avoid segv accessing im->cache
4874    * evas gl - fix egl/gles build after alpha4 change for fonts
4875    * ecore_evas_x: Fix gl_sync_draw_done initialize routine to handle exceptional case.
4876    * eina: fix memory leak of inserting the wrong value in the hash.
4877    * evas cserv2 - remove logical dead code (CID 1113441)
4878    * cserve2 - debug bin - fix theoretical leak of socket fd (CID 1039286)
4879    * eina lock posix - remove dead code in eina_spinlock_take (CID 1106340)
4880    * examples: fix pointer <-> int conversion (windows 64 bits) in ecore and evas examples.
4881    * examples: do not do void* arithmetics in evas examples.
4882    * example: fix uninitialized variable in ecore.
4883    * evas - unbreak gl font rendering with dst pointer checks
4884    * evas - sw render - protect against null pointer surface access
4885    * Evas/cserve2: Fix valgrind warning about uninitialized memory
4886    * Evas cserve2: Fix crash in cserve2 when slaves die
4887    * eio - protect against posible segv on rename with eio
4888    * eina: Eina_File - don't leak memory when file is not found.
4889    * ecore_imf_example: remove wrong implementation code.
4890    * eina: fix support for system requiring _XOPEN_SOURCE to use spinlock and barrier.
4891    * eina: fix build break on systemd based system.
4892    * ecore_evas: extn - restore missing symbol that resulted in a temporary ABI break.
4893    * ecore_con - Fix binary buffer when using ECORE_CON_REMOTE_UDP.
4894    * evas - sw render - map render neon broken for expedite 45/46 disable
4895    * evas - fix neon scale code
4896    * ibusimmodule: fix segmentation fault
4897    * edje - fix edje lua usage for lua 5.2 to not go crazy on memory allocs (T323)
4898    * evas - set clipees list to NULL on free to avoid access
4899    * ecore-evas - x11 - call resize callback if wm denies resize request
4900    * ethumbd - stop using an idler that spins at 100% cpu while generating queues
4901    * ethumbd - if thumb gen takes too long don't just quit ethumbd, but skip thumb
4902    * ethumbd - drop priority to 19 like efreetd so it lurks in bg as much as it can
4903    * efreet - minor formatting and move set prirority to very start
4904    * Evas textblock: Fixed range_text_get bug with multiple text nodes.
4905    * emotion: don't duplicate storage of audio/video stream metadata in GStreamer 1.x backend.
4906    * evas - gl engine - glerr should be off by default for performance
4907    * emotion - broken module loading loagic fixed that fixes gst 0.10/1 deadlock
4908    * eina: struct _Eina_Rbtree contains an enum bitfield, which is a GNU extension not specified by C99.
4909    * emotion: remove (broken) X11 integration from the GStreamer 1.x backend.
4910    * evas gl engine - ensure on texture delete we never leave a cur tex id dangling
4911    * evas - gl-x11 engine - don't re-init engine window on rotate
4912    * evas - protect against table cache being null and then used
4913    * evas: limit how many times we walk over items.
4914    * ecore: allow out-of-source build of ecore_xcb_keysym_table.h.
4915    * evas: fix a segfault in _draw_thread_font_draw, caused by the missing initialisation of a struct field
4916    * ecore: remove dead free (CID 1139955)
4917    * ecore: fix shutdown when using system module.
4918    * ecore: fix tests to avoid failure on successful initialization.
4919    * ecore_audio: update test to not look at ecore_init return to much due to system module.
4920    * eldbus: fix tests to properly take into account the presence of ecore system module.
4921    * eldbus: don't do a double initialization due to ecore module using eldbus now.
4922    * edje: edje_edit - fix .edc file generation
4923    * evas - redraw the map surface if one of the children has been still changed map.
4924    * emotion_generic: fix permissions, resource leaks and error handling.
4925    * bugfix: free the entire ecore_con dns struct on info clear to prevent crashes later on
4926    * extn: remove unused attribute am_server.
4927    * extn: complete with NULL newly added functions.
4928    * evas: no loader should ever close an Eina_File anymore (T674 and T668)
4929    * evas: patched evas_map_image.c to use NEON code
4930    * evas - render - clear out pending object array more aggressively
4931    * Fix leak + possible segfault in edje_edit.
4932    * edje: edje_edit - fix edje_edit_state_color_class_set to apply the colors to color_class.
4933    * ibusimmodule: fix dereference after null check issue
4934    * evas - tiler - fix missing clip of first rect to outbuf size
4935    * ecore/ecore_x - show the window if the window should be visible.
4936    * Evas textblock: Fixed range_deletion bug with multiple visible formats.
4937    * bugfix: eldbus code generator struct members named "proxy" should not be passed to eina_value_free.
4938    * edje_edit - fix mem leak of src strbuf on print status (CID 1039263)
4939    * edje - edje_edit - don't access collection after it is freed (CID 1137855)
4940    * emotion - webcam - don't access after free and ensure it is not in list (CID 1137853 and CID 1137854)
4941    * evas - fb engine - fix mem leak if ioctl fails on fb mode (CID 1137852)
4942    * ecore-file - fix mem leak in ecore_file_app_exe_get() on restart (CID 1039279)
4943    * evas - software-x11 - fill in unused struct members to avoid uninitialized CID 1039548
4944    * bugfix: make eldbus generated code not crash on every single generated event
4945    * Evas textblock: Fixed deletion of ranges ending with visual formats.
4946    * ecore_file - finding exe path - if HOME is not set a leak could happen (CID 1039279)
4947    * eina - eina_file - fix leak of fd is fd is 0 (CID 1039181)
4948    * fix fd leak in emotion webcam where fd of value 0 never closed (CID 1039175)
4949    * ethumbd - fix possible out of bounds access to work table (CID 1039314)
4950    * edje - epp - fix possible array access by negative (CID 1039357)
4951    * ecore - utils - makekeys - fix uniitialized arrays (CID 1039547 and CID 1039546)
4952    * eeze - fix uninitialised sigation struct content (CID 1039552)
4953    * edje_decc - fix possible use of uninitialized string (CID 1039553)
4954    * ethumb - ensure buf is nul terminated (CID 1039577  and CID 1039576)
4955    * ecore-con - fix possible unterminated buffers (CID 1039725 and CID 1039724)
4956    * Edje: Update anchor and item tags when text is deleted by _edje_entry_imf_event_delete_surrounding_cb.
4957    * emotion: fix potential memory leak when webcam register fail.
4958    * ecore_con - dns.c - re-fix coverty double-free. coverity was and is right (CID 1039909)
4959    * evas - fix gif loader drop of image data sometimes (image dump/flush)
4960    * embryo - embryo_cc - argv parsing MIGHT leave str buf not nul terminated (CID 1039726)
4961    * evas - evas gl - fix realloc failure case to handle it properly
4962    * evas - evas_gl - fix shader patch to not free static strings (CID 1039653)
4963    * eet data encode - dont free data if its not separately allocated (CID 1039728)
4964    * evas - font dir - remove from hash before free/del (CID 1039889)
4965    * ethumb - client lib - fix access of async item in idler after free (CID 1039892)
4966    * ephysics - fix real access-after-free issue on delete of constraint (CID 1039895)
4967    * edje - edje_pick - fix coverty access-after-unref issue (CID 1039916)
4968    * edje - edje_cc - fix coverty issue of not exiting loop for box items name (CID 1039918)
4969    * evas - textblock - fix dbg_info_get to avoid leak if root is NULL (CID 1040007)
4970    * evas - cserve2 - fix uninitialized member "image_id". (CID 1042303)
4971    * evas - gl - use snprintf for safety (never likely anyway, so code was fine)
4972    * edje - edje_cc - try and make coverty ignore the leak (invalid) (CID 1132627)
4973    * evas gif loader - address animated always being true (CID 1135790)
4974    * autotools: fix complain about using subdirs without the right option.
4975    * autotools: make systemd dependency detection automatic.
4976    * gif loader - handle theoretical NULL loader_data case
4977    * ecore_x: ensure positive malloc size (CID 1135636)
4978    * evas - fix gif loader cpu overuse - used too much cpu to decode anims
4979    * ecore_x: remove double free (CID 1135637)
4980    * Evas textblock: Fix crash with empty markups values
4981    * ecore_imf/wayland: Only call hide_input_panel on im_context_hide() (T237)
4982    * autotools: work around buggy macro to force C++ compiler detection.
4983    * ecore_evas/wayland: Update withdrawn property, and inform state_changed.
4984    * Evas/cserve2: Fix crash during shutdown
4985    * Evas: Fix crash in GL engine(s) during preload cancel
4986    * Fix opaque windows becoming transparent after hide() then show().
4987    * ecore_x: Fix buffer overrun (CID 1039584)
4988    * ecore_x: Fix bug in ecore_x_region_invert (CID 1039469)
4989    * ecore_x: Remove NULL check (CID 1039648 and 1039649)
4990    * ecore_x: supported isn't an optional argument (CID 1039430)
4991    * ecore_x: Only use att if call succeeds. (CID 1039692)
4992    * ecore_x: Only do memset if len < 20 (CID 1039311)
4993    * ecore_x: always free data and return value
4994    * ecore_x: Check if we have data (CID 1039264)
4995    * ecore_x: '\0' terminate converted text (CID 1039310)
4996    * ecore_x: Only send XdndEnter when we have types (CID 1039693)
4997    * ecore_x: Also check for !prop here (CID 1039429)
4998    * eldbus: Check return value of eina_value_pget (CID 1039685)
4999    * eldbus: use alloca to allocate local mem (CID 1039179)
5000    * eldbus: unref msg on error (CID 1039178)
5001    * eldbus: on error unref msg (CID 1039177)
5002    * eldbus: free allocated mem on error (CID 1039177)
5003    * eldbus: print error when fwrite fails (CID  1039715)
5004    * eldbus: Check return value of _type_size (CID 1039436)
5005    * eldbus: create object when needed (CID 1039287)
5006    * eina: Set it to NULL before next iteration (CID 1039913 and 1039914)
5007    * evas - fix overdraw + too many rects problem found in some expedite tests
5008    * efreet - fix recusrion checks need to pop as well as push.
5009    * ximmodule: fix issue the cursor of preedit shows the in front of preedit string
5010    * Fix raster bug report about elm window resize issue (content drawing outside the window).
5011    * Update the engine resize edge before we call ecore_wl_window_resize
5012    * efreet - protect efreetd from recursing too far to save overhead and mem
5013    * eina: improve cmp function of eina_hash string related hash.
5014    * Revert "eina: work around current strange behavior seen in eina_cow."
5015    * Revert "eina: check if the complete hash match before checking if the key match during children walk."
5016    * evas: fix loader to properly define _XOPEN_SOURCE for Solaris.
5017    * efreet: Create stack at start of recursion (CID1132751 and CID1132752)
5018    * efreet: Create stack at start of recursion
5019    * eina: work around current strange behavior seen in eina_cow.
5020    * evas/event - fix the inccorect event hit area.
5021    * evas: bugfix in evas_render of not maintaining changed flags on object correctly.
5022    * ximmodule: check whether pointer is NULL before accessing in xim_preedit_callback_set (CID 1135273)
5023    * ecore_evas/wayland_egl: Unset the surface on window hide.
5024    * evas/wayland_shm: Don't use a global var to store the sent buffer.
5025    * Revert "fix smart sma by allowing more recursion"
5026    * fix unchecked return value of stat in ecore_file_mv (CID 1039697)
5027    * textgrid - with new fallback fonts we cant depend on glyph extents  anymore
5028    * textgrid - out-of-bounds chars cause update artifacts - fix.
5029    * Emotion test: fix calculation of the displayed time.
5030
5031 Removals:
5032
5033 Changes since 1.7.0:
5034 --------------------
5035
5036 Additions:
5037     * Add --with-api=XXX (both|legacy|eo)
5038     * Evil:
5039      - Add mkdtemp.
5040      - Add evil_rename() a wrapper for rename().
5041      - Add strsep().
5042     * Eina:
5043      - Add DOCTYPE children parsing in eina_simple_xml
5044      - Add eina_barrier thread API
5045      - Add eina_tmpstr_add(), eina_tmpstr_del(), eina_tmpstr_add_length() and
5046             eina_tmpstr_strlen().
5047      - Add eina_thread API
5048      - Add eina_list_last_data_get
5049      - Add eina_xattr_fd_get(), eina_xattr_fd_set(),
5050            eina_xattr_del(), eina_xattr_fd_del(), eina_xattr_copy() and
5051            eina_xattr_fd_copy()
5052      - Add eina_stringshare_refplace()
5053      - Add eina_file_copy()
5054      - Add eina_log_print_cb_journald()
5055      - Add eina_list_shuffle()
5056      - Add eina_file_mkstemp()
5057      - Add eina_log_timing()
5058      - Add eina_inlist_first
5059      - Add eina_inlist_last
5060      - Add eina_str_convert_len() to work around broken eina_str_convert()
5061      - Add eina_file_dup()
5062      - Add eina_tiler_area_size_set(), eina_tiler_strict_set(), eina_tiler_area_size_get()
5063      - Add eina_file_map_populate()
5064      - Add eina_tiler_empty()
5065      - Add eina_file_virtualize() and eina_file_virtual()
5066      - Add eina_file_refresh()
5067      - Add eina_rectangle_is_valid(), eina_rectangle_max_x(), eina_rectangle_max_y(), eina_rectangle_x_cut(),
5068      eina_rectangle_y_cut(), eina_rectangle_width_cut(), eina_rectangle_height_cut(), eina_rectangle_subtract(),
5069      EINA_RECTANGLE_INIT, EINA_RECTANGLE_FORMAT, EINA_RECTANGLE_ARGS.
5070      - Add eina_f16p16_double_from(), eina_f16p16_double_to().
5071      - Add eina_swap16(), eina_swap32(), eina_swap64().
5072      - Add Eina_Spinlock API.
5073     * Eet:
5074      - Add eet_mmap()
5075      - Add eet_data_descriptor_name_get()
5076      - Add support EET_T_VALUE
5077      - Add EET_DATA_DESCRIPTOR_ADD_SUB_NESTED()
5078      - Add EET_DATA_DESCRIPTOR_ADD_MAPPING_BASIC()
5079     * Eo:
5080      - Add generic efl object infrastructure
5081      - Add debugging facility
5082      - Make eoid use mmaped tables from anonymous memory for safety.
5083     * Evas:
5084      - Add WebP image loader and saver modules.
5085      - Add ellipsis support in Evas_Object_Text.
5086      - Add EVAS_GL_LINE_OFFSET_HACK_DISABLE to turn off line shift correction by evas.
5087      - Add EVAS_GL_DIRECT_MEM_OPT to enable on-demand fallback memory allocation policy for EvasGL direct rendering.
5088      - Add engine specific alpha_get.
5089      - Add multiple output support API.
5090      - Add buffer age support to gl for automatic partial redraws.
5091      - Add GLX_MESA_release_buffers suppport to release unused buffers.
5092      - Add multiple font draws support to engines
5093      - Add Cserve2 scalecache support
5094      - Add evas_object_image_source_clip_set()/get()
5095      - Use eina_file_virtualize() for evas_object_image_memfile_set().
5096      - Change mapping policy for image loader.
5097      - textblock: Use max ascent/descent at the edges of the textblock.
5098      - textblock: Make the ellipsis format the same as the surrounding.
5099      - Add interceptor for focus_set.
5100      - Evas font: Use our own fontconfig configuration so we don't get affected by changes made to the default fontconfig configuration.
5101      - Evas font: Make the evas_font_path_* functions apply to fontconfig searches.
5102      - Add JPEG 2000 loader.
5103      - Evas textblock: Use correct font underline properties when drawing underlines.
5104     * Ecore_X:
5105      - Add window profile support.
5106        ECORE_X_ATOM_E_WINDOW_PROFILE_SUPPORTED
5107        ECORE_X_ATOM_E_WINDOW_PROFILE
5108        ECORE_X_ATOM_E_WINDOW_PROFILE_CHANGE
5109        ECORE_X_ATOM_E_WINDOW_PROFILE_AVAILABLE_LIST
5110        ECORE_X_ATOM_E_WINDOW_PROFILE_CHANGE_REQUEST
5111        ECORE_X_ATOM_E_WINDOW_PROFILE_CHANGE_DONE
5112        ecore_x_e_window_profile_supported_set()
5113        ecore_x_e_window_profile_supported_get()
5114        ecore_x_e_window_available_profiles_set()
5115        ecore_x_e_window_available_profiles_get()
5116        ecore_x_e_window_profile_change_send()
5117        ecore_x_e_window_profile_change_request_send()
5118        ecore_x_e_window_profile_change_done_send()
5119        ecore_x_randr_crtc_info_get()
5120        ecore_x_randr_crtc_info_free()
5121        ecore_x_dnd_self_begin()
5122        ecore_x_dnd_self_drop()
5123        support for text/x-moz-url DND operations
5124      - Add atom related with indicator type. 
5125      - Add manual render code before deiconify
5126      - Add accessibility support.
5127        ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_BACK
5128        ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_SCROLL
5129        ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_MOUSE
5130        ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_ENABLE
5131        ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_DISABLE
5132      - add error messages for xlib
5133        ECORE_X_ATOM_XDND_DIRECTSAVE0
5134      - add ECORE_X_SYNC env variable for xlib backend
5135     * Ecore_Wayland:
5136      - Store global wayland interfaces in a globals list so wayland programs
5137        can bind to other non-standard wayland protocol extensions.
5138      - ecore_wl_globals_get()
5139      - ecore_wl_registry_get()
5140      - Add #ifdef __cplusplus to Ecore_Wayland.h so C++ programs can link to
5141        and use the API.
5142      - Add support for double and triple click.
5143      - Add ecore_wl_window_alpha_set/get().
5144     * Ecore_Evas:
5145      - ecore_evas_window_profile_supported_get()
5146      - ecore_evas_window_profile_set()
5147      - ecore_evas_window_profile_get()
5148      - ecore_evas_window_available_profiles_set()
5149      - ecore_evas_window_available_profiles_get()
5150      - ecore_evas_sub_ecore_evas_list_get()
5151      - Add infrastructure to handle message between ecore and parent ecore in Ecore_Evas.
5152      - Add window profile support to ecore_evas_extn.
5153      - Add window profile support to ecore_evas_buffer.
5154     * Ecore_Getopt:
5155      - Add ECORE_GETOPT_ACTION_BREAK
5156     * Ecore_audio:
5157      - Add PulseAudio backend.
5158      - Add Alsa backend.
5159     * Ecore_Input_Evas:
5160      - Add infrastructure to handle buggy touchscreen.
5161     * Edje:
5162      - textblock: Added support for size_range.
5163      - table: Added spread.{w,h} to repeat and automatically name an item in a TABLE part.
5164      - add embryo fill support for proxy parts
5165      - entry: Added selection handlers.
5166      - Add edje_object_part_text_input_panel_layout_variation_set/get API
5167      - Add EDJE_INPUT_PANEL_LAYOUT_DATETIME layout
5168      - support edc proxy.source_visible, proxy.source_clip
5169      - support edc map color set
5170      - Add threshold support to Edje draggable part.
5171      - Reduce load time of Edje_Object using Evas_Object_Textblock and many styles.
5172      - Add edje_object_mmap_set.
5173      - Fix play sample parameter checking.
5174      - Add border information to Image sets.
5175     * Eeze:
5176      - Add a dummy libmount replacement for when libmount is not there.
5177     * Ecore_Con:
5178      - Add systemd socket activation support (ECORE_CON_SOCKET_ACTIVATE).
5179     * Ecore:
5180      - notify systemd that we are ready as soon as the main loop is running.
5181      - automatically support Watchdog.
5182     * Ecore_Imf: 
5183      - Add ecore_imf_context_input_panel_layout_variation_set/get API
5184      - Add ecore_imf_input_panel_hide API
5185      - Add ecore_imf_context_input_panel_event_callback_call, clear API
5186      - Add ECORE_IMF_INPUT_PANEL_LAYOUT_DATETIME layout
5187      - Add ecore_imf_context_input_panel_on_demand_set/get API
5188     * Eio:
5189      - Add eio_eet_sync symbols.
5190         
5191 Deprecations:
5192     * Ecore_X:
5193      - Old profile stuffs.
5194        ECORE_X_ATOM_E_PROFILE
5195        ECORE_X_ATOM_E_PROFILE_LIST
5196        ecore_x_e_window_profile_list_set()
5197        ecore_x_e_window_profile_list_get()
5198        ecore_x_randr_crtc_gamma_ramp_size_get()
5199        ecore_x_randr_crtc_gamma_ramps_get()
5200        ecore_x_randr_crtc_gamma_ramps_set()
5201     * Ecore_Evas: deprecate DirectFB, XRender, WinCE, X11-16 and X11-8.
5202     * Eeze: deprecate libudev<148 and libmount<2.18
5203
5204 Removed:
5205     * Evas:
5206      - Remove support for DirectFB, XRender, WinCE, Glew, Direct3d, X11-16 and X11-8.
5207      - Remove svg loader from inside the tree.
5208     * Ecore_Evas:
5209      - Remove support for DirectFB, XRender, WinCE, Glew, Direct3d, X11-16 and X11-8.
5210     * Ecore_DirectFB:
5211      - Removed
5212     * Eina error status:
5213      - eina error status from efl now don't also report error in addition to return.
5214
5215 Improvements:
5216     * EFL:
5217      - Single EFL tree covering all EFL library components.
5218      - All efl object-freeing functions now take NULL without crashing or erroring
5219      - Use the right macro to disable fcntl.
5220     * Translations updates:
5221      - french.
5222     * Eina:
5223      - Speedup Eina Rbtree Iterator by recycling memory instead of
5224        repeatedly calling malloc/free.
5225      - eina_magic_fail() now throws error messages on NULL pointers instead of critical
5226      - Eina.h includes eina_alloca.h/alloca.h to define alloca()
5227      - Faster eina share del.
5228      - Don't over align data if they are already aligned.
5229      - Eina_Tiler now take tile size into account.
5230      - Improve support for 64bits system.
5231      - eina_strlcat now work with a NULL source.
5232      - Use Eina_Spinlock for eina_log, eina_stringshare and chained_mempool.
5233     * Eet:
5234      - Display more information with eet -l -v.
5235      - Force thread to always run during eet_cache_concurrency test.
5236      - Use Eina_Spinlock for locking dictionnary instead of Eina_Lock.
5237     * Evas:
5238      - Reduced number of enqueued font commands when rendering textgrid objects
5239      - Use Eina_File in webp, gif, tiff, png and eet loader
5240      - Upgrade liblinebreak to latest version of libunibreak.
5241      - Improved support for 64bits system.
5242      - GL engine downscale quality in smooth mode much improved with multisampling up to effectively 16x16 via shaders.
5243      - Textblock: Added proper size adjustments for "high" shaped texts.
5244      - Textblock : Added split cursor for BiDi text
5245      - Works around MESA/intel xorg bug where alpha channel of non-argb windows is not filled in with 0xff.
5246      - Update the map smart members really when it needs to render.
5247      - Reduce memory footrpint with evasgl to only make context on demand.
5248      - Reduce waiting on gl so it cvan fully run async from cpu.
5249      - GL engine don't map dri/drm buffer unless we are going to render.
5250      - GL engine get partial rendering support for several gl drivers.
5251      - Turn on scissors always to abe able to to partual render on some GL implementations properly.
5252      - Use eo array of callbacks to reduce callbacks memory footprint of Evas_Object_Box and Evas_Object_Table.
5253      - Optimized path for when map use the same color for all corner.
5254      - Asynchronous preload of GL texture.
5255      - Add neon assembly for upscaling and map routines
5256      - Use mmap/munmap for image data allocation on system that have mmap.
5257      - Add iterator for walking child of smart objects, table and a box.
5258      - Use Eina_Spinlock for Evas_ScaleCache, Evas_Async_Events and Image_Entry.
5259      - Allow fuzziness on the texture format returned by GL.
5260     * Ecore:
5261      - Use Eina_Spinlock for Ecore_Thread.
5262     * Ecore_Con:
5263      - Rebase dns.c against upstream
5264      - URL support now dynamically loads libcurl at runtime via eina_module.
5265     * Edje:
5266      - Entry: cursor position and location will be passed when it's really changed in case of mouse down, move, and up event.
5267      - Entry: remove ecore_imf_context_reset in mouse up event because it's useless.
5268      - Entry: remove ecore_imf_context_reset, cursor update in mouse move event because it's useless.
5269      - Entry: move ecore_imf_context_cursor_position_set from mouse down event to mouse up event.
5270      - Entry: remove ecore_imf_context_cursor_position_set in functions related to selection.
5271      - Entry: support &, < and > in preedit string.
5272      - Entry: remove duplicated ecore_imf_context_reset in adjusting the selection.
5273      - Entry: emits signals on keydown/up for theme to use.
5274      - Entry: move cursor to correct position when selection handlers are pressed.
5275      - Use ecore_audio in edje-multisense
5276      - Reduce memory consumption of Edje program handler.
5277      - Use Eina_Cow to reduce memory usage.
5278      - Use eo array of callbacks to reduce callbacks memory footprint.
5279      - Improve accuracy of part positioning by keeping rounding information as long as possible.
5280     * Ecore_Evas:
5281      - wayland-egl only renders now if last frame has been presented.
5282     * Embryo:
5283      - Use eina_file_mkstemp().
5284     * Ecore_Audio:
5285      - Use eo api to batch more
5286     * Evas: optimize proxy rendering. Rendering performance is increased up to 2x in some cases.
5287
5288 Fixes:
5289     * Eina:
5290      - Fix return value of eina_mmap_safety_enabled_set() and future
5291        eina_mmap_safety_enabled_get() returns after success.
5292      - Don't leak fd on exec.
5293      - Fix eina_xattr_value_ls() and eina_xattr_value_fd_ls()
5294      - Fix eina_prefix_new() with debian multilib without magic check file.
5295      - Prevent potential denial of service on eina_hash function.
5296      - Fix memleak in Eina_File.
5297      - Fix memory leak in eina_xattr_value_ls.
5298      - Fix magic failure in eina_value_array_count when array has not been allocated.
5299      - Fix issue when wchar_t is signed and eina_unicode does negative array lookups.
5300      - Fix eina_file_map_lines() to not drop of one character in the last line.
5301      - Fix a possible race condition during eina_file_close().
5302     * Eet:
5303      - Fix PPC (big endian) image codec bug.
5304      - Fix leak in eet_pbkdf2_sha1 with OpenSSL.
5305      - Fix possible buffer overflow in functions relying on EET_T_LAST
5306      - Fix endianess issue in Eet_Image.
5307      - Fix eet_mmap to use caches for lookup so it shares with everyone.
5308     * Evas:
5309      - Fix GLX native surface handling to use glXChooseFBConfig.
5310        This frixes a break in compositing on new intel mesa drivers.
5311      - Fix glGetIntegerv() in Direct Rendering mode for Evas GL
5312        to properly handle GL_SCISSOR_BOX and GL_VIEWPORT parameters.
5313      - Fix textblock textprop leak.
5314      - Fix evas_object_box to reset size_hint_min to zero when no child.
5315      - Don't leak fd on exec.
5316      - Fix polygon rendering bug in GL backend when there are cutouts.
5317      - Fix the gl line incorrect position drawing.
5318      - Fix potential segv in software engine native_set code.
5319      - Fix uninitialized data in Evas OpenGL engine.
5320      - Fix the line drawing clipping problem on arm gl driver.
5321      - Fix Evas RGBA_Image->flags.loaded for copied images.
5322      - Fix evas_object_image_is_inside()
5323      - Fix mask write lines to not choose too small segments.
5324      - Fix build of Evas XCB backend.
5325      - Fix evas bmp loader code which deal with image size.
5326      - Fix not up to date clip cache for Evas_Object_Text.
5327      - Fix a bug with breaking after format items in Evas_Object_Textblock.
5328      - Fix issue with line height when breaking on a format in Evas_Object_Textblock.
5329      - Fix SIGFPE in evas map update if image is 0.
5330      - Fix issue and simplified cursor_geometry_get in Evas_Object_Textblock.
5331      - Fix issue with horiz advance in Evas_Object_Text.
5332      - Fix issue with no-harfbuzz bidi in evas text utils.
5333      - Fix pixman surface alloc where allocated and image size differ.
5334      - Fix evas gif loader to return the correct frame duration.
5335      - Fix a selection issue with different scripts and bidi in Evas_Object_Textblock.
5336      - Fix bug not to display preedit string with PREEDIT_TYPE_NONE style in Evas_Object_Textblock.
5337      - Fix bug candidate word couldn't be selected with up/down key in the preedit status in Evas_Object_Textblock.
5338      - Fix Evas_Object_Text when LTR and RTL are used in the same paragraph.
5339      - Fix bug with the text object direction detection.
5340      - Fix font run detection for specific cases with 2 different fonts in the middle of a run.
5341      - 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.
5342      - Fix gles support to only use GL_UNPACK_ROW_LENGTH if extension exists.
5343      - Fix Evas_Map to not crash even if image size is 0.
5344      - Fix evas word start/end find in textblock to be consistent with other toolkit logic on the matter.
5345      - Fix evas buffer engine allocation with non alpha output.
5346      - Click on left/right half of char does matter now.
5347      - If OS/2 table is available and the font is demi-bold, don't do runtime emboldment.
5348      - Fix font source have wrong current size.
5349      - Fix over redrawing of Evas_Map when applied on smart object.
5350      - Fix a bug with cluster size calculation with texts ending with ligatures.
5351      - Don't update evas update area by the clipper if the image obj visible is changed.
5352      - Fix gif decoding bug related with background color.
5353      - Fix gif bug related with scale down decode.
5354      - Fix a bug with deletion of ranges that end just a visual format in Evas_Object_Textblock.
5355      - 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.
5356      - Fix evas gl_x11 in 16bpp and lower depths than 24/32 bpp.
5357      - Fix recursive proxy image rendering to just render black.
5358      - Fix line size calculation when using multiple fonts in a Evas_Object_Textblock.
5359      - Fix gif loader can't load image which has normal frames and error frames.
5360      - Don't try blend on gl backened if the render option is COPY.
5361      - Fix Evas_Object_Text line size calculation when using multiple fonts.
5362      - Fix crash if app use native surface in wrong engine.
5363      - Fix textblock to render pre again if it needs to relayouting.
5364      - Fix textblock ascent/descent calc to use superset of fontset data.
5365      - Fix evas gl partial swap to keep full renders if auto mode switching.
5366      - Fix memory leak in evas dri/drm swapbuf path.
5367      - Fix string leak in evas dri/drm swapbuf.
5368      - Fix evas proxy_unset of NULL image.
5369      - Fix slowness in glmap/unmap buffer by default in evas gl engine.
5370      - Fix evas segv on image del if loader is NULL.
5371      - Fix evas swapregion rect to account for rotation.
5372      - Fix "always scissor" to not break map in evas gl engine.
5373      - Fix nvidia texture from pixmap config depth match to be looser to avoid non-matches.
5374      - Fix evas gl engine to work in 16bpp nicely.
5375      - Fix native surface to be more anal about depth matching.
5376      - Correctly detect if a loader support asynchronous preloading.
5377      - Improve stability of Evas_Cserve2.
5378      - Fix gif cannot decode alpha value correctly.
5379      - Fix bs if app call image object update add after call api like fileset.
5380      - Fix evas_gl direct rendering to support partial redraw.
5381      - Fix issue with textblocks without fonts segfaulting.
5382      - Fix evas_common_convert_yuv_42* functions to actually return the converted data.
5383      - Fix jpeg loader cannot deal with exif information correctly.
5384      - Fix issue when parsing formats with quotes.
5385      - Fix infinite loop if app use ecore evas image
5386      - Fix a long-standing off-by-1 in the C "simd" multiplier.
5387      - Skip the map rendering if all points are transparent.
5388      - Evas bidi: Fixed a bug causing BiDi not to work in some cases.
5389      - Evas textblock: fixed an issue with markup_get and markup_to_utf8 behaving differently (markup_get was misbehaving).
5390      - 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.
5391      - Fixed the textblock format to be drawn according to the glyph's horizontal advance width.
5392      - Fixed the textblock set to context with the textblock object's render operation.
5393      - Evas textblock: Fixed order of tags inserted with markup_app/prepend.
5394      - Fix proxy render to update the proxies recursively. If a proxy has proxies, all the chainged proxies should be updated recursively.
5395      - Evas textblock: Fixed wrapping of lines ending with whites.
5396      - Evas: Fix the memory corruption introduced by evas fonts_zero.
5397      - Evas: If the line goes to the 0, 0 then it won't be updated. Now it's fixed.
5398
5399     * Ecore:
5400      - Don't leak fd on exec.
5401      - Fix fd handler increase issue when ecore_pipe_add/del is called repeatedly.
5402      - Fixed animator not working problem when source_set is changed back and forth very fast.
5403     * Ecore_Con:
5404      - Fix a memory leak in ecore_con_dns when using ecore_con_server_connect.
5405      - Don't leak fd on exec.
5406      - Fix ecore_con case where freeing server double-frees clients.
5407      - Fix memory usage of Ecore_Con_Server.
5408      - Clean up gnutls session initialization.
5409      - Fix use of ecore_con_*_flush functions with unconnected objects.
5410      - Fix setting of write flags on ecore-con servers during connect.
5411      - Fix use of ecore_con_server_client_limit_set() (counter never decreased).
5412      - Fix use of ecore_con_client_timeout_set() and ecore_con_server_timeout_set() that makes timeout on 
5413        connections even if you sent data.
5414      - Fix cl->start_time (initialization missing). So now
5415        ecore_con_client_uptime_get() is working.
5416      - Fix srv->start_time (initialization missing). So now
5417        ecore_con_server_uptime_get() is working for plain TCP connections.
5418      - Fix ecore_con_server_timeout_set(). It will now reset the timer.
5419     * Ecore_Evas:
5420      - Fix build of Ecore_Evas_Extn on Solaris.
5421      - Fix many memory problems with ecore_evas_extn.
5422      - Fix usage of underlying X window after it has received a destroy event
5423     * Ecore_X:
5424      - Fix possible memory corruption in xrandr EDID functions.
5425      - Fix x11 error sync issue with ecore_x_image_get().
5426      - Fix ecore_x_screen_is_composited/set() to work on multihead.
5427      - Fix ecore-x edid fetch to ftech 128, not 100 bytes.
5428      - Fix dangling pointer problem related with shmget fail.
5429      - Fix bug not check data value when get deiconify message.
5430      - Fix alpha set function not clear sync counter.
5431      - Fix selection parser to not overrun buffer read by using longs on 64bit.
5432      - Fix x11 selection trailing nul byte in text.
5433      - Fix BadMatch errors in ecore_x_image_get when requested size was larger than XImage size
5434      - Fix ecore_x_e_comp_pixmap_set to delete pixmap atom correctly
5435     * Ecore_Wayland:
5436      - Fix return type of function ecore_wl_outputs_get().
5437     * Ecore_Input_Evas:
5438      - Fix ecore_input_evas didn't check the device id of mouse event.
5439      - Check the state of last mouse event more properly.
5440     * Ecore-imf:
5441      - Fix crash when ecore_imf_context_del is called in ecore_imf_context_input_panel_callback_call.
5442      - Fix memory leak in scim immodule
5443     * Eio:
5444      - Don't leak fd on exec.
5445      - eio functions no longer crash when passed NULL and throw errors accordingly.
5446      - Fix bug in eio_file_map_new container set.
5447     * Edje:
5448      - Prevent a crash even if an invalid object is swallowed into an edje object.
5449      - Fix cache miss when active edje hash is empty.
5450      - Improved textblock part fit.
5451      - Fix anchor clicked mouse signals for selection-enabled entries.
5452      - Fix edje_color_class_list() and edje_text_class_list() to look at right hashes.
5453      - Properly report file not found in Edje.
5454      - Fix custom states for SPACER parts.
5455      - Fix edje program filters.
5456      - Fix bug scroll works when PgDn, PgUp, Home, End key in entry is pressed in preedit state.
5457      - Fix edje entry to respect filters and if input filtered out, don't clear selections.
5458      - When cursor is located to each edge, entry now doesn't grab events for cursor movement.
5459      - Fix useless ecore_imf_context_reset call in case of pressing ESC and Return key.
5460      - When selected word exists, selection is cleared and cursor remains on the current entry by additional key input.
5461      - Fix custom states for proxy parts.
5462      - Entry: return surrounding string until the start position of selection
5463      - Textblock: fixed issue with quoted formats.
5464      - Textblock: feep the text styles when new font by the text class is applied.
5465      - Lua: Stop leaking evas objects in Lua.
5466      - Fix edje min size calc to calc sub GROUP parts too.
5467      - Fix edje multisense segv (free non-malloced data from eet).
5468      - Fix some logic issue when using fixed point path.
5469      - Correctly set match flag of signal callbacks
5470      - Fix size calculation of flags of signal callbacks
5471      - Check for both Lua 5.1 and 5.2.
5472      - Fixed memory leak in the edje map color transition.
5473      - Add null checking for name of anchor and item in geometry get functions.
5474      - Fix use of eina_hash_pointer to actually look at the pointer value.
5475      - Fix to update map-enabled part when the edje object is moved.
5476
5477     * Efreet:
5478      - Fix desktop command parsing of https.
5479     * Emotion:
5480      - Fix memory leak in gstreamer_ecore_x_check.
5481      - Fix backend priority order.
5482      - Add two events to trigger webcam plug and unplug
5483     * Ethumb:
5484      - Fix memory leak in error case.
5485     * Eeze:
5486      - Fix sensors to not segv on shutdown.