==========
EFL 1.25.0
==========

Changes since 1.24.0:
---------------------

Features:

   * ecore-drm2: Add support for using page_flip_handler2
   * ecore-drm2: Add API function to return default depth

Fixes:

   * ecore_evas: only define these eina errors once
   * exactness: remove no longer needed _evas_new()
   * edje - don't set font sizes less than 1
   * ecore_evas_x - fix maximize/unmaximize request corner case
   * exactness_player: do not test for delay_ms
   * evas + gl - fix callback-to-app-changes-state issue with pixel data
   * canvas render: don't apply mask if the objects in the map.
   * evas_object_textblock: fix to free style properly by edje's style_user_pop
   * evas_vg_shape: return NULL in evas_vg_shape_add when the parent of shape is NULL
   * efl_ui_image: fix to call "clicked" smart callback when there is no img
   * ecore-x - ensure we fully look at all xkb events and refresh all binds
   * evas_vg_container: return NULL in evas_vg_container_add when the parent of container is NULL
   * ecore thread - feedback threads should not be background threads...
   * ecore_evas_wayland_common: keep the backword compatibility for wayland dnd handler
   * edje: fix animation memory leak.
   * canvas vg: fix dangling vector containers.
   * evas vg: clean up dangling instances
   * canvas vg: fix vector file data memory leak.
   * evas - csd and wl csd - fix alpha zeroing to avoid framespace junk
   * efl gfx_path: fix memory leak.
   * evas - genetic update regions smart merge - merge v adjacent regions
   * efreet - handle runtime relocation right with default XDG_DATA_DIRS
   * efl_ui_image: fixed elm_image_preload_disabled_set api is not working when it is called before file set
   * elm_image: keep backword compatibility for elm_image_file_set API when setting url file set twice
   * efreetd - cache - add more statinfo work around 0 mtime distros
   * elm_code: on newline ensure line number visible. (T2798)
   * elm_code: cursor visbility fix.
   * edje - fix edje_cc mis-re-iding images in image sets
   * efl_ui_image: remove the unnecessary code in efl_file_unload
   * win - x io errors really just have to exit, so call the iorr cb + exit
   * evas - render - dont crash is private data is null
   * eina vpath - fix windows ~username handling to only error when used
   * efl ui image - fix scal to fill - broken with non-rect src images
   * embryo: fix a integer(cell) overflow problem
   * elput - support libelogind.so.0 as well as libelogind-shared.so.0
   * edje - calce - really respect max image size for img sets
   * ecore - don't do anything with heap between fork and exec
   * evas - fix deadlock with sw async rendering calling cbs in post flush
   * ecore con - curl - fix error map to map right enum
   * eina - statgen (stat generation) - fix enable api to actually enable
   * evas - image cache - fix loading with skip head on to load changed files
   * evas_textblock: remove style padding from native width and formatted height
   * elm icon/thumb - fix handling of a wider range of video extns
   * edje - calc - handle swallow disappearing mid-calc due to callabcks
   * ecore drm - increase timeout for flips from 0.05 to 2.0 sec
   * docs: Correct the mismatched group name in Evas.

Changes since 1.23.0:
---------------------

Features:

   * eina: add comparison macros for Eina_Size2D and Eina_Position2D
   * ecore-wl2: Add API to find a window by surface
   * ecore-wl2: Add API to find a connected display given a name
   * ecore-wl2: Add API to return the compositor object from a given display
   * ecore-wl2: Add API to return window type
   * ecore-wl2: Add API to find a window by given surface
   * edje: Add text change signal
   * edje: add json file support feature

Fixes:

   * efl_ui/bg: unset finger_size multiplier during construction (T8304)
   * elementary: always use a font that matches our expectation for our test instead of the system one. (T8277)
   * doc: improve colorselector preview (T8304)
   * eldbus: properly call parent finalize during creation of Eldbus.Model_Method.
   * efl_ui/win: fix max size hint eval (T8304)
   * eet - fix loading eet files that do not have dicts (T8368)
   * evas/callbacks: emit hardcoded legacy smart callbacks always
   * elm/layout: add some workarounds to try handling legacy min sizes
   * ecore_evas/wl2 0 fux xdg close cb for window when it's closed remotely
   * wl egl - use platform get display
   * ecore-evas-wayland: Add handler to array
   * ecore_evas_wayland: Fix array step size
   * efl/timer: correctly handle recursion for timer processing
   * elm/genlist: trigger filter,done callback immediately if no filter queue exists
   * elm/genlist: fix "drag" smart callback
   * elm/genlist: set pan need recalc during item move on item position change
   * elm/genlist: fix item focus unregister on item move
   * ecore/timer: correctly handle recursive deletion of legacy timers
   * ecore-drm2: Fix issue of shifting 1 by more than 32bits
   * efreet - consider ctime changes as changes too
   * edje - box - calc min size correctly at start ...
   * vector svg: apply fill-opacity to graidents fill objects.
   * evas vector: initialize data member properly.
   * fix jpeg loading which freed the wrong ptr (T8497)
   * fix the wrong method signature for evas_textgrid
   * efl_ui/layout: fix multiple emissions of theme,changed during construction
   * ui image: fix scale_method expand behavior.
   * ecore-x - fix fallbacks to use capital X in lib name (T8543)
   * elm - widget - actually check object smart data return for no data
   * canvas vector: fix to refresh svg file of vector object.
   * evas - fix access-after-free where during destroy hash item not cleared
   * elm - fix filesel deferred unref to not crash
   * ecore_con - freebsd bind blocking workaround
   * elm win + ecore evas - fix csd stuff like base size and min sizing
   * evas - fix access-after-free number 2 (T8534)
   * elm win - fix client side move/resize req handling csd in x
   * edje - store original size in edje struct and dont exceed max size
   * evas - loaders - jp2k - re-enable in the build after it was lost
   * edje_entry: Add matching tag.
   * evas/events: fix multi-touch object targeting on touch down events
   * eo - fix - fix alignment of eo object class structs - it was wrong
   * canvas font: correct wrong masking length.
   * Efl.Gfx.Path: Fix condition of for loop in current search
   * canvas mask: fix incorrect render surface size.
   * canvas proxy: fix broken proxy source clipping function.
   * evas gl: clip rect with proper size.
   * canvas proxy: fix a missing case that proxy not updated properly.
   * evas_object_box: respect static clipper.
   * ecore evas x - on argb dont create unused 1 bit pixmap masks
   * emotion - webcam - fix segv on webcam plug/unplug and clean
   * ui textpath: update map before rendering begins.
   * elm icon/image efl ui image - respect aspect hints at all if set
   * elm icon/image efl ui image - respect aspect hints at all if set
   * elm_cnp: fix memory leaks
   * elm menu - fix segv on deletion/shutdown where parent was not done ok
   * canvas svg: fix memory leak.
   * ecore_wl2: EFL Wayland Build on FreeBSD (T8659)
   * ecore_file - address issue about false positive of finding a file in ./ (T8678)
   * evas gl - shader cache was needless losing and overwriting
   * efreet - work around conconforming apps putting startupwmclass in quotes
   * ecore-evas-drm: Fix broken init count

Removals:

   * emotion & evas: remove gstreamer 0.10 support
   * emotion: remove xine and vlc support
   * escape: remove library from tree
   * ecore_x: remove support XGesture extension
   * elocation: remove beta library
   * eeze: remove tizen module support from eeze sensor
   * evas3d: remove support for evas 3D which was a beta all along

Changes since 1.22.0:
---------------------

Features:

   * ecore-drm2: Add background_color to crtc atomic properties
   * ecore-drm2: Fill in crtc background color (if supported) during atomic commits
   * ecore-drm2: Add API function to set crtc background color
   * eolian: remove @nullable keyword
   * ecore-drm2: Add API to check if vblank is supported
   * eolian: remove param @nonull
   * eolian: rename @warn_unused and its associated API
   * eolian: initial versioning implementation
   * evas: enable setting any object as a clipper
   * eina/hash: add direct variants of list append/prepend functions
   * edje: improve user-defined data caching to handle data before file is set
   * edje: Add support for map zoom to use other part center.
   * efl_ui_textpath: introduce efl_ui_textpath_circular_set() interface.
   * efl_ui/layout_base: add "finger_size_multiplier" property (T8059)
   * evas: add 'has_fixed_size' property for canvas objects
   * efl/hints: add restricted and combined max size hints (T8122)
   * efl_ui_animation_view: introduce a new widget for controlling vector animation.
   * efl_ui: add scrollable_content mixin

Fixes:

   * remove vpath test for user dir the test was broken and fixing is insane (T7728)
   * tests - fix check header to always include eina due to windows
   * tests - remove one of the eina strtod tests as libc is failing
   * ecore_imf: do not loop forever on shutdown when there is no more a display
   * efl_ui_list: fix to delete sub objects in efl_object_invalidate
   * efl_ui_widget: Fix disabled set calling without meaning. (T7799)
   * evas - fix crash/junk pixel content but with tiled rotate at 270 + neon
   * ecore-drm2: Make atomic property values support uint64_t
   * evas image: check format more strong way for wbmp.
   * elm_atspi_bridget: Fix resource leak (CID1399424)
   * elput: Remove useless call to eldbus_message_unref
   * efl_core_command_line: Fix resource leak (CID1399105)
   * ecore-evas-x: Fix double free (CID1382851)
   * static_libs/vg_common: Fix resource leak (CID1382215)
   * elm_theme: Check the ref count to delete or unref.
   * elc_hoversel: Fix crash when no sd->last_location
   * ecore drm2 - fix timeout in case case called from thread
   * eina_test_file: Fix memory leak (CID1401072)
   * efl_check: Fix memory leak (CID1401070)
   * elm_test_widget_focus: Fix memory leak (CID1401069)
   * emile_test_base64: Fix resource leak (CID1401062)
   * evas_test_mesh: Fix memory leak (CID1401009)
   * eina_test_binbuf: Fix memory leak (CID1401004)
   * efl_ui_test_widget: Fix memory leak (CID1401003)
   * efl_ui_test_widget: Fix memory leak (CID1400844)
   * eina_bench_stringshare: Fix resourcce leak (CID1400975)
   * evas_test_image: Fix resource leak (CID1400945)
   * eina_test_file: Fix resource leak (CID1400926)
   * eldbus_test_eldbus_message: Fix resource leak (CID1400921)
   * efl_ui_test_widget: Fix memory leak (CID1400889)
   * emile_test_base64: Fix resource leak (CID1400868)
   * efl_ui_test_widget: Fix resource leak (CID1400857)
   * emile_test_base64: Fix resource leak (CID1400852)
   * ecore_test_ecore_file: Fix resource leak (CID1400825)
   * efl_ui_test_widget: Fix resource leak (CID1400824)
   * emile_test_base64: Fix resource leak (CID1400820)
   * emile_test_base64: Fix memory leak (CID1400815)
   * eina_test_ustr: Fix resource leak (CID1400784)
   * eina_test_tiler: Fix resource leak (CID1401068)
   * eo_test_manager_xattr: Fix resource leak (CID1400953)
   * eina_test_strbuf: Fix resource leak (CID1400952)
   * evas_object_textblock: Fix binary search fail.
   * eolian: refactor parsing API and path handling (T7820)
   * evas/image: fix broken auto_fill mechanism when manually changing fill
   * elm_test: fix some bugs in elm_image tests
   * ecore-evas-drm: Check if vblank is supported
   * benchmarks: Fix copy-paste error (CID1401052)
   * evas/render: fix proxy clipping when source_clip is disabled
   * elm_color_class: use legacy event for genlist selection
   * efl_ui_focus_manager_sub: handle manager change when tree is set to unfocusable
   * edje/calc: correctly handle swallow/group objects as clippers for state clips
   * gl_generic: handle image orientation setting when texture has not been created
   * ecore/timer: fix handling of timer freeze during construction
   * edje/load: (more) correctly handle part updates after changing edje group
   * efl_canvas_layout: permit part_type_get on invalid parts
   * eina/prefix: ignore magic files when running in tree
   * efl_ui_focus_manager/calc: handle redirect setting if no previous redirect set
   * elm/layout: do not trigger sizing eval on subobj deletion if no resize_obj set
   * elm/layout: do not trigger sizing eval at end of canvas_group_add
   * elm/colorselector: return early from theme apply if object is not yet finalized
   * elm/diskselector: fix handling in theme data setup
   * elm/diskselector: trigger sizing eval during theme set only if finalized
   * elm/entry: use edje functions directly for interacting with edje objects
   * elm/gengrid: handle cache item deletion without errors
   * elm/gengrid: more null checks for setting mirrored state during construction
   * elm/gengrid: handle focus events when no previous focus item was set
   * elm/hovers: don't trigger more errors when setting null hover parent
   * elm: fix value of datadir when running in tree
   * elm/map: ignore zoom events during construction which cannot be handled
   * elm/slider: avoid emitting double events when range slider value changes
   * elm/slider: check for interval/range state before using that functionality
   * efl_ui/button: check icon swallow existence before getting its content
   * ecore-evas: check for internal evas presence before using it during free
   * ecore-x: protect ecore_x_shutdown from creating a negative init count
   * efl/io_model: check for parent object existence before removing wref
   * eldbus: don't print warnings for user-canceled calls
   * efl_ui/check: check icon swallow existence before getting its content
   * efl_ui/image: check image object existence before using it in sizing
   * efl_ui/layout: do not trigger sizing eval on hint change if object is dead
   * efl_ui/layout: do not trigger sizing eval on subobj delete if layout is dead
   * efl_ui/layout: only freeze internal layout during delete if it exists
   * efl_ui/progressbar: check for part existence before using parts
   * efl_ui/video: do not set 0x0 aspect hint
   * efl_ui/widget: skip updating access info during parent_set(NULL) if dead
   * elm/fileselector: return early in theme_apply during construction
   * elm/popup: remove del callback for internal table object during destruction
   * elm/code: check for cursor layout existence before emitting signals to it
   * elm/gengrid: trigger unrealize event after unsetting unrealized flag
   * elm/gen*: only call focus_object_setup_order_non_recursive if realized
   * elm/genlist: unify all creation of calc jobs, skip if genlist is dead
   * elm/genlist: trigger unrealize event after unsetting unrealized flag
   * elm/genlist: handle cache item deletion without errors
   * elm/genlist: handle genlist finding of nearest visible item when not realized
   * elm/index: create event_rect[0] earlier in construction
   * elm/interface_scrollable: return immediately from setting region if no content
   * elm/list: return early from min_limit_cb if list object is dead
   * elm/map: move setting initial zoom to later in construction
   * elm/scroller: return immediately from updating focused scroll region without content
   * elm_widget_item_static_focus: check for adapter existence in unrealize cb
   * emotion: don't update crop clipper geometry if crop clipper doesn't exist
   * ecore-imf/xim: only call ecore_x_shutdown if init was previously called
   * elm/gengrid: handle gengrid finding of nearest visible item when not realized
   * elm/fileselector_button: null fileselector model pointer on delete
   * gl_generic: directly copy existing image when changing orientation
   * theme: fix fileselector search button layout
   * efl sel manager - flush wl conenction in cnp to avoid hangs...
   * ecore_x - restore move event skipper that was removed long ago
   * efl_ui_textpath: fix a center align but that doesn't happen at text_set().
   * evas vector: set proper parents of clone objects.
   * evas svg: fix missing node opacity attribute.
   * elm - cursor - clear cursor job late to avoid crash
   * edje - double make sure edje messages are zero'd due to a segv i saw
   * ecore: also error when trying to add an event handler for a type 0 event
   * edje: fix reapplying markup text on file/group change
   * elm_actionslider: fix internal state when programmatically changing value
   * elm/scrollable: avoid unnecessary edje recalcs
   * evas/box: avoid triggering smart_move callback
   * ecore: avoid breaking next main loop start if quit occurs outside of loop
   * evas: fix type checking of Evas pointers in legacy functions
   * evas/map: permit evas_map_free(NULL)
   * ecore wl2 - fall back to shm if dmabuf fails in buf init
   * ecore_evas buffer: fix a deadlock issue.
   * efl_ui_widget: add safety checks to verify parents aren't being added as children
   * [elm] Add missing sizing eval hook at radio
   * [elm] Add missing sizing eval hook at check
   * elm/glview: fix glview to (again) return null if context creation fails
   * elm_test/plug: fix error handling
   * elm/ctxpopup: check list existence before trying to delete list items
   * efl_ui/popup: implement efl.file.unload for popup backwall part
   * efl_ui/popup: unset callbacks on win object when parent is removed
   * elm/config: monitor MODIFIED events on config files
   * elm/config: fix config usage with EFL_RUN_IN_TREE set
   * edje/calc: clamp part calc size to 0
   * efl_ui: always set restricted_min size hints internally (T8059)
   * evas events - fix segv if pointer data is freed by cb
   * efl_ui/flow.box: fix item calc with mixed weights
   * elm toolbar - fix packing options at start to avoid visual layout bugs
   * elm toolbar - fix toolbar item separators and refactor aling/fill of item
   * evas - gl_drm - delete old surfaces before creating new ones
   * efl_ui_textpath: clear up path data when it's destructed.
   * evas - png loader - fix leake in error case of pixels (CID1403027)
   * elm - dnd - fix drop target del to not nuke handler all the time
   * elm hoversel - avoid crash when items modified while popping down
   * evas svg: fix svg spec compatibility.
   * elm/hoversel: avoid calling api functions on null hoversel objects
   * edje signal matches/patterns - handle re/alloc errors and missing ptrs
   * edje - handle errors and eina file handles and vpath properly
   * elm theme - handle error cases and eina file handles properly
   * evas - font rendering - dont crash if we have color fonts and gl and sw
   * eina file refs in edje/evas - audit them and plug holes where refs stay
   * edje - signal callback matches/patterns try fix number 2
   * emotion - webcam fix deletion of webcam still left in webcam list
   * efl/io: fix race condition with child model deletion
   * eio/poll: avoid ever dereferencing the backend's parent in a thread
   * edje signal - let's not crash if something odd happens
   * edje signal matches - try number 3 to try plug all the holes
   * scalecache - handle possible use after free with sci still in list
   * evas events: fix corrupted mouse events behavior on mapped object.
   * evas -gl engines - buffer age - bring back fix for changing buffer age
   * eio - don't call cb's after a cancel
   * elm sel mgr - remove event handlers when no drop targets are left
   * evas_vg: fix alpha animation bug in case of partial update
   * elm_popup: calculate the label min size of popup before the popup group calculation
   * vg_common_svg : Initialize "display" attribute
   * fix a bunch of breaks that having a blind file unload has brought
   * fix xpm loader to be threadable - fixes so much stuff...
   * efl: check file's mtime in efl.file::file_set to determine if file is the same
   * meson.build: allow to disable tiff evas loader
   * ecore/signal: also use nonblock for writing side of signal pipe
   * ector engine: +null checking.
   * ecore-x: fix null derefs in window prop code

Changes since 1.21.0:
---------------------

Features:

   * evas textblock: add/apply cursor cluster APIs based on grapheme cluster
   * efl_ui_spin_button: Addded direction feature.
   * scroller: refactory a momentum scroll animator
   * elementary textpath: support legacy APIs
   * elementary transit: add a convenient API.
   * elementary transit: add a new api - elm_transit_progress_value_set()
   * Text: add markup_range_get
   * Canvas layout: support more Efl.Text.* with efl_part
   * efl: Add support to elput for using elogind instead of systemd
   * eina: add locale-independent eina_convert_strtod_c function
   * elm perf tool - bring one back to efl
   * eina: add locale-independent eina_convert_strtod_c function
   * elm perf tool - bring one back to efl
   * efl gfx_path: introduce efl_gfx_path_reserve()
   * efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED
   * efl gfx_path: remove EFL_GFX_PATH_EVENT_CHANGED
   * gfx: Add size hint fill (EO) (T3912)
   * efl_app: add "standby" event (T5494)
   * edje_cc: fail upon detecting invalid part description references in programs (T7016)
   * elput: Add API to allow settings tap-to-click on pointer device
   * ecore_drm2: Add API to allow settings tap-to-click on pointer device
   * efl_ui_win: add 'exit_on_all_windows_closed' class property and unit test (T5494)
   * efl_ui_win: add 'exit_on_close' property and unit test (T5494)
   * eo: implement class overriding (+unit tests) (T7516)
   * eolian gen: initial support for reflection api
   * efl_ui_relative_layout: introduce new relative container (T5487)
   * eolian: introduce typed slice types
   * eolian: add support for inlist structs
   * eolian: remove support for inlist/inarray

Fixes:

   * build: fix rpath for binaries which use ecore-x dependencies
   * elm/genlist: remove conditional in _calc_job for verifying show_item code (T6368)
   * elementary image: don't calc size using empty ones.
   * evas image: fix screen flickering issue at partial + image preloading
   * edje_cc: change .mo file write location to be relative to the .edj file
   * theme: add programs for deferred naviframe push/pop signals
   * edje: unset internal _need_imf flag on shutdown
   * elm_panel: return instead of EINA_SAFETY_ON_FALSE_RETURN (T7265)
   * build: fix evas static build of gl engines
   * ecore/main: only update loop_time during loop iteration if the change is monotonic
   * evas gl: fix missing map texture target.
   * elm_code: fix crash on backspace and selection delete. (T7259)
   * ecore_wl2_dmabuf: Link with ecore_wl2 (T7327)
   * ecore_wl2_dmabuf: Depend on ecore_wl2 (T7327)
   * efl selection manager - avoid multiple selection get callbacks for req
   * evas image: fix a bug in image preloading.
   * evas canvas: fix null possibility of evas_object_above_get().
   * edje: Remove hack code
   * efl gfx_path: prevent buffer overflow.
   * ecore_main: fix the invalid return value
   * eina_vpath: fix the memory leak
   * elementary: remove meaningless memory allocation and leaking
   * elementary: fix memory leak from Efl.Ui.Layout.Object
   * evas gl: fix invalid image size.
   * elementary entry: apply scale to all edje objects
   * eina debug: fix a double unlock issue
   * elm_theme: fix return value when default style fallback is done
   * evas vg: fix memory leak.
   * devas vg: return default root node if possible.
   * evas vg: fix memory leak at gradient.
   * evas filter: remove critical messages from Evas Filter
   * elementary transit: fix wrong pausing time calculation.
   * Canvas text: fix line_jump_by logic
   * cxx: explicitly require c++11 and fix tests to conform
   * edje: fix an overflow issue for state values
   * evas textblock: remove white space after line-break by a next item
   * evas ector: fix memory leaks.
   * evas vg: update render properly.
   * ector software: make a pair of ref/unref.
   * evas gl: recover current program state.
   * ecore_evas - fix aninmator based frame render ticking to full framerate
   * ecore evas - buffer - init ecore event evas as many times as shutdown
   * eina: fix a build failure caused by missing 'locale_t' from OSX
   * ecore_con: handle timeout of the attempt to connect.
   * ecore_evas - fix aninmator based frame render ticking to full framerate
   * ecore evas - buffer - init ecore event evas as many times as shutdown
   * eina: fix a build failure caused by missing 'locale_t' from OSX
   * ecore_con: handle timeout of the attempt to connect.
   * evas gl - make GLintptr etc. also ndefed for GL_VERSION_1_5 fix typedef (T7502)
   * ecore-drm2: Fix drmModeSetCrtc call during fb flip
   * textblock: Fix crash with filters
   * edje - stop trying to access ready deleted exrt/group swallow objects
   * evas: remove memory leaks from deleted Textblock objects
   * elm - dnd - restore to working as drop targets
   * elm_config: Free data returned from eet_read
   * ui/flip: fix efl_pack usage
   * elm_entry: make file loading succeed on 0-sized files (T6562)
   * theme: fix odd state setting on some items for list/genlist/gengrid
   * theme: correct part name in program for elm/hover/base/main_menu_submenu/default (T6219)
   * theme: remove a ton of invalid part description references in various programs (T6873)
   * ecore-evas/extn: use evas from events when updating key masks (T5536)
   * edje: apply maps to textblock cursors and backgrounds (T4977)
   * ecore drm2 - work around kms/drm bug seemingly when no flip event comes
   * elm textpath: reduces differences between actual pos and modified pos
   * elm_map: Make more robust elm_map (T7443)
   * Fix leak in elm atspi
   * eina_file: set errno on open fail for win32 build
   * evas-gl-drm: Fix issue of rotation not actually rotating (T7690)
   * solve neon rotation issue by moving to the tiled rotator
   * eo: Fix missing varags cleanup (CID1399080)
   * efl_core_command_line: Fix logically dead code (CID1399106)
   * efl_ui_widget_common: Fix potential resource leak (CID1399088)
   * efl_ui_selection_manager: Fix unchecked return value (CID1399092)
   * evas_device: Fix dereferencing null pointer (CID1399091)
   * efl_ui_stack: Fix dereference null return value (CID1399082)
   * efl_ui_datepicker: Fix uninitialized scalar value (CID1397006)
   * efl_ui_grid: Fix dereferencing null pointer (CID1397000)
   * ecore_con: Fix dereferencing of null pointer (CID1396990)
   * elm_atspi_bridge: Fix resource leak (CID1399429)
   * efl_ui_win: Fix dereference null return value (CID1399428)
   * efl_ui_win: Fix dereference null return (CID1399427)
   * efl_ui_win: Fix dereference null return (CID1399426)
   * efl_ui_win: Fix dereference null return value (CID1399425)
   * efreet: Fix resource leak (CID1399090)
   * efl_ui_text: Fix resource leak (CID1396998)
   * eldbus: Fix dereference after null check (CID1399422)
   * efl_ui_focus_manager_calc: Fix resource leaks (CID1396984, CID1396965)
   * elm_focus_legacy: Fix resource leaks (CID1399096, CID1399095)
   * eldbus: Fix resource leak (CID1399097)

Changes since 1.20.0:
---------------------

Features:

   * evas: Make all EO canvas objects visible by default
   * Eo: Allow multiple functions overrides (T5580)
   * eo: Add debug_name read-only property to ease debugging
   * evas/edje/elm: Override debug_name in core classes
   * wayland: add efl-hints protocol for setting aspect on surfaces
   * efl-wl: support min/max hinting
   * efl-wl: add handling for external protocol interfaces
   * edje - add embryo echo command for debugging
   * layout: Implement missing edje APIs (T5315)
   * ecore-wl2: Add support for Window Iconify State Change
   * ecore-evas-wayland: Add handler for Iconify State Change event
   * efl: Introduce Efl.Ui.Direction interface (T5870)
   * Efl.Ui.Panes: implement allow_user_size_hints on parts (T5359)
   * Efl.Ui.Panes: rename left/right_size_set to split_ratio (T5359)
   * efl-wl: add EFL_WL_DEBUG env variable for enabling wayland debug
   * efl-wl: add functionality for extracting surfaces for external use
   * elput: Add API to set pointer acceleration speed (T4736)
   * ecore-drm2: Add API function to allow setting pointer acceleration speed (T4736)
   * ecore-drm2: Add API to allow setting pointer acceleration profile (T4736)
   * Introduce text on path widget
   * eina: Add convenience eina_rectangle_equal
   * evas textblock: support ZWJ, ZWNJ, LRM, RLM in escaped form
   * evas: Add EO API to get clipper in smart object
   * evas: Add group_member_is to smart objects
   * efl: Introduce Eina.Rect and switch EO APIs to it
   * efl_ui_image: add new scale type: EFL_UI_IMAGE_SCALE_TYPE_TILE
   * Canvas text async: add async layout functionality
   * Ui text: add Efl.Ui.Text_Async object
   * edje: Add part_type_get API
   * ecore exe - add an "isolate io"f lag for sending io to /dev/null
   * evas: Add scale feature for embedded bitmap fonts.
   * eo_debug: Enable logging of all ref/unref
   * eo: Add API to allow deletion by unref
   * Efl text: add Efl.Text.Markup interface
   * evas: Implement support for different H/V font DPI
   * elm_config: add offline and powersave config members
   * efl_wl: add function for returning the evas object for an extracted surface
   * wayland: add support for efl weight hint propagation from elm_win to efl_wl
   * evas textblocke: add align=end for putting a text at the opposite side of LTR/RTL
   * eina: eina_value - Add "struct tm" support (T6204)
   * edje_cc - add offset_scale/offscale per desc to allow offsets to scale
   * Genlist Item Pin Feature (T6241)
   * saver/svg: parse loaded tree data into svg XML file and save it
   * build: improve configure accessibility
   * eolian: Add API's for part enumeration
   * evas filters: Add "alphaonly" flag for blend and blur
   * elm: Add "shadow" part to all widgets
   * efl-wl: add function to get the parent of an extracted surface
   * ecore_imf: Add transaction start and end event callback
   * entry: Add autofill hint
   * eo: Add "destruct" event
   * efl-wl: move to xdg-shell vfinal
   * wayland: add xdg-shell vfinal support for client-side
   * Canvas image: add Efl.Canvas.Textblock.Factory + use in Ui.Text
   * efl-wl: add functionality for directly passing through xkb objects
   * ecore-x: add more info to Ecore_X_Event_Xkb event
   * ecore-x: add some useful xkb function wrappers
   * eolian: deferred parsing of inherits + better static checks
   * ecore: add function for prepending an event handler
   * efl-wl: add functions for managing allowed client pids
   * efl-wl: add function for passing ecore-exe flags to launched exes
   * ecore-drm2: Add API functions to get/set output relative mode
   * efl-wl: send surface enter/leave based on compositor object visibility
   * ecore-drm2: Add API to get/set which output is relative to another
   * ecore-drm2: Add API function to retrieve output user data
   * edje: add ability to reference images from other edje files
   * eolian: add API to query information about Objects
   * eolian: clean rollback support
   * evas: apply fribidi bracket types to show paired bracket properly
   * efreet: add method for disabling efreetd connection
   * efl_ui_spin: Added special value feature.
   * elm_entry: add elm_entry_prediction_hint_hash_set/del API
   * edje_cc: add option for verifying namespace usage (T6911)
   * eio: add method for setting the global file polling rate for fallback monitors
   * eina_debug: add function to reset debug subsystem after fork
   * eio: add method for determining if a monitor is using the fallback mechanism
   * edje_cc: add 'skip_namespace_validation' keyword (T7072)

