========= EFL 1.8.0 ========= Changes since 1.7.0: -------------------- Additions: * Add multiple font draws support to engines * Add DOCTYPE children parsing in eina_simple_xml * Add eina_barrier thread API * Add eina_tmpstr_add() and eina_tmpstr_del() * Add eina_thread API * Add eina_list_last_data_get * Add Cserve2 scalecache support * 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() * 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. * 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() * ecore_evas_extn: - Add window profile support. * ecore_evas_buffer: - Add window profile support. * ecore_getopt: add ECORE_GETOPT_ACTION_BREAK * evas: - 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 ecore_audio API * Added eina_xattr_fd_get(), eina_xattr_fd_set(), eina_xattr_del(), eina_xattr_fd_del(), eina_xattr_copy() and eina_xattr_fd_copy() * added eina_stringshare_refplace() * Added eina_file_copy() * Add eet_mmap. * added eet_data_descriptor_name_get() * Add eio_eet_sync symbols. * Add infrastructure to handle buggy touchscreen in Ecore_Input_Evas. * Add infrastructure to handle message between ecore and parent ecore in Ecore_Evas. * Edje textblock: Added support for size_range. 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: * directfb support: ecore_directfb and evas directfb engine. * Removed XRender, WinCE, X11-16 and X11-8 ecore_evas support. Improvements: * Reduced number of enqueued font commands when rendering textgrid objects * Single EFL tree covering all EFL library components. * Speedup Eina Rbtree Iterator by recycling memory instead of repeatedly calling malloc/free. * Display more information with eet -l -v. * eina_magic_fail() now throws error messages on NULL pointers instead of critical * all efl object-freeing functions now take NULL without crashing or erroring * use Eina_File in webp, gif, tiff, png and eet loader * Eina.h includes eina_alloca.h/alloca.h to define alloca() * Improved eina share del speed. * Upgrade liblinebreak to latest version of libunibreak. * edje entry: cursor position and location will be passed when it's really changed in case of mouse down, move, and up event. * edje entry: remove ecore_imf_context_reset in mouse up event because it's useless. * rebase dns.c against upstream * Don't over align data if they are already aligned. * edje entry: remove ecore_imf_context_reset, cursor update in mouse move event because it's useless. * edje entry: move ecore_imf_context_cursor_position_set from mouse down event to mouse up event. * Use ecore_audio in edje-multisense * Ecore_Evas wayland-egl only renders now if last frame has been presented. * edje entry : Remove ecore_imf_context_cursor_position_set in functions related to selection. * Translations updates: - french. * edje entry : Support &, < and > in preedit string * eina: Eina_Tiler now take tile size into account. * edje: reduce memory consumption of Edje program handler. * eina, evas: improved support for 64bits system. Fixes: * Fix a memory leak in ecore_con_dns when using ecore_con_server_connect * Fix PPC (big endian) image codec bug. * Fix return value of eina_mmap_safety_enabled_set() and future eina_mmap_safety_enabled_get() returns after success * Fixed GLX native surface handling to use glXChooseFBConfig. This frixes a break in compositing on new intel mesa drivers. * Fixed glGetIntegerv() in Direct Rendering mode for Evas GL to properly handle GL_SCISSOR_BOX and GL_VIEWPORT parameters. * Fixed textblock textprop leak. * Fixed evas_object_box to reset size_hint_min to zero when no child. * Fix build of Ecore_Evas_Extn on Solaris. * Don't leak fd on exec. * Fixed polygon rendering bug in GL backend when there are cutouts. * Fix leak in eet_pbkdf2_sha1 with OpenSSL. * Fix the gl line incorrect position drawing. * Fix possible buffer overflow in functions relying on EET_T_LAST * Fix possible memory corruption in xrandr EDID functions. * 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 many memory problems with ecore_evas_extn. * Fix Evas RGBA_Image->flags.loaded for copied images. * Fix evas_object_image_is_inside() * eio functions no longer crash when passed NULL and throw errors accordingly * Fix eina_xattr_value_ls() and eina_xattr_value_fd_ls() * Fix mask write lines to not choose too small segments * Fix ecore_con case where freeing server double-frees clients * Fix build of Evas XCB backend * Fix efreet desktop command parsing of https * Fix eina_prefix_new() with debian multilib without magic check file. * Fix evas bmp loader code which deal with image size. * Fix not up to date clip cache for Evas_Object_Text. * Evas texblock: Fixed a bug with breaking after format items. * Fix endianess issue in Eet_Image. * Fix bug in eio_file_map_new container set. * Evas textblock: Fixed issue with line height when breaking on a format. * Fix SIGFPE in evas map update if image is 0. * Evas textblock: Fixed issue and simplified cursor_geometry_get. * Evas text: Fixed issue with horiz advance. * Evas text utils: Fixed issue with no-harfbuzz bidi. * Fixed pixman surface alloc where allocated and image size differ. * Fixed x11 error sync issue with ecore_x_image_get() * Fix evas gif loader to return the correct frame duration * Prevent a crash even if an invalid object is swallowed into an edje object. * Fix cache miss when active edje hash is empty. * Prevent denial of service on eina_hash function. * Fix return type of function ecore_wl_outputs_get(). * Fix memleak in Eina_File. * Fix ecore_x_screen_is_composited/set() to work on multihead. * Fix memory usage of Ecore_Con_Server * Fix memory leak in eina_xattr_value_ls. * Fix memory leak in gstreamer_ecore_x_check * Evas textblock: Fixed a selection issue with different scripts and bidi. * Fix memory leak in error case in ethumb. * fix bug not to display preedit string with PREEDIT_TYPE_NONE style * Fix bug candidate word couldn't be selected with up/down key in the preedit status * Edje textblock: Improved textblock 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. * Evas: Fix Evas_Object_Text when LTR and RTL are used in the same paragraph. * Properly report file not found in Edje. * Fix ecore-x edid fetch to ftech 128, not 100 bytes. * Evas text: Fixed bug with the text object direction detection. * Evas font: Fixed font run detection for specific cases with 2 different fonts in the middle of a run. * Evas cache: 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.