Fixes:

   * ecore-wl2: pass display to aux hint event_adds
   * ecore-wl2: don't send null set_parent requests for every window
   * ecore-wl2: sync aux hints after window creation
   * efl-wl: block connection attempts from unmanaged clients
   * wayland: fix min/max size setting
   * efl-wl: do shm pool ref/unref for bm safety
   * ecore-evas-wayland: update size when size hints are changed
   * efl-wl: add handling for commit during canvas render
   * efl-wl: set cursor surface roles
   * theme: clip start gadget arrow to intended clipper
   * edje crash with run program references - fix
   * Allow to override build date (T5495)
   * elm_win: simplify/fix recalc logic when changing csd
   * elm_win: set shadow geometry based on borderless state
   * elementary cursor: remove a warning message from Wayland supports
   * elm: Add missing undef EAPI to Elementary.h
   * ecore glib support - if we are not the main ctx owner loop to acquire
   * evas: Fix crash in E (T5868)
   * eolian: implement proper return type serialization (T5024)
   * eo: Check refs in efl_data_scope_safe_get (T5869)
   * wayland: fix xdg-shell popup windows
   * efl-wl: use correct accessor method for keyboard resource hash
   * elm_widget: do not reparent subobjs to top widget for non-elm objects
   * efl-wl: always dismiss popups on hide
   * efl-wl: handle case where eglBindWaylandDisplay fails
   * ecore: always set delete_me before removing fd from poll
   * efl-wl: initialize seat keymap fd to -1
   * ecore_evas_extn: Fix socket & plug windows
   * elm_test: Fail nicely if plug can't connect
   * evas: make top object returning functions return the top object
   * theme: handle e dialog sizing when no buttons are present
   * wayland: fix num/caps lock handling in events (T5737)
   * elm segment control: delete event cbs on obj delete.
   * glview: Fix ALWAYS render policy
   * elm_box: Fix support of aspect hints (T5888)
   * theme: fix dialog sizing when no buttons are present
   * edje: Fix warning message
   * efl_ui_clock: Parses the format recursively.
   * photocam: Fix key zoom in/out
   * elm init - fix init seq and quicklaunch as we shut down x before evas
   * ecore-wl2: normalize axis event values (T5427)
   * efl-wl: match nested wl seats based on display ordering
   * elm_win: update opaque region for fake windows
   * elm_win: check for wayland engine during finalize by checking for wl win
   * efl_ui_image: maintain geometry for prev image while preloading new image (T5936)
   * access: Fix crash in ecore
   * Canvas text: fix non-dirty paragraph width calculation (T5939)
   * evas: fix invalid return of evas_textgrid_cellrow_get()
   * eina file - use recursive locks for cache and file to avoid deadlock
   * eina mmap safety - only map zeropages if it's an eina file that sigbuses
   * multibuttonentry: Separate selected item and focused item logic.
   * efl_ui_clock: Add 'O' character to ignore POSIX alternative format in format.
   * elm focus manager - dont leak child lists when updating focus order (T5800)
   * elm focus manager - dont leak child lists when updating focus order (T5800)
   * eina_array: Fix magic checks to return
   * evas: handle object names with a list hash
   * evas: fix event grabber child stacking
   * ecore_exe - fix failed finalize fork to reutrn NULL not ecore_exe_free
   * evas: proceed glyph iterator to handle next index properly
   * evas_thread: only join the thread if the thread is still alive (T5245)
   * filters: Safety++
   * cxx: generate a constructor with a parent and a lambda function (T5980)
   * evas: don't search other fonts only for INHERITED script unicodes
   * edje: Add legacy compatibility code (T5944)
   * evas box - fix longstanding bug where min size is miscalculated
   * ecore exe - fix fix  malloc fail handling
   * efl net - adapt to openssl 1.1.0 changes with tls method support
   * eina: prevent memory corruption in chained mempool
   * efl net http - fix protocol error handling to not crash and handle it
   * flip: Fix invalid use of EOAPI in legacy header
   * eina file: Fix map_populate on the global map
   * eina file: Ensure populate is safe to call
   * elm image: Fix async open to avoid multiple mmap
   * Entry: use _edje_seat_name_get to get the seat
   * edje: Fix invalid storage of efl_part objects (T6032)
   * efl po files - fix LTR/RTL translation string to be correct for langs
   * efl ui layout - handle content unset properly and remove the unset item
   * hover: Fix hover parts usage
   * ecore-x: reject successive MappingNotify events if they are identical
   * elm hoversel - fix alignment in ephoto (T6078)
   * evas textblock: use primary font's size as minimum size of a line
   * elm: Fix module load with ELM_RUN_IN_TREE
   * elm: Properly unregister providers on shutdown
   * evas: Fix shutdown of async cmd cache
   * eo: Fix crashes with call cache after init cycle
   * elm: Delete atspi root object on shutdown
   * ecore: Reset do_quit when ecore shuts down
   * elm: Fix shutdown of atspi (unregister handlers)
   * evas textblock: use main font's ascent/descent as minimum value
   * evas: Fix dangling references with input devices
   * eo: Fix unnecessary ERR logs with eo_debug
   * eo: Allow efl_reuse to be called with a parent
   * evas ector gl - fix leak of image data on data put (CID1374645)
   * evas font: check returned value of FcPatternGet function
   * edje entry: fill content info when text is deleted by imf event
   * ecore-file: do not emit events when an inotify watch is removed
   * elput: Fix issue of pointer rotation not being set on startup
   * eolian-bin: Free previously allocated eina_strbuf (CID1381502)
   * evas-gl-common: Fix dereference after null check (CID1374272)
   * evas-gl-image: Fix dereference after null check (CID1374273)
   * elementary: passing NULL to variadic funtion can be undefined.
   * eet: wrong comparision to less than zero with unsigned integer.
   * evas: there is no effect of variable assignment outside the function.
   * efreet: unsigned int cannot be compared to less than zero.
   * emotion gst1 - handle null imagwe data returrn and dont crash
   * eina: same expression on both statement.
   * eina: comparing less than zero with unsigned long int
   * emile: comparing less than zero with unsigned interger.
   * ephysic: comparing with same statement.
   * evas: there is no effect of variable assignment while clean up.
   * emotion: Properly unmap video frame
   * efl_ui_bg: fix ELM_BG_OPTION_CENTER bg in left top side.
   * edje_cc: fix a memory leak issue when edje_cc writes images
   * evas gl generic/common - add more linking for gles mode to fix deb build (T6158)
   * jp2k module - dont print ERR on llading if format wrong
   * edje_edit: duplicate assignment to variable.
   * ecore_wayland: fix assigned value is never used.
   * ecore: remove doxygen warning messages
   * win: Do not forward all key events on win (legacy) (T6148)
   * evas: Prevent crash with image_data_get (T5957)
   * elm_code_widget: make sure the widget is cleared properly. (T6185)
   * ecore_wl2: Remove just the flush from the idle handler (T6250)
   * elm_tooltip: set parent window for windowed tooltips
   * efl_wl: more closely follow wl spec for input regions
   * efl_wl: destroy extant shell surface upon surface deletion
   * efl_wl: do not propagate hints to main widget for child surfaces
   * ecore-wl2: correctly handle configure events on popup surfaces
   * ecore_cocoa: fix the backspace key
   * edje_cc: fix errors in documentation
   * edje_cc: add missing default values to documentation
   * edje_cc: fix color2 and color3 descriptions
   * edje_cc: fix state.no_render description
   * edje_cc: parse "fixed" as bool
   * edje_cc: fix incorrect type in minmul defaults
   * edje_cc: fix color_class description
   * edje_cc: move part_remove and program_remove to group
   * edje_cc: fix default color_class colors
   * edje_cc: fix spelling
   * edje_cc: make bool parsing consistent
   * edje_cc: make color parsing consistent
   * edje_cc: move box and table properties documentation
   * edje_cc: limit map.zoom to non-negative values
   * edje_cc: fix text.align description
   * edje_cc: fix program.filter description
   * edje_cc: fix item.max parsing
   * edje_cc: fix parsing and documentation
   * ecore-drm2: Fix issue of not being able to set output mode
   * Efl.Ui.Radio: remove value{} api
   * edje: don't return negative width and height from _parts_extends
   * evas textblock: handle ellipsis when text's height exceed its area by "br"
   * evas-software-generic: Check for render engine function before calling
   * evas-wayland-shm: Do not dereference a potentially freed pointer (CID1381707)
   * emotion: Fix data race condition (CID1381624)
   * evas-object-main: Fix null dereference (CID1381710)
   * evas-object-main: Fix null dereference (CID1381711)
   * evas-object-main: Fix potential null dereference (CID1381713)
   * evas_vg_cache: load svg from any file, not from defined only
   * ector: use cairo_pattern_add_color_stop_rgba in gradient_radial
   * vg_loaders/svg: set up default focal values for radialGradient
   * efl_gfx_path: fix typo in _path_bounds_get
   * evas_vg_load_svg: default stop opacity color should be 255, not 0
   * evas_vg_load_svg: get rid of static Evas_SVG_Parsing
   * efl ui win - make win centering work with multiple screens (T6323)
   * eo - fix freeq usage to not use freeq for a vtable cleaning
   * efl_ui_radio: keep radio state when theme is changed
   * efl net - handle proxy helper fails better and abort proxy lookups
   * elput - re-enable switches (power buttons, lid etc.)
   * elm_code_widget: keep track of visibility.
   * Ctxpopup: resizing ctxpopup after its content is removed (T6327)
   * genlist: fix state corruption of content
   * Efl.Ui.Slider: add default indicator format to %0.2f
   * elm_genlist: fix rare segfault
   * elput: Remove unreachable code (CID1382857)
   * ecore-wl2: Destroy buffer before we exit the buffer_test function
   * efl_ui_bg: fix unclipped image on EFL_UI_IMAGE_SCALE_TYPE_NONE
   * eo - by default on 64bit only use 47 bits because of luajit
   * elm ifrace scrollable - fix uninitialized values on scroll asjust
   * ecore ipc/con: fix nasty ... they dont mutually exclude
   * efl_ui_bg: add Efl.Gfx.color_get.
   * eina_file: make sure we use a stringshare when virtualized. (T6449)
   * ecore-evas-drm: Check for XDG_SEAT existence (T6455)
   * efl_ui_text: apply new theme logic and use constructor/destructor
   * Efl.Ui.Popup.Alert: add message signal process function for scroller size calculation
   * elementary: Fix resource leak (CID1383549)
   * elementary: Fix resource leak (CID1383550)
   * elementary: Fix resource leak (CID1383551)
   * eina: Fix typo in doxygen
   * evas: Fix potential crash with draw context
   * eeze: Don't leak udev enumeration
   * eeze: Remove unused device variables
   * eldbus test - del not unref obj as it has a parent ...
   * eina: fix random segfaults when displaying BT
   * Elementary: fix makefile ignore efl_ui_theme edc's change
   * ecore_con: bug workaround SO_REUSEADDR and EADDRINUSE from bind (fix)
   * elm - scroll manager - fix up momentum animator code to use real consts
   * elm: fix memleak in combobox
   * emotion: unset DISPLAY when loading an engine under wayland (T6418)
   * ecore evas init - init ecore then evas not the other way...
   * fix evas test suite to now init both ecore and evas.... correctly.
   * ecore-drm2: Fix enabling outputs
   * ecore-drm2: return supported rotations if not using hardware
   * efl-wl: do not modify extracted surface visibility during commit (T6443)
   * elementary: Remove use of implicit declaration
   * evas sw generic - don't dlopen osmesa until first needed.
   * ecore_audio - don't about destruction because of failed sndfile load
   * elm_tooltip: force immediate hint recalc during tooltip creation if 0x0 size
   * elm_tooltip: immediately show tooltip if callback is set for obj under pointer
   * efl-wl: unset cursor role on existing cursor surface if new cursor is set
   * ecore_audio wasapi - fix ecore win32 handler deletion and destruction (T6607)
   * efl theme - fix bug in e init splash that would do hide anim 2x (T6619)
   * efl-wl: send more mouse buttons to clients
   * efl-wl: propagate surface activation back to parent if child is hidden
   * efl-wl: set event ON_HOLD flag when they are sent to a surface
   * efl-wl: remove some broken logic for activating toplevel parents
   * efl-wl: only send keyboard enter and activation for mapped surfaces
   * efl-wl: immediately unset a destroyed surface's cursor
   * efl-wl: only perform mouse-out operations for a seat if the mouse was "in"
   * wayland: always flush client display when protocol sends are pending
   * ecore-wl2: correctly translate spacebar keyname into key events (T6620)
   * ecore-x: perform internal shutdown on io error if callback is set
   * ecore-x: add more null checks for functions
   * elementary config: Fix to use ELEMENTARY_BASE_DIR for configure path
   * ecore-x: filter XkbNewKeyboardNotifyEvent before emitting ecore-x event
   * ecore-x: re-add implementation of ecore_x_connection_get()
   * efl-wl: fix no-op of setting keyboard enter on already-entered surface
   * efl-wl: unset kbd mods changed flag after sending modifiers
   * ecore: prune existing thread_join callbacks during ecore_fork_reset
   * edje_cc: make -thread option
   * Efl.Ui.Image: remove previous image when NULL is set
   * elm: call ecore_event_init() during init
   * ecore-file: make monitoring truly fork-safe
   * eio: make inotify monitors fork-safe
   * disable async mode (use sync mode) for ibus when keymap changes
   * ecore-drm2: Ensure output changed event is sent for removed outputs
   * eio: remove broken pid-based monitor reset copied from ecore-file
   * ecore-imf: do ecore-x init during ctx creation instead of module init
   * elm: call ecore_app_args_set() after quicklaunch fork
   * elm: remove ecore-x init from quicklaunch post-fork
   * elm progressbar - fix val set (T6697)
   * efl ui format - fix format checking to be correct (T6697)
   * edje - entry - fix empty item handling (T6668)
   * ecore-evas-drm: Use output viewport in ecore_evas_animator_tick calls
   * evas drm engines: Fix variable type for output
   * elementary: fix legacy widget type name for backward compat
   * ecore - fix fd handlers to also set read/write/err flags on hup's
   * ecore - loop handler - fix wakeup to reslect active flag mask
   * evas event_grabber: fix child ordering when adding non-top children
   * elm_datetime: Handle wrong param case for legacy.
   * elm: set default theme name internally when applying config
   * efreet_xml: make sure we unmap the right pointer. (T5949)
   * evas: increase offset by 4 to do work for next map points
   * efl_ui_multibuttonentry: maintainance legacy function type.
   * elementary: add missed type for legacy.
   * elementary: bg - keep file path and key string for legacy bg widget
   * ecore-wl2: Reduce calls to strlen
   * ecore-wl2: Check for valid string before passing to strlen()
   * genlist: fix "insane" order [BUG COMPATIBILITY] (T5938)
   * efl_ui_clock: Fix wrong target to compare with.
   * ecore ipc - fix flush to not lose messages
   * evas: fix Evas Map AA changes the alpha flag of an image issue. (T1975)
   * eldbus: call ecore_init in eldbus_init
   * efl selection - fix paste with multiple windows and filter by window
   * efl selection manager - handle multi window selections properly
   * evas - plug in dirty + pixels get hold in "is inside" for images (T6791)
   * elm - selection manager - fix string buffer handling and format types (T6284)
   * ecore: poll the thread pipe twice during shutdown
   * ecore: reduce pipe wait time during shutdown
   * edje: fix potential memory leak.
   * edje: fix potential memory leak.
   * ecore: fix a potential memory leak.
   * ecore ipc - fix send to skip data payload if null/0
   * evas - loading extension query - fix to not skip small extensions
   * efl selection manager - fix crashes when doing selections on non-x11
   * efl selection manager - fix anoyther binary buffer treated as string bug
   * efl selection - fix entry <-> plain text compy and paste in wl
   * efl selection - fix another binary buffer treates as string bug
   * efl selection manager - fix dnd end handling to only handle on dnd
   * efl selection manager - fix x11 cnp from entry to plain text conversion
   * edje: Dont append font source if fonts are not embedded in edje
   * edje edje_cc: fix memory leak.
   * ecore: fix a potential memory leak.
   * ecore_wl_dnd: correct wrong variable assignment
   * elm: resolve possible memory leak.
   * elm: resolve possible memory leak.
   * ector cairo: fix a memory leak.
   * elm: resolve possible memory leak.
   * elm: resolve possible memory leak.
   * elementary bg: allow NULL pointers in legacy usage
   * elementary: fix build on X11.
   * edje: remove recalc from content_get and text_get
   * ecore animator, x, vsync ecore evas restore x vsync to work again
   * evas: fix default return value of image-related legacy functions
   * edje: fix backward compatibility issue caused by legacy cursor funcs
   * ecore-evas-win32: set draw_block until the window receives a configure event (T6907)
   * efl_ui_image: add NULL check in elm_image_memfile_set() function
   * evas textblock: fix double free issue from user style push/pop and free
   * Evas textblock: fix wrong hyphenation issues with non UTF8 encoded dictionary (T3221)
   * edje: return proper value from the function.
   * elm_multibuttonentry: Fix to install eo header files
   * edje: Fix to support translation for textblock part
   * evas textblock: update format nodes when a Evas Textblock Style is updated
   * evas textblock: manage default style properly for new interfaces
   * efl_ui_tags: Fixed bug when setting format string.
   * evas: fix a map rendering problem.
   * elm_main: call _elm_config_shutdown() after loop_iterate()
   * efl_ui_win: fix wrong comparison in icon_object_set
   * elm_interface_scrollable: change return value for post events.
   * edje: don't give a wrong Edje data when an Edje object has group parts
   * elm_notify: remove allow_events_set call in destructor
   * elm_spinner: Spinner value adjust when round enabled.
   * elementary textpath: update Evas map when text is updated
   * elementary widget: fix to trigger object signal emit properly. (T6981)
   * evas engines: do not immediately free native surface when unsetting it (T6970)
   * edje_cc: fixup edje_collections_lookup hash ids during collection pruning
   * evas vg: fix broken vg rendering. (T6993)
   * edje: fix an issue "description.text.text" is not shown (T6997)
   * evas vg: get rid of memory leak.
   * ecore_evas: fix crash on free of smart data. (T6974)
   * eina_barrier: handle PTHREAD_BARRIER_SERIAL_THREAD return from barrier_wait
   * evas vg: fix broken morphing(interpolation) (T6996)
   * evas vg: fix another memory leak
   * efreet: mark efreet_menu_async_parse() deprecated. (T585)
   * eina_lock: do not set PTHREAD_MUTEX_ERRORCHECK on recursive locks (T1984)
   * eina_lock: modify mutex debugging to ignore recursive locks
   * eina_lock: remove locks from eina tracking list on free while thread debugging
   * eina: disable abort on shutdown when triggered by system monitoring thread
   * eet: handle decode failures as errors in variant decoding (T5379)
   * ecore - handle G_IO_ERR conditions for net sockets (T5725)
   * emotion_generic: clean up event handlers on fork failure
   * eina_threadqueue: fix spinlock destruction by using spinlock api
   * eina_threadqueue: add locking for variable used between threads
   * eina: call eina_threads_init from eina_debug_init
   * eina: prevent threads subcomponent from being shutdown while eina is active
   * eina_debug_bt: only enable SIGPROF handler when profiling is enabled (T7028)
   * Edje load: add safecheck for TEXTBLOCK-specific code path (T6279)
   * ecore_cocoa: fix ECORE_EVENT_KEY_DOWN/UP on MacOS. (T6944)
   * efl: Bump required libinput version for Elput
   * edje: fix text set/get issue without edje calculation
   * Edje: recalc edje before fetching the real part (T7057)
   * ecore/thread: track "no_queue" threads (T7041)
   * ecore_con: make dns resolver thread stop blocking when canceled (T7041)
   * elm/win: move trigger for "shot" to first pre-render callback (T6929)
   * eina/lock: add errno wrapping for backtrace() calls in thread debug blocks
   * ecore/thread: track "no_queue" threads (T7041)
   * ecore/thread: flush main loop threads during ecore_thread_wait()
   * eio/fallback: fix fallback shutdown when threads exist
   * eio/fallback: remove intermediate idler
   * eio/fallback: fix MODIFY event emission on base path when monitoring (T7042)
   * eio/fallback: mark all fallback monitors as fallbacks, not just for win32
   * eio/fallback: do not modify the children hash while iterating it
   * tests: cancel the timeout timer when cleaning up eio tests
   * evas map: check render condition more elaborately. (T6975)
   * Elm label: fix "horizontal_fixed" usage with different styles (T5382)
   * eet: set parent struct member when adding a child to a parent node (T4600)
   * Evas font: fix inifinite loop problem for fallback fonts
   * Evas font: add comparison for fallbacks in evas_font_desc_cmp()
   * Evas font: simplify fallback parsing step
   * Evas textblock: clear ellipsis item at start of layout (T6986)
   * elm_test: fix invalid read in dnd image drop
   * ecore-con/legacy: kill server with DEL event if a dialer error occurs (T6330)
   * efreet: use correct path when generating error message about stale efreetd socket (T7045)
   * eo/base_class: explicitly refuse to set an object as its own parent
   * ecore-con/proxy_helper: fix in-tree run path (T6713)
   * efreet: simplify and fix efreetd launch (T6713)
   * build: always check for fork() and clearenv()
   * popup: fix popup sizing when scroll enabled. (T6886)
   * evas gl-x11 engine - nvidia driver - fix performance drop
   * canvas vg_loader: close opened file after using it.
   * elm/win: correctly track and set x11 shaped state
   * evas textblock: adds missing legacy types
   * canvas render: stop render_pre/post cb if it didn't render.
   * Evas text textblock: call evas_font_free even on null fonts
   * emile image: close file properly.
   * examples/evas: do not attempt to free animator on window delete (T7000)
   * ecore_evas: when window resized in ecore_evas, check evas rotate state.
   * elm_code: (cherry-pick) Fix cusor pos after newline when indenting with tabs
   * ecore x - fix vsync to not block amdgpu drivers
   * elm_code_widget: resize cursor at time of font change. (T6470)
   * evas canvas: fix not to trigger unnecessary events.
   * build: fix rpath for binaries which use ecore-x dependencies
   * elm/genlist: remove conditional in _calc_job for verifying show_item code (T6368)
   * elementary image: don't calc size using empty ones.
   * evas image: fix screen flickering issue at partial + image preloading
   * edje_cc: change .mo file write location to be relative to the .edj file
   * theme: add programs for deferred naviframe push/pop signals
   * edje: unset internal _need_imf flag on shutdown
   * elm_panel: return instead of EINA_SAFETY_ON_FALSE_RETURN (T7265)
   * build: fix evas static build of gl engines
   * ecore/main: only update loop_time during loop iteration if the change is monotonic
   * evas gl: fix missing map texture target.
   * elm_code: fix crash on backspace and selection delete. (T7259)

Changes since 1.19.0:
---------------------

Features:

   * evas: Make save() work on snapshots (T2102)
   * ecore-drm2: Add support for plane formats
   * ecore-drm2: Support multiple planes on a given output
   * ecore-drm2: Add hardware plane functions
   * ecore-drm2: Add API function to set plane destination
   * ecore-drm2: Add library symlink to merge atomic commit requests
   * ecore-drm2: Add API functions for atomic commit test and commit
   * eo: Add new API efl_cast (T5311)
   * Ecore_Win32: add ecore_win32_window_state_get() API to retrieve a window states
   * Ecore_Win32: add Property event API
   * Ecore_Win32: add API to retrieve the geometry and dpi of plugged displays
   * evas map: Introduce new API for maps (Efl.Gfx.Map)
   * evas map: Reach feature parity with legacy API
   * ecore-evas: add function for unsetting a specific seat's cursor
   * ecore-wl2: store names for inputs and add api for retrieving name
   * ecore-wl2: add some accessors for useful Ecore_Wl2_Input struct members
   * ecore-wl2: add function for checking if a client connection sync is done
   * ecore-wl2: change selection setting apis to return the serial of the request
   * ecore-wl2: add events for changes in keymap, selection, and kbd repeat rate
   * ecore-wl2: add function for accepting a single mime type
   * ecore-wl2: add function for setting a drag source's actions without a drag
   * ecore-wl2: add functions for proxying a selection receive externally
   * efl_input_device: add seat_id property
   * evas_device: add seat_id property, set seat id for default fallback seat
   * ecore-wl2: add ecore_wl2_display_input_find()
   * ecore-wl2: add ecore_wl2_display_name_get()
   * elm_cnp: add event for selection change
   * elm_cnp: add elm_cnp_clipboard_selection_has_owner()
   * elm_win: add elm_win_get()
   * ecore-wl2: add ecore_wl2_display_input_find_by_name()
   * ecore-wl2: add ecore_wl2_window_activated_get()
   * ecore-wl2: add ecore_wl2_window_popup_input_set()
   * evas: add evas_device_get_by_seat_id()
   * edje: Implement EO API for message_send
   * evas: Add children_iterate to Efl.Input.Device
   * evas/elm: Add Efl.Image.image_size read-only property
   * elput: group tablet input devices into pointer devices
   * elput: add initial input tablet support
   * ecore-wl2: implement compose keys (T5006)
   * elput: implement compose sequences (T5006)
   * wayland/drm: create evas_devices and add device pointer to input events
   * Efl text: add Font, Format and Style interfaces
   * Canvas text: implement Font, Format and Style interfaces
   * edje: Add recursive flag for message_signal_process
   * eolian: add new unit API
   * Efl.Ui.Image.Zoomable: implement Ui.Image.icon property
   * ecore-wl2: Add event for output transformation
   * ecore-wl2: Add API function to find an output for given window
   * ecore-wl2: Add API function to return an output transformation
   * ecore-wl2: Add API function to set surface buffer transform
   * evas_map: support map with number of points as multiples of 4
   * efl.gfx.map: support for map points as multiples of 4
   * elput: Add API function to swap dx & dy axis from pointer motion event
   * ecore-drm2: Add API function to set pointer rotation
   * Efl.Ui.Image.Zoomable: make zoomable to work with edj file
   * ecore-wl2: Add API function to set if wm rotation is supported
   * ecore-wl2: Add API to get if window manager rotation is supported
   * ecore-wl2: Add API to set if an application has rotation a window
   * ecore-wl2: Add API to get if an application has set window rotation
   * ecore-wl2: Add API to set window preferred rotation
   * ecore-wl2: Add API to return a windows preferred rotation
   * ecore-wl2: Add API to set window available rotations
   * ecore-wl2: Add API to return window available rotations
   * ecore-wl2: Add API and event for window rotation change prepare
   * ecore-wl2: Add API and Event for window rotation change prepare done
   * ecore-wl2: Add API and Event for window rotation change request
   * ecore-wl2: Add API and Event for window rotation change done
   * ecore-wl2: Add event type for window rotate events
   * ecore-evas-wl: Add support for Window Manager rotations
   * efl_input_device: add function for determining if a device has pointer caps
   * evas: add some functions for determining if pointer coords are inside an object
   * evas: add new event_grabber smart-ish object
   * efl.canvas: Add "seat" (by id) and "device" (by name) properties
   * ecore-evas-wayland: Add aux_hint functions to Wayland Interface
   * ecore-wl2: Add event and structure for auxiliary hints
   * ecore-wl2: Add API function to get list of supported auxiliary hints
   * ecore-wl2: Add API to support adding auxiliary window hints
   * ecore-wl2: Add API function to change auxiliary window hint
   * ecore-wl2: Add API to support deleting auxiliary window hints
   * ecore-wl2: Free auxiliary window hints when we destroy a window
   * ecore-evas: Support auxiliary hints for ecore-evas-wayland
   * ecore-evas-wayland: Add support for setting auxiliary hints
   * eo: Add API efl_data_scope_safe_get
   * edje: add efl_version property (T5548)
   * evas textblock: add align=locale option to respect locale's direction
   * ecore-wl2: Add API to set if a window should skip focus
   * ecore-wl2: Add API to get if a window should ignore focus events
   * ecore-evas-wayland: Add support for focus_skip_set
   * ecore-wl2: Add API to set window role
   * ecore-wl2: Add API to get/set if a window is in floating mode
   * ecore-wl2: Add API to support setting window stack mode
   * ecore-evas-wayland: Add support for setting window stack mode
   * evas: add seat-based focus interceptor
   * ecore-drm2: add ecore_drm2_output_subpixel_get()
   * build: add flag to disable elua
   * gengrid: implement reusable content based on genlist implementation
   * evas event grabber: add function to block stacking updates while visible
   * elm_entry: Add prediction hint API
   * ecore-wl2: Add client-side event for Window Show
   * ecore-wl2: Add client-side event for Window Hide
   * ecore-wl2: Add client-side event for Window Activate
   * ecore-wl2: Add client-side event for Window Deactivate
   * ecore-wl2: Add more window types to Window Type enum
   * edje player - add slave command to set text of text part for testing
   * efl_wl: a multiseat wayland compositor in an evas smart object
   * ecore-x - add ecore x dpms force api
   * Add ecore_win32_cursor_show() API and ecore_evas_win32_cursor_(un)set() functions
   * eldbus: support output dir in codegen
   * ecore-wl2: implement support for aux hints (T5780)

Fixes:

   * evas/elm: Fix bad propagation of ON_HOLD flag
   * notify: fix hide animation logic for popup
   * ecore_con: send server_upgrade event *after* clearing pending saves (CID1373485)
   * evas gl: Make sure a deleted image can't be the target
   * evas filters: Fix rare crash with async render
   * emotion - gstreamer1 - fix yuv import funcs to use gst stride + offset
   * elm test - fix windows compilation as _close is used in windows (T5391)
   * fileselector: apply style for files view
   * elm_fileselector: fix thumbnail size for other themes bisides default
   * evas - table - remove logically dead code (CID1372487)
   * evas key modifier state set - remove dead code
   * evas key lock state set - remove dead code
   * efreet cache create - check return values of i/o funcs (CID1361941)
   * ecore-drm2: Disable driver whitelist tests
   * ecore-drm2: Remove old atomic flipping code
   * ecore-drm2: Store cursor size on device
   * ecore-drm2: Move defines for CAP_CURSOR sizes to private header
   * elm_map: Fix elm_map_overlay_color_get
   * Evas.Table: Apply mirrored correctly when align is set
   * ecore-con: Remove unused variable
   * elput: Remove unused variable
   * elput: Remove specific case for pointer wheel tilt
   * ecore-drm2: Iterate plane formats properly
   * elm_image: Fix file_set when preload is disabled
   * elm widget - fix weak reference messup that causes segv's
   * elm_win: do not require mouse buttons to be pressed to activate csd move/resize
   * eina_tiler: use int size matching Eina_Rectangle internally to avoid overflow
   * ecore_drm2: Fix ticking when atomic mode set is enabled
   * efreetd - make efreetd use eio and not ecore_file_monitor for monitoring (T5130)
   * evas: round glyph's advance before adding it to pen_x
   * evas render: Fix issue with map render
   * efl_ui_focus_manager: check for null return from node_get (CID1374434)
   * Ecore_Evas: use window states and event property to fix ecore_evas_fullscreen_set()
   * elm_cursor: add style name for sub cursor (T5408)
   * elm_fileselector: made fileselector styling more flexible
   * evas font code - build on older freetypes without new definitions
   * build: bump minimum version requirement of gnutls to 3.3.6 (T5437)
   * bump minimum version requirement of freetype2 to 16.2.10 which equals release 2.5.0.1 (T5437)
   * elm_code: Fix selection,start signal
   * elm_code : LINE_APPEND Render fix
   * eo: fix missing event emission
   * ecore-drm2: Enable reuse of existing state structures for non-atomic
   * ecore-drm2: Enable filling state structures without atomic support
   * ecore-drm2: Fill output states regardless if atomic
   * ecore-drm2: Remove #ifdef for HAVE_ATOMIC in plane_assign function
   * edje: null checking the return value of a function eina_mempool_malloc
   * Ecore_Evas (Win32): add geometry_get() method and fix dpi_get(), using the new API in Ecore_Win32.
   * evas examples: Fix invalid assumption about proxy
   * evas textblock: fix dereferenced memory after free issue for ellipsis
   * popup: enable to set last_button_number to 0
   * popup: move "visible_set(FALSE)" before calling dismissed callback
   * evas gl: Fix typo and revert hack (GLES 3.1)
   * efreet: Fix failure to save list data to output (CID1375004, CID1375005)
   * efl ui win -> add test for centering + fix center of window before show
   * elm_entry: request both text and markup when pasting
   * ecore-evas: account for framespace when processing mouse movement
   * ecore-wl2: split data offers into selection and drag
   * ecore-wl2: handle case where session recovery listener triggers on dead surface
   * ecore-wl2: correctly refcount display objects during events
   * ecore-wl2: remove ERR when trying to find the focused window id
   * ecore-wl2: do not offer a null mime first in ecore_wl2_offer_mimes_set()
   * edje_cc docs - fix docs for vector images as it is wrong
   * elm glview -> fix pvs studio caught typo in stencil bit mappings
   * edje_cc - use mem_alloc to fail and exit if alloc fails and fix err out
   * nstate: correct the legacy class name
   * check: fix efl_ui_check_selected_set() API
   * ecore-drm2: Fix setting dpms level using atomic state
   * ecore-drm2: Update connector state dpms value if setting works
   * elm_code: Fix crash on tabs in long lines
   * eina: fix reproductible build. (T5495)
   * doc: Fix filters documentation in edcref
   * ecore-drm2: Fix atomic dpms setting (round 2)
   * ecore-drm2: Don't call fb_flip until output is enabled
   * ecore-wl2: use nonblocking event flush when disconnecting a client
   * ecore-evas-wayland: do not trigger resize operation when performing rotation
   * wayland: use shell activated state to indicate focus in csd
   * wayland: send focus in/out events when receiving/losing keyboard focus
   * ecore-wl2: do not attempt to call zxdg_surface_v6.get_popup without a parent
   * ecore-wl2: add copyright info to code copied from libX11
   * ecore-wl2: block key->string translation when appropriate
   * ecore-wl2: permit null drag icon window in ecore_wl2_dnd_drag_start()
   * dmabuf: Drop requirement that buffer be writeable
   * Evas textblock: fix width calculation of non-dirty paragraphs
   * elm_fileselector: use a sane item size
   * elput: use unrounded coords for subpixel struct members in events
   * ecore-evas: only apply cursor object cache for default pointer
   * ecore-evas: clear cursor object cache when setting default cursor
   * ecore-evas: init cursors for all pointer-ish objects
   * elput: store output w/h and apply to devices on creation
   * evas: better handle async device creation of default mouse
   * elm_code: Allow multibyte characters to be entered (T5496)
   * efl_ui_image_zoomable: fix wrong initial value for zoom mode
   * ecore-drm2: Don't fill output atomic states if not using atomic
   * ecore-drm2: Don't fill device atomic state if atomic is disabled
   * ecore-drm2: Don't free output plane states if not using atomic
   * popup: remove previous object when setting new content
   * popup: fix object_mirrored_set didn't work
   * ecore_drm2: Don't try to disable all devices when session deactivates (T5483)
   * ecore-evas: redo per-device cursor internals to be per-seat (T5531)
   * ecore-wl2: do not unref non-matching input device upon removal
   * ee wayland: only handle events for ee with matching display object
   * evas: don't crash in _evas_default_output_get() if no outputs exist
   * elput: add refcounting for seats/devices
   * efl_input_device: do not free list when freeing children iterator
   * evas: redo pointer data to be per-seat instead of per-device
   * elput: move pointer coords into seat struct
   * ecore-audio: unset DISPLAY conditionally before processing pulse events (T2599)
   * efl.ui.image: fix icon_get API
   * calendar: fix elm_calendar_interval_set() API not working.
   * popup: fix unintentional object deletion when change scrollable
   * ecore-drm2: Fix output backlight value type definitions
   * ecore-drm2: Don't use Atomic functions to set DPMS levels (T5462)
   * ephysics: set proper geometry when setting an object to a face (T5547)
   * Efl.Ui.Image: fix efl.player.playable.get API
   * ecore-evas-wl: Don't check window visibility on raising
   * ecore-wl2: Add missing doxygen groups for documentation
   * ecore-wl2: Use output height when calculating dpi
   * evas-gl-drm: Fix potential memory leak
   * elm_prefs_cc: handle line too long for buffers
   * edje_cc handle line too long for buffers
   * elm spinner - handle more digits for format string + handle invalid fmt
   * evas - font dir fonts.alias - limit alias parse length
   * edje: pass whole text to IMF in case of selection
   * edje - fix signal propagate crash
   * evas-gl-drm: Be sure to initialize ncfg variable
   * evas-gl-drm: Fix uninitialized variable
   * ecore-evas-wayland: Fix potential null dereference
   * elput: Get touch event slots using slot not seat_slot
   * ecore-drm2: Fix potential SIGFPE when adding output mode
   * elementary entry: update focus state when editable state is changed
   * ecore-drm2: Use static libdrm to build ecore-drm2
   * ecore-drm2: Fix drm_mode variables to work with static lib
   * ecore-evas: make focus-setting work with async device init
   * ecore-ipc: don't return dead clients in ecore_ipc_server_clients_get (T5383)
   * evas: handle focus setting with async input init
   * elm_code: Fix possible crash when deleting a selection
   * elua - fix build for luajit2.1.0-beta3+ (T2728)
   * evas textblock: fix evas test suite build errors
   * edje text: add a missing return macro
   * ecore-evas: Fix return value in ecore_evas_aux_hint_val_set function
   * evas: Fix resize & move intercepts (T5573, T4749)
   * evas xpm loader - remove the rgb txt file db loading and compile in
   * efreet: don't raise ERR on empty file in efreet_xml_new()
   * ecore-evas: block buffer canvas events during deletion
   * Evas text: fix test with Oriya script
   * evas: fix version info for evas_language_direction_get
   * ecore-wl2: Fix issue(s) of setting wrong event device
   * evas_box: add safety check for adding box children to multiple boxes
   * elm_cursor: store and reapply non-elm cursors when setting an elm cursor
   * ecore-wl2: do not send exit event on disconnect if servers exist
   * evas: check object layer existence before deref to avoid crash
   * eina_log: make a log level of 0 disable the log domain
   * elm_list/genlist/gengrid: don't unselect items when moving the mouse out of them
   * Test: check gl API nullity before invoking deletion functions
   * eina,ecore_cocoa: fix detection of the macOS SDK version
   * Efl.Observable: Free an iterator after use in observers_update()
   * Filter: check nullity before accessing structure member
   * elm_spinner: Entry hide when inc/dec button pressed.
   * Emotion: freed allocated string.
   * elm_code: Fix number parsing to include legal separators
   * eina - fix eina_file_virtualize to copy data to an aligned addr
   * eina_file: fix unmap of unmapped region when Eina_File has copied data and not a map; (T5479)
   * ecore-wl2: add display object refs for windows
   * ecore-wl2: create surfaces once compositor global is bound
   * elm_cnp: mark x11 selection as lost when selection is lost in event
   * elm_entry: don't update PRIMARY selection under wayland
   * Add ecore_win32_cursor_show() API and ecore_evas_win32_cursor_(un)set() functions
   * default theme - add signals to pointer theme to fix glitch in x
   * ecore-wl2: Add event handlers even if no data device manager exists
   * elput: Fix support for setting keyboard led(s) (T5655)
   * elput: Update modifers for caps lock
   * popup: fix sizing eval logic when scrollable set TRUE
   * evas font: append global font path when Evas initializes Fontconfig
   * elm: Fix fileselector button "hidden files" (T5465)
   * evas mouse in/out/move event fix to remove "invalid move" (T5582)
   * edje: give proper width to entry's cursor according to its theme
   * ecore: Fix coverity resource leak (CID1377544)
   * elput: Fix resource leak (CID1377539)
   * efl_wl: Fix resource leak (CID1377537)
   * edje_cc: Add copy item for proxy part
   * eina: fix eina_tiler_equal to not always return true
   * evas mesh save - use alloca for tmp strings instead of heap
   * efreet cache create binary - check realloc results and handle failure
   * efreet icon cache create bin - check realloc results and handle
   * evas gl - fix compositing/native surface with egl/gles after glvnd
   * eina debug bt sig handle - fix build on osx for clockid_t
   * eolian: always generate a class initializer (T5736)
   * emtoion gst1 - workaround gst break between 1.10 and 1.12
   * multibuttonentry: Fix item resource clean up logic.
   * elm_widget: do not check for the visibility
   * ecore-evas-wayland: destroy frame callback on hide
   * ecore_audio headers conflict with app have ifdefs
   * elm_code: Fix crash with long lines
   * ecore_exe - handle realloc failures by complaining and rolling back
   * ecore win32 exe handling - check realloc and malloc returns
   * ecore exe - pisix - handle malloc fails
   * ecore wl2 - dnd - handle NULL drags... shouldnt happen but does (T5770)
   * ecore-wl2: handle null offer drags more effectively (T5770)
   * elm_code: Fix missing middle button selection paste (T5520)
   * ecore_events: inarray should be flushed before return
   * elm_win: do not implement aspect_get()
   * elm_box: use correct aspect ratio for HORIZONTAL layout
   * elm_table: do not propagate max size
   * elput: unref devices in post event cb
   * elput: fix seat cleanup
   * eina inarray accessor - use right type in parameter
   * evas legacy event mask - cast to unit64_t before bitshift
   * ephysics - fix stacking comparsion correctly if 1 smaller than 1
   * etc to rgba conversion - dont read stack garbage into the est imgs
   * edje edit - when adding size class set max width and height to -1
   * evas obj smart - remove pointless if
   * eina evlog debugging - when freeing debug buf with mmap 0 size after
   * efl net - fix ipv6 getsockname to use the proper struct to do it
   * evas object textblock - fix append if cur node is null
   * ector software - fix min/max int range for fixedpoint math
   * ecore_drm2 - fix startup if edid blob is null.. assume all 0's
   * elm gesture layer - use fabs not abs when actually comparing floats
   * epp - cpp - fix buffer end/null checks given static buffer paths
   * elm code - handle alloc failure for line split
   * elm code - handle alloc failure for line split
   * elocation - fix return of status, address, position to actually ret data
   * eldbus: check message serial before using
   * ecore_x: init XEvents before passing to x
   * efl build - fix lua old support on debian
   * eina hamster count - use a fixed version, revision etc. so builds repro
   * epp - fix buffer size for possibly bigger int snpritnfs
   * evas: Add safety code for smart object

Changes since 1.18.0:
---------------------

Features:

   * edje_embryo: add function to know swallow has object
   * eina: Set EINA_ERROR_TIMEOUT to cond_timedwait (T1780)
   * edje: Allow no_render in description
   * Efl object: implement CoW for the function vtables
   * evas: Support region_set for BMP image
   * evas: Add support for region load with PNG files
   * Efl object: Remove creation of event structure and passing it to eo.
   * Static deps unibreak: Update to latest git version.
   * evas events: Add new "finger,move/down/up" events for multi touch
   * evas: Add normalized and window coordinates to axis events
   * eina: module - Add macros for adding module informations
   * win: Add EO API to query state of multi touch points
   * Efl object: change the way we set class's functions. (T4227)
   * Rename efl_self to efl_added
   * eeze: add support of GPIO sysfs detection and watch.
   * eina - add recursive mutex lock - apparently these are portable
   * Eo: introducing libeo_dbg.so.
   * Merge branch 'devs/devilhorns/atomic'
   * elm_image: Add smart cbs for async open
   * Merge branch 'devs/iscaro/ecore_evas_vnc_multiseat'
   * Canvas text cursor: add simple_geometry_get method
   * Canvas text: add annotation_positions_get method
   * ecore-wl2: Remove all references to wl_cursor usage
   * elementary: Provide EFL mouse pointers for Wayland Client applications
   * ecore-wl2: Remove usage of libwayland-cursor
   * elementary: Implement support for EFL Wayland mouse pointers
   * elm_multibuttonentry: Apply focus UI feature for the item.
   * ecore-animator allow for animator to skip queued animator ticks
   * Eo: Add a method to mark objects for reuse.
   * improve responsivness of timer sleeping threads for vsync with prctl
   * elementary: Add internal function to set wayland cursor
   * elementary: Make setting cursors for EFL Wayland client apps work
   * elm_entry: Add voice input panel layout
   * Merge branch 'devs/bdilly/ecore_evas_wayland'
   * elput: Add API to allow setting pointer acceleration profile (T4736)
   * remove xcb support in ecore_x and evas engines as per mailing list
   * eina - add a free queue (eina_freeq) for deferring frees of data
   * eina list - use free queue to defer freeing list nodes and accting
   * eo - use free queue for at least some eo core memory and pointers
   * Merge branch 'devs/iscaro/evas-focus-per-seat'
   * evlog + efl dbug - add logging of cpu freq and cpu usage per thread
   * ecore-drm2: Add structure definitions and function symlinks for libdrm
   * ecore-drm2: Add API function for drmHandleEvent
   * Eo gdb: add a way to resolve Eo ids from GDB without a running process
   * win: Add background part to the win border
   * evas: Add function on object to check is pointer is in
   * evas/box: Add support for align with stacked boxes
   * elm: Add Efl.Ui.Box.Stack for stack boxes (EO only)
   * elm: Prepare new API for windows, including CSD on X11
   * ecore-drm2: Add API function to return screen dpi
   * Merge branch 'devs/iscaro/multi-seat-events'
   * ecore-drm2: Add API function to allow setting gamma of a given output
   * win: Implement max size hint support
   * eolian: add documentation tokenizer
   * Merge branch 'devs/iscaro/locks_and_mods'
   * Static deps unibreak: Update to latest version.
   * Eo gdb: Implement eo_data_get to get eo data.
   * elc_naviframe: Delete naviframe items in LIFO manner on widget deletion.
   * elput: Add API functions to enable/disable tap-and-drag
   * elput: Add API functions to enable/disable drag-lock on touch devices
   * elput: Add API functions to enable/disable dwt support on touchpads
   * elput: Add API functions to get/set the scroll method for a touchpad device
   * elput: Add API functions to get/set touchpad click method
   * elput: Add API functions to get/set if tap-to-click is enabled
   * evas: Add source_region property to proxy objects
   * efl_ui_win - add window "view stack" api's and ability
   * Merge branch 'devs/bdilly/edje_multiseat'
   * Merge branch 'devs/bdilly/edje_multiseat_filter'
   * evas: Implement GRY8/AGRY88 save support for PNG
   * evas image async preload - add option to also make header load async
   * ecore-wl2: Add support for xdg shell version 6 (T4998)
   * eina: add functions for warningless exact comparisons of floats
   * eina: add macros for determining whether floats are nonzero
   * eina_freeq: Add mode for postponed deletion
   * eina: Introduce Eina_Slstr for short-lived strings
   * evas: Introduce event style_insets,changed for tb
   * ecore-drm2: Add API to determine if a device prefers shadow buffers
   * ecore-drm2: Add API function to return supported rotations of an output
   * ecore-drm2: Add API function to set output rotation
   * elput: add event for relative motion

Fixes:

   * elm_win: Fix ABI break with missing EAPIs (T4344)
   * elm_image: Remove EAPI sizing_eval
   * image: Remove all new EAPI that shouldn't exist (T4343)
   * evas: Fix shader for text masking (T4338)
   * elementary: fix segmentation faults when using elm_prefs
   * evas textgrid: unset style when trying to load bold/italic (T4323)
   * elm win - fix elm win center to actually center again
   * evas table - handle recursive access to cols/rows where child frees
   * evas smart obj - handle invalid object id's when scop data get is NULL
   * elm_genlist: unhighlight item if it not selected (T3986)
   * evas gl x11 engine - fix buffer age symbol find and use
   * evas: Fix potential memleak in event info objects
   * gl: Fix usage of GLX/EGL/GL extensions (T3030, T4288)
   * glview: Mark draw_request as eo-only
   * elm: Hide new init APIs behind BETA tag
   * win: Mark two properties as eo-only
   * elm: Remove _EFL_APP_VERSION_SET from ELM_MAIN
   * evas: Support region_set for BMP image
   * photocam: Fix region load + scale down options
   * emile: region_set does not working in jpeg loader if scale_down has set
   * evas: Fix region test in jpeg load with region + zoom
   * doc: put shot.sh into dist to allow make doc run from tarball
   * examples: evas: ensure filter example lua files land in tarball
   * Evas Text: parse font string everytime for updating lang properly
   * Evas text: fix RTL text ellipsis issues (T3187)
   * efreetd - only open log file is env var is set to do so
   * elm: Install elm test images in the right place
   * wayland_egl: Fix EGL_KHR_Partial_Update usage
   * FDO icon theme: correct Inherits value
   * edje - fix missing vector field frees, copies, handling etc.
   * edje_cc: add snapshot to the lazedc symbols
   * ecore_evas_ews: add proper clean up when quit the func @fix
   * efreet - fix efreet_*_dir_get() to support the xdg env vars
   * FDO icons: correctly list the intl icons in theme description file
   * ecore_x: Early check image bpp based on depth (T4389)
   * Fix elementary build when xkbcommon is in a non standard location (T4413)
   * evas: Try harder to create the render thread
   * eina: overhaul Mac OS X semaphores (T4423)
   * elm focus: focus_auto_hide should be done with mouse_down
   * Edje entry: Pass correct cursor position and text to imf in case of selection
   * Canvas text: fix ellipsis RTL handling
   * edje_cc: add lookup for inherited after program
   * elementary: Introduce a new edje_external param to the progressbar widget.
   * ecore_audio: fix distribution of eolian files
   * Edje entry: fix selection start with shift + mouse_down (T3043)
   * evas canvas: fix a wrong condition check in smart changed.
   * edje_cc: remove after programs lookup when removing program
   * Ecore_con_ssl: fix return value of ecore_con_ssl_client_upgrade.
   * embryo_cc: fix memory overflow in str
   * evas map: fix the rendering problem.
   * Edje_Edit: check returned value edje_edit_edje_file_save function.
   * eio: properly track destruction of all Eet eio request. (T4550)
   * elm_calendar: Fix header text bug.
   * evas: Fix possible crash in evas_model_save_eet.c
   * elm fileselector: fix test to wait for the right event (T4502)
   * elm fileselector: fix legacy methods for Entry and Button
   * elm: Fix edit popup menu order
   * edje_edit: make tweens able to work with image sets
   * ecore_file: Fix improper way of comparing in ecore_file_path_dir_exists @fix
   * eet: set alpha_texture for ETC1+Alpha
   * edje_cc: allow combine lazEDC keywords
   * eio model: use empty mime type when efreet is unable to determine it (T4502)
   * efreet - fix command generation by fixing string buffer expansion
   * elm_toolbar: Show icons in icon only mode
   * elementary: set the extension on the extension, not the overlay !
   * efl - fix build to build multip.edj from the right edc source
   * Evas_Common: Fix typo.
   * Evas_Device: Use efl_del() in evas_device_del().
   * edje_cc: don't warn when image attributes are missing in inherit_only group
   * elm: nstate - cleanup edje signal cb
   * tests: check for the presence of clock_gettime()
   * Edje_Edit: add forgotten part_item_index API into header
   * eio - put in fix by disabling some fallback code (T4619)
   * epp: fix memory corruption when using #warning and #error
   * ecore_evas x - dont set withdrawn to fals on show but wait for wm state (T4699)
   * ecore-evas - x fix intial iconified state so terminology -I works
   * ecore-wl2: avoid crashes when setting window attrs before surface creation
   * ecore-wl2: apply input+opaque regions after creating window surface
   * edje_edit: proper work with part id's on part restack and del for map fields
   * evas: Fix missing varargs cleanup (CID1364123)
   * ecore-wl2: Fix input and opaque region setting
   * evas: Fix evas_object_smart_clipped_clipper_get
   * fix edje_cc segv when compiling bling bling theme
   * edje_cc: set correct value for attr set for MESH_NODE
   * Eo: Fix reference leak when failing to resolve function. (T4740)
   * eocre animator - the anim thread is polled on shutdown use volatile
   * ecore anim - actually fix by checking fd not thread handle
   * evas: Fix issue of wayland clients not drawing border icons
   * elm_spinner: change the key event operation on spinner
   * Edje_Edit: use correct description array accessing
   * ecore-wl2: Don't call cursor_update_stop function twice.
   * evas: Fix legacy events output vs. canvas coords
   * ecore-wl2: Remove cursor field from window structure
   * ecore-wl2: Ensure we remove the proper pointer frame callback
   * evas-wayland-shm: Fix max buffer age
   * Edje_Edit: save files name instead of full path on sound add
   * ecore-wl2: Don't create cursor frame callback if there is no cursor surface
   * elementary: Fix build break for non-wayland builds (T4778)
   * ecore_cocoa: fix behaviour of option key
   * ecore_cocoa: fix handling of some keys
   * ecore audio - fix hang in wayland due to pulse audio connecting to x
   * emotion gst1 module - disable subtitles by default as that should be (T4795)
   * ecore-wl2: Unify surface creation code
   * elm_multibuttonentry: send "clicked" signal when item got hardware enter key.
   * elementary entry: keep style user when new theme is applied
   * evas: Simplify GL masking and fix window rotation
   * evas lang unicode tables - reduce memory by 24k+1324 bytes
   * elm scrollable: return correct values from post event callbacks
   * Evas events: fix for works with pipes on windows.
   * elementary transit: support image fill area in zoom effect.
   * wl_drm and eayland_egl buffer age fix for gl when age changes
   * Eina: add NULL check to eina_module_symbol_global_set API @fix
   * ecore-evas-wayland: Fix use after free (CID1365657)
   * ecore_evas_wayland: Fix null pointer dereference (CID1365655)
   * ecore-evas-wayland: Fix NULL pointer dereference (CID1365654)
   * ecore-evas-wayland: Add warning if we fail to set engine info (CID1365651)
   * Toolbar: fix retrieval of previous state
   * Toolbar: fix icon switch during state change
   * DnD: cancel drag if mouse moves too much
   * elm_code: Fix double free on file close/free
   * eet: add to basic eet_image EAPIs checking on NULL @fix
   * efl: Require elput for gl-drm
   * elmentary_test: test_entry4
   * eet: add NULL-check to eet_connection_empty API to avoid segfault
   * Win: fix modal feature during window closing
   * evas surface/buffer wl support - define missing egl ifdefs if missing
   * elm_spinner: apply value after pressing enter key
   * ecore_wayland: fix over writing file descriptor bug for reading
   * elm_cursor: use cursor owner object when applying theme
   * efl_ui_image: fix removal of the internal evas image
   * elementary entry: fix to call "cursor,changed" callback when only cursor is changed
   * edje_edit: fix segmentation fault(Array index is out of bound)
   * Edje: add checking on NULL 3-rd parameter in edje_object_part_external_param_type_get() @fix
   * eo: safety in string comparison
   * eet: add checking on null to eet_data_write_cipher and EINA_ARG_NONNULL to dump API @fix
   * eina/log: add ARG_NONNULL to eina_log* APIs for Eina_Log_Domain * parameter @fix
   * edje entry: fix crash issue due to improper callback handling
   * elm_spinner: fix wrong focus logic when spinner is unfocused
   * evas: bug fix in bmp loader
   * Eet: add EINA_ARG_NONNULL for eet_data_text_undump* @fix
   * evas/x11: Fix EGL engine for recent nvidia binary
   * elm_toolbar: remove wrong focus highlight checking
   * ecore_exe_win32: fix ecore_exe_send
   * evas textblock: fix a rendering issue.
   * Evas: include efl_vg_container.eo.legacy.h to avoid implicit declaration for evas_vg_container_child* @fix
   * evas - software generic - fix crash when buffer is freed when its the same
   * Eo: Fix efl_isa() sometimes returning wrong results with extensions
   * theme: Fix crash at app shutdown
   * elput: Improve checks for keyboard & pointer devices
   * edje_pick: use correct id's for exported groups
   * edje_pick: export aliases and entire dependency list
   * efl_canvas_proxy: fix the parameter of EINA_COW_WRITE
   * elm_spinner: Spinner internal focus logic fixed to following new focused UI concept.
   * spinner: call changed callback on value set.
   * edje_pick: fix memory leak while on group dependency build
   * ecore-x: fix Mode_switch key mapping
   * ecore-x - add missing atom fetches!
   * edje_pick: copy images from image sets
   * elm_code: Don't assume control characters make a change
   * elput: Fix resource leak (CID1367507)
   * elput: Fix resource leak (CID1367506)
   * Ecore_win32: do not handle WM_SYSKEY* events.
   * elm_scroller: focus_next needs to give itself when no focusable child
   * evas - async preload - stop hang when missing wakeup of preload data (T5025)
   * efreet cache - handle corner case where efreetd keeps disconnecting
   * Fileselector: make parse path string windows platform support.
   * eio: Correct deletion backend
   * Edje_cc: update images.set.image names when write edj file.
   * elm_panel: decide whether a scrollable panel is open or not only when it has a size
   * elm_config: fix for dereferencing after comparing to NULL
   * evas_events: add checking NULL logic to source mouse event.
   * evas: initalize orient property in file_set()
   * evas generic loader - expand buffers in case of weird install location
   * evas: fix adjustment logic about image border (T5057)
   * ecore_fb_init(): use 'name' parameter similar to ecore_evas_fb_new().
   * [Evas GL Thread 1] evas: Fixed indentation of evas_thread_render.c
   * openssl 1.1 build break fixes
   * edje_edit: fix set the images set as image.normal value.
   * evas image preload - fix race condition that stops preloads
   * evas gl - avoid a possible crash of tex upload of invalid sized image
   * ecore_drm2  - work with broken kernels that EBUSY on drm  page flip
   * elm_box: allow aspects 1 <= x < 0.0
   * ecore-wl2: make session recovery listener global
   * elm_code: Fix selection when moving around with cursor keys
   * elm_multibuttonentry: Fix MBE got a wrong state.
   * edje_edit: add Efl.File.mmap.set implementation for edje_edit
   * elput: Return touch coordinates when we have no pointer
   * edje_cc: delete unused image sets from edj file. (T5109)
   * elementary conformant: clear internal pointer if holded object is deleted
   * evas grid smart - don't abort if smart data is null - return safely
   * spinner: fix mem leak on focus next traversel
   * index: fix mem leak on focus next
   * genlist: fix mem leak on focus next
   * edje - fix border scale by interpolation
   * evas: Fix resource leak in evas_module_find_type (CID1367503)
   * ethumb: Fix resource leak (CID1367502)
   * elput: Fix resource leak (CID1367499)
   * ecore-wl2: Don't set opaque or input regions if already set
   * gengrid: fix serach items in genlist by text
   * elementary: Don't hide pointer window on mouse out (T4987)
   * elementary: Ensure pointer hotspot update and reduce duplicated code (T4987)
   * edje_pick: implement fonts copy
   * evas async preload - fix valgrind issue in accessing image after free
   * elput: Don't add devices which we are not going to use
   * elput: Improve debug output for added devices
   * DnD/Container: fix drag during animation
   * edje_cc: remove 'inherit_only' groups from result edj file
   * evas grid smart - fix divide by 0
   * edje - fix crash on loading ancient edje files (T5138)
   * elm_code: fix bugs in the highlighting of full line comments
   *  ecore thread: Fix waiting.
   * access: fix crash while cleanup
   * elementary: Fix return of elm_win_wl_window_get (T5142)
   * elm gesture layer: add check for negative input tap start timeout.
   * edje_load: fix mirroring bug with GROUP, BOX, or TABLE part
   * elementary: set mirrored mode in a group_add()
   * eet: read sould be failed if cipher_key exist but file not ciphered
   * edje: fix cached edje modification issue
   * ecore: reset during timer callback execution doesn't make sense. (T3222)
   * ecore-wl2: Don't send focus in/out events based on keyboard enter/leave
   * ecore-wl2: Support sending focus for wl_shell
   * elm config - handle setuid apps correctly and dont create junk dirs in .
   * eina utils and vpath - use euid not uid if setuid for correct user
   * elm_code: Fix syntax crash on trailing newline in multiline macro
   * ecore-wl2: roundtrip during client disconnect
   * evas: fix bugs in gif image loader
   * ecore-evas-wayland: Fix setting rotation during async render
   * ecore-evas-drm: Fix setting rotation during async render
   * evas textblock: keep previous size when the calculation is skipped
   * Edje calc: Fix textblock size calculation logic
   * ecore-wl2: Fix setting opaque region on a window
   * ecore-wl2: Fix setting input region on a window
   * elm_code: Fix Coverity issues. (CID1356612, CID1368489, CID1371128, CID1371123, CID1368335, CID1371124, CID1371126)
   * elm_code: Another Coverity fix, better this time. (CID1371322)
   * Canvas text: fix clearing existing style (T5187)
   * eina utils: fix build without getpwent.
   * edje: Fix a major issue with recalc loop (T4909)
   * elementary gengrid: fix for working item reorder mode correctly
   * edje_edit: fix scripts compilation
   * elementary: Fix compilation for SDL
   * ecore-evas: use ee->prop.window in ecore_evas_input_event_register()
   * ecore: do not access 'timer_thread' global from animator thread
   * evas gl common - fix nv12 text upload with upack row length
   * genlist: (Mostly) fix item index odd/even styles (T3086)
   * genlist: Fix rare jump in prepend insert
   * genlist: Fix fileselector crazy behaviour
   * genlist: Final fix for odd/even styles issue (T3086)
   * elementary: Don't set pointer object theme on start (T5209)
   * ecore-evas-wayland: Don't register animators until window gets shown (T5209)
   * elementary: Fix issue of trying to init ecore_wl2 if DISPLAY is set
   * ecore-imf: Don't always load all modules
   * elm_code: Hide the cursor when it is off screen
   * eina: move the _eina_main_loop set before we init anything (T4891)
   * ecore-wl2: Only bind one shell (T5226)
   * ecore-wl2: Avoid resetting opaque & input regions if they match (T5226)
   * ecore-imf-wayland: Remove duplicate header include
   * ecore-imf-wayland: Reduce calls to set_cursor_rectangle (T5226)
   * elementary: Don't update opaque/input regions if not visible (T5226)
   * ecore-wl2: Ensure display cleanup after roundtrips
   * ecore-wl2: Send surface_commit after ack_configure (T5192)
   * ecore-evas-wayland: Fix issue of apps not starting up in fullscreen mode (T5044)
   * ecore-evas-wayland: Remove duplicated code
   * ecore_wl2: Fix a wayland session recovery breaker... again (T5226, T5005)
   * ecore-evas-wayland: Fix yet another wayland session recovery break (T5005)
   * emotion - fix empty video data frame update when using vdpau accel
   * genlist: Remove weird behavior about item_show, bring_in (T4854)
   * evas: Fix double clipping issue with map
   * elm_code: Fix missing syntax for .eo files
   * tests: Remove CPU affinity from all threads
   * naviframe: keep unfocusable state of item before finishing item push/pop
   * evas: clean up GL images for emojis when GL context is free'd
   * evas image cache - add lots more locking to try stamp out any thread bug (T5223)
   * evas: Check for null pointer deref (CID1371826)
   * popup: hides the popup when hide effect is finished
   * evas filters: Save selected render op of the final object
   * ecore: add ecore_event_type_flush.
   * genlist: Fix invalid state of reused content (T5236)
   * ecore_animator: use EINA_DBL_EQ for comparing double values
   * Gengrid: Correct double comparision.
   * elm_code: Fix position of cursor in selection
   * elm_code: Don't leak rows when we resize down
   * ecore-evas reduce modifier modification on every event to cut cpu (T5252)
   * eina: Fix typo in doxygen
   * eina: Fix more typo in doxygen
   * edje: Fix rare issue with map (T1551)
   * evas gl: Fix usage of OSMesa
   * ecore_animator: improve comparision check for stopping animator.
   * elementary: Fix minor typo in efl_ui_win.eo
   * evas: drop redundant pointer check (CID1371525)
   * gengrid: avoid call select callback twice in mode ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL
   * evas table: CRI when attempting to pack a table child into another table
   * theme: remove event gaps in enlightenment window frames
   * genlist: Fix another issue with insert sorted (T5274)
   * elm_map: Fix work of elm_map_overlay_icon_set if icon is NULL.
   * elm_code: fix keyboard selection forward
   * evas: Fix a rare issue with GL and map and mask
   * Eina_Xattr: fix memory corruption
   * ecore audio: Fix loss of last stream (T5281)
   * ecore-drm2: Remove unused field in Output structure
   * evas_events: look for seats on hash instead of input devices (T5146)
   * elm_code: fix CID 1368489
   * Gengrid: Bring the item into view scope before swapping.
   * gengrid: fix the crash in _elm_gengrid_item_edge_check
   * elm_code: Fix newline crash on BSD
   * ecore-evas: add flag for buffer canvas to prevent deadlock in pixels_get
   * evas textblock: fix top/bottom valign tag reversed issue
   * elm_code: better safety around widget edge cases
   * elm_code: Fix crashes with backspace on OpenBSD
   * elm - cache dump - disable this to fix jp's issues of proxies etc.
   * evas: always send a proper event to simplify callee logic.
   * elm_code: Fix bug when deleting slection beyond start of document.
   * elm_code: Fix coverity issue divide by zero
   * edje: fix name check matching correctly
   * ecore-wl2: stop setting all windows as toplevels on creation
   * elm_win: set wl window type during finalize
   * ecore-wl2: do not reconnect on protocol error for non-server processes
   * elm_code: trigger user change event on applying an undo/redo
   * evas - async preload cancel fix - don't double delete/free (T5374)
   * elm config - reload at runtime - fix env var overrides being lost
   * evas: give width offset when Evas tries to find ellipsis position
   * edje: Add workaround for misuses of clip_set
   * evas filters: Fix a rare crash in text render (SW)
   * elementary - efl ui flip - fix map apply for page flip
   * scroller: Fix wheel scroll with imbricated H+V scrollers
   * scroller: Fix issues with looping and paging

Changes since 1.17.0:
---------------------

Features:

   * popup: implemented widget item focus feauture.
   * list: implemented widget item focus feature.
   * list: Added descriptions for the newly introduced item,focused/item,unfocused smart callbacks.
   * popup: Added descriptions for the newly introduced item,focused/item,unfocused smart callbacks.
   * hoversel: Added "item,focused" and "item,unfocused" smart events for widget items.
   * win - add accel preference option to elm windows
   * focus: Added focus highlight clip disable feature. (T1056)
   * focus: Added optional focus feature - focus movement by mouse_in.
   * toolbar: implemented widget item focus feature.
   * elementary: Add support to elementary for creating applications which run in drm.
   * list: Added focus movement on widget items by mouse in.
   * genlist: Added focus movement on widget items by mouse in.
   * gengrid: Added focus movement on widget items by mouse in.
   * toolbar: Added focus movement on widget items by mouse in.
   * gengrid: Added feature to move focus out of gengrid if focus is on edge items.
   * focus: Added optional focus feature - item focus on selection.
   * Adjust code to use the slightly different Eo2 API.
   * win - add ELM_ACCEL env var to set acel method that is preferred
   * theme - improve efm icons provided by ApB (T575)
   * atspi: Atspi_Action interface implementation @feature
   * gengrid: item moving feature with keys.
   * config: Added two APIs to enable/disable focus auto scroll bring in feature.
   * genlist: Implemented item_select_on_focus feature.
   * gengrid: Implemented item_select_on_focus feature.
   * gengrid: Added elm_gengrid_wheel_disabled_set/get() APIs.
   * focus: Change new API names related to focus auto scrolling.
   * elm_map: Add new elm_map_region_zoom_bring_in() API
   * Gengrid: Added horizontal item loop feature.
   * atspi: add AtspiText and AtspiEditableText interface support.
   * fileselector: Adding search entry for realtime filename search
   * panel: add scrollable feature
   * panel: add scrollable feature
   * gengrid: Added normal reorder type
   * toolbar: added selected and unselected smartcallbacks to toolbar.
   * elm win noblank property added - to disable screen blanking/saving
   * theme - improve efm icons provided by ApB (T575)
   * elm process state - add events and state get function
   * Introduce current_name_{set|get} (T1664)
   * GLView: Add more configuration flags for the surface
   * GLView: Add support for client-side rotation
   * GLView: Add constructor for GLES 1.1 context glview
   * config font hinting api added
   * Scroller: Add step size set API
   * theme/e/shelf: Add a translucent style.
   * elm config: add key bindings for elm_actionslider
   * List: Focus highlight when loop is enable
   * win: Support elm_win style change and runtime theme change.
   * win: Support runtime alpha window switch on theme change.
   * Transit: Support BEZIER CURVE
   * Genlist: added the clicked,right event on items
   * genlist: add "scroll" smart call
   * Gengrid: new signal: clicked,right with proper test
   * List: new signal: clicked,right with simple test
   * Icon theme: added standard freedesktop names.
   * Added the elm_win_util_dialog_add() API function
   * elm_image now inherits edje signal emit
   * fileselector: added a search icon
   * +elm_win_fake(), ELM_WIN_FAKE type
   * elm scroller - add adnimated and accelerated wheel scroll
   * elm_transit: Add elm_transit_go_in() API
   * DnD/Wl: add cancel support
   * DnD/Wl: support multi-layer Drag and Drop
   * genlist: Implemented genlist expand mode and content_min_limit function
   * elm - focus feature - add config option to automatically show/hide focus
   * elm_slider: Added elm_slider_indicator_visible_mode_set/get.
   * config: Reinitialize font config using evas_font_reinit() API.
   * scroller: add loop feature.
   * multibuttonentry: Add item long pressed callback.
   * Elm helper: add the posix regex validator.
   * add colorclass editor
   * elementary: Create new widget for image masking
   * ctxpopup: Added item_focus_set/item_focus_get.
   * hoversel: Added item_focus_set/item_focus_get.
   * elm_focus: added new focus move policy and elm_object_focus_move_policy_set/get
   * Elm: Add context,open signal in elm_entry.
   * theme: migrate all e users of darken_rounded_square to new darken_square image
   * elm_scroller: add wheel_disable_set API
   * calendar: show days of prev/next month.
   * gengrid: add item cache in gengrid for efficient realize/unrealize operation.
   * elm_config: Add feature to control transition scale for edje
   * win: Add autohide and ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN
   * EFL Model List View for MVC design
   * EFL Model Form View for MVC design
   * multibuttonentry: add horizontal, vertical padding between items.
   * index: add index item priority APIs for support multilingual
   * elm_config: Add flag to control pushing naviframe prev button automatically.
   * focus: add the focus region show mode
   * focus: item focus moves by geometry.
   * popup: make scroller optional in popup (T2651)
   * elm theme - add a blank focus style if you want invisible focus
   * Label: add support for all the fancy tags already provided for entry
   * elm - thumbscroll finger scrolling - make it far smoother
   * focus: add the APIs to set the focus next about item.
   * Elm_genlist: Add Item filtering support
   * spinner: delete longpress timer when scroller enabled.
   * focus: add the focus_direction feature about item.
   * focus: change the focus don't stay to scroller.
   * elc_multibuttonentry: add item disable support
   * atspi: add translation domain for name and description.
   * atspi: support org.a11y.atspi.Collection interface
   * atspi: add new relationship append/remove/clear API
   * elm run - be explicit about elm run not nesting in docs
   * gengrid : add all_contents_unset API in gengrid for reusing contents.
   * toolbar: add item_signal_emit.
   * spinner: add entry filter for accepted only digits and "."
   * hoversel: add item disabling support.
   * Elm entry: Keep cursor at inserted position after dnd.
   * atspi: support key modifers in bridge.
   * atspi: add type of accessibility object
   * elementary: Port elementary to use Ecore_Wl2 library
   * cnp: add Copy & Paste support for Windows
   * cursor: add cursor support on Windows.
   * popup: add popup default align config for other profiles.
   * Entry: Context Menu is now configurable
   * genlist: supporting homogeneous mode about each item class.
   * calendar: Apply elm_button widgets instead of manually implemented spinner buttons.
   * efl-js: JavaScript Eolian binding
   * popup: add popup dismiss function for hide effect
   * box: implement aspected item layout
   * toolbar: Send a signal when shrink mode is changed.
   * genlist: new SCROLLTO_BOTTOM alignment
   * calendar: add color classes and text classes.
   * datetime: add color classes and text classes.
   * index: add color classes and text classes.
   * spinner: add color classes and text classes.
   * multibuttonentry: add color classes and text classes.
   * elm config - allow the ability to save out to another hidden profile
   * elm config - add function to check if profile exists
   * elm config - add the ability to have derived configurations from others
   * ctxpopup: add geometry,update smart callback. (T2042)
   * Evas Text/Textblock: Use locale for lang as default.
   * Evas textblock: Use a common thickness and position at a underline.
   * eolian: add parsing and generation of hot events
   * Evas textgrid: Use default language according to locale
   * Eo: add support for initialising eo after it has been shut down.
   * ecore-drm: Add API function to get supported rotations from an output
   * ecore-drm: Add API function to set rotation on an output
   * ecore-drm: Add opaque type for Plane support
   * ecore-drm: Add API functions for rotation support
   * evas: add native surface with TBM Surface for wayland_shm engine
   * transit: add possibility to revert an ongoing transition during play (T3019)
   * eolian: allow silencing of type errors in validation
   * eeze: add case for Graphics subsystems in eeze_udev_find_by_type
   * entry: add elm_entry_select_region_get() API
   * genlist: add reusable_content_get item class function for support automatical content reusing in genlist. (T2813)
   * spinner: add min, max filter
   * gengrid: add all contents unset API for content unset and reusing
   * Evas font: allow ":fallbacks" keyword when Evas parses font keyword
   * spinner: add invalid input validity filter
   * scrolling: add option to disable scroll animations
   * config: add option to modify scroll acceleration factor
   * embryo: add tzdate function
   * panes: add the style to fold by clicking
   * Eo events: Change event callback signature.
   * spinner: add label format validator
   * Eo: Migrate to the new syntax (Eo 4).
   * eolian: new type system API
   * eo del interceptor: add the ability to intercept deletions of eo objects
   * combobox: add Multiple selection feature
   * label: add themes for left and right aligned text
   * focus: add focus_move_policy_automatic_set/get function
   * Slider: Theme - Add support for range in edc
   * slider: Add range support
   * edje: add edje_object_box_part_insert_after()
   * Eo: Mark all Eo APIs as weak
   * efl: vpath subsystem
   * efl ecore - init vpath on ecore init so we have a base object working
   * elm - add vpath paths for application resources
   * elm_nstate: introduce nstate widget and inherit check from it
   * eo - add object sotrage in generic values with ref/unref
   * Elementary Toolbar: Send order signals when a item is added/removed
   * eo - add object names/ids esp useful for erigo as it wants object names
   * eo - add object comments - esp useful for erigo and gui builders
   * eo base - add value keys in addition to object and void ptr data keys
   * Efl: Add skeletton for new containers "Pack" API
   * Efl.Ui.Box: Add implementation of a simple box
   * Efl.Ui.Grid: Add implementation of a grid/table
   * Efl: Add Efl.Pack interfaces and Efl.Ui Box and Grid
   * eo base: names - add finding functions to fund by name
   * eo base - add loop_get for base class
   * ecore-wl2: update wl dnd/clipboard support to v3 of protocol (T3455)
   * ecore-wl2: Port session recovery protocol to work with Ecore_Wl2
   * Efl: Introduce Efl.Container and unify APIs
   * Edje: Replace edje part_table with a fake eo proxy
   * Edje: Return text defined in EDC in part_text_get
   * elput: Add API function to get pointer position on a given seat
   * elput: Add API function to set pointer position on a given seat
   * wayland: implement session recovery
   * elput: Support sending of session activate/deactivate event
   * elput: Add API function to switch to a given vt
   * elput: Add code to handle keybindings for vt switching
   * elput: Add API function to return a list of seats
   * elput: Add API function to return a list of Elput_Devices on a given seat
   * elput: Add API function to set max allowed pointer position
   * entry: add elm_entry_select_allow_set/get APIs
   * docs: add an experimental elua based documentation generator
   * popup: add popup default scrollable flag config for other profiles.
   * eolian: add event_prefix and have classes follow that or eo_prefix by default
   * ecore_imf: Add multiline hint in input hint
   * Eo: Implement eo_override() to enable overriding functions of objects.
   * elm_win: implement v2 of teamwork api using window-based display protocol
   * eolian: remove pointers from complex and class types
   * Efl: Add Efl.Part and switch to it
   * elput: Add API function to set left-handed device
   * elput: Add API function to calibrate input devices
   * elput: Add APIs to support keyboard key remapping
   * elput: Add API function to support caching of an xkb_context
   * elput: Add API function to support caching of existing keymap
   * Merge in elm code widget (T2044)
   * ecore-drm2: Add start of Ecore_Drm2 library
   * ecore-drm2: Add API function to set left-handed mouse mode
   * ecore-drm2: Add API functions to support cacheing of context & keymap
   * Merge branch 'devs/devilhorns/ecore_drm2'
   * elm fileselector - make ok/cancel in selector configurable per os
   * elm_win: Forward events between window and evas
   * eolian: add a new references system to help replace pointers
   * Efl: Introduce app-side min size hint
   * eolian: support @protected for accessors (get/set)
   * win: Add new API win_name_get (EO and legacy)
   * Canvas text: introduce new text object
   * Canvas text cursor: introduce this new object
   * Canvas Text: continue porting api and fixup bugs
   * Ui text interactive: introduce this new object (rebase squash)
   * Ui text: introduce this new text widget
   * eolian: implement a stringshare builtin
   * win: Add property accel_preference
   * efl: Introduce general Efl.Config API
   * Ui text: add cursor_new method
   * efl: Add Efl.Version struct and APIs
   * eolian: add support for static and terminated arrays
   * eo base - add weak object refs as per jpeg needs
   * elput: Add API function to return output name associated with input device
   * Eo refcount: Split the refcount to private and public (user).
   * ecore-drm2: Add API for vt-switching

Fixes:

   * hover: Made hover itself unfocusable.
   * elm_list/focus: @bugfix crashes with empty lists and unfocused elements.
   * @fix homogeneous genlist recalc on theme change (T1023)
   * @fix slider popup creation with custom themes
   * @fix broken slider popup hide logic
   * diskselector: Fix segmentation fault (T988)
   * object_item: Check null in elm_object_item_del.
   * naviframe: Emit visible signal to edc theme when first item is pushed
   * fix ctxpopup getting min size from content immediately on set
   * Fix bug of moving cursor handler
   * entry - fix menu to not popup after every time mobile sel handles are clicked
   * elm: Add Drm Detection
   * Avoid Month wrapping by ignoring summer time correction.
   * elm_widget: @fix use of uninitialized values.
   * naviframe: Fix smart_show function to show only top item view
   * license: update FSF address. (T1042)
   * entry - send selection,cleared signal if a selection is dismissed.
   * @fix slider overlay parenting
   * actionslider: Fixed mouse movement issue.
   * elm_win: Unbreak the ABI break of window type.
   * Remove silencing of errors when called on non elm widgets.
   * theme overlays - fix to prepend on overlay to be semantically consistent
   * entry - fixed calc issue of the wrap none mode.
   * segment_control, toolbar: Fixed broken scale of widget item.
   * entry - entry did word wrapping even the mode was ELM_WRAP_NONE.
   * Focus: fix segfault due to bad call to Eo function.
   * list/genlist: Fixed Home and End key event handling routine.
   * Accessibility: unref the object only if it exists.
   * [Elm_Dnd] Fix type matching of drag and drop target objects in X11.
   * [Elm_Entry] Update selection handlers position and its visibility when scrolling
   * diskselector: Compare correct variables. (CID1193236)
   * atspi_object: Added missing comma. (CID1193238)
   * index: Set variable to NULL after free. (CID1193250)
   * access: Fixed memory leak. (CID1193244)
   * fix scrollbar to be clickable even if vieport is tiny compared to content
   * naviframe : Fixed the overlap issue during multiple push.
   * genlist needs to iterate exactly once over a fixed list when deselcting all items
   * list: Fixed item multi/single selection routine to skip disabled item correctly.
   * genlist: Fixed item multi/single selection routine to skip disabled item correctly.
   * panel: check _elm_config_key_binding_call return value
   * datetime: clip sub components into global clipper
   * prefs: Add EVIL_LIBS to build to avoid problems with missing regex.h under mingw
   * elm win - fix tracking of current position to properly store it in win obj
   * spinner: crash issue on deletion fix
   * elm win - fix wrong resizing of focus highlight obj.
   * fix left over soft cursors in elm (T893)
   * [Elm_Dnd] Correct drag position when rotation
   * [Elm_Dnd] Fix segmentation fault when deleting object with same registered drop callbacks
   * elm_map: Fixed a leak when ecore_file_download_full fails
   * gengrid: Fixed the focus animation in horizontal mode
   * map: remove memory leak
   * list/genlist/gengrid/toolbar: Fix - _nearest_visible_item_get() should always return an item.
   * plug: fix SEGV of elementary_test during reconnecting
   * list: Fixed _elm_list_item_content_focus_set in case the first content is focused.
   * dnd: Skip drag window when drag starts
   * widget: Initialized internal variables. (CID1199625)
   * scroller: Initialized some internal variables. (CID1199657)
   * spinner: fixed odd behavior of the spinner
   * ctxpopup: sd->box null check and event_flag set for previous and next focus move.
   * entry: wrong viewport value calculation issue fix
   * elm_interface_scrollable: fix resize after drag bug.
   * dnd: Correct drag window positon in drag start
   * tooltips position more accurately in X in xinerama
   * entry no longer completely breaks focus by focusing itself on selection signal
   * toolbar: Fixed wrong edje api usage for elm objects.
   * genlist: Removed unnecessary item show call on multi select.
   * ctxpopup bg theme should block all mouse events, not just left button
   * ctxpopup should not blindly show arrows when they are not wanted by the theme
   * gengrid: frame variable should be used for position changes.
   * widgets - propagate current parent orientation to sub object.
   * elm_map: Fix to support customized style for elm_map
   * entry: Fix a test case for editable, non-editable entry.
   * layout: remove sizing_eval call when layout is already destructed. @fix
   * elm_map: Fix to show and bring in a correct region after zooming
   * gengrid : Fix the issue to skip disable item in item select
   * entry: Enable context menu with mosue down even if the entry is not editable in some case.
   * hoversel: item-loop should happen on UP/DOWN Key in case of vertical hoversel and on LEFT/RIGHT Key in case of horizontal hoversel.
   * fix visiblity of entry cursor when selections exist (T1229)
   * elm_map: Fix to calculate map size not to be smaller than viewport size
   * [Fileselector] Fix double-call of callback function on clicking "Enter" key.
   * fix 0 size focus region (T1205)
   * Correctly emit the scroll signal when scrolling an entry @fix T1274.
   * entry: update selection handlers' visibility when entry is hidden or shown (T1175)
   * genlist: fixed wrong item focus set on item_focus_set API call.
   * scroller - emits the missed signals
   * elm win - if no ELM_DISPLAY is set, try more engines before giving up (T1294)
   * Add autogen.sh to EXTRA_DIST.
   * Remove autogen.sh from the dist tarball.
   * Remove autogen.sh from the dist tarball.
   * config: always create a themes directory for user.
   * po: Set all initial values for Language and Language-Team
   * win: fix borderless_set behavior
   * dnd: rotate dragwin if main window is rotated when draging
   * fix theme to not self-feed emit signals in a loop
   * fix check colorclasses for disabled text
   * elm object item: fix the comparison of eo class name in case of edje object.
   * fileselector: Make selected_set actually select the file
   * tooltip: corrected the typo in documentation of elm_object_tooltip_show
   * elm theme - fix wayland borders to be sized and colored correctly
   * transit - fix to adopt the tween_mode factor.
   * elementary: Don't segfault if we are not using an X11-compatible engine
   * list: call "selected" callback after set focus to the selected item
   * gengrid: corrected the reorder start and end evas smart callback call.
   * fix notification theme to not clip text
   * map: Add missing legacy API into legacy header
   * elc_naviframe: Fix warning caused by elm_obj_layout_signal_emit override function in naviframe
   * fix gst video loader in generic to have key actually work
   * ctxpopup: fix arrow geometry set.
   * ctxpopup: Fix wrong popup size.
   * elementary: Handle case where ELM_ENGINE environment variable is misspelled.
   * photocam should reset its preload when a new file is loaded
   * Gengrid: fix position calculation
   * Genlist: do not segv if the user clear the list on item double-click
   * gengrid once again selects items using keyboard when no item was previously selected
   * entry: fix clearing selection region problem while it's already selected.
   * NEWS: Manually add fix for T1530
   * elm_notify: fixing style applying
   * genlist: Fixed item select logic when item select mode is ALWAYS.
   * gengrid, genlist, list, toolbar: Fixed DISPLAY_ONLY select mode for an object.
   * gengrid: Fixed _item_unselect to check select value not highlight value.
   * genlist: Fixed ELM_OBJECT_SELECT_MODE_NONE codes and added more DISPLAY_ONLY check.
   * gengrid: Fixed ELM_OBJECT_SELECT_MODE_NONE codes and added more DISPLAY_ONLY check.
   * list: Fixed ELM_OBJECT_SELECT_MODE_NONE codes and added more DISPLAY_ONLY check.
   * gengrid/popup: Fix wrong return type of _item_del_pre_hook.
   * gengrid: Fixed item select logic when item select mode is ALWAYS.
   * label: Fix size calculation for wrapped label
   * panel: resize scrollable content in content_size_set API
   * elm examples - missing -lm link - fix
   * elm_map: the widget use efreet cache home to save image files to, so efreet should be initialized.
   * module: detect extention just based on if its windows or not.
   * conform, inwin, progressbar, radio: Fixed wrong part_alias_description implementations and documentations.
   * genlist: Fixed a crash bug in case of calling a genlist_clear in a select callback function.
   * elm_win should not check ELM_ACCEL variable if application has overridden it
   * remove accel_override from elm_config
   * bg: fix the _elm_bg_elm_layout_sizing_eval bug.
   * win: fix segfaults (wrong checking)
   * widget: fix seg fault when ts is NULL.
   * fileselector: Do not call _populate directly in APIs (T1663)
   * entry/test: make scrollable entries visible
   * elm win - start wins in withdrawn state
   * Elm_Panel: forbid changing of content of "elm.swallow.event" part
   * elm_widget: fix segfaults for _elm_widget_item_style_set/get
   * xcf: Make sure complete calculation is unsigned (CID63748, CID63749)
   * raw: Make sure to keep the correct sign (CID63746, CID63747)
   * genlist: Remove unnecessary callbacks when item loop is disabled.
   * widget: fix the typo. Use win object instead.
   * elm_box_align_set API fix
   * label: Reset sd->lastw as '-1' in some elm_label APIs for ensure the sizing_eval.
   * elm_box: inappropriate size_hint_align value usage fix
   * transit: free the map resource.
   * DBUS Menu: fixing SIGSEV and SIGBUS when trying to use dbus.
   * datetime: Fix edc sizing issue by putting fixed: 1 1.
   * win: set config engine on higher priority than DISPLAY env var
   * genlist: Fix genlist crash issue when clearing genlist on item focus callback.
   * test_external.edc: pulse value have to be true for put in pulsing mode.
   * win: Fix wrong return value of window theme apply.
   * elm_label: Add "slide,end" signal emission
   * elm_widget: Pass Elm_Object_Item *item as *event_info in item->del_func.
   * modules: Make sure we have all linker flags setup for our modules. (T1920)
   * elm/image: Fix an unclipped issue about image bigger than object size
   * elm_colorselector: fix not intended duplication
   * elm_colorselector: Fix layout broken in ELM_COLORSELECTOR_ALL mode
   * add clipper for gadget popup shine
   * genlist should ignore no-select items when moving with the keyboard
   * elm_toolbar: fix memory leak in _elm_toolbar_nearest_visible_item_get
   * elm_genlist: add missing callback call
   * gengrid: Add missing "moved" callback call on item reorder by key.
   * gengrid, genlist, list, toolbar: Fix memory leak and enhance performance.
   * elm_colorselector: Fixed to get proper min size with picker only mode
   * test_gengrid.c: Fixed Item_Data array size for prevent buffer overflow.
   * box layout should not silently fail when size is less than min size hint
   * Elm_Entry: Fix dropped text data insertion
   * genlist: unselect item if the select mode is display only or none.
   * genilst: unselect items if the genlist select mode is display only or none.
   * elementary: Fix DnD to work again in wayland
   * elementary: Fix return values to use Eina_Bool
   * elementary: Fix issue with event data causing an invalid free
   * elm_diskselector.c: idle enterer add condition changed.
   * elm_segment_control: Fix elm_object_item_text_set bug.
   * colorselector: memory leak fix  in _color_bars_add
   * genlist: cancel multi selected items.
   * elm progressbar - fix invalid access to freed units string
   * elm filesel - fix eio access of widget data after de in eio threads
   * theme: fix misprint in popup style alias name
   * elm_image: Fixed to have exact size using elm_image_fill_outside_set()
   * elm_widget: elm_object_disabled_set API fix
   * elm - elm image orientation api fix - major bug in implementation
   * DnD: fix callbacks deletion for inline windows.
   * elementary: Fix dereference of null return value (CID1261370)
   * elm image - fix image rotation in non-common cases
   * elm_transit: Fix to support zoom rate zero.
   * elm_transit: Fix crash issue caused by multiple transit effects.
   * Elm_Entry: set handler style according to current widget style
   * Icon: use size_hint_min instead of image_size to know the wanted size
   * panes: Fix elm_panes_fixed_set.
   * Correctly lookup icon paths - @fix T2044.
   * multibuttonentry: Delete duplicate running code.
   * elm_image: fix elm_image_memfile_set API fail when elm_image widget is not visible.
   * Gengrid : Fix memory leak in elm_gengrid_realized_items_update
   * elm_label: Fixed to prevent slide's autostart before calling elm_label_slide_go()
   * [tooltip] use proper object to set tooltip layer
   * elm_label: Fixed label disappearing after theme changed
   * win: fix an issue that profile is erased and set to NULL.
   * widgets: Apply default return value according to description in .eo or add description too.
   * elm list - fix access of deleted items in list when recursing
   * elm config - font selector - avoid accessing invalid data on deld items
   * elm - list - fix invalid item data scope get
   * panel: Remove error message from elm_panel_add API and _theme_apply func.
   * popup: passing right parameter to elm_layout_sizing_eval
   * elm engine - restore explicit use of ELM_ENGNE env var
   * genlist: select the focused item on enter key input
   * gengrid: select the focused item on enter key input
   * genlist: Fix elm_genlist_item_index_get.
   * popup: removed button style setting code in theme_apply
   * multibuttonentry: Item selected callback called twice redundantly.
   * entry: Don't unlink empty files when saving @fix T2122.
   * genlist/gengrid : Add upadating 'focus' state in item realized function.
   * datetime: Fix elm_datetime_field_limit_set.
   * elementary_test: fix build on windows
   * elementary: Restart default cursor for wayland windows
   * elementary: Fix issue of cursor getting unset on DRM engine
   * layout: apply widget's states when elm_layout_file_set is called
   * gengrid/genlist/list: focus first item if first_item_focus_on_first_focus_in is on whether focus highlight is enabled or not
   * config: fix config name
   * elm_win framespace toggling on fullscreen change: activate!
   * hoversel: Enabled default mirroring in hoversel.
   * Genlist: make reordered item selected
   * pdf: Add support for changes with poppler >= 0.31 (T2184)
   * popup: correct popup position.
   * layout: here default content alias can be acceptable.
   * Genlist/Gengrid : Modified to handle the focus highlight on unrealized items
   * genlist: Send param item type instead of eo item type.
   * widget: fix the abi break.
   * GLView: Return false if the surface could not be created
   * conform: Use eo_isa() to check object types.
   * elm_win fullscreen setting on FAKE wins should just toggle the flag
   * elm_widget: fix wrong parmeter.
   * elm_entry: fix focus on text selection
   * [elm_datetime] Fix to parse the POSIX locale format properly.
   * [elm_datetime] Fix to consider second field while comparing datetime values.
   * elm_datetime: compatibility for Windows.
   * elm_prefs: compatibility for Windows.
   * elm_slideshow: looking for right data directory in prefix.
   * elm_prefs: looking for right lib directory in prefix.
   * elm_panel: display directory from HOME on Windows.
   * elm_fileselector: display directory from HOME on Windows.
   * elm_diskselector: check if sd variable is null.
   * task_switcher: add variable verification.
   * elm_genlist: use of elm_app_data_dir_get() instead of PACKAGE_DATA_DIR.
   * elm_naviframe: use of elm_app_data_dir_get() instead of PACKAGE_DATA_DIR.
   * elm_naviframe: use of elm_app_data_dir_get() instead of PACKAGE_DATA_DIR.
   * elm_map: use of elm_app_data_dir_get() instead of PACKAGE_DATA_DIR
   * Elm_Win: Fix _elm_win_focus_prev_target_del callback added repeatly without callback del.
   * elm image - stop repeating events by default - wrong
   * elm_genlist: pass eo_it to eo_do_ret func, not VIEW(it)
   * [elm_panel] Fix mirroring issue.
   * test_naviframe: Fix content image file names.
   * elm_image: return EINA_FALSE if the data source is NULL in elm_image_memfile_set
   * spinner: fix entry style in non 'button_layout' mode
   * elm_gengrid: mark cursor_engine_only in data and update state when realized
   * atspi: add missing signals array sentiel.
   * elementary: Fix elm_win_window_id_get for wayland
   * elm_slider: fix theme apply
   * elm_clock: fix theme apply
   * elm: add safety check
   * elm_segment_control: mark default return value in eolian API
   * elm_photocam: Fixed T2337, zoom in/out rotated photocam image
   * Genlist: Fix for memory leak
   * elm_photocam: Limiting image reload in zoom in/out
   * elm_multibuttonentry: change theme_set API to provide full widget theming
   * elm_multibuttonentry: fix label position and size defects
   * elm_toolbar: fix memory leaks
   * Genlist: fix multiselect for ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY select_mode
   * Genlist: rectification in _item_focused_next()
   * map: fix scale calculation error
   * Fix slideshow smart events event_info
   * elementary: Remove unused variable
   * genlist: fix to return item style correctly.
   * theme: return false if elm_object_style_set() failed to set requested style.
   * label: Fix memory leak.
   * SlideShow: Fix double invocation of ItemClass delete function (T2394)
   * elm_object_item: fix the issue that del_cb doens't get item data as its parameter
   * widget: more fix wrt item data.
   * tooltip: set the correct style of label.
   * slider: use theme of object for popup.
   * entry: update selection handlers when entry is resized
   * elm_win: Set initial withdrawn state from win's ecore_evas property.
   * Immediatly change the cursor if changed from inside the widget
   * elm_genlist: fix implementation of genlist tooltip functions
   * fileselector button: correct window parent finding
   * elm config - init wl if env vars indicate we should
   * Genlist: support of ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY mode of genlist item for ELM_ITEM_SELECT_ON_FOCUS_DISABLE config variable.
   * elm - fix profile handling if ELM_PROFILE is set - dont listen to x msg
   * Gengrid: fix mirroring bug in gengrid widget.
   * gengrid/genlist: decrement item counter before triggering item del callback
   * glview: preserved changed state when altering render mode
   * tooltip: fix positioning when tooltip is affixed to a window object
   * interface scrollerable: modify the loop_v condition in _elm_scroll_momentum_animator() function
   * tooltip: fix tooltip multi line text issue (T2034)
   * fix list item mode change on elm list
   * cnp: Add safety check for NULL pointer from _elm_util_text_to_mkup().
   * cnp: Add safety check for NULL pointer from calloc() for anim_icon.
   * cnp: Add safety check for NULL pointer from strdup().
   * Dnd/X11: add dnd support for image, uri types
   * Cnp/X11: move entry-only code in elm_cnp to entry
   * Cnp/X11: correct object parameter in datacb
   * entry: add dnd image handling
   * cnp: Add safety check for NULL pointer from malloc().
   * clock: Add safety check for NULL pointer from localtime() func.
   * entry: emit changed,user signal when text is pasted or dropped
   * win: only trigger del trap if win type is not FAKE
   * win: do not use deferred ecore evas deletion for FAKE wins
   * dayselector : add safety check for NULL pointer from _item_find()
   * colorselector: add safety check for NULL pointer from ecore_x_image_new().
   * genlist: fix resize of items when added after elm_genlist_clear(). (T2367)
   * elm_colorselector: fix horiz/vertical padding to be affected by base_scale in edc
   * elm_genlist: reset timer to NULL on cancel only.
   * DnD: remove text/uri handling
   * config: fix the flush file path.
   * X11/CnP: remove X11 invocations from elm_entry (T2183)
   * config: read flush.cfg when elm_config_all_flush is called.
   * elm_colorselector: pixel-picker accuracy fix
   * elm_gengrid: fix the bug that gengrid item index(position) is updated wrong value in item_update
   * elm_interface_scrollable: fix wrong mirrored calculation
   * elementary: Add rudimentary support for Elm Wayland apps to set border icon (T2453)
   * Revert "theme: return false if elm_object_style_set() failed to set requested style."
   * Genlist: use correct variable during realize
   * elm_datetime: Fix datetime ctxpopup resize issue
   * Elm_Interface_Scrollable: Improvement in looping behavior
   * layout: Fix eo API error while running "Genlist 7" in elementary_test. (T2534)
   * Entry: Add chunked append in case of _elm_entry_entry_append
   * naviframe: Fix to work clicked callback of auto pushed button.
   * cnp: change drag win type to ELM_WIN_DND
   * elm_conform: remember window pointer.
   * elm_conform: remove smart_callback when it is removed.
   * elm - scroller - set hold flag on wheel events if used for that dir
   * image: fix a crash, 0 divide problem.
   * slider: compare slider values elaborately.
   * Entry: Fix behaviour of markup filters when setting entry text. (T2561)
   * elementary: Tweak elm wayland border focus to Fix T2575 (T2575)
   * elementary: Update elementary wayland border theme to match E's
   * elementary: Fix elementary wayland border opaque region calculations (T2575)
   * elementary: Fix program signal for enable/disable of shadows
   * elementary: Properly fix wayland opaque region setting (T2575)
   * popup: fix title icon to show up. (T2581)
   * Scroller: Improvement in _key_action_move() calculations.
   * genlist : fix genlist dangling pointer crash in item select (T2553)
   * elementary: Adjust shadow spacer on maximize (T2578)
   * elementary: Fix T2573: Extra blank line in Genlist Dnd Test (T2573)
   * Elm_Config: add getpwent support, fix compilation on Windows
   * Elm_Config: fix compilation when getuid() or geteuid() are not available
   * elementary: Fix compiler warning disgarding const qualifier
   * elementary: Fix external variable declaration to match const char
   * elm_gengrid: Fix condition error.
   * Elm_Prefs: use Evil API
   * elm_gengrid: fix missing variable initialization.
   * multibuttonentry: delete clicked signal preventing code when mbe shrinked.
   * entry: few times the hit_rect is not clipped properly during genlist scrolling, with entry as content.
   * multibuttonentry: fix bug with uneditable MBE use case.
   * multibuttonentry: update end text(item count) even mbe shrinked.
   * Colorselector: fix wrong object for callback call function
   * multibuttonentry: internal label object status, box pack, unpack logic clean up.
   * interface_scrollable: don't use integer abs on floating point
   * interface_scrollable: convert to int before using abs first
   * elm: simulate the clicked event over the object only.
   * hoversel: use elm_object_focus_set to set focus on subobjects.
   * colorselector: fixed up the selected process
   * popup: fix resize issue when action area and title area is absent. (T2623)
   * spinner: entry text makes to registered special value instead of number.
   * multibuttonentry: item object scale set is not need when theme applied.
   * mbe: remove unnecessary keypad hide call from multibuttonentry.
   * popup: fix resize issue in case of custom part text set
   * focus: add del callback always.
   * focus/list/genlist/gengrid: fix focus highlight issues on list widgets when auto focus enable is on. (T2555)
   * Tooltip: reset content delete callback directly after invocation
   * elm_toolbar: fix icon_size to consider edje base scale
   * spinner: Add to support spinner value %d format.
   * scroller: fix the focus move bug in scroller.
   * generic loaders - fix load if process esits before stdout produced
   * gengrid: extends D2418 to horizontal mode.
   * gengird: change focus move mechanism in gengrid.
   * elementary: Fix Copy and Paste test to actually paste clipboard text
   * elm theme - conformant - fix to have proper min size of conformant
   * cnp: init wayland dnd handlers upon creating the first drop target
   * cnp: initialize Elm_Selection_Data.action for wayland drops
   * cnp: fix wayland drop format selection
   * cnp: pass wayland drop event size to handler, do not nul terminate drop data
   * cnp: end wayland drag on allocation failure
   * cnp: only nul terminate wayland drops for text type drops
   * cnp: redo wayland drop to nul terminate for text_uri drops and free on every drop
   * Gengrid: Set focus after item looping
   * list: fix crash while setting nearest item in viewport (T2662)
   * Entry: fix cursor repositioning on theme_apply (T2646)
   * scroller: fix the misstake. change && -> ||
   * scroller: fix memory leak on keys traversal
   * theme: fix theme file path parsing issue on windows.
   * elm_win: Initilize the variable 'preferred_rot' as a -1 before invoking _elm_win_xwin_update() in _elm_win_finalize_internal().
   * gengrid: fix item focus movement in case of horizontal mode
   * gengrid: no need to loop in case of reorder mode is enabled
   * toolbar: fix issue of focus not coming to item on mouse click (T2697)
   * config: revert first_item_focus_on_first_focus_in to 0 (T2662)
   * Genlist: reset item tree expanded state when putting item in cache
   * elm win - fix to ensure smart calc is done before show
   * Gengrid: Fix wrong focus movement in _item_single_select_down
   * multibuttonentry: Use elm focus for items instead of evas focus.
   * Revert "Elm_Interface_Scrollable: Improvement in looping behavior"
   * Elc_Naviframe: When push is in progress, block pop until push is complete.
   * multibuttonentry: Fix mbe  clicked signal is not work.
   * Elc_Multibuttonentry: Item resize issue on text set
   * Genlist: Dont select first item if its DISPLAY_ONLY
   * naviframe: fix a focus issue when deleting the first item
   * gengrid: fix crash issue.
   * FileSelector: fix behaviour when the file is chosen
   * elm map - fix module load craziness loading all elm modules
   * elm map - fix crash on badly handled zoom timeout callback
   * FileSelector Entry: fix behaviour for events
   * elm_image: fix image preload issue
   * elm theme - make sure key sounds are on input channel for muting config
   * calendar: fix signal process timing issue when view update.
   * elm autofocus show - fix cases where focus is inside containers
   * elm - when focus goes back in to a window dont have scrollers jump
   * elm toolbar 0 size items fix if icon not found (T2710)
   * multibuttonentry: Fix box item append rtl when mirror enabled.
   * elc_multibuttonentry: Input panel should be controlled only if multibuttonentry is editable
   * focus: remove checking the focus origin in highlight job.
   * dnd/x11: correct coordinates in pos callback
   * test_dnd: transfer text without markup when drag label
   * [spinner] Notify when value is edited directly
   * elm - fix focus set on focus in on window due to previous focus fix
   * elm_conformant: display mode set fix
   * gengrid: fix duplicate edje signal (elm,state,focused) to item on focus
   * calendar: weekday update when first day of week changed.
   * spinner: Fix internal logic about special value show instead of number.
   * multibuttonentry: fix MBE item clear, item delete logic error.
   * Revert "index: fix index object got a wrong min value."
   * spinner: fix extra callback calls
   * multibuttonentry: Fix padding to be affected by base_scale in edc.
   * multibuttonentry: Fix MBE item box min size calc error.
   * elc_naviframe: fix crash in strcmp, if text_set is NULL issue
   * elm_hover: delay hover dismiss while handling edje signal
   * elm cursors - if min size is too small then force it to be sane
   * elm cursor - fix hotspot tracking to actually work right
   * toolbar: Fix crash on more_item when shrink mode is set with no item.
   * elementary: Fix calling ecore_evas_wayland_move with improper values
   * elm_hoversel: fix to show dismiss animation
   * toolbar: do not change align for "noicon" toolbar items (T2782)
   * elementary: Remove unused static variable
   * elementary: Remove unused static variable
   * elementary: Fix passing wrong parameter
   * elementary: Fix passing wrong parameter
   * elementary: Remove unused variable
   * elementary: Remove unused static varible
   * elementary: Remove unused function
   * elementary: Remove unused variables
   * elementary: Remove unused static variable
   * elementary: Remove unused static variable
   * elementary: Fix genlist example to not free data until After it has been removed from the list (CID1327342)
   * deskmirror: unset proxy.source_clip for urgency effects
   * border: bring sparklebear theme up-to-date with current efl rendering
   * elc_file_selector_button: free allocated path name
   * elm_win: fix wrong comment.
   * elm_cnp: DnD/X11: correct drag window position in rotation
   * dayselector: fix warning related to argument type
   * multibuttonentry: fix label packed many times in internal box.
   * win: reemit atspi "focused" event on bridge connection
   * multibuttonentry: when item is clicked/selected, select function not called issue fix.
   * widget: update child_can_focus flag on focusability change
   * colorselector: picker spinner UI not proper issue fix. (T2401)
   * autoscroll focus: pass the object region position relative to the scroller. (T1686)
   * elm_segment_control: fix invalid parameter
   * atspi: add missing SELECTED changed signals
   * win : Prohibiting auto-rendering, until elm_win is shown.
   * calendar: weekdays do not get translated when language is dynamically changed issue fix
   * index: internal item's edje object handling logic changed to improve performance.
   * naviframe: subtitle,show signal not sent
   * segment_control: fix variable affectation
   * Genlist: Fixed a possible crash in filter iterator and a typo.
   * Clouseau: handle case when the library is not installed
   * win: only perform maximize frame state updating during ecore-evas callback
   * gengrid: Prevent duplicated selected function calls when item is unselected in the function.
   * atspi: unprotect subset of methods
   * notify: fix broken timeout feature in elm_notify (T2853)
   * notify: fix hide animation
   * multibuttonentry: change default format count.
   * multibuttonentry: internal entry cnp mode set as "ELM_CNP_MODE_PLAINTEXT".
   * datetime: fix field arrange code for dynamically field sequence change case.
   * comp base: allow mouse events to propagate through comp base -> wallpaper
   * Entry: add markup cnp handlers
   * elementary: Fix test_colorclass function
   * elm: set language to edje when elm_language_set is called.
   * spinner: prevent scrolling when longpress timer enabled.
   * elementary: Don't call ecore_wl2_shutdown unless we have a display
   * elm border: change shadow toggle program signal source e -> elm
   * elementary: Update ecore wayland window geometry (T2919)
   * spinner: add possibility to enter negative value. (T2915)
   * gengrid: fix Logic in _item_single_select_left and _item_single_select_right.
   * Elm entry: fix null item in item provider.
   * Fileselector entry: fix a case when file was not selected
   * genlist : fix size hash issue when genlist layout sizing evaluated
   * genlist: remove unnecessary data creation
   * elm_photocam: add NULL check
   * atspi: return previous name in overloaded getters
   * Elm config: use a name instead of elm_widget_type_get (T2891)
   * Entry: Add newline filter for single line entry (T2660)
   * [config] fix static analysis issue
   * Elm entry: Fix to hide magnifier when menu is disabled.
   * elm - cursor - fix job handling to not leave rogue jobs
   * genlist : add size_calc forcely about content when elm_layout.
   * elm wl cnp - fix paste to not crash anymore
   * elm config - monitor JUST the correct files for profile and cfg change
   * elementary: Fix elementary not compiling
   * sys_notify: fix shutdown of elm_sys_notify
   * segment_control: check item disable (T2883)
   * elementary_test: remove wrong usage of EINA_UNUSED.
   * layout: do not unset max size hint during sizing eval
   * hide indicator after mouse wheel activation. (T2348)
   * combobox: fix recalc and hover's best_location error
   * js: fix examples functions
   * elm entry: check for null return from eina_rectangle_new
   * [Hover] Fixed the delaying of hover dismiss on continuous mouse clicks (T3006)
   * box: enforce size recalc during unpack_all()
   * config: try to properly update config for popup new align value. (T3008)
   * config: Correct defaults in upgrade of popup conf (T3008)
   * Gengrid: improve item_region_show code
   * elementary: Fix elm_win_window_id_get function (T3058)
   * Adjust "context_menu_disabled" configuration.
   * genlist : fix tree item floating issue when homoegeneous mode is enabled (T2708)
   * combobox: move responsibility to define filter and content to the user of a combobox
   * combobox: "return" key handled correctly and removed unreachable code. (T3075)
   * Genlist: do not select the item two times in case of a double click.
   * Elm Image: fix usage of animated gif on the same image object more than one time
   * combobox: fix disabled state (T3075)
   * combobox: fix continuous clicks on hover
   * [toolbar] don't leak icons into the UI
   * [toolbar] Adjust icon size along with text etc.
   * genlist/gengrid: Fix focus hilight error (T3122)
   * edje: Reduce duplicated item obj creations and deletions.
   * Elm entry: Fix selection using handlers.
   * multibuttonentry: Add item unfocused callback.
   * evas/canvas: fix an incorrect sizing of smart object bounding box.
   * Eo base: Make object del event @hot.
   * calendar.edc: fix typo in text style
   * Eo: fix eo_shutdown()'s return value to be FALSE on shutdown.
   * edje: fix edje_file_data_get() when no collections are present
   * Evas: Use proper language for harfbuzz shaping
   * genlist: update all realized items in a single job
   * Elm_Entry: Magnifier Not working properly on corner areas issue fix.
   * multibuttonentry: fix Segfault on pressing Delete Key
   * combobox: prevent empty swallow to be shown on hover_dismiss animation (T3124)
   * genlist: fix for a bug in tree expansion, T3132 (T3132)
   * win: fix a possible crash in elm_win_add
   * button: remove unnecessary action in program
   * Ecore con: Close server socket fd on failure.
   * eina: invalidate last add/del rects when the opposite operation occurs
   * evas: include Eet.h where it's needed.
   * Evas font: Use proper enum value for extrabold
   * ecore-x: Add EINA_SAFETY checks for missing display
   * ecore-x: Fix compiler warnings about return values
   * ecore-x: Add EINA_SAFETY checks for missing display
   * ecore-x: Add EINA_SAFETY checks for missing display
   * ecore-x: Add EINA_SAFETY checks for missing display
   * spinner: fix vertical drag style and logic
   * edje: fix typo affecting our 32bits signal matching code. (T3125)
   * tooltip: set pass events on the tooltip, not the content
   * eina: accept NULL in eina_array_free() without erroring
   * Evas text: set NULL free'd pointers in evas_object_text_free()
   * ecore-drm: Make ecore_drm_output_rotation_set fail properly
   * Evas Text: Update text layout when ellipsis is changed without resize
   * ecore-x: Add safety checks for NULL _ecore_x_disp in dnd functions
   * ecore-x: Add safety checks for NULL display in dpms functions
   * ecore-wl2: do not send double mouse up events during input ungrab
   * ctxpopup: completely disable focus-setting on show (T3088)
   * cursor: do not unconditionally unset cursor before setting an engine cursor
   * elm_widget: do not set NULL as parent for object
   * elm win: fix excess resize callbacks on windows when not really resizing
   * elm win: fix window redraw if norender is enabled on withdrawn windows
   * config: add more frames for scrolling options
   * gl-drm: revise page flip logic
   * edje: clear pending programs upon calling stop_programs_on()
   * elm win: use actual window size not requested to resize child objects
   * ecore evas: fix configure request queue count to only count changes
   * [editor] Fix crash when deleting selections
   * ecore-drm: Don't reset event modifiers on touch motion
   * ecore-x: add safety checks for _ecore_x_disp in some functions
   * edje_cc_handlers: font field in new text_class should be NULL at the begining
   * fix the wrong operation of mirrored set
   * ecore-x: add safety checks for _ecore_x_disp in some functions
   * edje: unset animator pointer after free in _edje_file_del()
   * hoversel: set hover layer to layer of hover_parent (T3203)
   * list: do not constantly reset scr_min flags
   * list: always apply new size hints for subobjects
   * Evas textblock: Fix markup cache, was completely broken.
   * Edje textblock: Assume textblock knows to deal with setting the same markup.
   * view list: free style in base destructor.
   * list: do not change scr_min flags when setting an unenforced list mode
   * list: set update hints on item edje objects
   * Evas textblock: fix cached markup's stringshare refs
   * edje epp - fix gcc warning about possible unused var usage
   * efl - fix threadqueue spinlock destruction on openbsd - doesn't like it
   * combobox: store eo_constructor() return value into obj
   * Genlist: fix for an item width calculation issue on item show / scrolling (T2603)
   * genlist: fix item sizing error
   * ecore-drm: Update copyright notice (T3286)
   * ecore-drm: Don't re-include config.h
   * ecore-drm: Disable default DBG log level
   * elm - genlist item - index get start from 0 - unbreak api break
   * edje: Don't leak array source if we are going to exit function (CID1350291)
   * evas-gl: Fix dereference after null check (CID1339785)
   * ecore-wl2: set fd handler active flags correctly for connect/create
   * ecore_wl2: Don't treat EINVAL as a recoverable condition
   * eolian generator: check fwrite return value currectly (CID1327247)
   * ecore_drm: Update device copy of framebuffer after page flip completes
   * gl_common: call evas_gl_common_texture_free() before dropping image cache
   * ecore_drm: Disable custom tick if we can't wait for vblank
   * interface_scrollable: fix the getting scroll view port size
   * evas: Fix incorrect expression in efl_canvas_surface_wayland (CID1353365)
   * evas: Fix incorrect expression in efl_canvas_surface_tbm (CID1353365)
   * evas: Fix incorrect expression in efl_canvas_surface_x11 (CID1353363)
   * docs: bring back docs from eo files by switching to the new group name (T3109)
   * docs: bring back docs from eo files by switching to the new group name (T3109)
   * docs: bring back docs from eo files by switching to the new group name (T3109)
   * edje: do not emit selection,start twice when running select all
   * entry: do not set selection on selection,start signal
   * evas-wayland-egl: Override image_native init and shutdown functions
   * evas-wayland-shm: Override image_native init and shutdown functions
   * evas.canvas3d: fix wrong output in evas-3d-pick example
   * Genlist: fix wrong use of Eo item
   * Genlist: fix test ending
   * evas-wayland-shm: Fix rotation for wayland shm engine
   * label: whenever text is changed, sliding related things should be checked
   * Evas font: fix width calc in last_up_to_pos
   * Evas textblock: fix null-derefernce in _style_match_tag()
   * elm_win: force resize during show if job is pending
   * elm_win: monitor wl CONFIGURE events and unset resizing flag accordingly
   * elm: fix window resize self-trigger
   * evas sw render: cutout rects may be used in multiple threads (T3348)
   * efl - evas - sw engine - donmt free spinlock because cache always needed
   * edje_cc: fix parsing error when some keywords are used as part name
   * elm_fileselector: fix progressbar mode
   * textblock: support escaped &apos; tag
   * wayland: ignore resize from no-op surface configure events, send events always
   * ecore: add ecore_main_fd_handler_file_add() handlers to file handler list
   * evas render: fix updates sometimes are list of rects sometimes updates (T3226)
   * evas sw render: fix previous thread fix to be portable
   * evas - fix leak because cutouts_fre .. doesnt free - it just resets to 0
   * evas-software-generic: remove native.func.data variable and data argument of native calblacks.
   * ecore-wl2: Enable releasing keyboard, pointer, and touch if supported
   * ecore-drm: do not attempt to destroy sprite outputs which have never repainted
   * evas: gif loader - fix out of bounds access on cmap of invalid pixels
   * elm win - null  out freed data on smart del
   * evas - gif loader - handle missing colormap
   * ecore-xcb: Fix wrong initialization
   * ecore-xcb: Implement missing keyrouter and keygrab functions for xcb (T3377)
   * elm_win: unset opaque region when alpha is set
   * elm_win: update opaque region while fullscreened
   * elm_win: conditionally emit focus and maximize signals in frame creation
   * popup : fix create scroller bug when list item add.
   * evas-wayland-shm: Update copyright notice (T3421)
   * ecore-xcb: Add missing ecore_x_randr_output_crtc_set API function
   * ecore-xcb: Add missing API function ecore_x_randr_edid_info_has_valid_checksum
   * ecore-xcb: Add missing API function ecore_x_randr_edid_manufacturer_name_get
   * ecore-xcb: Add implementation for missing API function
   * ecore-xcb: Add implementation for missing Ecore_X API
   * ecore-xcb: Add implementation for missing API function
   * ecore-xcb: Add implementation for missing API function
   * ecore-xcb: Add implementation for missing API function
   * ecore-xcb: Add implementation for missing API function
   * ecore-xcb: Add implementation for missing API function
   * ecore-xcb: Add implementation for missing API function
   * ecore-xcb: Add implementation for missing API function
   * ecore-xcb: Add implementation for missing API function
   * ecore-xcb: Add implementation for missing API function
   * ecore-xcb: Add implementation for missing API function
   * elm_win: update wayland opaque region during pre-flush...always
   * ecore_x: fix emission of ECORE_X_EVENT_XKB_NEWKBD_NOTIFY
   * elm_win: move frame obj creation/deletion for fullscreen property to state change cb
   * elm_win: handle icon object lifetimes more accurately, use icon_name in csd icon
   * ecore-wl2: redo Ecore_Wl2_Event_Window_Configure entirely
   * eina tmp get - support other tmp dir env vars and dont use xdg runtime
   * efreet: fix tmp file/dir/log handling to not leave a mess and work
   * efreetd - fix more cache path handling to live in the cache dir
   * Evas: Add API to reinit the language and use it in elementary.
   * Evas langauge: Prevent potential buffer overflow and clean code.
   * elm_win: force opaque update on maximize state change
   * evas gl - fix leak with font glyph textures
   * ecore - system modules - fix eldbus interdependency and complaints
   * ecas gl: ensure make current/window/outpbut enabled before flushing
   * edje - delete obj - null out freed items in structs/data
   * ecore-drm: Don't leak object properties
   * elput: Add missing optional feature check for systemd
   * datetime_input_ctxpopup: delete previously created ctxpopup if theme is broken
   * edje_cc: delete anonymous lookup during program removal
   * elm_win: remove duplicated focused/unfocused event call
   * elm_focus: keep all focused states to be consistent when win loses and gets focus
   * eina mempool: don't allow 0 sized mempools
   * edje_cc: Fix filters inheritance (T3467)
   * genlist: recalc item size after item content field updated
   * eina value test - gix blob check to check only relevant fields
   * genlist: call update_job after smart_calculation done
   * Edje edit: fix get list of program tagrets.
   * Edje edit: fix aspect_preference value into generate code function.
   * elm_cnp: attempt to get all applicable mime types when getting selection
   * elm_cnp: accept appropriate text types in wl drop handlers
   * genlist : arrange focus set in mouse up
   * evas - legacy evas_object_del - always hide obj regardless of refs
   * edje: fix the source string for table item
   * Elementary toolbar: Fix flickering issue from resizing the box multiple times
   * efl: Add uuid as a dependency for Ecore_Wl2 (T3505)
   * elm_genlist: fix the sorted insert after expanded tree item
   * evas: Fix improper extra library linkage for various engines
   * ecore-drm: Add missing initializer for fb2 command
   * elementary interface/scrollable: remove duplicated function calls for bars
   * elementary: fix genlist tree filters
   * edje_entry: fix crash issue in case of no selection text
   * edje_text: don't apply ellipsis if fit is setted (T3519)
   * elm_genlist: when appending items to the parent, prepend to the parent
   * ecore-evas-wayland: Remove include for old Ecore_Wayland library
   * ecore-audio: Fix issue of improper deleting of ecore_job
   * efl: Make building Ecore_Wayland optional
   * ecore_file: fix memory leak
   * ecore_drm: Fix off by 1000 in output rate calculation (T3587)
   * elput: Remove useless dbus argument fetching
   * ecore-drm: Fix potential segfault when setting output mode
   * ecore-wl2: Remove need for including <sys/param.h>
   * elput: Fix issue of NULL seat named being passed during input init
   * elm win: change to use legacy api for cocoa engine
   * edje_callbacks: fix click signal emitting even though mouse event was cancelled
   * ecore-evas: call application-set focus functions if no engine functions exist
   * Elementary toolbar: Don't call "clicked" callback when item is just selected
   * elput: Don't multiply pointer axis value
   * ecore-wl2: Add environment variable to optionally disable wobbly windows
   * elementary: Fix build issue when x11 is disabled
   * elementary: Don't define handlers if we are not going to use them
   * elementary: Conditionally define functions based on x11/wayland
   * elementary: Cleanup compiler warnings when not using X11
   * eina test suite vector - make correctness range 2x as big
   * elm_list: perform a null check before accessing its member
   * ecore-evas: Fix Makefile to not include Ecore_Wayland
   * efl: Define if systemd version >= 209
   * evas-vg: Don't fetch parent if we are not going to use it
   * fix warnings about double/float comparisons in eina vector (T3245)
   * evas 3d - fix mesh savers/loaders to not leave memory unset
   * ecore-con - simplify down to a single libc resolver (T3668)
   * ecore-con tests - remove WRONG connect check
   * eldbus: divide dbus call timeouts by 1000 to convert from milliseconds
   * evas - use actual smart bounding box not obj geometry for render incl
   * slider: theme - fix warnings
   * eina hash - fix stringshare key comparison function (T3638)
   * efl - fix many bounds over/underflow where we use int for ptr cmp (T3638)
   * Elm entry: fix returning wrong focus region
   * elput: Fix issue where double/triple click was not working
   * elput: Remove badly named API
   * efl - ecore c+ ecore-imf - fix odd case input when faking a real event (T3703)
   * ecore-evas-drm: Fix issue of mouse pointer not centering on startup
   * widget: set the parent-child relation again, when the widget is unset
   * ecore-evas-drm: Register direct input callback for gl_drm also
   * ecore-evas-drm: Disable direct input callback
   * elm_win: force wl cursor set on every mouse-in
   * elput: Use Eeze function to get the udev to create context with (T3712)
   * edje_edit: fix map API (light, perspective, rotation)
   * elput: Fix crash whem sd_session_get_seat fails (T3785)
   * ecore-xcb: Fix XCB to be usable again
   * evas: fix order binding attributes to gl.
   * elementary/colorselector: colornames updated with spaces.
   * elementary/colorselector: use layout instead of edje object for components.
   * elm ctxpopup: fix auto_hide mode to work correctly
   * elementary: Remove unused variable
   * elput: Missing pointer initialization. (T3785)
   * edje_edit: fix copy&paste type for map functions which should return int
   * edje_edit: text style should be able to set into NULL
   * ecore-wl2: Support wl_seat_listener version 4
   * elementary: Remove set but unused variable
   * edje_edit: add missed part and description initializations
   * elementary: add implementation for elm_multibuttonentry_item_selected_get API
   * evas: fix possible memory leaks in e3d_drawable_texture_rendered_pixels_get
   * evas-wayland-egl: Make sure surface pointer is valid before using it
   * eolian: fix incorrect doxygen param generation
   * edje_cc - limit embryo_cc instances in bg to something sensible (T3874)
   * edje_calc: fix interpolate calculation of map colors
   * eolian: fix error cursor positioning
   * ecore-evas-drm: Re-enable direct input callback
   * elput: Fix issue of VT-Switching not working
   * configure - remove gnu make hack as it seems to not be needed anymore (T3767)
   * edje_edit: save referenced groups when image id's are changed
   * eolian: move deferred eo file parsing to the very end
   * eolian: enable inheritance checks and fix EFL to build with them
   * elput: Trap for null physical seat name
   * elementary: Fix fileselector directory monitoring events
   * Edje, Elementary: Remove <password=off> tag when password mode is disabled
   * eolian: implement a stringshare builtin
   * examples: evas3d: fix out of range array
   * elc_combobox.c: apply style to inner parts of combobox like entry and genlist
   * elm_entry: fix duplicate text set
   * edje_text: fix the fit calculation for different text size (T3569)
   * evas: avoid calculation bounding for camera and light objects
   * edje_external: fix external icon handling
   * elm_entry: restrict focus region to inside of entry object area
   * evas: Fix bad clipping with proxy
   * ecore_wl2: Fix dnd breakage when focus leaves window
   * evas: add pattern "style" when evas query fonts via fontconfig
   * ecore-wl2: Prevent duplicated mouse up events
   * elementary: Fix bug in wl dnd where all subsequent mimetypes would be accepted
   * elementary: Fix over-zealous optimization attempt
   * elementary: Fix erroneous usage of EINA_UNUSED
   * ecore-input: Check return fo ecore_main_fd_handler_fd_get (CID1356632, CID1356624)
   * ecore-evas: Fix error handling issues in wayland_shm engine (CID1357142, CID1357141)
   * elput: Check return of read function call (CID1357143)
   * evas-wayland-shm: Remove logically dead code (CID1357144)
   * elementary: Fix explicit null dereference (CID1357147)
   * ecore-wl2: Fix derefence after null check (CID1357148)
   * ecore-evas-wayland: Fix issue of passing wrong values to resize (CID1357150)
   * ecore-wl2: Check the return value of ecore_main_fd_handler_fd_get (CID1357152)
   * ecore-wl2: Fix issue of passing negative number to close() and read() (CID1357152, CID1357153)
   * ecore-drm2: Don't leak return from _output_name_get function (CID1357161)
   * ecore-wl2: Fix issue where hash would not get destroyed on error (CID1357171)
   * elc_hoversel: just little fix of expand/noitem behavior
   * edje_pick: load just used images.
   * theme: return enum from elm_widget_style_set instead of bool
   * ecore-wl2: Fix uninitialized variable (CID1357214)
   * edje signal cb - dont delete already deleted signals
   * elm layout - add and delete signal cbs from the same consistent obj
   * evas update buf - dont ref and unref outbug as an evas image - it's not
   * elementary: Update connman theme for all security
   * ecore-wl2: Fix error handling for bad fd (CID1357213)
   * Elementary: cnp - check on NULL data in elm_drag_start
   * evas: Fix rare issue with recursive proxy src invisible (T4006)
   * efl - threads and signals - make efl work on "insane" os's with signals
   * elc_combobox: fix theme and style set for combobox
   * evas event handling - fix incorrect object reporting (T3718)
   * efreet - fix mime file path messing with short paths like / (T4015)
   * elc_combobox: add/remove item doesn't resize container with genlist
   * evas event handling2 - fix incorrect object reporting (T4017)
   * elm widget - stop segv during shutdown when objects become deleted
   * elementary: clear callbacks before destroying object to avoid crash. (T3188)
   * elm_entry: remove unnecessary text clearing in text_set
   * elm_calendar: fix first week is not changed
   * elc_popup: move the code making buttons buffer for readability
   * evas event handling3 - fix yet more corner cases for clipped objects
   * edje_pick: realloc bug fix
   * edje_edit: on save_all firstly save all cached group, then all other
   * evas event handling4- fix more corner cases where bounding is bad (T4017)
   * elm conform - fix leak on jproperty change (CID1353606)
   * gl generic ector leak - fix not using return value of eng_image_data_put (CID1339963)
   * ecore-drm2: Perform input device calibration based on output name
   * edje: fix the map state issue.
   * evas-wayland-shm: Fix Insecure temporary file (CID1357164)
   * elput: Fix insecure temporary file (CID1357165)
   * edje: update a style when a style is added as class's member
   * Edje entry: Skip codes for updating cursor when cursor position is not changed
   * Evas textblock: Apply scale factor to <linesize>, <linegap> formats
   * Canvas text: fix corner case in range geometry calc
   * edje: Fix issue of null pointer dereference (CID1267490)
   * ecore-wl2: Fix issue of misleading 'if' statement
   * Edje calc: Fix Evas Text width calculation with ellipsis
   * Eo add ref: Fix a bug causing leaks and wrong refcount in some cases.
   * elementary: Clip window swallow clients
   * elementary: Properly swallow wayland clients
   * elm tooltips - fix positioning and more to be sane and have less bugs (T3980)
   * elementary: Fix issue of minimum resizing in wayland
   * evas-generic: Fix gcc warning of incorrect format
   * evas-generic: Fix gcc wanring
   * elput: Cleanup erroneous errors when trying to get output name
   * evas-wayland-shm: Create buffers with ARGB by default
   * elementary: Make wl frame borders above content
   * eina thread create - use pthread_sigmask as this can be called from thread
   * Evas font: fix width query for OT (T4068)
   * elementary: Fix issue of toggling border state causing visual jumps (T4092)
   * elocation: properly generate pkgconfig file. (T4120)
   * ecore_con: fix lookup of libcurl on OpenBSD. (T4130)
   * eina rbtree iterator - fix leak found while debugging other problems
   * evas - on shutdown avoid potential invalid memory access (T4103)
   * edje_pick: copy dependent group
   * elm flip - make it not crash and interactive mode work again
   * edje_pick: reset alias flag for copied group
   * evas: Fix missing breaks in switch (CID1347414, CID1347413)
   * edje: Fix unchecked return value (CID1349867)
   * eldbus: Check return value and error out if necessary (CID1355233)
   * elementary: Remove logically dead code (CID1355585)
   * elementary: Remove logically dead code (CID1356617)
   * eina: Fix null pointer derefernce (CID1356625)
   * elementary: Remove logically dead code (CID1357392)
   * Gstreamer1: implement subtitles mute/unmute ability
   * evas image updates - optimize by over-rendering less with hidden content
   * elm quicklaunch binary - fix coverity CID 1353607
   * evas cache2 - fix coverity CID 1357754
   * edje entry - fix coverity CID 1357752
   * efl ui video - fix coverity CID 1356997
   * efl ui image async locking -fix CID 1356199 - locked data cant be messed with (CID1356199)
   * elm default config - change default select on focus to be disabled (T3198)
   * elm button default theme - fix disabled events to not pass through (T2955)
   * elm button theme - fix anchor style to not pass events when disabled
   * elm table and box resize themselves on sizing eval - fix this - dont resize (T3031)
   * elput: Fix issue of losing mouse input when removing a device (T4192)
   * elm_conform: set data pointer to obj from NULL.
   * evas and ecore_x shm segment management - fix over allocation and perms
   * edje examples - when you cp also just assume success if same file
   * elm cnp win32 - do one side at least of unix newlines to windows newln (T3556)
   * edje_pick: copy block 'data'
   * ecore-wl2: Add safety check for valid compositor
   * efl - ecore-x - work around e's badness in makeing an x image for all wins
   * edje_edit: avoid such values like 2.77556e-17
   * elementary: fix legacy path set/get for Fileselector specializations (T4198)
   * ecore imf - ibus - fix destroy/disconnect handling that crashes
   * Canvas text: fix range geometry calculation for RTL (T3627)
   * ecore_audio - save 232k of real RAM by dlopening depednecies (T4227)
   * edje - reduce memory footrpint by dlopening ephysics on demand (T4227)
   * ecore-imf - fix stupidity of loading ALL modules even if not needed (T4227)
   * elm scroller accel was broken by default confgis setting it to 0. fix (T4263)
   * elementary widget: fix a wrong disabled behavior.
   * edje_edit: delete swallowed object before unswallowing (for part type GROUP)
   * Fix text check in Elm_Code T4264
   * elm theme - don't use empty env vars eina_prefix handles anyway
   * glx: Fix black windows in E on nvidia (T3030)
   * elm focus default theme: fix wrong resizing
   * Fix further text checks in Elm_Code T4264
   * Elm.Entry: use proper theme_set function on edje object (T4091)
   * efreet: free fallback cache on shutdown
   * eina lock semaphores - do not use shared semaphores and fix osx names
   * ecore-con - fix complaint about null slave list due to shutdown
   * embryo_cc - fix coverity complaint about assert (CID1361224)
   * eina log - keep coverity happy with potential ptr comparison overflow (CID1361220)
   * eina log - handle possible overflow from high mem (last few bytes) or env (CID1361219)
   * elm config - dont rescale ui if no config that needs rescale changed (T4296)
   * edje_cc - fix inheritance of programs and store channel too in copy
   * efl - edje entry - dont emit changed on markup set unless text changed (T4045)
   * elm_map: fix wrong check of source search
   * elm_need_efret() - improve error handling according to coverity (CID1360466)
   * edje_pick: don't copy dependencies group if they in the import list (T4313)
   * edje_pick: set the correct file name for copied sample
   * edje_pick:set the correct compression for sample (T4314)
   * evas smart obj delete on shutdown - fix weird child with null parent
   * evas image update calculation - account for clipped color changes (T4246)

Changes since 1.16.0:
---------------------

Features:

   * eina: add eina_tmpstr_manage_new, eina_tmpstr_manage_new_length APIs
   * eina: add API eina_strftime
   * Edje: Directly embed TGV files inside EDJ when possible
   * eolian: add eolian_type_aliased_base_get
   * Evas object: Add paragraph_direciton APIs
   * Evas textblock: add support for hyphenation wrap style
   * cmake: Add a helper script which defines generator rules for eo files
   * evas: Add ExtraLight, ExtraBold for font weight.
   * Evil: add support for LC_MESSAGES for setlocale()
   * ecore_win32: add clipboard management
   * ecore_win32: add support of X11 shaped cursors
   * ecore_cocoa: add support for system cursors
   * Ector: Implement pixel buffer support
   * ecore_cocoa: add support for system cursors
   * ecore: Add a new wayland module (T2842, T2841)
   * eina: Adding API for base64 decode.
   * edje: introduce size_class attribute
   * Static deps unibreak: Update to latest version.
   * edje_callbacks: Add mouse,pressed,in/out signal.
   * efl-js: JavaScript Eolian binding
   * edje: add text_classes syntax to EDC (T2900)
   * Add a new Ecore_Drm API for setting left-handed mouse
   * edje_embryo: add printf feature.
   * ecore-drm: Add a new API for keymap cache
   * Evas_Engine: add TBM surface and clean up Native Struct

Fixes:

   * eina: fix computation of sqrt near 1.
   * efl: fix build out of tree
   * Evas: Allow edje_decc to work with ETC images
   * edje: initialize map.zoom values to fix old *.edj compatibility issues.
   * Evas sw_generic/x11: Fix calls to native_bind_cb/unbind_cb
   * edje - signal match code - clean up function readablity and fix crash
   * ecore_con: remove last occurence of EMILE_SSLv3
   * efl: Fix configure help message for cserve
   * efl: Fix configure help message for multisense
   * ecore-evas wayland: use correct values when updating wayland window size
   * ecore-evas drm: null global device pointer after free (T2844)
   * Evas GL: Fix BadMatch with pbuffer make current
   * Evas GL: Remove invalid call inside make current pbuffer
   * ector: disable NEON build. (T2851)
   * Evas language: Fix language from locale function.
   * evas-gl: Remove extra parentheses
   * evas-software-x11: Fix returning NULL pointer
   * evas-software-x11: Fix resource leak (CID1339782)
   * ector: Fix incorrect expression (CID1339786)
   * ecore-evas-wl: Fix issue of improper window geometry (T2842)
   * ecore-drm: Don't send mouse_move event too early
   * ecore-evas-drm: Send fake mouse_move event after registering (T2854)
   * ecore-wayland: Make ecore_wl_window_maximized_get return proper values
   * evas-gl_drm: Remove set but unused variable
   * ecore-evas wayland: enforce frame/state change triggering before move/resize (T2841)
   * ecore-wayland: return only the relevant state value for maximize/fullscreen
   * ecore-wayland: rewrite maximize/fullscreen set functions for consistency (T2841)
   * Edje: Fix Evas 3D eet data descriptors
   * Evas text: Fix memory leak
   * ecore-wayland: Add EINA_SAFETY checks to window functions
   * ecore-wayland: Fix iconified functions for consistency
   * ecore-wayland: Reduce overhead for maximize/fullscreen set functions
   * [eolian_gen] remove documentation for removed argument.
   * evas: fix unreachable code in _generate_unic_color_key function in Evas.Canvas3D.
   * evas: fix possible accsess to NULL pointer in Evas.Canvas3d.
   * evas: fix uninitialize variable in convex_hull_vertex_set function
   * evas: remove useless part of code in evas_convex_hull_get function
   * ector: fix the rounding issue when applying transformation to shape data in freetype backend.
   * efreet_icon: Fix wrong inherit selection
   * edje entry: return correct selection
   * evas-3d: Fix missing field initializers
   * Evas: use LC_MESSAGES on Windows to fix compilation
   * eina: fix missing header
   * ecore_file: fix ecore_file_file_get() on Windows
   * ecore_cocoa: don't track NSAppKitDefined event
   * ecore_cocoa: fix live resize of windows
   * evas: fix a NULL dereference issue in font.
   * efl: fix build failure when it builds with coverage.
   * edje cc fix - we parsed floats not intsfor min and max desc size
   * Evas Textblock: Fix text disappear issue when text is made up with multiple items. (T2709)
   * efreet desktop tracking - fix monitoring of dirs of custom desktops
   * fix efreetd to scan more subdirs for desktop and icon files
   * Evas textblock: fix height on line wrapping (T1583)
   * ecore_evas: fix disappearing socket image
   * edje: fix edje RTL description in case of custom state of a part
   * evas: rewrite gl image transformation logic in a very simple way
   * edje_entry: Fix crash on selection (T2910)
   * Edje entry: Use markup text for password in preedit mode
   * ecore-wl2: Fix not sending compositor reguests when we use ecore_wl2_display_connect
   * ecore-wl2: Fix issue of compositors not flushing clients properly
   * ecore-evas-wl: Fix issue of resize jumping
   * ecore-wl2: Fix maximized and fullscreen functions to restore geometry
   * ecore-wl2: Fix issue of not unsetting move mouse pointer
   * ecore-wl2: Change name of ecore_wl2_window_class_name_set function
   * ecore-evas wayland: use correct values when updating wayland window size
   * ecore-evas wayland: enforce frame/state change triggering before move/resize (T2841)
   * ecore-wl2: Fix maximized & fullscreen functions to use window flag
   * ecore-wl2: Remove setting custom wl_log handler
   * ecore-evas wayland: use correct values when updating wayland window size
   * ecore-evas-wl: Fix issue of improper window geometry (T2842)
   * ecore-evas wayland: enforce frame/state change triggering before move/resize (T2841)
   * ecore-evas wayland: use correct values when updating wayland window size
   * ecore-evas-wl: Fix issue of improper window geometry (T2842)
   * ecore-evas-wl: Fix issue of resize jumping
   * ecore-evas wayland: enforce frame/state change triggering before move/resize (T2841)
   * ecore-evas-wayland: Use proper Ecore_Wl2 window functions
   * Evas textblock: Skip layout logic for an text item which doesn't have font.
   * ecore-evas-wl: Cleanup creating a wayland canvas
   * ecore-evas-wayland: Properly cleanup ecore_wl2 during error
   * ecore-wl2: Implement function pointer for configure acknowledge
   * ecore-evas-wayland: Acknowledge configure event post render
   * efl - ecore-x xrandr - fix memleaks of properties fetched
   * ecore-wl2: Don't free display structure during display cleanup function
   * evas-wayland-egl: Fix the unnecessary renewal of the engine window.
   * Evas textblock: fix evas_textblock_cursor_line_set
   * ecore-wl2: Fix issue of cleanup function always removing from client display hash
   * evas: Fix definition of framespace in canvas eo file
   * ecore-wl2: rewrite maximize/fullscreen set functions for consistency (T2919)
   * ecore-evas-wayland: Don't set window geometry in ecore_evas (T2919)
   * Edje cc: Fix use of uninitialised value.
   * Evas textblock: improve and fix line range rectangles (T2648)
   * ecore-wl2: rewrite iconified set function for consistency (T2919)
   * efl - ecore-x randr - fix coverity issue found after previous leak fix
   * Evas text: Fix Evas Text truncated text case.
   * edje: calc - remove pointer comparison while finding part desc
   * ecore-evas-wayland: Move configure acknowledge to render_flush_pre
   * ecore-evas-wayland: Fix issue of starting resizing causing size jumps
   * evas_eet: Add Type Safety check
   * Evas textblock: add missing test fonts (T2908)
   * evas: trigger RENDER_FLUSH callbacks during async render
   * ecore-wl2: Add new event for sync done
   * ecore-evas-wl: Defer creating surfaces for wayland canvas
   * ecore-evas-wl: Fix copy/paste errors
   * evas - fix evas module locks to init/del when movile created/destroyed
   * Evas Textblock: Fix NULL dereferencing issue
   * Eolian gen: Don't fail if file is empty (--gi)
   * ecore-drm: Fix failure of setting/closing evdev->fd which causes fd leak
   * ecore-evas wayland: move frame sending to pre-flush callback
   * evas: do not add unclipped smart members to the master clip
   * evas: trigger FLUSH_PRE callback prior to kicking off an async render
   * evas: do not unset/delete master clip after every frame
   * efreet_icon_cache_create: null theme eet file to avoid double free
   * edje_cc: track parts for descriptions, ensure part types match when inheriting
   * edje_cc: terminate filter file scripts
   * edje_cc: correctly copy part descriptions when setting part type
   * edje_cc: redo part type setting to be even more correct
   * Edje entry: Fix issue with width calculation and padding
   * emotion - fix gst back-end to report title and other meta changes
   * Edje entry: Fix cursor position on mouse up and down
   * evas: unset pointer ungrabs when using EVAS_OBJECT_POINTER_MODE_NOGRAB_NO_REPEAT_UPDOWN
   * evas: handle existing pointer grabs when changing object pointer mode
   * efreetd: send ipc for EFREET_EVENT_DESKTOP_CACHE_BUILD...always (T2733)
   * ecore_x: fix memory leak
   * ecore_x: fix memory leak
   * ecore-wl2: Fix MIN() macro comparing int vs unsigned int
   * eo: Fix resource leak (CID1339783)
   * ecore-drm: Add missing variable 'dev'
   * Edje_cc: support braces for description.proxy attribute.
   * edje: custom state - if RTL flag is not set, return original description
   * edje: Fix compiler warning about set but not used variables
   * eina_js: Fix documentation generation (T3005)
   * ecore-wl2: Fix support for nested compositors
   * efreet: fix undeclared function
   * ecore_con: fix compiling on OS X
   * evas_gl_cocoa: update function parameters
   * ecore_wayland: set touch_focus window when gets pointer_enter
   * eina mp: only include malloc.h on linux
   * js: fix binding after namespace change of connector
   * Edje UI mirroring: Fix UI mirroring for GROUP parts. (T3021)
   * Edje entry: Fix memory leak.
   * eina-cxx: Remove Eo classes defined manually (T2940)
   * edje: unswallow objects from parent edje when swallowing into new edje
   * ecore-drm: Call inputs shutdown before eina_shutdown
   * ecore_wayland: send mouse_move when sets touch_focus window in cb_touch_down
   * ecore_wayland: move check for pointer capability
   * ecore_drm/ecore_wl2: logging: remove errant usage of %m
   * win32: Fix compilation due to recent changes in Evil
   * embryo: change the log catagory of printf in embryo
   * ecore imf: fix imf module load hangs when not even configured
   * ecore-x: add safety checks for _ecore_x_disp in some functions
   * Eina: Fix eina_file_mk[ds]temp when a path is passed
   * elua: Fix use of eina_file_mkstemp after previous patch
   * Evas GL: Also fix surface cap cache
   * edje/edje_edit: make posible to unset the program filter part and state
   * ecore-drm: Cleanup ecore-drm shutdown routine
   * ecore-evas-drm: Cleanup drm outputs during shutdown
   * ecore-drm: Refactor logind code to use tty functions
   * ecore-drm: Destroy any existing eeze watch when we free the device
   * ecore-drm: Don't unset logind variable when disconnecting a device
   * ecore-drm: Unify and cleanup tty code
   * ector: fix potential crash if cairo is not found on the system. (T2938)
   * Ethumb: make the emotion plugin correctly use the edje frame if requested.
   * ecore_evas_extn: Add safety checks, fixing a crash in elm_test (T2835)
   * edje: Fix potential NULL pointer dereference (CID1349866)
   * efreet: reject invalid "" data for Efreet_Desktop->x hash (T3096)
   * efreet: add locking for efreet_desktop_x_field_get()
   * evas: Fix segfault when trying to determine overlay usage
   * evas: Fix explicit NULL dereference (CID1347415)
   * Evas clip: Fix rare crash in _render_pre_clipper_change
   * eina: fix invalid prototype
   * eeze: Fix eeze_udev_find_by_subsystem_sysname function
   * eldbus: Correctly read/write boolean to eina_value (T3089)

Changes since 1.15.0:
---------------------

Features:

   * ecore-wl: Support wl_keyboard_send_repeat_info for adjusting keyboard repeat rate and delay
   * evas gl: add support for new partial update extension.
   * ecore-x: provide property state in Ecore_X_Event_Window_Property
   * ecore-x: add property member to Ecore_X_Event_Selection_Notify
   * Evas GL: Restore current context to evas gl context when the backend has taken over
   * eina: add API to join pahs, as well as path separators
   * Eo base: Change parent_set to be an assignment of ref.
   * ecore x vsync - add in exynos checks and move kernel v checks inside
   * eina thread - add wrapper for setting thread name and fix affinity
   * efl - set thread names for internally created threads for debugging
   * eolian/generator: generation of doxygen @note and @warning tags
   * evas - sw async render - move pixel upload/swap to a thread
   * evas gl - optimize updates
   * Edje: Add filter support to SNAPSHOT parts
   * edje_cc: Allow PROXY as clipper (clip_to and desc.clip_to)
   * Evas GL: Add new API to get current Evas GL
   * evas - cutouts - use less cpu by skipping non-intersecting cutout objs
   * ecore - detect nested ecore_main_loop_begins from silly code
   * evas software x11 - increase shm buffer size for modern displays
   * evas software x11 - set merge mode explicitly to smart or env var
   * edje: add edje signal emit about swallow, text

Fixes:

   * Edje entry: Make filter logic consistent across all input methods
   * evas_check_engine: Remove tests for specific version of EGL
   * Edje entry: Fix to delete selection when preedit status has not ended.
   * ecore_evas: fix first render skip in several windows
   * eolian/generator: fix turning values into @return when generating docs
   * eina: fix direct_ls_simple and ls_simple tests on Windows
   * efreet - fix efreetd kill and start with clean cache case blank icons
   * evas - handle case where layer->evas is null - don't crash
   * emotion: Fix typos in doxygen
   * ecore-wl: do not nul terminate drops
   * eo - fix bug vector when unparenting of an eo obj may affect others
   * Evas filters: Fix for Lua 5.3 (with --enable-lua-old)
   * Evas filters: Fix massive memleak with async sw render
   * Evas language: fix script run code (T2670)
   * Edje_Entry: check selection before the cursor position change.
   * eo - destruction - ensure child is removed from parent child list
   * Evil: fix compilation when MSVC is not available. (T2681)
   * efl - jp2k loader - guard against openjpeg bug tha causes an abort
   * ecore_win: fix the incorrect mouse cursor position.
   * edje_cc_out: Fix edje_cc compile error with script on Windows.
   * ecore_wayland: bind and destroy session_recovery interface correctly.
   * ecore_pipe: add write fdset and except fdset.
   * edje: Fix double free scenario caused by static pointer.
   * Evas textblock: fix case of own_closer in style_set (T2654)
   * Eina rectangle: Check for valid rectangle before taking intersection
   * evas_canvas3d: Recalculation coordinates for pick object from scene
   * evas - fix texture context bind reset in gl common using wrong texture
   * Evas masking: Fix potential invalid access to mask image
   * evas: CID 1323091 (CID1323091)
   * evas: fix memory leak in evas_object_image_render_pre.
   * ecore - let the ecore_con_eet_*.c examples build.
   * efl - edje_cc - fix double close of embryo script fd's to tmp files
   * ecore_x: free the allocated memory after used.
   * ecore_x: fix the memory leak.
   * evas: node that are used for a fill should not have a parent or they are going to be drawn.
   * ector: fix cairo backend to properly multiply gradient color.
   * edje_cache: remove duplicated call of _edje_file_coll_open
   * Ector software gradient: Fix cast from integer to pointer of wrong type.
   * eldbus: add dbus_pending NULL check
   * edje: fix internal colorclass field
   * evas_canvas3d:Broken source file for generation 3D shaders
   * Evas smart: Add obj type safety check to callback_del.
   * evas image object - dont update just if image is dirty
   * edje_adit: fix typos in header
   * Edje entry: Make cursors to null after free
   * ecore_evas-x11: unset withdrawn state when window is mapped (T2745)
   * Eo: fix double callback deletion
   * evas - protect against invalid obj id in legacy wrapper func
   * Eo: reduce memory usage across applications.
   * upower: free version string splits
   * ecore_win32: fix the mouse out behavior.
   * ecore-audio: defer deletion of pulseaudio timer until after event processing
   * doc/eldbus: fix parameter in document
   * Edje: Fix IMAGE filters
   * edje_cc: Fix inheritance of "no_render" flag
   * evas render - async sw - fix context duplication by using proper dup call
   * eldbus - make method calls less crasy since libdbus likes to abort
   * Revert "eina: change default log level at which we display backtrace."
   * eolian: fix out-of-bounds indexing on tokens (CID1324818)
   * Eo: Remove dead code. (CID1240224)
   * evas_box: fix children size and position calculation when padding is used for horizontal flow layout
   * evas-3d: fix primitives
   * Ecore pipe: clean up handling of already read information. (CID98384)
   * Ecore Con: Fix possible timing attacks. (CID1039559, CID1039558)
   * Ecore con: Prevent possible use of uninitialised buffer on the stack. (CID1316016)
   * evas rectangle - ensure centers of rects that just move/resize dont rend
   * evas engines - fix partial swap to not skip swaps if full mode used
   * Evas image: Fix wrong usage of engine data macro
   * ethumb - fix client free issue with pending dbus messages (T2769)
   * Evas filters: Fix crash with async sw rendering
   * evas-wayland-shm: Fix to add support for MERGE_MODE Smart
   * evas-wayland-shm: Don't leak rectangles during flush
   * ecore-evas-wayland-shm: Check for fullscreen and override windows when processing updates
   * ecore-evas-wayland: Set ee->draw_ok appropriately based on visibility
   * ecore-evas x - solve internal window size flickrs in e
   * eio_monitor: fix memory leak issue
   * evas_canvas3d: fix mesh being added twice added to scene data
   * Eo: Fix Eo on Windows.
   * Ector renderer: fix return value to be of the right type.
   * Edje cc handlers: Fix memory leak and possible crash.
   * Eeze sensor udev: Fix memory leak and possible crash.
   * Ector renderer: fix return value to be of the right type.
   * ecore-wayland: Comment out unused functions for session listener
   * ecore-wayland: Comment out unused functions
   * eolian-cxx: Fixed assert which was a tautology (CID1316018)
   * eolian-cxx: Fixed possible exception escaping main (CID1265600)
   * Ecore_xcb_keymap: Fix memory leak in _ecore_xcb_keymap_finilize
   * Evas filter: Fix proxies of filtered images
   * ecore-wl: Don't update window size during ecore_wl_window_resize function
   * ecore-evas-wayland: Don't resize ecore_wl window to include frame size
   * ecore-evas-wayland: Fix common window configure callback to not adjust for framespace
   * evas-drm: remove useless condition
   * ecore-evas-wayland: Trap for subsequent resize events
   * edje_cc: fix segfault when a program attempts to play a non-registered sound
   * Ecore_Con: make sure to create named pipe with a unique name
   * ecore_exe: read remaining data when the child application has closed
   * ecore_file: fix ecore_file management function on Windows
   * Ecore exe win32: Fix double-free errors. (T2675)
   * eina: Include <unistd.h> for getuid and geteuid functions
   * Eina: fix eina_file_current_directory_get()
   * Eina: fix memory leak in eina_file_open()
   * evas: Fix clang warning for missing field 'async' in default_state
   * ecore-drm: Add missing field initializers for vt_mode
   * ecore-evas-wayland-egl: Fix clang warning about extra parentheses
   * edje_edit: Fix clang warning of unused variables
   * ecore-wayland: Redo window animators to not use Custom source animators
   * ecore-evas-wayland: Don't use custom animators for frame callbacks
   * evas: no need to compute clippees list if we just want to know if there is any.
   * evas: render - use evas_object_clipees_has instead of evas_object_clipees_get
   * edje: load - use evas_object_clipees_has instead of evas_object_clipees_get
   * Eo events: Add a struct member marking if it's a legacy event or not.
   * evas gl - fix big endian fully by adding a host of new img shaders
   * evas: fix memory leak
   * evas table: fix miscalcuation in cells with span and padding (T2655)
   * edje: comparision with non-scaled min values issue fix.
   * evas textblock: fix memory leak
   * ecore-wayland: defer shell surface creation for windows if shell is not bound
   * evas: fix memory leak.
   * efl - edje - fix edje calc to avoid eo calls when object doesnt change
   * efl - eo - massively improve eo cal resolv and data scope get with cache
   * efl: fix copy & paste typo while parsing SVG elliptical arc command. (CID1328426)
   * evas - software render async - fix async render to actually be all async
   * emile: prevent segv when rotation is asked and there is no opts provided.
   * eo - make null object silent if eo id is off
   * ecore_audio: do not compile elua file if ecore_audio is disabled
   * efl - make drm vsync handle broken drm irq timestamps
   * Emile: Allow load of ETC images if region = whole image
   * Eet: fix decoding of embedded ETC images
   * Eet: Another ETC decoding fix
   * ecore-drm: Don't exit tty setup if tty is already in graphics mode
   * evas-gl-drm: Move definition of Render_Engine out to header
   * evas-gl-drm: Resize gbm surface when canvas size changes
   * ecore-evas-wl: Ignore step size when maximizing
   * eina_quaternion: correct the API name in header file
   * ecore imf - fix modules that are x11 based to only load in x11 and in wl
   * efreet - fix efreetd to not exit on $home being in extra app dirs
   * ecore_file: Fix ecore_file_file_get function on Windows.
   * ecore-evas-drm: Use GBM_FORMAT_XRGB8888 when creating new canvas
   * evas-gl-drm: Fix issue of gl_drm engine not working (T2807)
   * evas-wayland-egl: Fix missing support for EVAS_NATIVE_SURFACE_WL
   * evas-wayland-egl: Add missing include header for gl_common
   * Evas Text: avoid SIGSEV while ellipsis recalculation (T2640)
   * evas-gl-drm: Set Outbuf vsync according to engine
   * ecore-drm: Don't always check fb size against dumb buffer
   * ecore-evas-gl-drm: Don't create software dumb buffers when using gl
   * evas-gl-drm: Find symlink for eglSetDamageRegionKHR
   * evas-gl-drm: Implement eglSetDamageRegionKHR
   * ecore-drm: Check return value of drmHandleEvent and cleanup
   * ecore-drm: Fix issue of duplicate page flips
   * ecore-drm: Fix issue of hanging in read() (T2791)
   * ecore-drm: Remove unused function
   * eina/efreet: open file with binary file on Windows

Changes since 1.14.0:
---------------------

Features:

   * Eo: Add eo_do_part.
   * Eolian: Add API to retrieve an event of a class by its name
   * evas: enable NEON-optimized code for aarch64.
   * evas: implement _op_blend_c_dp_neon in NEON intrinsics.
   * Static deps: Move unibreak to be an external dep.
   * Static deps unibreak: update to what will soon be version 3.
   * ecore-drm: Add API function to return screen size range
   * ecore-drm: Add API function to return the name of an output
   * ecore-drm: Add API function to return output connected state
   * ecore-drm: Add API function to return the connector type of a given output
   * ecore-drm: Add API function to return if a given output has a backlight
   * ecore-drm: Add API function to return the edid of a given output
   * ecore-drm: Add API function to return output modes
   * ecore-drm: Add support for a Primary Output
   * ecore-drm: Add API function to return primary output
   * ecore-drm: Add API function to get an output's crtc size
   * ecore-drm: Add API function to find an output given a name
   * ecore-drm: Add new API function to mark an output as primary
   * ecore-drm: Add API function to test if an output can go on a given crtc
   * ecore-drm: Add a 'name' field to Ecore_Drm_Event_Output
   * ecore-drm: Add API function to set a new mode on an output
   * efl - add more evlog points
   * eina: add crosss platforme API to retrieve tmp and home directories from environment.
   * edje entry: Improves anchors handling
   * eina_cpu - up max number of threads to 32
   * eolian: much better and stricter redefinition checking
   * evas: New Evas Callback added when viewport is resized.
   * eolian: new syntax for params/values/keys
   * ecore-x: add function to init ecore-x from external Display* object
   * Eo: Add a return value to eo_constructor().
   * Eo: Remove eo_error_set() and clean up finalizer()
   * ecore-input: add keysym to Ecore_Event_Key struct
   * evas: add keysym member to key event structs
   * eolian: disallow cyclic dependencies between .eo files
   * ecore_imf/wayland: support autocapital mode in wayland text input
   * Evas textblock: Add underline height support
   * ecore_imf/wayland: support password mode in wayland text input
   * ecore_imf/wayland: support input hint in wayland text input
   * ecore_imf/wayland: support input language mode in wayland text input
   * eolian: initial exposed declaration API - not yet very useful
   * Evas GL: 1.x support for GLX
   * Evas GL: support surfaceless make current
   * eolian: add documentation handling API
   * ecore-x: add new grab touch devices functionality.
   * eolian/generator: generation for new documentation system
   * eolian: support for @since tag in new doc comments
   * Edje: Add clip as a property of a part description
   * Evas: Add "no-render" flag for proxy sources & clippers
   * Ecore_input: Add "ECORE_EVENT_MOUSE_BUTTON_CANCEL" event
   * ecore-buffer: Add ecore_buffer library to EFL.
   * edje: add support to control the transition time of edje animation globally.
   * edje: add possibility to speed up animation per object.
   * eolian_cxx: Use C++ wrappers instead of native types as parameters
   * Edje/evas filters: Add filter.source support
   * Edje/evas filters: Use EDJ data sections to store filters code
   * Edje & evas filters: Add extra data from EDC to Lua program
   * ecore-x: add ecore_x_keysym_get()
   * Evas Textblock: Add obstacle objects feature
   * Evil: add a wrapper around _mkdir
   * eolian: add API: eolian_declaration_get_by_name
   * eolian/generator: add proper generation of references
   * eolian: improve function_full_c_name_get API

Fixes:

   * Evas gl: Fix shader generation with out of source builds.
   * Eolian/Generator: fix enums generation (T2400)
   * evil: fix mem leak in dlsym() when using UNICODE
   * evil: fix dladdr() implementation, add 2 unit tests for evil.
   * elua: use a minimal app to avoid loading eolian at runtime
   * ecore-drm: Set output connected property in the creation function
   * ecore-drm: Set drm client capabilities to support universal planes
   * ecore - ecore_pipe_wait timeout broken as it never adjusts while waiting
   * rg_etc: Correct ifdef to keep function available for debug build
   * Evas GL common: Skip shaders generation if there is no change
   * ecore-wayland: Input grab_count is unsigned int, no need for comparison < 0
   * ecore-drm: Fix issue of edid parsing not ignoring string
   * ecore-drm: Fix ecore_drm_output_edid_get to return a hex string
   * ecore-drm: Fix finding possible crtcs
   * ecore-drm: Skip not connected outputs when calculating geometry
   * Evas filters: Fix glReadPixels usage for EGL
   * evas grid smart - fix coord overflows when grid size and vsize are large
   * ecore-drm: Fix purpose of ecore_drm_output_enable/disable functions
   * ecore-drm: Greatly improve drm rendering speed
   * ecore-drm: Only send output events when we enable/disable an output
   * ecore-drm: Fix issue with output_current_resolution_get function
   * evas canvas: add exceptional handling in invalid input case.
   * ecore_evas_wayland: prevent duplicated shutdown of ecore_wl
   * ecore-drm: Fix segfault if sending output event and output has no current mode
   * ecore-drm: Ignore output enabled flag when setting output mode
   * evas-drm: Mark framebuffer as dirty before sending
   * edje: fix back edje_watch.
   * eina - cpu count - fic cpu count to count # of cores correctly
   * evas canvas: fix insane mouse move events on proxy source.
   * ecore-drm: Only try to set the crtc mode if an output is connected
   * eina-bt: Fix Coverity CID1297405 (dereference before null check)
   * eolian: use data_type consistently in the C generator
   * Ecore con url: Fix wrong object destruction.
   * eolian: allow keys/values in property get/set
   * eolian: properly handle errors in database_fill (CID1299294)
   * ecore-wl: Set keycode in event structure for key down/up
   * evas_object_textblock: fix dereference before null check (CID1270031)
   * ecore-wl: Remove +x from ecore_wl_input.c
   * ecore-drm: Remove call to set drm mode when creating an output
   * eina_cxx, eldbus_cxx: Fix perfect forwarding of arguments
   * embryo_cc: prevent memory curruption
   * edje: fix memory leak detected by prevent static analyser.
   * evas: make image_size_get() return the actual image size
   * Fix issue wrong surrounding text returns when there is selection area
   * edje: edje_cc_parse should check pair of parens.
   * pkg-config: fix portability issue on Windows. (T2458)
   * ecore-evas: Fix issue of gl_drm engine not being able to load
   * Evas masking: Fix rare issue of invalid rendering (GL)
   * Evas GL: destroy egl image when surface is destroyed
   * Evas GL: Fix direct_mem_opt and direct_override
   * Evas GL: Make current to an Evas GL context before destroying surface buffers
   * Evas GL: return correct context for context_get with indirect context
   * Evas GL: Pass correct attachment enum for glDiscardFramebufferEXT (T0)
   * Evas GL: Match FBO config with window surface config
   * emile: fix region load for jpeg image with orientation different set.
   * ecore_con: fix error handling case.
   * eolian: double newline ends summary, not single
   * evas-gl-drm: Rework gl_drm engine to function again
   * ecore-evas-drm: Update ecore_evas_drm for recent evas gl_drm changes
   * ecore-drm: Remove erroneous error messages from EINA_SAFETY checks
   * ecore-evas: Change gl_drm to be the proper engine name
   * ecore-drm: Don't crash when trying to disable an output
   * evas-gl-drm: Readd support for pre_swap/post_swap callbacks
   * ecore-evas-drm: Use XRGB format for gl_drm canvas
   * evas-gl-drm: Create eglContext before eglWindowSurface
   * ecore-drm: Don't free an output on unplug
   * ecore-evas-drm: We don't need to feed mouse events here
   * evas-gl-drm: Refactor gl_drm engine to not use dumb buffers
   * evas-gl-drm: Fix issue with swap mode returning wrong value
   * eina: Fix warning about unused paramaters
   * evas-gl-drm: Trap for invalid gbm bo
   * eolian_cxx: initialize all members in a struct correctly (CID1298133)
   * eolian: we need import_types_ref.h included in tarball
   * ecore-wayland: Fix T2466: Update xdg shell protocol code
   * edje: set GROUP/SWALLOW/EXTERNAL pass events based on mouse events
   * eina semaphore lock - don't wake up because of signals
   * eolian: pass rbuf to doc_error (CID1304728)
   * elua lib: sanitize all file paths before writing them (CID1267463)
   * ecore-x: Fix warning of unused variable
   * ecore-x: Fix warning of defined but unused function
   * ecore-x: Fix compiler warning of unused variable
   * evas: Remove unused variables
   * ector: always initialize the array contents even without fetchfunc (CID1294210)
   * ecore: null cb function is unacceptable.
   * Edje_entry: Fix control + (x,a,y,z,m,c) not working issue.
   * Evas GL: Fix coverity CID 1304559, 1304560 (CID1304560, CID1304559)
   * eolian/generator: fix enum field doc generator bug
   * Evas filters: Fix blend with color with rgba buffers
   * edje entry - also filter 0x7f (DEL) char on input as it's invalid entry
   * evas_smart: Add a check for zero size before malloc
   * evas_event: evas_event_feed_mouse_cancel set EVAS_EVENT_FLAG_ON_HOLD
   * Evas: Remove shader_3d .x generated file from BUILT_SOURCES
   * eolian: check for C type keyword before trying to append as C type keyword
   * ecore-evas-drm: Default to GBM_FORMAT_ARGB8888
   * eina/simple_xml_parser: don't parse the <, > in the attribute string.
   * evas-gl-drm: Cleanup compiler warnings when building gl_drm engine
   * ecore-input-evas: Fix Coverity CID1306803 (logically dead code)
   * evas-render2: Fix Coverity CID1306141: Dereference null return value
   * edje: Fix Coverity CID1299026 and CID1299027: Explicit null dereference
   * evas: fix Evas.Canvas3D color pick
   * ecore-wayland: Fix issue of events not getting dispatched properly
   * ecore-drm: Fix issue of outputs not getting registered with the wayland registry (T5, T2465)
   * ecore-drm: Fix setting proper output subpixel value
   * ecore-drm: Quiet down output from libinput
   * eo - silence ERR logs on constructor fail - this is valid behavior
   * efl - efreetd service move from dbus session bus to ecore ipc
   * eina module - it is not an error to ERR log to not load a .so
   * ecore con dns - a failed dns lookup is not an err log event
   * ecore con - fix object data referencing for deleted objects
   * edje_embryo: correct type mismatching in get_geometry() method
   * eolian: try replacing '.' with locale specific decimal point
   * eolian/generator: constify all prototypes for @const functions
   * edje_cc: Fix dereference null return value (CID1308232)
   * edje_cc: Fix dereference before null check (CID1302700)
   * ecore-wayland: Update xdg shell protocol file
   * ecore_x_xi2: fix crash if device info is NULL.
   * ecore-evas-extn : map shm for sharing render pixels conservatively
   * Evas textblock: Fix issue with line_coord_set and y before the first line.
   * evas: opaque value does not change even if image data be changed
   * Evas textblock: Fix infinite loop case
   * ecore_imf: fix wrong return type of ecore_imf_context_input_panel_return_key_type_get
   * evas-fb: Fix compiler warnings about suggested parentheses
   * Interfaces: fix event name
   * Ecore exe (windows): Fix object destruction/failed creation.
   * Ecore Con: Fix ecore_con_local hangs on Windows.
   * evas - image core - fix unloading of images to work again
   * edje edit: don't set the color_class color as main
   * edje_edit: return EINA_TRUE for unset color_class
   * Efreet: Fix config and data dir paths on windows.
   * ecore-wayland: Remove improper use of EINA_UNUSED
   * evas: Init need_unload value after unload.
   * Evas textblock: Clear unused paragraphs
   * ecore-wl: Reset input's pointer & keyboard focus on events
   * ecore-wl: Reset ecore_wl_input repeat values on keyboard leave
   * ecore-wl: Don't renew keyboard-repeat timer if we have no focused surface
   * ecore-wl: Reset input keyboard repeat values when we cancel the timer
   * 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.
   * Evas masking: Fix rendering of masks that belong to a proxied smart object
   * eolian: do not use an invalid pointer after updating buffer
   * image_savers/jpeg: fix undefined behavior of using sigsetjmp on jmp_buf
   * Eolian: fix eolian helper for windows.
   * Ecore evas: Correct function name in magic failure.
   * Evas GL: Fix glClear(0,0,0,0) with DR and COPY
   * Evas GL: Fix sync, wlbuffer and image egl ext functions
   * evas: fix missing render2_walk initializers
   * Evas GDI engine: save the original bitmap into the memory DC
   * Ecore_Win32: do not allocate data as it is useless. Fix memory leak.
   * ecore-drm: Ignore key events that are not seat wide state changes
   * Evas masking: Fix crash in async rendering
   * evas-wayland-shm: Don't call surface commit until we've setup the frame listener
   * evas canvas3d: bounding box does not change the position according object
   * Evas filters: Fix invalid rendering in case of async render
   * Evas filters: Fix order of header file includes
   * wayland_shm: Don't store frame_cb
   * wayland-shm: re-organize some of the swap/redraw logic
   * wayland-shm: Remove "mapped"
   * evas-wayland-shm: Fix issue of surface_swap spamming invalid warning
   * efl: Bump required wayland library versions
   * ecore-evas-wayland-shm: Remove duplicated code on configure event
   * ecore_evas_x: make gl_sync_draw_done an explicit signed char type
   * evas engine: add null point exception.
   * evas-wayland-shm: If no depth is specified during reconfigure, use existing depth
   * wayland-shm: When we run out of shm buffers kick the server to get some back (T2612)
   * ecore_evas: Fix crash in async render

Changes since 1.13.0:
---------------------

Features:

   * edje: add of model lookups.
   * evas: Evas_3D - ColorPick mechanism finding node and mesh in scene.
   * evas/gl_x11: introduce tbm native surface type
   * evas/software_x11: implement native surface set for x11 type
   * evas/software_x11: implement tbm native surface type
   * edje: Edje_Edit - functions to edit layouts of BOX parts
   * evas: Evas_3D - callbacks for Evas 3D.
   * Edje: new set/get API omogeneous, paddings and align for BOX/TABLE in Edje Edit
   * ecore_con_url: add ecore_con_url_head()
   * edje: add camera properties to edje_cc.
   * Edje: Edje_Edit - setter and getter for min param of TABLE/BOX parts
   * edje: Adding the zoom effect of map to edje
   * Evas GL: Automatic fallback to indirect rendering when the scene has not changed.
   * ecore-drm: Add function to return the pointer xy of Ecore_Drm_Device
   * ecore-drm: Implement edid parsing for Ecore_Drm_Output
   * edje color classes can now have text descriptions
   * Evas GL: Add support for Evas GL 3.0
   * Eolian: add API to return the class from a function.
   * ecore-drm: add ecore_drm_devices_get to get the list of drm devices
   * evas: Support bitmap embedded color font. (T2139)
   * Eolian: add API to determine if a function is implemented.
   * edje: add edje_color_class_active_iterator_new()
   * ecore_evas - eetpack utility for packing files (imgs) into eet files
   * edje: add part.desc.rel.{to,to_x,to_y} keywords
   * edje: allow empty part.desc.inherit; statements to autoinherit default desc
   * ecore-drm: Add support for DPMS on an output
   * ecore-drm: Add API function to set output gamma
   * ecore-drm: Add API function to mark a Framebuffer as dirty
   * ecore-drm: Add API to setup the drm device for software rendering
   * ecore-drm: Add API function to disable an output
   * ecore-drm: Add API function to find an output at given coordinates
   * ecore-drm: Add API function to return an output crtc buffer id
   * ecore-drm: Add API function to return an output's crtc id
   * ecore-drm: Add an API function to return the connector id of an output
   * ecore-drm: Add 2 new API functions for setting and sending framebuffers

Fixes:

   * Edje: edje_edit - fix Segmentation Fault on new BOX part
   * evas text: fix _ellipsis_get to return -1.0 on failure.
   * eina: fix eina_bench.c compilation error.
   * Evas masking: Fix some garbage pixels with the SW engine
   * Evas masking: Fix potential issues with map & masking
   * Evas masking: Force BLEND mode in case of image masking (GL)
   * ecore-drm should not use sscanf when getting logind vt
   * eina: correctly handle and report Eina_File error on Windows.
   * eina: fix Eina_Log to only try to free non deleted log.
   * eolian: add right extension to eolian_gen if we are on Windows
   * eio: check that the file to be monitored is not an empty string.
   * ecore: directly allocating and freeing Ecore_Win32_Handler variable.
   * ecore_con: fix _ecore_con_server_flush on Windows.
   * ecore_con: fix use of FormatMessage for error reporting on windows.
   * eina: fix directory listing on windows when directory is empty.
   * ecore-drm: Disable/Enable inputs if we release/acquire the VT
   * ecore-drm: Disable/Enable inputs if we release/aquire VT through logind
   * ecore-drm: Print error when taking control of a device fails
   * ecore/drm: Fix libinput >= 0.8 check
   * ee-win32 probably might compile now
   * ecore/drm: Compile ecore_drm_logind.c without condition
   * edje: edje_edit - fix group source generation of item 'weight' param
   * edje: edje_edit - fix group source generation of box params
   * evas: fix error checking of eglBindAPI.
   * ecore-drm: Fix issue of checking improper eldbus message for errors
   * ecore-drm: Don't recreate ecore_event handlers if we already have them
   * ecore-drm: Fix issue of ecore_drm not calling ReleaseDevice when an input is destroyed
   * ecore-drm: Fix issue with ecore_drm_evdev->path being incorrect
   * evas: Evas_3D - fix bug with pack meshes data.
   * ecore-drm: Add output id to output event
   * edje: fix windows build
   * evil: fix gecos field of struct pw
   * Evas GL: Fix leak of surfaces with GLES 1.1
   * eina + ecore - fix main loop thread id tracking on fork
   * evas-3d: fix incorrect reading of .obj file which had an empty line before data in unix encoding.
   * ecore-wl fullscreen state is based on either window type or attribute
   * ecore-xcb: Fix 'variable set but not used' message
   * evas-software-x11: Remove improper EINA_UNUSED for function parameter
   * evas-software-x11: Provide TBM Native Surface support for xcb engine
   * ecore/ecore_audio: fix timer control logically wrong.
   * evas-gl-drm: Cleanup compiler warnings for dbg/err messages
   * evas-gl-drm: Fix T2158: compile fails when --with-opengl=full is passed
   * ecore-imf: Add check for environment variable to enable show/hide of input panel
   * ecore-wl: Send xdg_surface_set_window_geometry when we update window size/position
   * ecore-drm: Center mouse pointer on an output when it gets created
   * ecore-evas-drm: Fix function call to ecore_evas_pointer_xy_get for drm engine
   * edje - somehow edje doesn't init evas and this makes edje_decc break...
   * Evas GL: Fix list of extensions with GLESv1
   * evas: fix bug in the destructor of node in Evas_3D.
   * edje: Edje_Edit - fix part alias source generation.
   * examples: fix bad unref's in ecore and evas.
   * ecore-drm: Return the index of the crtc from output_crtc_find
   * eina: win32 release lock in case of error
   * eio: fix segmentation fault on eio_monitor for win32 api
   * ecore_cocoa: remove ObjC autorelease block to avoid segv when window is closed.
   * ecore_cocoa: move mouse event handling to NSWindow
   * ecore_cocoa: handle right and other mouse events
   * ecore_cocoa: fix keyboad event handling
   * ecore-wl cursor setup no longer triggers errors on startup (T2202)
   * ecore-wl now allocates cursor_theme_name struct member of Ecore_Wl_Input
   * edje: Edje_Edit - fix program transition source generation
   * edje: Edje_Edit - add data items into generated code for the group.
   * efl - bring back symlink complaint regardless of env vars
   * ecore_cocoa: release resources on window close event
   * evas: make current context on lockFocus for gl_cocoa backend.
   * evas: bypass lockfocus in NSView on OSX
   * ecore_cocoa: don't reject mouse events outside the window
   * ecore_cocoa: fix mouse scrollwheel direction
   * evas-wayland-shm: Refactor Evas Wayland Shm Engine (Fix T2201)
   * ecore-evas-wayland: Remove frame callbacks from Ecore_Evas wayland engine
   * ecore_con: fix ECORE_CON_LOCAL_SYSTEM use with negative port number.
   * eina: safety check for NULL pointer
   * evas/gl_x11: set EGL_PLATFORM environment variable
   * Edje: edje edit - ability to remove last item in BOX/TABLE
   * evas-gl-common: Fix building when --with-opengl=es
   * evas-software-generic: Allow future rendering calls if evas has to skip a frame
   * evas-wayland-shm: Fix redrawing issues that were causing 'flashing' in latest engine code.
   * ecore-drm: Add more debug info when output is created or updated
   * ecore-drm: Fix build error caused by missing function declaration
   * evil: fix access to a file mapping object
   * evas: prevent crash.
   * eeze: Fix issue of eeze_udev_watch_add not getting events for drm
   * ecore-drm: Fix issue of not getting updated for output hotplug events
   * ecore_exe: fix ecore_exe_pid_get on windows
   * ecore-drm: Use better output names
   * ecore_idler: + null check.
   * Edje: Edje_Edit - fix typo in code generation of BOX part
   * eina: Change newline parsing to handle crlf better (T2236)
   * ecore_drm: use get_vt instead of parsing the tty attribute
   * ecore_file - fix nasty memory issues in ecore_file_app_exe_get()
   * efreetd - cache - fix handling a text index file with 0 length lines
   * eolian_cxx: fix build error for some generated C++ wrappers
   * evas-3d: T2226 (Evas Eet saver does out of range access) fixed.
   * Ector: Ship missing headers.
   * ecore_cocoa: fix scrollwheel behavior
   * 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.
   * ecore-drm: Create all framebuffers using XRGB8888 by default
   * evas-drm: Remove evas_bufmgr.c from the Evas Drm engine
   * ecore-drm: Add width & height to Ecore_Drm_Fb structure
   * evas-drm: Use Ecore_Drm_Fb for framebuffers
   * ecore-drm: Move Eeze Udev Watch to Drm Device
   * ecore-drm: Add more connector types
   * ecore-drm: Fix issue with edid_parse_string truncating strings
   * ecore-drm: Better output name format
   * ecore-drm: Send ECORE_DRM_EVENT_OUTPUT on unplug also
   * ecore-drm: Set mode flag for preferred if this is the preferred mode
   * ecore-drm: Fix output_geometry_get function
   * eina: Add NULL check for eina_threadqueue_free
   * [evas/evas_3D] Uninitialized component of vector gl_FragColor in shadow_map shader
   * Evas GL: reset current surface to NULL when it is destroyed
   * Evas GL: Add missing dlopen for GLX 1.x version
   * Evas image: Return proper path even with mmap
   * ecore-drm: Improve drm output creation, mode detection, and cloning support
   * evas-drm: Use ecore_drm_fb_dirty function to mark framebuffer as dirty
   * ecore-drm: Delay destroy of output if there is a pending flip
   * ecore-drm: Fix issue of outputs_geometry_get not skipping cloned outputs
   * ecore-drm: Remove per-output framebuffers
   * ecore-drm: Update drm device & output code to remove per-output dumb buffers
   * ecore-evas-drm: Setup Ecore_Drm_Device for software rendering
   * ecore-drm: Update device active state on VT switch and use new output_disable function
   * ecore-drm: Skip repaints if we are VT switched away
   * ecore-drm: Create drmEventContext Once during device open
   * ecore-drm: Move drm headers to Ecore_Drm
   * ecore-drm: Remove unused API function that should not have been committed
   * ecore-drm: Move doxygen documentation to main Ecore_Drm header
   * ecore-drm: Modify device pageflip function to accept ecore_drm_fb callbacks
   * ecore-drm: Change @since 1.15 to @since 1.14 for newly added APIs
   * ecore-evas-drm: Use new Ecore_Drm functions to get properties of the output
   * evas-drm: Cleanup Engine Info structure
   * evas-drm: Cleanup evas_engine header file
   * evas-drm: Cleanup drm engine code
   * evas-drm: Make evas drm engine use new ecore_drm functions
   * evas-drm: Remove evas_drm file from build order
   * evas-drm: Add back in the r, g, b masks for conversion
   * evas_object_box: add MAGIC_CHECK when it is added.
   * Edje: Edje_Edit - new part addition should initialise threshold as -1
   * ecore x vsync - ensure drm fb is set to close on exec - intended (T2138)
   * efreetd - startup slowness fix for recursing directories
   * efl: Remove dead configure options for drm-hw-accel
   * evas: Fix CID1293000 (resource leak)
   * ector: Fix Coverity CID1293003
   * evas-3d: Fix Resource leak from CID1271635
   * edje: Fix dereference null return value (CID1287154)
   * evas-gl-x11: Fix dereference before null check (CID1293519)
   * evas-software-x11: Fix dereference before null check(s) (CID1270030, CID1270028, CID1270029)
   * Evas object: verify the parent is valid and fail if not.
   * efreetd: If we fail to allocate space for subdir_cache, then get out (CID1294212)
   * Evas GL: Fallback to indirect rendering if mul_col != 0xFFFFFFFF
   * eo_gdb.py: fix syntax error
   * eio: reorder tests linkage to unbreak debian-based systems
   * evas-drm: Handle render mode for 4 buffers
   * ecore-drm: Add pending_flip field to Ecore_Drm_Fb
   * evas-drm: Mark the Ecore_Drm_Fb as complete when we get the page flip event. (T2289)
   * ecore-drm: Fix hotplugging of outputs
   * ecore-drm: Fix mouse movement across multiple outputs
   * ecore-drm: Don't fetch output geometry on every mouse movement
   * evas: fix possible segfault in evas_3d_node_member_add/del.
   * Evas textblock: remove freed item from the line list
   * evas: restore the value of "do_region" in jpeg loader as EINA_TRUE
   * emotion - gst1 module - handle long standing bad map/unmap of gst buf
   * eio - fix crashes due to stale eio files in tracking list (T2129)
   * ecore-drm: Remove 'defined but not used' function
   * ecore-drm: Use #if 0 to comment out unused function
   * ecore-evas-x: Fix issue of wrong interface function pointer being set (CID1267461)
   * emile: Fix resource leak (CID1288918)
   * emile: Fix resource leak (CID1288919)
   * ecore-evas-extn: Use eina_mkstemp in place of mkstemp (CID1039610)
   * ecore_imf: init wayland before using wayland calls.
   * evas-blend-ops: fix off-by-1 in the C MUL3_SYM "simd" multiplier
   * ecore-evas-drm: Fix issue of fullscreen surfaces not getting focus on show (T2349)
   * evas: fix rotation and flipping of image in gl engine (T2338)
   * efl: Move test for gl library to evas-gl-drm engine checks and Fix T2167
   * efreet: fix leak in efreet_util_desktop_exec_find()
   * ecore_timer: fix the default return value.
   * evas_text: fix default return value.
   * edje_util: fix memory leak
   * eina: correct document for eina_hash_list_prepend/remove.
   * ecore-wayland: Fix issue of efl/elm apps not setting opaque & input regions
   * autotools: fix non-verbose build output
   * eolian: mark _class_get func protos with EOAPI
   * Edje embryo: Fix invalid check for get_state_val (text str)
   * Eina: fix eina_file_split on Windows and update unit test
   * ecore-drm: Fix using uninitialized output value
   * evas-wayland-shm: Use size of buffer when caching
   * evas-wayland-shm: Minimize race condition when finding free leaf
   * evas-wayland-shm: Update software_generic render engine size on output resize
   * evas-wayland-shm: Fix T2352 (focused window borders blink)
   * ecore-evas-wayland: remove duplicated shutdown of ecore_evas_wl_common
   * ecore_drm: close fd if flag set fails
   * ecore-drm: append O_CLOEXEC always
   * ecore-drm: don't return EINA_FALSE as an invalid fd
   * ecore-drm: close fd when asked to close fd
   * eolian: specialize tmp free for typedef (avoid double free issue)
   * eolian: fix lexer assertion failure
   * ecore-evas-wayland: Fix issue of setting NULL cursor object
   * edje: _check_recursive_reference reworked to fix segv in Edje_Edit.
   * ecore-drm: Add missing doxy for ecore_drm_output_enable

Changes since 1.12.0:
---------------------

Features:

   * Edje: Set the min, max sizes of the image automatically.
   * elocation: Add elocation libraray to EFL.
   * Evas GL: Introduce concept of safe extensions
   * edje: Edje_Edit - add generation of 'limits' parameter of group in EDC.
   * eolian: add support for @optional ctor tag (T1804)
   * Eet: add diffeet a tool for diffing eet files.
   * edje entry: improve selection performance
   * evas_object_main: Keep map effect after evas object move
   * eet - add new  api to verify eet file against stored cert
   * evas: Evas_3D - add bounding sphere, revision frustum culling
   * evas: Evas_3D - add mesh blending mode.
   * Evas GL: Add support for bind_wayland_display extension
   * Evas: Evas_3D - Add check of visibilty node.
   * ecore: Add a new API function ecore_main_loop_nested_get
   * ecore: Add code for new API function 'ecore_main_loop_nested_get'
   * eldbus: Add API function declaration for eldbus_proxy_send_and_block
   * eldbus: Add actual API function code for eldbus_proxy_send_and_block
   * eeze: Add API function declaration for find_by_subsystem_sysname
   * eeze: Add API function for eeze_udev_find_by_subsystem_sysname
   * ecore-drm: Port ecore_drm to use libinput
   * ecore-drm: Merge port to libinput
   * evil: add getpwnam() function
   * ecore-drm: Handle various touch events
   * edje: Edje_Edit - generate alias parameter for 'parts' block.
   * edje: Edje_Edit - add API for program actions PLAY_SAMPLE and PLAY_TONE
   * edje: Edje_Edit - add generation of 'filter' parameter of program
   * +eina_memdup
   * edje: support anti_alias option
   * edje: Edje_Edit - add API for renaming of image.
   * Evas masking: Use alpha mask in SW engine draw functions
   * Evas masking: Add clip_image_[un]set functions to draw context
   * Evas masking: Allow setting an image object as clipper
   * Evas masking: Implement mask support in evas_render

Fixes:

   * edje_calc: fix image set bug.
   * ecore_drm: Added internal function for drm output updates when device is hotplug
   * ecore-wayland: Fix the issue of UnIconifying an xdg_surface
   * Fix bug ecore_imf_context_cursor_position_set was not called when cursor was moved by ECORE_IMF_CALLBACK_SELECTION_SET
   * edje_cc: fix log message for authors write procedure.
   * Evas GL: Fix bug in evgl_eng_pbuffer_surface_create (EGL)
   * ecore_anim: fix source_set bug.
   * edje: fix wrong generation of 'minmul' and 'text.min' parameters in EDC.
   * edje: add formating for floating point numbers in EDC.
   * eldbus-codegen: Make generated code for property set work by setting the cb
   * evas/3d: Fix dereferencing a pointer that might be null found by coverity
   * Eo: protect against recursive object destruction calls, fixes T1741 (T1741)
   * ecore-drm: fix error check of _device_flags_set function
   * eldbus-codegen: Free msg on error path for generated code.
   * eldbus-codegen: More memory leak fixes for generated code.
   * textblock: correct text position for RTL text with margins
   * evas/map: correct last 1 pixel handling in spans.
   * ecore-drm: remove unnecessary setting file's flag of O_RDWR that are ignored.
   * ecore-drm: close fd handle if _ecore_drm_tty_setup() is failed in ecore_drm_tty_open().
   * ecore-drm: Sending Active to login1.Session
   * ecore-drm: pass appropriate arguments to eldbus_message_arguments_get(), so that it can be return as success in _cb_device_resumed().
   * evas_map: Remove unnecessary check for current map
   * ecore_evas_x: Fixed strange condition.
   * evas: Evas_3D - fix depth texture size.
   * Evas textblock: Fix possibly null dereference.
   * ecore-wayland: Fixed a request of start_drag with null value
   * ecore-wayland: Check if system has mouse in ecore_wl_input
   * evas-gl: Fix improper #ifdef check
   * evas-gl: Fix evas-gl to compile for EGL
   * ecore-wayland: If we fail to create a new opaque region, safely exit the function.
   * ecore-wayland: Check return of input_region create and get our safely
   * ecore-wayland: No need for setting the input here as it's done again directly below.
   * ecore-wayland: Add safety check for window surface creation
   * ecore-wayland: Add safety check for xdg_popup creation
   * ecore-wayland: Check for xdg_surface before sending ack_configure
   * Evas GL: Add preventive padding after Evas_GL_API
   * evas: Evas_3D - fix typo.
   * autotools: fix compiling/linking gl engines on OSX.
   * ecore con: Fix GnuTLS build error.
   * ecore-drm: Remove erroneous debug messages
   * ecore/animator: fix the bezier cubic compuation.
   * eldbus: Fix _eldbus_connection_send_and_block()
   * eldbus: Add timeout parameter to eldbus_proxy_send_and_block()
   * ecore-evas-wayland: Fix issue with ELM_PROFILE=mobile and windows not showing up correctly.
   * eeze_scanner needs to hash on the address of the pointer and not use direct_add() (T1612)
   * ecore/animator: fix the wrong computation of bezier cubic.
   * evas_xcb_outbuf: fix memory leak
   * ethumb: Fixing eina_init to eina_shutdown.
   * ecore-drm: Fix error message typo
   * ecore-drm: Fix formatting
   * ecore-drm: Cleanup structures in private header
   * ecore-drm: Fix ecore_drm_launcher_device_close to not cause segfaults
   * ecore_audio: fix memory leak in ecore_audio_pulse.
   * edge: fix memory leak and removed redundant return statement.
   * ecore-drm: Added cleanup data code as a error handling of connect logind.
   * ecore_drm: Removed unused variables in ecore_drm_evdev
   * ecore-drm: cleanup data when failed to setup tty.
   * ecore-drm: restore VT to text mode when close tty.
   * ecore-drm: fix passing wrong argument to open().
   * ecore-drm: Remove libinput log print callback
   * ecore-drm: Fix usage of EINA_LIST_FREE
   * ecore-drm: Add output size to device structure and add internal function for setting size
   * ecore-drm: Add internal function to set the output size in the input device structure
   * ecore-drm: Transform touch events into output coordinates
   * ecore-drm: Update pointer motion event coordinates
   * ecore-evas-drm: Create inputs before we create outputs
   * ecore-evas-drm: Fix up error handling
   * ecore-drm: Also update device calibration when output size changes
   * ecore-drm: Finish implementing touch events
   * ecore-drm: Don't declare sprite variable unless we need it, also fix some formatting.
   * eldbus: Fix possible null dereference reported by Coverity (CID1256952)
   * evas-gl-common: Fix issue with Coverity reporting null dereferences (CID1257607, CID1257606)
   * ecore-drm: Free devices before we release the libinput reference
   * edje: Removed redundant assignement of rest_args.
   * ecore_con: Added NULL check in dns_so_reset() for dns_socket object.
   * ecore-drm: add error handling, when fail to setup tty.
   * eldbus: Fix crash when removing the last reference of the message container inside of the message callback (T1908)
   * eet: fix memory leak in eet_cipher
   * evas: fix memory leak in evas_swapper.
   * eeze: add null check condition in eeze scanner module.
   * evas: fix memory leak issues in evas_object_textgrid.
   * efreet: pass the correct option from the user input.
   * ecore: fix memory leak issues.
   * eina: fix memory leak issue in Eina_Value.
   * evil: fix memory leak issue in evil_dirent module.
   * edje: add tween images into generated code for the group.
   * edje: fix memory leak in edje_edit_source_generate.
   * Edje_Edit: Add sound samples into generated code for the group.
   * evas/gl_x11: set EGL_PLATFORM environment variable
   * ecore_con: the timer callback is waiting for the Eo object not its private data. (T1962)
   * edje: Edje_Edit - remake deletion and replacing of strings
   * ecore-evas: Fix compiler warnings about inproper returns
   * eina_cxx: Fix eina::accessor for C++ Eo wrappers
   * eina_cxx: Fix eina::array cend method recursive calling itself
   * edje: Edje_Edit - add Proxy to Edje_Part_Collection_Directory_Entry initializatoin.
   * eet: Remove unused variable
   * ecore-evas-drm: Perform shutdown in proper order
   * ecore-drm: Fix incorrect launcher shutdown procedure
   * ecore-drm: Fix issue with TakeControl and ReleaseControl functions
   * edje - fix uninitialized coord sizes if swallow obj is invalid
   * evas textgrid - fix drawing of codepoints that are 0
   * ecore_evas_drm: Added support for initial rotation in ecore_evas_drm
   * ecore-wayland: Simplify opaque and input region handling.
   * ecore-evas-wayland: Fix min/max size calculations
   * ecore: fix compilation, missing return value in ecore_thread_wait
   * evas:fix markup text length issue
   * ecore_imf: Add null check condition in ecore_imf module
   * ecore_evas_x: Free XCounter values leak.
   * eo: Fix bad addressing in _eo_classes array
   * ecore-evas-wayland: Port fix of min/max size calculations to the configure event handler
   * ecore_evas/wayland_egl: Set alpha of ecore_evas object if parent alpha is set
   * evas: Fix unintentional integer overflow (CID1261436)
   * edje: Fix Coverity CID1261437
   * ecore_imf/scim: Fix logically dead code in scim module (CID1261449)
   * edje - edje_cc - fix wrong state lists where default is not the first (T1926)
   * efl - edje_cc - fix default state checks in previous commit
   * Eo tests: Fix bad free in eo_test_value
   * edje: Remove dead code
   * eina - mmap safety handler - fix to only handle sigbus's from io
   * ecore-drm: Add actual Outut to the Input device structure
   * ecore-drm: Remove unused function
   * ecore-drm: Remove call to unused function
   * ecore-drm: Limit mouse movement to within the output size
   * ecore-evas-drm: Init outputs before inputs so that input devices can have a pointer to outputs
   * ecore-wayland: Don't set move cursor unless we actually start a drag
   * ecore-wayland: Fix issue with Elementary DnD test not releasing mouse
   * ecore-drm: Re-enable setting K_OFF keyboard mode
   * Eee image: fix macros to be surrounded with do while().
   * eet - image decode - fix robustness of image decode from eet file
   * edje: Edje_Edit - fix memory leak in edje_edit_image_usage_list_get
   * ecore-wayland: Don't crash if we have no input->cursor_name
   * ecore-drm: Restore tty keyboard mode on restore of tty
   * ecore-drm: Reset output cursor and crtc mode on shutdown
   * ecore-drm: Don't init tty unless we are Not using systemd
   * edje: edje_pick - fix double free eina hash iterator.
   * ee engines should not crash when re-setting the same title/name_class
   * ecore-wayland: Don't send a mouse_up on grab release unless we actually have a grabbed button
   * Efreet: do not get confused by path ending with / in XDG_* vars
   * evas: fix to load BMP file compressed with RLE.
   * ecore: Remove potentially useless 'else' branches
   * ecore-drm: Store session name inside dev structure and don't take/release session control inside dbus functions
   * ecore-drm: Default device->session to NULL
   * ecore-drm: Cleanup tty code and handle vt signal trapping
   * ecore-drm: Fix various issues with logind code
   * ecore-drm: Cleanup launcher code
   * ecore-drm: Cleanup private header file
   * ecore-drm: Move session and vt fields to store inside the Ecore_Drm_Device
   * ecore-drm: Remove logind header file from build order
   * ecore-drm: Remove logind header file
   * ecore-evas-drm: Fix improper shutdown sequence
   * ecore-drm: Remove session parameter for internal function
   * ecore-drm: Remove unused function parameter
   * ecore-drm: Remove session parameter for session take/release functions
   * Merge branch 'devs/devilhorns/ecore_drm'
   * edje_cc must error when first provided state description is not "default" 0.0 (T1926)
   * ecore-x: Fix calls to disable dpms in xcb
   * ecore-x: Add missing EINA_UNUSED for function paramater
   * ecore-x: Remove unused variable in backlight_available code
   * ecore-x: Use proper XCB_ATOM_CARDINAL in call to window_property_get
   * ecore-x: Fix build error in xcb
   * ecore-xcb: Fix unused paramater compiler warning
   * ecore-xcb: Fix compiler build break
   * ecore-xcb: Fix ecore_x_window_full_new function to compile again
   * ecore-xcb: Add missing EINA_UNUSED for function paramater
   * evas-software: Fix call to evas_software_xcb_outbuf_setup function
   * evas-software: Fix software engine to compile using xcb
   * evas-software: Fix compile errors when using xcb
   * evas-image-loaders: Fix compiler warning of comparison between signed and unsigned values
   * edje: Edje_Edit - fix setting NULL into string pointer
   * embryo_cc_sc2.c: prevent memory corruption.
   * Set the name for table, box items
   * evil: fix initialisation of the socket library.
   * eolian: fix unary expression parsing (correctly consume tokens) (T2064)
   * evil: fix SEGFAULT in strcasestr
   * Edje: edje_cc - abort recursive Reference that is made by GROUP parts
   * evil: get right Windows environment variables for home path.
   * eio: Win32 make GetOverlappedResult function non-blocking
   * autotools: fix make check build error on Windows
   * eo: fix to pass make check on windows
   * eolian: fix to pass make check on windows
   * check: fix tests suites on Windows
   * eina: use uintptr_t for Eina_Thread storage to be the same size for the different architectures.
   * ecore_win32: don't allocate Ecore_Event_Key events with NULL keys
   * eina: fix tests suites for Windows to have a predictable result.
   * Edje: edje_edit - abort Recursive Reference in edje_edit_part_source_set
   * ecore-drm: Trap for failure to dup stdin
   * ecore-wayland: Don't send key repeat events for keys which should not get them
   * eet - fix endianess break added by cedric a year ago in image decoding (T1987)
   * eina: fix valgrind invalid read of size in eina_file_path_sanitize.
   * ecore-x: Deprecate misspelled screensaver API function
   * ecore-x: Deprecate old misspelled API function and add new one
   * ecore-x: Port deprecated API and new API function to xcb
   * evas: Evas_3D - fix bug with uninit Evas_Mat4 flag.
   * eldbus: production code inside Eina Safety Check assert.
   * Ecore_con: fix initialisation clean up and avoid memory leak.
   * eldbus: fix memory leak.
   * elua: correct eo inheritance behavior
   * eina: Eina_Value - use eina_mempool_free to cleanup the memory
   * evas: Evas_3D - fix when bounding sphere is large, situation with incorrect frustum calculation was possible.
   * eldbus: eina_value not allocated from mempool.
   * evas: Evas_3D - fix evas_3d_scene_pick when trying to get empty texcoords from mesh.
   * evas: Evas_3D - fix order of transformation while updating bounding object.
   * eina: fix semaphore initialisation
   * ecore-drm: Fix issue with ecore_drm_output_crtc_Find sending back an invalid id. Fix T2086
   * evas - gl engine - pipe renderer - disabling of unused arrays for lines


Changes since 1.11.0:
---------------------

Features:

   * evas: add evas gl-drm engine
   * eina: port Eina_Spinlock for OSX
   * eo: mmap()/unmap() are also supported on OSX
   * ecore-wayland: Implement ivi-shell support for Ecore_Wayland (T1552)
   * ecore_cocoa: NSRunLoop integration
   * edje: Edje_Edit - add code to generate edc source for all transition types in programs
   * ecore-drm: Add API function for getting screen geometry
   * ecore-drm: Add API function to get screen geometry
   * ecore-evas-drm: Add function to return screen geometry
   * Eolian/Generator: support @empty and @auto.
   * edje: Edje_Edit - get the buffer with sound's data
   * eeze: Add missing drm subsystem & device type and add a new Eeze_Udev_Type for drm
   * eeze: Add case for EEZE_UDEV_TYPE_DRM in eeze_udev_find_by_type function
   * eeze: Add ability to get syspath from a watch for DRM
   * Merge branch 'devs/devilhorns/eeze'
   * eeze: Add eeze_udev_syspath_get_synum function
   * eeze: Add code for eeze_udev_syspath_get_sysnum function
   * +eina_value_util api
   * eeze: Add Eeze udev types for backlight and leds
   * eeze: Add cases for backlight and leds in eeze_udev_find_by_type
   * eeze: Add cases for backlight and leds in get_syspath_from_watch.
   * ecore-drm: Port ecore_drm_inputs code to use Eeze instead of udev
   * Merge branch 'devs/devilhorns/ecore_drm_eeze'
   * +eina_strdup(), eina_streq()
   * ecore-drm: Added private functions to get brightness levels in backlight
   * Evil: add strptime()
   * ecore-wayland: Add API functions to iconify an Ecore_Wl_Window
   * Merge branch 'devs/devilhorns/xdg_shell'
   * evas: Evas_3D - add .eet export/import
   * edje: Edje_Edit - get the source name of the sample
   * Evas GL: Add API evas_gl_error_get()
   * Evas GL: Add APIs to get current surface/context
   * Evas GL: Add API evas_gl_rotation_get
   * Evas GL: Add support for client-side rotation
   * Evas GL: Add evasglCreateImageForContext + import defs
   * Evas GL: Add support for fence_sync and similar extensions
   * Evas GL: Add evas_gl_surface_query
   * Evas GL: Add support for pbuffer surfaces
   * Evas GL: Add support for OpenGL-ES 1.1 (part 1)
   * ecore_drm: Added internal function to check if drm device is hotplug device

Fixes:

   * evas: Evas_Gl_X11 - add missing eng_window_free
   * evas: Evas_wayland_Egl - fix black surface during resize
   * evas: Evas_Wayland_Egl - change size of common gl context after egl make current according to current Outbuf's size
   * edje: Edje_Edit - fix support for program's targets
   * edje: Edje_cc - fix not storing edc sources in .edj file with --no-save option
   * ecore_evas: Ecore_Evas_X - make sure that ecore evas post render is always called.
   * ecore-evas-wayland: Fix ecore_evas async rendering with wayland engines
   * fix efl deadlock with thread queues
   * ecore-wayland: Remove need for function prototypes
   * ecore-wayland: Fix ecore_wl_screen_size_get function to handle more than one output.
   * ecore_evas: Ecore_Evas_X - Fix broken rendering during rotation with resize (T1371)
   * eina_file: fixing wrong return value on access problems in file copy process
   * gl-drm: Fix missing link to gbm for ecore_evas_drm and clean up build script
   * shutup ecore-x vsync stupid log domain failures
   * ecore-drm: Add local function to free outputs and on any errors during create, call it
   * ecore-drm: Fix copy/paste build error
   * ecore-evas-drm: Fix misplaced #ifdef from gl_drm patch
   * emotion - fix calling pos update cb for gst1 module in frame new
   * emotion - audio volume - leave as-is on file open/init
   * evas textblock: fixed ellipsis character cut off issue with complex markup text. (T1213)
   * edje_cc now throws an error during link combination when the current part has no name
   * evas: fix build on armv7l. (T1620)
   * evas-drm: Fix evas-drm picking incorrect resolution/mode for outputs
   * edje embryo stop_program() should stop pending actions
   * ecore: Check that eo_data_scope_get returns valid Ecore_Timer_Data before trying to use it
   * evas: let's freeze the canvas, shall we ?
   * edje: prevent resource leak.
   * ecore-evas-drm: Implement ecore_evas_pointer_xy_get for drm engine
   * ecore-drm: Close input device fd on error during open and fix some todo messages
   * ecore-drm: Fix missing close of fd on _device_add
   * ecore-drm: Fix drm VT switching to work again
   * Evas: Fix crash in hide
   * ecore-wayland: Allow setting input->cursor_size even if we don't have the shm interface yet
   * ecore-wayland: Don't crash if we have no shm interface yet when setting cursor theme
   * Evas filters: Fix parsing of argument lists (T1615)
   * edje_program: added signal "focus,part,out" when focus is discarded
   * evas: Gl_Cocoa - fix early segfault caused by unloaded symbols
   * efl: Move Eldbus above Ecore_Drm
   * ecore-drm: Remove direct dbus dependency from Ecore_Drm
   * ecore-drm: Add Eldbus header to private header file
   * ecore-drm: Include config.h in private header
   * ecore-drm: Fix private function prototypes for new dbus functions
   * ecore-drm: Rework input code to function with Eldbus
   * ecore-drm: Rework internal dbus code to use Eldbus
   * Merge branch 'devs/devilhorns/ecore_drm'
   * efl - vsync - deal with both broken and non-broken libdrm
   * eina: do no use umask on Windows in eina_file_mkstemp()
   * eeze: Fix return value for eeze_udev_syspath_get_sysnum
   * eeze: Fix issue with eeze_udev_find_by_type not finding devices when name is NULL.
   * ecore-evas-drm: Fix calling ecore_drm_device_find twice in some cases
   * ecore-drm: Move Eeze above Ecore_Drm
   * ecore-drm: Add Eeze as a dependency for Ecore_Drm
   * ecore-drm: Remove dependency on libudev for ecore-drm
   * ecore-drm: Remove internal dependency on libudev
   * ecore-drm: Add Eeze as an internal dependency for ecore-drm
   * ecore-drm: Fix comment to not mention udev
   * ecore-drm: Remove references to udev functions and init Eeze during startup
   * ecore-drm: Fix ecore_drm_device_find function to use Eeze
   * ecore-drm: Remove udev from private header and add an Eeze_Udev_Watch for Ecore_Drm_Input
   * ecore-drm: Port ecore_drm_output backlight init code to use Eeze
   * eeze: Fix missing break in switch(s) (CID1240225, CID1240226)
   * ecore_x_vsync - fix tiny leaklet of drmversion
   * ecore-drm: Remove need to use an extra variable for storing device.
   * ecore-drm: Add an extra blank line just to separate code
   * efreet: Accept both only_show_in and not_show_in
   * ecore-drm: Fix adding an input device when we don't get the devpath from Eeze.
   * ecore-drm: Add some more debug information if a device fails to open
   * ecore-drm: Don't crash if we get no devpath from Eeze
   * Evas Textblock: Fix bad empty line add on wrapping
   * ecore-drm: Fix _device_add function to check input
   * ecore vsync - fix up dual nvidia + dri/drm driver discovery
   * Evil: fix fcntl() when used with F_SETFL
   * eeze: Add configure check for older libudev version
   * eeze: Add ifdef trap for older udev version
   * edje_cc: fix memory leak.
   * eeze - sensors - ints for sensor events were decld in .h - and never .c
   * Evas Textblock: Fix native width of BiDi text (T1532)
   * ecore-wayland: Check return of calloc
   * ecore-wayland: Check for valid shell before sending bound event
   * ecore-wayland: Add support for xdg_surface class name
   * ecore-wayland: Bump xdg_shell version for pending release
   * ecore-wayland: Cleanup shell surface creation
   * ecore-wayland: Add support for handling surface delete callback
   * evas textblock: return text direction for under cursor in cursor geometry get
   * eina: open files in read-onnly for eina_file_open() on Windows
   * ecore_drm: Verifying if name format is /dev/xyz before assigning to tty.
   * evas-gl-common: Fix compile for EGL due to missing GL_LINE_SMOOTH
   * ecore-drm: Fix failure of finding drm device on ARM platforms.
   * ecore-drm: Fix drm cards on ARM platform not having boot_vga parameter
   * ecore-evas-drm: Set the ecore_drm_device reference in the engine data
   * eina: remove macros referencing to absent functions.
   * evas: GL_X11 context need to always be with alpha or it will fail to change.
   * Edje_Edit: creating new hash in global data if it is not created yet
   * Ecore_Win32: Fix string for the BackSpace key on Windows
   * edje: Edje_Edit - fix edje_edit_image_usage_list_get() to return usage list with images with USER compression.
   * edje: Edje_Edit - add state alloc for PROXY part.
   * eio: actually correctly set all field to NULL. (T1729)
   * ecore-wayland: We should be dispatching pending events After we flush clients
   * evas: evas_map - fix cast from double to int with using lround()
   * edje: Edje_Edit - fix edje_edit_state_aspect_pref_set() function to setup Source and None aspect preferences
   * evil: simplify implementation of localtime_r
   * eet: enhance error messages with libjpeg
   * ecore-drm: Default output to NULL and add safety check for NULL output after the device loop.
   * ecore-drm: Create udev watch for each output, and delete the watch when we free the output.
   * evas: Evas_Box - layout_flow_horizontal and layout_flow_vertical fix
   * evas-wayland-egl: Fix function prototype for eng_context_create
   * Eo id: Fix id security checks for invalid objects.
   * ecore-drm: Cleanup/Unify output_free function code
   * ecore-drm: Check for valid crtc before calling free
   * ecore-drm: Cleanup backlight and drm device in output_free function code
   * ecore-drm: Added documentation for various APIs in ecore_drm_device module
   * ecore-drm: Added documentation for various APIs in ecore_drm_output module
   * ecore_wayland: Making _ecore_wl_init_count not to go below zero in shutdown.
   * ecore_drm: Making _ecore_drm_init_count not to go below zero in _ecore_drm_shutdown.
   * ecore-drm: Add error message for calling shutdown without calling init first.
   * ecore-wayland: Add error message for calling shutdown without calling init
   * ecore_wayland: Making _ecore_wl_shutdown return int instead of EINA_BOOL.
   * evas-gl-drm: Fix initialization from incompatible pointer type
   * evas gl rgba visual/rendering fix try ... again
   * dnd/x: fix type set for case there is no type list exists
   * edje: edje_edit - don't unlick(NULL) (T1760)
   * edje: edje_edit - fix posible resource leak (T1760)
   * Edje_calc: set the image set border again after resize.
   * ecore_evas - ecore_evas's should start withdrawn then normal on show
   * edje_cc_out: update the id of set images.
   * ecore-tests: Add missing separator
   * evas-gl-x11: Check return value of glXMakeContextCurrent (CID1249651)
   * evas-gl-x11: Fix copy/paste error from Coverity fix
   * evas-gl-x11: Don't call gl_common_error_set if MakeContextCurrent fails
   * evas-gl-3d: Fix compiler warning about 'ld' may be used uninitialized
   * ecore-evas-wayland: Fix wayland windows not showing up after 5954289c6ce1cd55ff212428291604b981438439
   * eina_unicode: fix memory allocation
   * edje: fix use of eina_tmpstr_del after eina_shutdown.
   * ecoreidrm: Cleaned up unwanted code.
   * ecore-drm: Remove commented out dead functions
   * ecore-drm: Remove dead functions
   * eina: clear up eina_tmpstr length information (T1775)
   * elua: load .dylib on OSX
   * Ecore File: Corrected documentation of ecore_file_monitor_add API
   * edje: fix edje_object_part_text_item_list_get and edje_object_part_text_item_geometry_get
   * elua: remove the : prefix for running apps
   * evas: fix quaternion initiation for node, which isn't a root node
   * edje: Edje_Edit - fix segfaults on restacking of text parts with set 'text_source'.
   * edje: Edje_Edit - fix segfault on copying state of IMAGE part with twins
   * elua: two-stage bytecode caching

Changes since 1.10.0:
---------------------

Features:

   * Eolian: add support for typedefs.
   * Eolian/Generator: add support for implementation source file.
   * Eolian: add support of namespaces.
   * eina-tiler:add union, subtract, intersection, equal apis for tilers
   * Evas/Textblock: add support for ellipsis values
   * Eo: Add eo_finalize. A func that's called at the end of eo_add.
   * edje: Edje_Edit - add sounds list accessor.
   * edje: Edje_Edit - add edje_edit_part_copy function that copy parts within whole group.
   * edje: Edje_Edit - add edje_edit_part_pointer_mode functions.
   * evas: Evas_3D - Revision frustum culling.
   * edje: Edje_Edit - add edje_edit_part_precide_is_inside functions.
   * edje: Edje_Edit - add edje_edit_part_access functions.
   * edje: Edje_Edit - add edje_edit_group_orientation_set/_get.
   * edje: Edje_Edit - add edje_edit_part_multiline functions.
   * edje: Edje_Edit - add edje_edit_part_cursor_mode functions.
   * evas: Evas_3D - add .obj export/import.
   * evas: Evas_3D - add evas_box3_ray3_intersect and evas_box2_intersect_2d functions.
   * edje: Edje_Edit - add parameters to generate source code for part.
   * Evas ETC2: Add ETC2 encoder skeletton
   * Evas TGV: Add ETC2 support to the TGV saver
   * Evas ETC2: Implement T mode encoding
   * Evas ETC2: Implement H mode encoding
   * Evas ETC2: Implement Planar mode
   * Evas: Implement full ETC2 encoder
   * Ecore_Evas: add new API for unset the cursor from Ecore_Evas.
   * Elua: initial commit
   * Introducing Elua: an EFL-LuaJIT app runtime
   * edje: Edje_Edit - edje_edit_state_text_class_xet()
   * edje: Edje_Edit - edje_edit_state_text_text_source_xeg()
   * edje: Edje_Edit - add edje_edit_part_item_append functions.
   * edje: Edje_Edit - add edje_edit_state_minmul functions.
   * edje: Edje_Edit - edje_edit_state_text_repch_xet()
   * edje: Edje_Edit - edje_edit_state_text_size_range_min_max_xet()
   * Evas gl: Enable texture atlasses with ETC1/2
   * edje: Edje_Edit - add edje_edit_sound_sample_add() function that allows user to add new sound sample to collection
   * edje: Edje_Edit - edje_edit_sound_compression_rate_xet()
   * edje: Edje_Edit - add edje_edit_part_items_list_get.
   * Evas: Add encoding parameter to the savers
   * Eet: Add support for ETC2 encoding and decoding
   * Edje: Add support for ETC2 through LOSSY_ETC2 images
   * edje: Edje_Edit - add functions that allows user to set and get frequency value of tones in collection
   * edje: Edje_Edit - add edje_edit_part_item_source functions.
   * edje: Edje_Edit - add bunch of BOX and TABLE param get/set functions.
   * edje: Edje_Edit - edje_edit_part_select_mode_xet()
   * edje: Edje_Edit - edje_edit_sound_compression_type_xet()
   * edje: Edje_Edit - add edje_edit_state_map_light_xet()
   * edje: Edje_Edit - add edje_edit_part_item_align functions.
   * edje: Edje_Edit - add edje_edit_state_map_rotation_center_xet()
   * edje: Edje_Edit - add edje_edit_part_entry_mode_xet()
   * eolian: introducing a new lexer/parser
   * Introducing new lexer/parser for Eolian
   * edje: Edje_Edit - add API for missing map properties
   * edje: Edje_Edit - add edje_edit_part_item_del.
   * edje: Edje_Edit - add missed iterator and object deletion in _delete_play_actions() function
   * edje: Edje_Edit - add functions that provide the ability to set and get source for proxy parts state
   * edje: Edje_Edit - add edje_edit_sound_tone_add() function that allows user to add new tone to collection
   * eolian: introducing support for .eot files
   * eolian: new type API
   * Evas: Add DDS image file loader
   * Evas gl: Add support for S3TC textures (T5, T3, T1)
   * edje: Edje-Edit: edje_edit_state_map_perspective_xet()
   * edje_edit: Add edje_edit_part_item_aspect_mode functions.
   * edje_edit: Add edje_edit_state_map_point_color functions.
   * edje: Edje-Edit: edje_edit_state_map_on_xet()
   * evas: jpeg loader - support flip, transpose, transverse
   * edje: Edje_Edit - add edje_edit_part_item_weight functions.
   * edje: Edje_Edit - add edje_edit_part_item_spread functions.
   * eolian: new API for struct types
   * Evas TGV: Add support for ETC1+Alpha
   * Evas gl: Add support for ETC1+Alpha textures
   * Eet: Add support for ETC1+Alpha
   * new eina api/object - eina thread queues
   * ecore-drm: Add necessary headers for dbus and systemd-login
   * edje embryo: Now supports get_anim_pos_map
   * efreet - add menu ref/unref calls and refcounting to try solve e issue
   * edje: Add dpi feature.
   * ecore animator - adjust ecore loop time when animtor ticks to be exact
   * add function to set ecore loop time
   * add simple ecore-con-url test suite

Fixes:

   * Eolian: fix generation when optimization is set.
   * Edje GROUP objects now recursively hide child objects when parent is hidden
   * Evas textblock: Fix wrong advance calculation when bidi is disabled.
   * Eo/evas events: Fix support of mixing legacy smart events and eo events.
   * evas loader - redo gif fix so it doesn't break everything
   * Evas: Remove invalid cast and fix warning/bug on windows
   * Win64: Fix a bunch of warnings
   * eina/file - revert 18be4c50d9990c82ed9ce4269b7820e61f772699
   * Eolian: Fix class look up.
   * Eolian: Fix bad behavior when the .eo is incorrect
   * evas: Examples - fix Evsa3D Eo classnames.
   * Evas textblock: Fix crash when cutting ligatures with formats. (T1308)
   * edje: Edje_Edit - fix edje_edit_part_source_set
   * Remove autogen.sh from the dist tarball.
   * eo: force zeroing memory on non Linux system.
   * edje: Edje_Edit - fix func edje_edit_state_text_source_set()
   * evas gl: distinguish between IMG and EXT MSAA extensions
   * evas/textblock: check item's type before returning result.
   * remove unnecessary second checks on validity
   * elua: Fix building of binary
   * eina-cxx: fix compilation error on clang in eina_thread.hh (T1328)
   * eina-cxx: fix compilation error on clang (T1328)
   * Evas textblock: Fix issue with edje fonts not being used. (T1331)
   * edje: Edje_Edit - some minor edits
   * configure: Add dl to edje libs
   * Evas/Textblock: Introduce PS deletion bug test and fix
   * edje: Edje_Edit - fix compiler warnings for edje_edit_part_item_source_get/set
   * ecore-evas-wayland: Remove useless variable.
   * ecore_win32: fix key events on Windows.
   * ecore: fix ecore main loop on Windows when number of objects is greater that MAXIMUM_WAIT_OBJECTS
   * eina: fix build on windows.
   * Documentation: adding missed documentation to edcref (map.color param)
   * evas/gl - fix to render grayscale with transparency format in gl backened.
   * ecore-evas: Fix cursor position getting reset to 0,0 when using ecore_evas_cursor_object_set
   * edje: textblock style loading changed
   * evas/gl: improve the rendering quality.
   * lz4: fix possible security issue.
   * jpeg loader: exif parsing bug fix
   * evas: fix jpeg loader rotation by metadata (exif)
   * lz4: fix shadow issue
   * configure.ac: Remove obsolete macros
   * evas - gl common - fix drop of image on cache hit in gl engine images
   * this fixes crazy french altgr setups that confuse binding masks (T1273)
   * edje_edit: adding @since 1.11
   * evas: gl_common fix make dist
   * ecore-drm: Shutdown ecore_event on udev error.
   * edje: Edje_Edit - fix Documentation generation error's and warning's
   * ethumb: fix setup related API problem
   * ethumb: support ETHUMB_THUMB_ORIENT_ORIGINAL without libexif
   * evas-engine-drm: Fix drm engine breakage from Frenchie
   * evas-engine-drm: Fix invalid variable check
   * ethumb: dbus reply message handling minor bug fix ("queue_remove" method call)
   * evas-engine-drm: Fix software_generic_update to use the correct size.
   * evas-engine-drm: Fix update of output buffer size
   * evas-engine-drm: Fix evas drm engine bufer depth
   * evas-engine-wayland-shm: Check for depth being INHERIT on reconfigure
   * edje: Edje_Edit - fix size memory calculating for realloc array of tweens.
   * ecore-evas: Fix missing drm engine in list
   * evil: fix mistaken check of returned value by mkdir.
   * eina: (Windows) fix creation of files with eina_file_open() in some cases
   * evas: mark the evas text object as dirty, when text style is changed.
   * ecore-drm: Fix trapping of SIGUSR1 for VT switching signals
   * Evas textblock: Fix memory leak
   * evas-wayland-shm: Free allocated rectangle after sending damages
   * ecore_evas_extn: do not double close fd in case of memory starvation. (CID1039885)
   * ecore_evas_extn: fix wrong plug image display after connect
   * ecore animator - this fixes suspended animators still waking up
   * ecore-evas - fix continual wakeups with unchanged canvases
   * ecore_x: don't go below 0. (T1467)
   * Evas textblock: Correct word start/end moving at new line or line begins with spaces
   * evas/textblock: fix to keep original format when a markup tag is matched to a style tag.
   * build/drm: Fix broken build from scratch and add missing library dependency for evas_drm engine (T1473)
   * textblock: Update visual_pos before calling _size_native_calc_line_finalize.
   * edje: fix coverity defects (CID1214113, CID1230296, CID1230295)
   * ecore_evas_buffer: fix dereference null return value (CID1210810)
   * evas-wayland-egl: Fix wayland egl engine to work again (T1478)
   * evas-wayland-egl: Fix evas wayland_egl engine not loading due to missing symbol
   * eldbus: do not ignore numeric "0" in property_set
   * Evas text: fix text object size with empty texts.
   * evas-wayland-egl: Fix evas wayland_egl engine crash on mesa driver
   * wayland-egl: Fix eng_window_new function prototype
   * wayland-egl: Fix calls to eng_window_new
   * wayland-egl: Fix Outbuf structure not having evas & engine info
   * evas-wayland-egl: Fix typos about egl context attribute list
   * evas-wayland-egl: Add missing free
   * evas-gl-common: Fix invalid use of Texture
   * ecore-wayland: Calloc Can fail, so check that it works (or return if not).
   * evas-software-x11: Remove EINA_UNUSED for function paramater that is used
   * edje_pick: fix a segfault on 'set' copy
   * edje_pick: fix a copied aliases
   * Grid: fix a mirroring bug
   * evas gl - fix yuv smooth rendering
   * evas image loaders - silence noisy warnings that are just not needed
   * evas-wayland-egl: Fix segmentation fault on dynamic loaded gl related functions.
   * evas-wayland-egl: Free Outbuf if gl_generic_init fails
   * evas-wayland-egl: Check for valid tilebuffer before setting tile size
   * evas-wayland-egl: Increment frame count after flush
   * evas-wayland-egl: Don't resize gl_context during first_rect
   * evas-wayland-egl: Fix wayland egl engine not rendering
   * efl: Fixed unwanted configure.ac warning.
   * evas textblock: fixed ellipsis character cut off issue with complex markup text. (T1213)
   * evas-gl-generic: Remove useless returns
   * ecore_imf_context: fixing default id getter

Changes since 1.9.0:
--------------------

Features:

   * eina: add eina_inarray_resize @feature.
   * eina: add eina_accessor_clone and update all Eina_Accessor to take advantage of it.
   * eina: add a C++ bindings to Eina @feature.
   * @feature - Apply NEON intrisics improvement to rotation
   * Evas textblock: Implemented mid-contextualization formatting.
   * evas-drm: Add evas_drm to build order for Evas drm engine
   * evas-drm: Add Evas Drm Engine (software only currently)
   * evas-drm: Add option to enable drm hardware acceleration
   * evas-drm: Start on hardware-accel support for drm
   * evas-drm: Triple buffer by default.
   * evas-drm: Fix opening of drm card
   * evas-drm: Start on hardware Plane support
   * evas-drm: Add vsync/non-vsync support to evas_drm code
   * evas-drm: Ddd support for setting vsync with env variable.
   * edje: @feature to include license in edje file. (T1027)
   * edje: add support of last input entered in password mode to be always visible in entry.
   * eio: make it possible to limit the amount of memory used by threads.
   * eina: make Eina_Error thread safe.
   * edje: add AUTHORS and more than one license file to Edje.
   * ecore-drm: Add Ecore_Drm code
   * ecore-drm: Add configure.ac autofoo for ecore-drm
   * Eet: Added vieet a tool to edit eet files.
   * eina-cxx: Added eina_log support for C++, using IOStreams syntax
   * ecore-drm: Add API function to return the vt fd
   * ecore-drm: Add dependency on xkbcommon
   * ecore-drm: Add code pass along key events to ecore_event
   * ecore-drm: Set the window of the Ecore_Event_Key structure
   * ecore-drm: Add code to handle modifiers in a key event
   * ecore-drm: Add code to handle mouse input
   * evas/font: Added evas_font_path_global_* APIs.
   * Eo: Made eo id for classes a bit more secure.
   * ecore-drm: Add API function to return the drm device name
   * ecore-evas-drm: Add support for resize and move callbacks
   * ecore-evas-drm: Add support for setting focus_in & focus_out callbacks
   * ecore-evas-drm: Add support for setting the mouse in & mouse out callbacks of the ecore_evas
   * ecore-evas-drm: Add support for ecore_evas_move function
   * ecore-evas-drm: Add support for ecore_evas_move_resize
   * ecore-evas-drm: Add support for rotation set
   * ecore-evas-drm: Add support for setting the title of the ecore_evas
   * ecore-evas-drm: Add support for ecore_evas_name_class_set
   * ecore-evas-drm: Add support for setting size hints
   * ecore-evas-drm: Add support for ecore_evas_object_cursor_set
   * ecore-evas-drm: Add support for ecore_evas_layer_set
   * ecore-evas-drm: Add support for ecore_evas_iconified_set
   * ecore-evas-drm: Add support for ecore_evas_borderless_set
   * ecore-evas-drm: Add support for maximized, fullscreen, withdrawn, and ignore_events settings
   * ecore-evas-drm: Add support for alpha & transparent setting
   * ecore-evas-drm: Add support for setting aspect of ecore_evas
   * edje_cc now supports program.targets keyword for adding N targets in one line
   * edje_cc now supports group.remove for removing parts from inherited groups
   * edje_cc now supports part.inherit for copying attributes of parts within a group more easily
   * eeze_udev gets more helper functions
   * edje_cc now supports program.sequence for more easily chaining programs together
   * edje_cc can now use group.program_remove to remove inherited programs
   * edje_edit: function that will return the source code of the loaded edje edit object.
   * ecore-drm: Add API function for getting size of an output.
   * eet-cxx: add implementation for eet C++.
   * Eina: Fix mistake in a previous patch
   * +eeze_udev_get()
   * eina-cxx: Modified eina C++ log use syntax
   * Move to Eo2 and adjust code accordingly
   * Eo: eo_do now returns called func's value + default ret fix.
   * Edje: Use LOSSY_ETC1 instead of LOSSY
   * Evas TGV: Add direct copy mode for ETC1/ETC2 data
   * Evas: Add support for ETC2 in the TGV loader
   * Evas gl_x11: Add ETC2 support to the GL/X11 engine
   * edje_cc now supports "lazEDC", a more concise version of EDC
   * edje_cc now supports the group.inherit_only attribute
   * edje_cc now supports targets for SIGNAL_EMIT actions
   * edje_cc now has the program.groups and X.target_group keywords for target grouping
   * edje_cc now supports group.program_source for specifying a default source in programs
   * eina_hash now has helper functions for managing lists inside hashes
   * edje_cc now supports part.description.link for single line state changes
   * edje now has the group.script_recursion flag for permitting unsafe embryo recursion (T905)
   * eolian_cxx: initial version of the EFL C++ Bindings Generator.

Fixes:

   * ecore: @fix race condition when using ecore_main_loop_thread_safe_call_sync.
   * examples/evas: Set a proper format string for fprintf
   * evas-drm: Set Magic on the Ecore_Evas
   * evas-drm: Fix configure.ac typo for drm hw accel argument
   * evas-drm: Call framebuffer_set earlier in the process so that the screen gets updated sooner.
   * evas-drm: Fix opening of drm card
   * evas-drm: Forgot to install the evas drm engine pkgconfig file
   * evas-drm: cleanup outbuf structure and functions
   * evas-drm: cleanup evas_engine code for drm sw engine
   * evas-drm: Add vsync/non-vsync support to evas_drm code
   * evas-drm: Ddd support for setting vsync with env variable.
   * Evas: Fix build issue when building without drm
   * ecore_avahi: @fix timeout to avoid pitfall of forever frozen timer.
   * evas-drm: Fix evas drawing delay for cedric
   * Evas filters: Avoid CRI message when using the GL engine
   * Evas filters: fix black squares with the GL engine
   * Evas filters: fix random cases of 'dancing text'
   * Evas filters: fix clip to target calculation
   * edje: fix edje_watch to not pass the '\n' to eio_monitor.
   * edje: let's allow to reset escaped text to NULL. (T821)
   * evas-drm: Don't call framebuffer set from within send function
   * evas-drm: Check buffer validity in swap function
   * evas-drm: Fix setting cached image alpha flag
   * ecore-evas-x: Fix resource leak from eina_str_split_full usage (CID1188012)
   * eo: memory waste at mixin class elaboration
   * Edje entry: fix bug preedit text is committed in the next entry when Tab key is pressed.
   * edje/edje_edit: fix part add bug
   * edje/edje_edit: Check for NULL
   * evas-drm: Remove hardware acceleration fields from engine structure
   * evas-drm: Add headers for hardware acceleration
   * ecore-drm: Add missing define
   * ecore-drm: Comment out Gbm Format
   * efl: Fix installing ecore-drm pkgconfig file
   * efl: Fix build with drm disabled
   * evas/fb: avoid crashing it outbuf setup failed.
   * evas: @fix convert to 24bits so dst_jump is used properly.
   * evas/fb: expose and call fb_freemode() and fb_cleanup()
   * ecore_fb: @fix use of uninitialized values reported by valgrind.
   * evas/fb: use stride instead of width.
   * eina: Fix bug in eina_convert_itoa (T1062)
   * edje/entry: fix to not emit "changed" signal in unnecessary cases of password mode.
   * edje: do not leak in case of error. (CID1191310, CID1191311)
   * evas-fb: Fix broken build of efl
   * ecore-drm: Initialize ecore_event on ecore_drm_init
   * edje - allow lager clipper space.
   * eina-cxx: Fixes compilation errors and warnings in clang
   * evas: Replace EINA_LIST_FOREACH_SAFE to while statement.
   * evas: @fix use the correct composite op on lines with pixman
   * Evas filters: Fix 1-D blurs on a single buffer
   * Evas filters: Fix memory leak when destroying the object
   * ecore-x: Predefine Ecore_X_Atom and Ecore_X_Icon
   * ecore-evas: Predefine Ecore_X_Atom and Ecore_X_Icon
   * evas: restore behavior of stack above and below when no rel is specified. (CID1191907, CID1191906)
   * Ecore x: Add back the two symbols removed in 1.9.
   * eet: fix tokenizer's escape logic.
   * Evas textblock: Don't include right margin/padding twice when aligning lines.
   * edje: check font change in edje text part cache infra.
   * edje/util: set flag to all_part_change when edje class member is added.
   * Evas cserve2: Fix client crashes when a file changed
   * Evas gl: Fix clip in image_draw if it's not set
   * ecore-drm: Fix ecore_drm_device_window_set to use an unsigned int
   * ecore-evas-drm: Fix setting of the ecore_evas property window and register the prop.window for events.
   * evas-drm: Fix engine to use the output's framebuffer as window id
   * ecore-wayland: Fix ecore_wl_init 'stalling' when used in a server
   * Eolian/Lexer: increase buffer length for .eo files
   * Eolian/Generator: Don't generate sub ids structure if not needed.
   * ecore-drm: Fix absolute motion coordinate calculation
   * edje_cc no longer fails on collections.group{}
   * edje_cc now correctly handles lack of state int in STATE_SET action
   * edje_cc also checks min args correctly for STATE_SET actions
   * Evas filters: fix potential memory leak
   * eio monitors no longer trigger a CRI error during free
   * edje_cc uses macros for some of its handler setup
   * evas/gl - fill up missed blend mode.
   * evas: Fixed warning for uninitialized variables
   * edje_cc now correctly handles group inheriting when the inherit is after a part/program
   * build: Disallow non-working sdl + opengl ES combination (T856)
   * Evas Textblock: increase ref of format before work
   * evas/proxy - redraw proxy source properly.
   * Eolian: move the beta API ifdef to cover all the H types and functions.
   * Eolian: fix virtual pure support.
   * Eolian/Lexer: fix function names parsing.
   * edje_cc: Fix the crash when compiled wrong edc file containing empty part
   * evas - fix incorrect object reset.
   * evas-drm: Add trapping for a canvas below framebuffer size
   * ecore-evas-drm: Add better support for ecore_evas_fullscreen_set
   * ecore-drm: Fix mouse wheel to not be inverted
   * emotion: fix memory leak
   * edje_cc: fix group inheriting with scripts. (group.script and .program.script)
   * ecore-evas - fix object cursor to not delete the same cursor when set
   * ecore_evas_extn: give proper event data to callbacks
   * ecore_evas_extn: fix doxygen sample
   * evas-drm: Default async page flip to false as this can cause tearing
   * evas-drm: Remove all async_page_flip options/references
   * ecore-con - deal with internal buffer growing over 2g in size
   * fix swap buffers with damage to not detect if ext str is not there
   * ecore-wl: Optimize opaque region setting for surface and reduce unnecessary calls to surface commit.
   * ecore-wl: Optimize setting of window input region
   * ecore-evas-wl: Reduce useless compositor redraws during render update and update input & opaque regions after resizing.
   * ecore_evas_extn: initialize server handle on server deletion
   * ecore_evas_extn: update plug image object after disconnection
   * Eo: eo_do now returns called func's value + default ret fix.
   * Fixed a problem with e wl server that sent invalid key value to wl client.
   * ecore-evas-wl: Ooops, Fix opaque & input regions being set to incorrect values
   * ecore-wl: Don't create an input cursor surface unless the input has pointer capability.
   * ecore-wl: Check for existance of data device manager
   * eo: fix broken children iterator, remove redundant fields.
   * ecore: Fixed se of EINA_MAIN_LOOP_CHECK_RETURN macros with functions with return types
   * emotion: fix triggering condition of fallback module loading (T1025)
   * edje now correctly forces ellipsis setting on text parts
   * emotion: play set before file open callback bug fix
   * emotion: use eina stringshare not strdup
   * configure: Only allow wayland + egl with opengl ES (T1202)
   * eldbus-codegen no longer passes garbage values to error callbacks
   * fix emotion_test signal emit object
   * evas-wayland-shm: Use XDG_RUNTIME_DIR if available for creating mmap'd buffer file.
   * evas-wayland-shm: Fix 'oopsie/typo' in temporary file name template
   * ecore-x - fix setting protocol atoms for icccm for 64bit
   * ecore-drm: Send proper keycode to ecore key event, and remove erroneous variable.
   * edje/Edje_Edit: _edje_edit_real_part_add init field of Edje_Real_part
   * fix ecore_con_url using 100% cpu and just let fd handler do work (T1251)
   * fix behavior of edje entry to match other toolkit entries (T1229)
   * fix ecore_thread_global_data_wait to work when no data exists yet
   * Eo: Fix deref after free. (CID1039898)
   * evas/render - fix segfault because of null cow access. (T1252)
   * edje: Edje_Edit - fix wrong behaviour on draggable.event processing while deleting parts.
   * evas/text: fix abnormal ellipsis logic when harfbuzz is enabled.

Changes since 1.8.0:
--------------------

Additions:

   * evas - Added eina_stringshare_ref call for fallbacks, lang in font description.
   * evas gl: added partial rendering support for qcom extension
   * Evas filters: Add a small utility to take some screenshots
   * edje - feature - add channel types for sounds and ability to mute them
   * ecore_evas: added window manager rotation to manage the rotation of windows by the WM.
   * Add quadruple swap mode for partial rendering
   * Evas filters: Implement advanced text effects
   * Evas filters: Add transform filter
   * Evas: Add support for Alpha buffers
   * ecore_x: Add ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_OVER.
   * ecore_x: Added API - ecore_x_e_illume_window_state_send
   * Evas font: Added support for font fallback for eet/edje fonts.
   * eina_tls: add eina_tls_cb_new(Eina_TLS *key, Eina_TLS_Delete_Cb delete_cb)
   * edje: Support to set or retrieve selection of ecore_imf
   * Add ecore_imf_context_selection_get API to allow Input Method to get the selected text.
   * eina: add eina_{str,bin}buf_manage_read_only_new_length().
   * eina: add eina_binbuf_append_buffer() and eina_strbuf_append_buffer().
   * edje: use luajit by default, if you want lua use --enable-lua-old
   * ecore-x now supports XPRESENT
   * evas - fonts - move to using 4bit and rel 4 bit compressed font glyphs
   * evas gl - prefer alpha4 format for font textures if possible (save memory)
   * Edje: add edje_object_part_text_input_panel_show_on_demand_set/get()
   * emotion: initial port of emotion to GStreamer 1.0
   * edje: edje_edit - adding getter and setter for smooth parameter
   * edje: edje_edit - adding API to move to the specified place in the parts stack
   * edje: edje_edit - adding getter and setter for text source
   * edje: edje_edit - adding getter and setter for text style
   * edje: edje_edit - adding edje_edit_group_copy.
   * Ecore_Avahi: initial commit.
   * edje: adding Alias API into edje_edit module
   * edje embryo now supports reset_timer()
   * Ecore: add DnD abort from source
   * ecore_evas/wayland: Add a function to cleanup the frame callback.
   * Adding the cubic-bezier curve to edje transitions
   * Eldbus: added function for getting bus unique name
   * edje_edit: Add getters and setters for fixed param

Improvements:

   * evil: don't depend on the toolchain defined macro.
   * emotion: lower severity of a simple warning.
   * ecore_evas_fb: allow to force tslib even if mouse was handled.
   * autotools: detect cross compilation.
   * Evas filters: Improve test coverage of the filters
   * Evas filters: Add render test cases with pixel verification
   * Evas textblock tests: Improved textblock word start/end tests.
   * configure - add warning for non /usr prefixes!
   * Evas textblock tests: Add a wrapping test for complex cluster wrapping.
   * ecore-evas - sdl module - limit to 1 window at a time
   * Edje/entry: Add propagation handling in mouse_out for link anchors (T878)
   * Emotion test: rename speed slider to alpha as it should be.
   * Emotion test: New volume slider. More readable alpha text.
   * distribution cleanup - remove os/arch from module dirs and simplify version
   * eina: allow eina_time_get to fall back to other clocks if the first one fails
   * configure - add big complaint section if you use off configure options
   * Evas textblock: Added a test for rendering of spaces in some cases.
   * evas: software_x11 - use evas_xlib_swapper_depth_get to get buffer stride.
   * evas: add eglMakeCurrent in evas map create/free.
   * evas/op_blend: rename LOOP_ALIGNED_U1_A48_SSE3 to LOOP_ALIGNED_U1_A48
   * Edje entry: Enable allow_set for DEFAULT select mode.
   * Edje entry: always finish selection when mouse is up.
   * Evas textblock: Added tests for *_cursor_char_coord_set.
   * Evas filters: Disable proxies with the GL engine
   * Evas filters: Add support for proxies in Edje
   * Evas filters: Implement basic Edje support
   * Evas fonts: Pass RGBA_Image instead of DATA32 buffer
   * Evas text utils: Check syntax in color parse
   * autotools: use libevil libdl implementation.
   * evas: gl backend - ensure eng_window_use in image_content_hint_set
   * Evas font: Change font fallback to not depend on fontconfig >= 2.11.
   * Evas textblock: Improved error messages when detecting errors in markup.
   * evas: textblock - Added Null checking in evas_textblock_text_markup_to_utf8 before calling eina_strbuf_append_length API.
   * Evas font: Renamed evas_load_fontconfig and added support for a base set.
   * edje: call imf reset before selecting text area
   * Updating hungarian and italian translations
   * Evas font: Added support for the freetype spacing tag (T865)
   * Evas font: Added support for weight/width/slant font tags.
   * Evas textblock: Added a test for range geometry with bidi text.
   * allow --without-tests in addition to --with-tests=no
   * Registers a fallback handler for a given subsection of the object hierarchy.
   * ecore_imf: Add selection_set callback type to allow Input Method to select a region of text
   * Synced libunibreak local copy with upstream (T805)
   * ecore_getopt: support for per-category help listing
   * eina-inlist - handle prepend/append relative if list is null (empty)
   * eet: reduce memory usage of Eet internal structure by removing useless structure.
   * edje: Add changed signal emit in _edje_entry_imf_event_delete_surrounding_cb
   * emotion: Use the GStreamer 1.x module instead of the 0.10 one in the border example application
   * edje_entry: When preediting, cursor should not be moved.
   * ecore_getopt: support for categories
   * Textblock: Add test cases for style padding
   * ecore_x: set cursor with xinput2
   * ecore xcim module - don't printf every time you start to add stdout noise
   * emotion gstreamer1: Set visualizations if the vis name is not NULL
   * emotion gstreamer1: Also handle DATE_TIME tag
   * emotion gstreamer1: Don't forget to allocate metadata struct
   * emotion gstreamer1: Implement seekability check via seeking query
   * emotion gstreamer1: Add support for selecting subtitle channels
   * emotion gstreamer1: Volumes > 1.0 are valid too
   * emotion gstreamer1: Add support for buffering and clock-lost handling
   * emotion gstreamer1: Major cleanup of internal and GStreamer state handling
   * emotion gstreamer1: Don't set pipeline to PAUSED during seeking
   * emotion gstreamer1: Use GST_PLAY_FLAG_VIS instead of the corresponding integer
   * emotion gstreamer1: Don't use the NATIVE_AUDIO/VIDEO flags
   * emotion gstreamer1: Use refcounting instead of in/out variable counting
   * emotion gstreamer1: Simplify pipeline creation
   * emotion gstreamer1: Some code re-flow in the GStreamer bus handler
   * emotion gstreamer1: Use GStreamer's path/URI handling functions instead of writing our own
   * emotion gstreamer1: Rename functions and variables for clarity
   * eina: add test case - eina_list_clone, eina_list_reverse_clone
   * ecore: use WIN32 API to port readdir_r in ecore thread example
   * autotools: really don't build Unix specific example on Windows
   * ecore_x: Set data of selection event for XDND selection
   * ecore: don't build Unix specific example on Windows.
   * configure: correctly detect C99-capabilities for ecore_con_resolver
   * win build - check for pause func and use only if its there
   * setuid safeness - ensure if an app that is setuid doesn't do bad things
   * evas - gl-x11 engine - put in guessed blacklist of yinvert extn for intel mesa
   * efl - build - add warning about gnutls to configure and dropping privs
   * evas: let's use HUGETLB when it makes sense.
   * edje: be more informative when and where a file was not found.
   * Use key instead of keyname for considering setxkbmap
   * Major cleanup of the Emotion GStreamer 1.x video sink
   * Updating serbian and italian translations
   * evas: disable use of mmap on windows for allocating pixels buffer.
   * eina: make eina_binbuf_free and eina_strbuff_free accept NULL.
   * scimimmodule: support super key (between ctrl and alt key)
   * scimimmodule: code refinement related to key modifier and lock
   * ibusimmodule: support CAPS LOCK and NUM LOCK
   * configure - add warning when enabling xcb
   * Blending function rework and speedup
   * emotion - generic - set play after setting mutes and play speed etc.
   * evas: improve textblock rendering by walking even less in all case.
   * ecore-x - add call to create a permanent window that is not deleted on exit
   * Adding hungarian translation
   * Evas test textblock: Added a test for a broken range_text_get case.
   * edje: edje_decc - added -output flag (save to specified dir)
   * evas - jpg loader - speed up header check for pgoressive jpgs
   * Remove ecore_imf_context_reset in focus-in event handler
   * autotools: Evil is actually needed on Windows add the correct line for Ecore_Avahi.
   * getopt: add positional argument handling.
   * Evas test textblock: Added a test for a broken range_delete case.
   * Evas textblock: Added more range_delete tests.
   * ibusimmodule: support preedit style
   * emotion: make webcam initialization lazy and non blocking (T648)
   * rebase dns.c from upstream
   * autotools: detect systemd to warn user they are required to use --enable-systemd to turn it on.
   * autotools: let's try this variant for detecting c++ compiler availability.
   * Evas tests: Add invalid markup test
   * ecore-evas - disable comp syncing by default (can be turned on though still)
   * Evas textblock: Slightly improve paragraph items freeing.
   * ecore evas - add animator update syncing to only render on animator ticks
   * ecore loop + animator - add call to get if an animator cb has run this iter
   * evas - Clip mark performance improvement
   * efreet: propagate scan error to caller
   * eina: this is actually a better way of improving Eina_Hash performance.
   * eina: fuzze test the eina_hash_string_superfast to.
   * eina: increase hash matching inside of Eina_Hash.
   * eina: add fuzzy test of eina_hash.
   * eina: add fuzzy testing of the red black tree.
   * Implement withdrawn_set/unset on Wayland engines. (T155)
   * ecore_evas/wayland: Implement ecore_evas_withdrawn_set.
   * Update Korean translation for the efl1.8 release
   * NEON vectorization: added use of COLSAME define in map routine
   * configure: add optional solution to alert
   * ecore_evas_object_example: Added cursor unset example.
   * Emotion generic: change the log domain name to be consistent with others domains.
   * Emotion test: added --loop and --position args.
   * Emotion generic: remove the player restart hack.
   * eina: reduce log to warning when not found.

Fixes:

   * Check ecore_x_window_prop_card32_get() return value correctly in ecore_x_e.
   * edje freeze count can no longer become negative
   * Revert "Evas font: Change font fallback to not depend on fontconfig >= 2.11." (T1006)
   * Evil: Fix parallel build for Windows
   * Emotion Generic: receiving the size on opening is correct.
   * edje: Edje_Edit - make sure we don't use an not initialized value (CID 1181885 and CID 1181888)
   * Evas textblock: Fixed a few word start/end issues (T995)
   * ethumb - fix clients going right to disk and getting half written thumbs
   * edje: fix custom allocator with luajit
   * Evas text utils: Fixed walking compound clusters.
   * evas/image - update dirty region in the render time.
   * Gif: Fix animated gifs when used as proxy sources
   * Emotion test: no need for an animator to update the time string.
   * Emotion test: no need to search for a folder that no more exists
   * Emotion test: add the volume slider also to the Reflex group.
   * Emotion test: Removed volume key bind. EINA_UNUSED--
   * edje: fix Eo ids, to make Eolian keep silence
   * evas/common: fix segfaults in evas_map_image_loop.c
   * eina: fix in eina_rectangle_pool to make sorting effective
   * eet - dump - if group type is not a handled type, assume unknown (CID 1039307)
   * evas - table - fix theoretical leak that likely will never happen (CID 1039663)
   * evas - gl - core - checke for wrong context in error check (CID 1135266)
   * evas - gl x11 - fix glx texture from pixmap target rectangle mode check (CID 1135267)
   * edje - edje_cc - remove logically dead code (CID 1135268)
   * evas cserve2 - fix chekc of wrong return type (CID 1135269)
   * evas - gl core - don't access null ptr on init (CID 1135270)
   * edje - fix bunch of possible null return errors with checks (CID 1135274 CID 1135272 CID 1135275)
   * evas filter - fix uninitialized pointer in evas (CID 1174077)
   * evas - filter - don't use longs when DATA32 is the right type (CID 1174078)
   * evas - filters - remove logically dead code (CID 1174084)
   * evas - proxy source visible check not done on update del (T842)
   * edje segv on file update - try and fix this. not sure if this caused it
   * edje - fix probable leak by ensuring current prog is freed on real part free (T923)
   * Evas textblock: Fixed colour setting for textblock formats (T926)
   * Evas textblock: Fix rendering of spaces in some cases (T924)
   * Evas filters: Check for EVAS_CSERVE2 when using cs2 APIs
   * ecore_x_selection: fix selection data freeing
   * in case font_instance is null in text_props... avoid using it
   * Evas Textgrid: Don't leak an eina_stringshare when scale_update is called.
   * evas - textblock ... fix valign handling to actually work as documented
   * evas text filter - fix va_arg usage to not cause compiler internal errs
   * ecore_x: fix wrong Atom name.
   * Evas textblock: Fixed *_cursor_char_coord_set with some y values.
   * ecore-x xpresent - fix build if you DONT have xpresent there.
   * edje: edje_calc - fix deffect by find the part description when 'approximate' is EINA_FALSE
   * eina: restore magic debug option for ABI compatibility purpose.
   * edje embryo reset timer should probably call the reset function
   * Patcna: fix wrong widgth and height in eina_rectangle computation logic.
   * evas - fix tom's bold-killer from 2cb9db171ead5bc9920234e27c2e12b7c7b3883a
   * Evas textblock: Fix selection with bidi text.
   * fix evas_tiler bug (makes evas get stuck in an infinite loop there in certain scenarios)
   * Edje entry: Fix memory corruption (of by one in allocation) (T867)
   * Edje entry: Fix anchor href parsing.
   * entry: clear selection before selecting new one
   * checking for libmount newer than 2.19.0 means newer, not older
   * configure: Add ecore-imf to ETHUMB_INTERNAL_LIBS
   * eina: fix test suite for rwlock... hopefully.
   * evas: textgrid - fix crash in terminology with rare characters.
   * embryo: force the insertion of a '/' in the path to be sure that file path make sense.
   * eina_tls: fix calls to TlsFree
   * ecore_imf: fix to call function of immodule when the input method property is changed
   * embryo_cc - remove trainling / from path for windows stat so it works
   * Evas: Fix proxy rendering for animated objects (T832)
   * eina: do not access dead pointer from within valgrind macro.
   * ximimmodule: fix dereference after null check (CID 1162749)
   * okay, bring back xrandr < 1.4 compat for ecore_x_randr_output_name_get
   * nul terminate string from ecore_x_randr_output_name_get
   * Evas: Fix MMX mask function _op_copy_p_mas_dp_mmx()
   * _op_blend_c_dp_neon miscalculation fix
   * eet_data: guarantee double-word alignment for temporary stack buffer.
   * eina/mp/one_big: fix alignment issues.
   * configure: include required NEON build flags.
   * ecore_x: Fix to handle paste null data case.
   * 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.
   * Evas cserve2: Fix invalid memory access
   * emotion gstreamer1: Call _emotion_frame_new() for audio-only streams without visualisations too (T767)
   * Textblock: Relayout if needed in line geometry get
   * Textblock: Fix padding with styles (part 2)
   * Textblock: Fix padding computation (part 1)
   * Evas/cserve2: Add some safety checks when reading socket messages (CID 1039571 and 1039572)
   * Evas/cserve2: Remove dead code (CID 1039925)
   * Evas/cserve2: Stop looking at those dirty pics!
   * Evas/cserve2: Fix potential crash in image_free
   * Eio monitor: Fix crash on invalid data access
   * Evas/cserve2: Keep image_id when reopening a changed file
   * Evas/cserve2: Clear up File_Data when opening a new image
   * Evas/cserve2: Rename "invalid" field to "changed"
   * Evas/cserve2: Add another load error check
   * Evas/cserve2: Fix crash on image file change
   * Evas/cserve2: Fix crash in server on file change
   * Evas/cserve2: Fix memleak during shutdown
   * Evas/cserve2: Use calloc instead of malloc
   * Unbreak ecore_evas wayland engines
   * evas - cserve2 - avoid segv accessing im->cache
   * evas gl - fix egl/gles build after alpha4 change for fonts
   * ecore_evas_x: Fix gl_sync_draw_done initialize routine to handle exceptional case.
   * eina: fix memory leak of inserting the wrong value in the hash.
   * evas cserv2 - remove logical dead code (CID 1113441)
   * cserve2 - debug bin - fix theoretical leak of socket fd (CID 1039286)
   * eina lock posix - remove dead code in eina_spinlock_take (CID 1106340)
   * examples: fix pointer <-> int conversion (windows 64 bits) in ecore and evas examples.
   * examples: do not do void* arithmetics in evas examples.
   * example: fix uninitialized variable in ecore.
   * evas - unbreak gl font rendering with dst pointer checks
   * evas - sw render - protect against null pointer surface access
   * Evas/cserve2: Fix valgrind warning about uninitialized memory
   * Evas cserve2: Fix crash in cserve2 when slaves die
   * eio - protect against posible segv on rename with eio
   * eina: Eina_File - don't leak memory when file is not found.
   * ecore_imf_example: remove wrong implementation code.
   * eina: fix support for system requiring _XOPEN_SOURCE to use spinlock and barrier.
   * eina: fix build break on systemd based system.
   * ecore_evas: extn - restore missing symbol that resulted in a temporary ABI break.
   * ecore_con - Fix binary buffer when using ECORE_CON_REMOTE_UDP.
   * evas - sw render - map render neon broken for expedite 45/46 disable
   * evas - fix neon scale code
   * ibusimmodule: fix segmentation fault
   * edje - fix edje lua usage for lua 5.2 to not go crazy on memory allocs (T323)
   * evas - set clipees list to NULL on free to avoid access
   * ecore-evas - x11 - call resize callback if wm denies resize request
   * ethumbd - stop using an idler that spins at 100% cpu while generating queues
   * ethumbd - if thumb gen takes too long don't just quit ethumbd, but skip thumb
   * ethumbd - drop priority to 19 like efreetd so it lurks in bg as much as it can
   * efreet - minor formatting and move set prirority to very start
   * Evas textblock: Fixed range_text_get bug with multiple text nodes.
   * emotion: don't duplicate storage of audio/video stream metadata in GStreamer 1.x backend.
   * evas - gl engine - glerr should be off by default for performance
   * emotion - broken module loading loagic fixed that fixes gst 0.10/1 deadlock
   * eina: struct _Eina_Rbtree contains an enum bitfield, which is a GNU extension not specified by C99.
   * emotion: remove (broken) X11 integration from the GStreamer 1.x backend.
   * evas gl engine - ensure on texture delete we never leave a cur tex id dangling
   * evas - gl-x11 engine - don't re-init engine window on rotate
   * evas - protect against table cache being null and then used
   * evas: limit how many times we walk over items.
   * ecore: allow out-of-source build of ecore_xcb_keysym_table.h.
   * evas: fix a segfault in _draw_thread_font_draw, caused by the missing initialisation of a struct field
   * ecore: remove dead free (CID 1139955)
   * ecore: fix shutdown when using system module.
   * ecore: fix tests to avoid failure on successful initialization.
   * ecore_audio: update test to not look at ecore_init return to much due to system module.
   * eldbus: fix tests to properly take into account the presence of ecore system module.
   * eldbus: don't do a double initialization due to ecore module using eldbus now.
   * edje: edje_edit - fix .edc file generation
   * evas - redraw the map surface if one of the children has been still changed map.
   * emotion_generic: fix permissions, resource leaks and error handling.
   * bugfix: free the entire ecore_con dns struct on info clear to prevent crashes later on
   * extn: remove unused attribute am_server.
   * extn: complete with NULL newly added functions.
   * evas: no loader should ever close an Eina_File anymore (T674 and T668)
   * evas: patched evas_map_image.c to use NEON code
   * evas - render - clear out pending object array more aggressively
   * Fix leak + possible segfault in edje_edit.
   * edje: edje_edit - fix edje_edit_state_color_class_set to apply the colors to color_class.
   * ibusimmodule: fix dereference after null check issue
   * evas - tiler - fix missing clip of first rect to outbuf size
   * ecore/ecore_x - show the window if the window should be visible.
   * Evas textblock: Fixed range_deletion bug with multiple visible formats.
   * bugfix: eldbus code generator struct members named "proxy" should not be passed to eina_value_free.
   * edje_edit - fix mem leak of src strbuf on print status (CID 1039263)
   * edje - edje_edit - don't access collection after it is freed (CID 1137855)
   * emotion - webcam - don't access after free and ensure it is not in list (CID 1137853 and CID 1137854)
   * evas - fb engine - fix mem leak if ioctl fails on fb mode (CID 1137852)
   * ecore-file - fix mem leak in ecore_file_app_exe_get() on restart (CID 1039279)
   * evas - software-x11 - fill in unused struct members to avoid uninitialized CID 1039548
   * bugfix: make eldbus generated code not crash on every single generated event
   * Evas textblock: Fixed deletion of ranges ending with visual formats.
   * ecore_file - finding exe path - if HOME is not set a leak could happen (CID 1039279)
   * eina - eina_file - fix leak of fd is fd is 0 (CID 1039181)
   * fix fd leak in emotion webcam where fd of value 0 never closed (CID 1039175)
   * ethumbd - fix possible out of bounds access to work table (CID 1039314)
   * edje - epp - fix possible array access by negative (CID 1039357)
   * ecore - utils - makekeys - fix uniitialized arrays (CID 1039547 and CID 1039546)
   * eeze - fix uninitialised sigation struct content (CID 1039552)
   * edje_decc - fix possible use of uninitialized string (CID 1039553)
   * ethumb - ensure buf is nul terminated (CID 1039577  and CID 1039576)
   * ecore-con - fix possible unterminated buffers (CID 1039725 and CID 1039724)
   * Edje: Update anchor and item tags when text is deleted by _edje_entry_imf_event_delete_surrounding_cb.
   * emotion: fix potential memory leak when webcam register fail.
   * ecore_con - dns.c - re-fix coverty double-free. coverity was and is right (CID 1039909)
   * evas - fix gif loader drop of image data sometimes (image dump/flush)
   * embryo - embryo_cc - argv parsing MIGHT leave str buf not nul terminated (CID 1039726)
   * evas - evas gl - fix realloc failure case to handle it properly
   * evas - evas_gl - fix shader patch to not free static strings (CID 1039653)
   * eet data encode - dont free data if its not separately allocated (CID 1039728)
   * evas - font dir - remove from hash before free/del (CID 1039889)
   * ethumb - client lib - fix access of async item in idler after free (CID 1039892)
   * ephysics - fix real access-after-free issue on delete of constraint (CID 1039895)
   * edje - edje_pick - fix coverty access-after-unref issue (CID 1039916)
   * edje - edje_cc - fix coverty issue of not exiting loop for box items name (CID 1039918)
   * evas - textblock - fix dbg_info_get to avoid leak if root is NULL (CID 1040007)
   * evas - cserve2 - fix uninitialized member "image_id". (CID 1042303)
   * evas - gl - use snprintf for safety (never likely anyway, so code was fine)
   * edje - edje_cc - try and make coverty ignore the leak (invalid) (CID 1132627)
   * evas gif loader - address animated always being true (CID 1135790)
   * autotools: fix complain about using subdirs without the right option.
   * autotools: make systemd dependency detection automatic.
   * gif loader - handle theoretical NULL loader_data case
   * ecore_x: ensure positive malloc size (CID 1135636)
   * evas - fix gif loader cpu overuse - used too much cpu to decode anims
   * ecore_x: remove double free (CID 1135637)
   * Evas textblock: Fix crash with empty markups values
   * ecore_imf/wayland: Only call hide_input_panel on im_context_hide() (T237)
   * autotools: work around buggy macro to force C++ compiler detection.
   * ecore_evas/wayland: Update withdrawn property, and inform state_changed.
   * Evas/cserve2: Fix crash during shutdown
   * Evas: Fix crash in GL engine(s) during preload cancel
   * Fix opaque windows becoming transparent after hide() then show().
   * ecore_x: Fix buffer overrun (CID 1039584)
   * ecore_x: Fix bug in ecore_x_region_invert (CID 1039469)
   * ecore_x: Remove NULL check (CID 1039648 and 1039649)
   * ecore_x: supported isn't an optional argument (CID 1039430)
   * ecore_x: Only use att if call succeeds. (CID 1039692)
   * ecore_x: Only do memset if len < 20 (CID 1039311)
   * ecore_x: always free data and return value
   * ecore_x: Check if we have data (CID 1039264)
   * ecore_x: '\0' terminate converted text (CID 1039310)
   * ecore_x: Only send XdndEnter when we have types (CID 1039693)
   * ecore_x: Also check for !prop here (CID 1039429)
   * eldbus: Check return value of eina_value_pget (CID 1039685)
   * eldbus: use alloca to allocate local mem (CID 1039179)
   * eldbus: unref msg on error (CID 1039178)
   * eldbus: on error unref msg (CID 1039177)
   * eldbus: free allocated mem on error (CID 1039177)
   * eldbus: print error when fwrite fails (CID  1039715)
   * eldbus: Check return value of _type_size (CID 1039436)
   * eldbus: create object when needed (CID 1039287)
   * eina: Set it to NULL before next iteration (CID 1039913 and 1039914)
   * evas - fix overdraw + too many rects problem found in some expedite tests
   * efreet - fix recusrion checks need to pop as well as push.
   * ximmodule: fix issue the cursor of preedit shows the in front of preedit string
   * Fix raster bug report about elm window resize issue (content drawing outside the window).
   * Update the engine resize edge before we call ecore_wl_window_resize
   * efreet - protect efreetd from recursing too far to save overhead and mem
   * eina: improve cmp function of eina_hash string related hash.
   * Revert "eina: work around current strange behavior seen in eina_cow."
   * Revert "eina: check if the complete hash match before checking if the key match during children walk."
   * evas: fix loader to properly define _XOPEN_SOURCE for Solaris.
   * efreet: Create stack at start of recursion (CID1132751 and CID1132752)
   * efreet: Create stack at start of recursion
   * eina: work around current strange behavior seen in eina_cow.
   * evas/event - fix the inccorect event hit area.
   * evas: bugfix in evas_render of not maintaining changed flags on object correctly.
   * ximmodule: check whether pointer is NULL before accessing in xim_preedit_callback_set (CID 1135273)
   * ecore_evas/wayland_egl: Unset the surface on window hide.
   * evas/wayland_shm: Don't use a global var to store the sent buffer.
   * Revert "fix smart sma by allowing more recursion"
   * fix unchecked return value of stat in ecore_file_mv (CID 1039697)
   * textgrid - with new fallback fonts we cant depend on glyph extents  anymore
   * textgrid - out-of-bounds chars cause update artifacts - fix.
   * Emotion test: fix calculation of the displayed time.

Removals:

Changes since 1.7.0:
--------------------

Additions:
    * Add --with-api=XXX (both|legacy|eo)
    * Evil:
     - Add mkdtemp.
     - Add evil_rename() a wrapper for rename().
     - Add strsep().
    * Eina:
     - Add DOCTYPE children parsing in eina_simple_xml
     - Add eina_barrier thread API
     - Add eina_tmpstr_add(), eina_tmpstr_del(), eina_tmpstr_add_length() and
       	    eina_tmpstr_strlen().
     - Add eina_thread API
     - Add eina_list_last_data_get
     - Add eina_xattr_fd_get(), eina_xattr_fd_set(),
           eina_xattr_del(), eina_xattr_fd_del(), eina_xattr_copy() and
      	   eina_xattr_fd_copy()
     - Add eina_stringshare_refplace()
     - Add eina_file_copy()
     - Add eina_log_print_cb_journald()
     - Add eina_list_shuffle()
     - Add eina_file_mkstemp()
     - Add eina_log_timing()
     - Add eina_inlist_first
     - Add eina_inlist_last
     - Add eina_str_convert_len() to work around broken eina_str_convert()
     - Add eina_file_dup()
     - Add eina_tiler_area_size_set(), eina_tiler_strict_set(), eina_tiler_area_size_get()
     - Add eina_file_map_populate()
     - Add eina_tiler_empty()
     - Add eina_file_virtualize() and eina_file_virtual()
     - Add eina_file_refresh()
     - Add eina_rectangle_is_valid(), eina_rectangle_max_x(), eina_rectangle_max_y(), eina_rectangle_x_cut(),
     eina_rectangle_y_cut(), eina_rectangle_width_cut(), eina_rectangle_height_cut(), eina_rectangle_subtract(),
     EINA_RECTANGLE_INIT, EINA_RECTANGLE_FORMAT, EINA_RECTANGLE_ARGS.
     - Add eina_f16p16_double_from(), eina_f16p16_double_to().
     - Add eina_swap16(), eina_swap32(), eina_swap64().
     - Add Eina_Spinlock API.
    * Eet:
     - Add eet_mmap()
     - Add eet_data_descriptor_name_get()
     - Add support EET_T_VALUE
     - Add EET_DATA_DESCRIPTOR_ADD_SUB_NESTED()
     - Add EET_DATA_DESCRIPTOR_ADD_MAPPING_BASIC()
    * Eo:
     - Add generic efl object infrastructure
     - Add debugging facility
     - Make eoid use mmaped tables from anonymous memory for safety.
    * Evas:
     - Add WebP image loader and saver modules.
     - Add ellipsis support in Evas_Object_Text.
     - Add EVAS_GL_LINE_OFFSET_HACK_DISABLE to turn off line shift correction by evas.
     - Add EVAS_GL_DIRECT_MEM_OPT to enable on-demand fallback memory allocation policy for EvasGL direct rendering.
     - Add engine specific alpha_get.
     - Add multiple output support API.
     - Add buffer age support to gl for automatic partial redraws.
     - Add GLX_MESA_release_buffers suppport to release unused buffers.
     - Add multiple font draws support to engines
     - Add Cserve2 scalecache support
     - Add evas_object_image_source_clip_set()/get()
     - Use eina_file_virtualize() for evas_object_image_memfile_set().
     - Change mapping policy for image loader.
     - textblock: Use max ascent/descent at the edges of the textblock.
     - textblock: Make the ellipsis format the same as the surrounding.
     - Add interceptor for focus_set.
     - Evas font: Use our own fontconfig configuration so we don't get affected by changes made to the default fontconfig configuration.
     - Evas font: Make the evas_font_path_* functions apply to fontconfig searches.
     - Add JPEG 2000 loader.
     - Evas textblock: Use correct font underline properties when drawing underlines.
    * Ecore_X:
     - Add window profile support.
       ECORE_X_ATOM_E_WINDOW_PROFILE_SUPPORTED
       ECORE_X_ATOM_E_WINDOW_PROFILE
       ECORE_X_ATOM_E_WINDOW_PROFILE_CHANGE
       ECORE_X_ATOM_E_WINDOW_PROFILE_AVAILABLE_LIST
       ECORE_X_ATOM_E_WINDOW_PROFILE_CHANGE_REQUEST
       ECORE_X_ATOM_E_WINDOW_PROFILE_CHANGE_DONE
       ecore_x_e_window_profile_supported_set()
       ecore_x_e_window_profile_supported_get()
       ecore_x_e_window_available_profiles_set()
       ecore_x_e_window_available_profiles_get()
       ecore_x_e_window_profile_change_send()
       ecore_x_e_window_profile_change_request_send()
       ecore_x_e_window_profile_change_done_send()
       ecore_x_randr_crtc_info_get()
       ecore_x_randr_crtc_info_free()
       ecore_x_dnd_self_begin()
       ecore_x_dnd_self_drop()
       support for text/x-moz-url DND operations
     - Add atom related with indicator type. 
     - Add manual render code before deiconify
     - Add accessibility support.
       ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_BACK
       ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_SCROLL
       ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_MOUSE
       ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_ENABLE
       ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_DISABLE
     - add error messages for xlib
       ECORE_X_ATOM_XDND_DIRECTSAVE0
     - add ECORE_X_SYNC env variable for xlib backend
    * Ecore_Wayland:
     - Store global wayland interfaces in a globals list so wayland programs
       can bind to other non-standard wayland protocol extensions.
     - ecore_wl_globals_get()
     - ecore_wl_registry_get()
     - Add #ifdef __cplusplus to Ecore_Wayland.h so C++ programs can link to
       and use the API.
     - Add support for double and triple click.
     - Add ecore_wl_window_alpha_set/get().
    * Ecore_Evas:
     - ecore_evas_window_profile_supported_get()
     - ecore_evas_window_profile_set()
     - ecore_evas_window_profile_get()
     - ecore_evas_window_available_profiles_set()
     - ecore_evas_window_available_profiles_get()
     - ecore_evas_sub_ecore_evas_list_get()
     - Add infrastructure to handle message between ecore and parent ecore in Ecore_Evas.
     - Add window profile support to ecore_evas_extn.
     - Add window profile support to ecore_evas_buffer.
    * Ecore_Getopt:
     - Add ECORE_GETOPT_ACTION_BREAK
    * Ecore_audio:
     - Add PulseAudio backend.
     - Add Alsa backend.
    * Ecore_Input_Evas:
     - Add infrastructure to handle buggy touchscreen.
    * Edje:
     - textblock: Added support for size_range.
     - table: Added spread.{w,h} to repeat and automatically name an item in a TABLE part.
     - add embryo fill support for proxy parts
     - entry: Added selection handlers.
     - Add edje_object_part_text_input_panel_layout_variation_set/get API
     - Add EDJE_INPUT_PANEL_LAYOUT_DATETIME layout
     - support edc proxy.source_visible, proxy.source_clip
     - support edc map color set
     - Add threshold support to Edje draggable part.
     - Reduce load time of Edje_Object using Evas_Object_Textblock and many styles.
     - Add edje_object_mmap_set.
     - Fix play sample parameter checking.
     - Add border information to Image sets.
    * Eeze:
     - Add a dummy libmount replacement for when libmount is not there.
    * Ecore_Con:
     - Add systemd socket activation support (ECORE_CON_SOCKET_ACTIVATE).
    * Ecore:
     - notify systemd that we are ready as soon as the main loop is running.
     - automatically support Watchdog.
    * Ecore_Imf: 
     - Add ecore_imf_context_input_panel_layout_variation_set/get API
     - Add ecore_imf_input_panel_hide API
     - Add ecore_imf_context_input_panel_event_callback_call, clear API
     - Add ECORE_IMF_INPUT_PANEL_LAYOUT_DATETIME layout
     - Add ecore_imf_context_input_panel_on_demand_set/get API
    * Eio:
     - Add eio_eet_sync symbols.
        
Deprecations:
    * Ecore_X:
     - Old profile stuffs.
       ECORE_X_ATOM_E_PROFILE
       ECORE_X_ATOM_E_PROFILE_LIST
       ecore_x_e_window_profile_list_set()
       ecore_x_e_window_profile_list_get()
       ecore_x_randr_crtc_gamma_ramp_size_get()
       ecore_x_randr_crtc_gamma_ramps_get()
       ecore_x_randr_crtc_gamma_ramps_set()
    * Ecore_Evas: deprecate DirectFB, XRender, WinCE, X11-16 and X11-8.
    * Eeze: deprecate libudev<148 and libmount<2.18

Removed:
    * Evas:
     - Remove support for DirectFB, XRender, WinCE, Glew, Direct3d, X11-16 and X11-8.
     - Remove svg loader from inside the tree.
    * Ecore_Evas:
     - Remove support for DirectFB, XRender, WinCE, Glew, Direct3d, X11-16 and X11-8.
    * Ecore_DirectFB:
     - Removed
    * Eina error status:
     - eina error status from efl now don't also report error in addition to return.

Improvements:
    * EFL:
     - Single EFL tree covering all EFL library components.
     - All efl object-freeing functions now take NULL without crashing or erroring
     - Use the right macro to disable fcntl.
    * Translations updates:
     - french.
    * Eina:
     - Speedup Eina Rbtree Iterator by recycling memory instead of
       repeatedly calling malloc/free.
     - eina_magic_fail() now throws error messages on NULL pointers instead of critical
     - Eina.h includes eina_alloca.h/alloca.h to define alloca()
     - Faster eina share del.
     - Don't over align data if they are already aligned.
     - Eina_Tiler now take tile size into account.
     - Improve support for 64bits system.
     - eina_strlcat now work with a NULL source.
     - Use Eina_Spinlock for eina_log, eina_stringshare and chained_mempool.
    * Eet:
     - Display more information with eet -l -v.
     - Force thread to always run during eet_cache_concurrency test.
     - Use Eina_Spinlock for locking dictionnary instead of Eina_Lock.
    * Evas:
     - Reduced number of enqueued font commands when rendering textgrid objects
     - Use Eina_File in webp, gif, tiff, png and eet loader
     - Upgrade liblinebreak to latest version of libunibreak.
     - Improved support for 64bits system.
     - GL engine downscale quality in smooth mode much improved with multisampling up to effectively 16x16 via shaders.
     - Textblock: Added proper size adjustments for "high" shaped texts.
     - Textblock : Added split cursor for BiDi text
     - Works around MESA/intel xorg bug where alpha channel of non-argb windows is not filled in with 0xff.
     - Update the map smart members really when it needs to render.
     - Reduce memory footrpint with evasgl to only make context on demand.
     - Reduce waiting on gl so it cvan fully run async from cpu.
     - GL engine don't map dri/drm buffer unless we are going to render.
     - GL engine get partial rendering support for several gl drivers.
     - Turn on scissors always to abe able to to partual render on some GL implementations properly.
     - Use eo array of callbacks to reduce callbacks memory footprint of Evas_Object_Box and Evas_Object_Table.
     - Optimized path for when map use the same color for all corner.
     - Asynchronous preload of GL texture.
     - Add neon assembly for upscaling and map routines
     - Use mmap/munmap for image data allocation on system that have mmap.
     - Add iterator for walking child of smart objects, table and a box.
     - Use Eina_Spinlock for Evas_ScaleCache, Evas_Async_Events and Image_Entry.
     - Allow fuzziness on the texture format returned by GL.
    * Ecore:
     - Use Eina_Spinlock for Ecore_Thread.
    * Ecore_Con:
     - Rebase dns.c against upstream
     - URL support now dynamically loads libcurl at runtime via eina_module.
    * Edje:
     - Entry: cursor position and location will be passed when it's really changed in case of mouse down, move, and up event.
     - Entry: remove ecore_imf_context_reset in mouse up event because it's useless.
     - Entry: remove ecore_imf_context_reset, cursor update in mouse move event because it's useless.
     - Entry: move ecore_imf_context_cursor_position_set from mouse down event to mouse up event.
     - Entry: remove ecore_imf_context_cursor_position_set in functions related to selection.
     - Entry: support &, < and > in preedit string.
     - Entry: remove duplicated ecore_imf_context_reset in adjusting the selection.
     - Entry: emits signals on keydown/up for theme to use.
     - Entry: move cursor to correct position when selection handlers are pressed.
     - Use ecore_audio in edje-multisense
     - Reduce memory consumption of Edje program handler.
     - Use Eina_Cow to reduce memory usage.
     - Use eo array of callbacks to reduce callbacks memory footprint.
     - Improve accuracy of part positioning by keeping rounding information as long as possible.
    * Ecore_Evas:
     - wayland-egl only renders now if last frame has been presented.
    * Embryo:
     - Use eina_file_mkstemp().
    * Ecore_Audio:
     - Use eo api to batch more
    * Evas: optimize proxy rendering. Rendering performance is increased up to 2x in some cases.

Fixes:
    * Eina:
     - Fix return value of eina_mmap_safety_enabled_set() and future
       eina_mmap_safety_enabled_get() returns after success.
     - Don't leak fd on exec.
     - Fix eina_xattr_value_ls() and eina_xattr_value_fd_ls()
     - Fix eina_prefix_new() with debian multilib without magic check file.
     - Prevent potential denial of service on eina_hash function.
     - Fix memleak in Eina_File.
     - Fix memory leak in eina_xattr_value_ls.
     - Fix magic failure in eina_value_array_count when array has not been allocated.
     - Fix issue when wchar_t is signed and eina_unicode does negative array lookups.
     - Fix eina_file_map_lines() to not drop of one character in the last line.
     - Fix a possible race condition during eina_file_close().
    * Eet:
     - Fix PPC (big endian) image codec bug.
     - Fix leak in eet_pbkdf2_sha1 with OpenSSL.
     - Fix possible buffer overflow in functions relying on EET_T_LAST
     - Fix endianess issue in Eet_Image.
     - Fix eet_mmap to use caches for lookup so it shares with everyone.
    * Evas:
     - Fix GLX native surface handling to use glXChooseFBConfig.
       This frixes a break in compositing on new intel mesa drivers.
     - Fix glGetIntegerv() in Direct Rendering mode for Evas GL
       to properly handle GL_SCISSOR_BOX and GL_VIEWPORT parameters.
     - Fix textblock textprop leak.
     - Fix evas_object_box to reset size_hint_min to zero when no child.
     - Don't leak fd on exec.
     - Fix polygon rendering bug in GL backend when there are cutouts.
     - Fix the gl line incorrect position drawing.
     - Fix potential segv in software engine native_set code.
     - Fix uninitialized data in Evas OpenGL engine.
     - Fix the line drawing clipping problem on arm gl driver.
     - Fix Evas RGBA_Image->flags.loaded for copied images.
     - Fix evas_object_image_is_inside()
     - Fix mask write lines to not choose too small segments.
     - Fix build of Evas XCB backend.
     - Fix evas bmp loader code which deal with image size.
     - Fix not up to date clip cache for Evas_Object_Text.
     - Fix a bug with breaking after format items in Evas_Object_Textblock.
     - Fix issue with line height when breaking on a format in Evas_Object_Textblock.
     - Fix SIGFPE in evas map update if image is 0.
     - Fix issue and simplified cursor_geometry_get in Evas_Object_Textblock.
     - Fix issue with horiz advance in Evas_Object_Text.
     - Fix issue with no-harfbuzz bidi in evas text utils.
     - Fix pixman surface alloc where allocated and image size differ.
     - Fix evas gif loader to return the correct frame duration.
     - Fix a selection issue with different scripts and bidi in Evas_Object_Textblock.
     - Fix bug not to display preedit string with PREEDIT_TYPE_NONE style in Evas_Object_Textblock.
     - Fix bug candidate word couldn't be selected with up/down key in the preedit status in Evas_Object_Textblock.
     - Fix Evas_Object_Text when LTR and RTL are used in the same paragraph.
     - Fix bug with the text object direction detection.
     - Fix font run detection for specific cases with 2 different fonts in the middle of a run.
     - 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.
     - Fix gles support to only use GL_UNPACK_ROW_LENGTH if extension exists.
     - Fix Evas_Map to not crash even if image size is 0.
     - Fix evas word start/end find in textblock to be consistent with other toolkit logic on the matter.
     - Fix evas buffer engine allocation with non alpha output.
     - Click on left/right half of char does matter now.
     - If OS/2 table is available and the font is demi-bold, don't do runtime emboldment.
     - Fix font source have wrong current size.
     - Fix over redrawing of Evas_Map when applied on smart object.
     - Fix a bug with cluster size calculation with texts ending with ligatures.
     - Don't update evas update area by the clipper if the image obj visible is changed.
     - Fix gif decoding bug related with background color.
     - Fix gif bug related with scale down decode.
     - Fix a bug with deletion of ranges that end just a visual format in Evas_Object_Textblock.
     - 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.
     - Fix evas gl_x11 in 16bpp and lower depths than 24/32 bpp.
     - Fix recursive proxy image rendering to just render black.
     - Fix line size calculation when using multiple fonts in a Evas_Object_Textblock.
     - Fix gif loader can't load image which has normal frames and error frames.
     - Don't try blend on gl backened if the render option is COPY.
     - Fix Evas_Object_Text line size calculation when using multiple fonts.
     - Fix crash if app use native surface in wrong engine.
     - Fix textblock to render pre again if it needs to relayouting.
     - Fix textblock ascent/descent calc to use superset of fontset data.
     - Fix evas gl partial swap to keep full renders if auto mode switching.
     - Fix memory leak in evas dri/drm swapbuf path.
     - Fix string leak in evas dri/drm swapbuf.
     - Fix evas proxy_unset of NULL image.
     - Fix slowness in glmap/unmap buffer by default in evas gl engine.
     - Fix evas segv on image del if loader is NULL.
     - Fix evas swapregion rect to account for rotation.
     - Fix "always scissor" to not break map in evas gl engine.
     - Fix nvidia texture from pixmap config depth match to be looser to avoid non-matches.
     - Fix evas gl engine to work in 16bpp nicely.
     - Fix native surface to be more anal about depth matching.
     - Correctly detect if a loader support asynchronous preloading.
     - Improve stability of Evas_Cserve2.
     - Fix gif cannot decode alpha value correctly.
     - Fix bs if app call image object update add after call api like fileset.
     - Fix evas_gl direct rendering to support partial redraw.
     - Fix issue with textblocks without fonts segfaulting.
     - Fix evas_common_convert_yuv_42* functions to actually return the converted data.
     - Fix jpeg loader cannot deal with exif information correctly.
     - Fix issue when parsing formats with quotes.
     - Fix infinite loop if app use ecore evas image
     - Fix a long-standing off-by-1 in the C "simd" multiplier.
     - Skip the map rendering if all points are transparent.
     - Evas bidi: Fixed a bug causing BiDi not to work in some cases.
     - Evas textblock: fixed an issue with markup_get and markup_to_utf8 behaving differently (markup_get was misbehaving).
     - 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.
     - Fixed the textblock format to be drawn according to the glyph's horizontal advance width.
     - Fixed the textblock set to context with the textblock object's render operation.
     - Evas textblock: Fixed order of tags inserted with markup_app/prepend.
     - Fix proxy render to update the proxies recursively. If a proxy has proxies, all the chainged proxies should be updated recursively.
     - Evas textblock: Fixed wrapping of lines ending with whites.
     - Evas: Fix the memory corruption introduced by evas fonts_zero.
     - Evas: If the line goes to the 0, 0 then it won't be updated. Now it's fixed.

    * Ecore:
     - Don't leak fd on exec.
     - Fix fd handler increase issue when ecore_pipe_add/del is called repeatedly.
     - Fixed animator not working problem when source_set is changed back and forth very fast.
    * Ecore_Con:
     - Fix a memory leak in ecore_con_dns when using ecore_con_server_connect.
     - Don't leak fd on exec.
     - Fix ecore_con case where freeing server double-frees clients.
     - Fix memory usage of Ecore_Con_Server.
     - Clean up gnutls session initialization.
     - Fix use of ecore_con_*_flush functions with unconnected objects.
     - Fix setting of write flags on ecore-con servers during connect.
     - Fix use of ecore_con_server_client_limit_set() (counter never decreased).
     - Fix use of ecore_con_client_timeout_set() and ecore_con_server_timeout_set() that makes timeout on 
       connections even if you sent data.
     - Fix cl->start_time (initialization missing). So now
       ecore_con_client_uptime_get() is working.
     - Fix srv->start_time (initialization missing). So now
       ecore_con_server_uptime_get() is working for plain TCP connections.
     - Fix ecore_con_server_timeout_set(). It will now reset the timer.
    * Ecore_Evas:
     - Fix build of Ecore_Evas_Extn on Solaris.
     - Fix many memory problems with ecore_evas_extn.
     - Fix usage of underlying X window after it has received a destroy event
    * Ecore_X:
     - Fix possible memory corruption in xrandr EDID functions.
     - Fix x11 error sync issue with ecore_x_image_get().
     - Fix ecore_x_screen_is_composited/set() to work on multihead.
     - Fix ecore-x edid fetch to ftech 128, not 100 bytes.
     - Fix dangling pointer problem related with shmget fail.
     - Fix bug not check data value when get deiconify message.
     - Fix alpha set function not clear sync counter.
     - Fix selection parser to not overrun buffer read by using longs on 64bit.
     - Fix x11 selection trailing nul byte in text.
     - Fix BadMatch errors in ecore_x_image_get when requested size was larger than XImage size
     - Fix ecore_x_e_comp_pixmap_set to delete pixmap atom correctly
    * Ecore_Wayland:
     - Fix return type of function ecore_wl_outputs_get().
    * Ecore_Input_Evas:
     - Fix ecore_input_evas didn't check the device id of mouse event.
     - Check the state of last mouse event more properly.
    * Ecore-imf:
     - Fix crash when ecore_imf_context_del is called in ecore_imf_context_input_panel_callback_call.
     - Fix memory leak in scim immodule
    * Eio:
     - Don't leak fd on exec.
     - eio functions no longer crash when passed NULL and throw errors accordingly.
     - Fix bug in eio_file_map_new container set.
    * Edje:
     - Prevent a crash even if an invalid object is swallowed into an edje object.
     - Fix cache miss when active edje hash is empty.
     - Improved textblock part fit.
     - Fix anchor clicked mouse signals for selection-enabled entries.
     - Fix edje_color_class_list() and edje_text_class_list() to look at right hashes.
     - Properly report file not found in Edje.
     - Fix custom states for SPACER parts.
     - Fix edje program filters.
     - Fix bug scroll works when PgDn, PgUp, Home, End key in entry is pressed in preedit state.
     - Fix edje entry to respect filters and if input filtered out, don't clear selections.
     - When cursor is located to each edge, entry now doesn't grab events for cursor movement.
     - Fix useless ecore_imf_context_reset call in case of pressing ESC and Return key.
     - When selected word exists, selection is cleared and cursor remains on the current entry by additional key input.
     - Fix custom states for proxy parts.
     - Entry: return surrounding string until the start position of selection
     - Textblock: fixed issue with quoted formats.
     - Textblock: feep the text styles when new font by the text class is applied.
     - Lua: Stop leaking evas objects in Lua.
     - Fix edje min size calc to calc sub GROUP parts too.
     - Fix edje multisense segv (free non-malloced data from eet).
     - Fix some logic issue when using fixed point path.
     - Correctly set match flag of signal callbacks
     - Fix size calculation of flags of signal callbacks
     - Check for both Lua 5.1 and 5.2.
     - Fixed memory leak in the edje map color transition.
     - Add null checking for name of anchor and item in geometry get functions.
     - Fix use of eina_hash_pointer to actually look at the pointer value.
     - Fix to update map-enabled part when the edje object is moved.

    * Efreet:
     - Fix desktop command parsing of https.
    * Emotion:
     - Fix memory leak in gstreamer_ecore_x_check.
     - Fix backend priority order.
     - Add two events to trigger webcam plug and unplug
    * Ethumb:
     - Fix memory leak in error case.
    * Eeze:
     - Fix sensors to not segv on shutdown.
