path: root/NEWS
blob: e49464b0cfbfde5d0b6044f7654030f276aeb5a3 (plain) (tree)

















































EFL 1.8.0

Changes since 1.7.0:

    * 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
     - 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
     - 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(),
     - 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
    * 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.
       support for text/x-moz-url DND operations
     - Add atom related with indicator type. 
     - Add manual render code before deiconify
     - Add accessibility support.
     - add error messages for xlib
     - 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:
    * 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
     - 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_context_input_panel_on_demand_set/get API
    * Eio:
     - Add eio_eet_sync symbols.
    * Ecore_X:
     - Old profile stuffs.
    * Ecore_Evas: deprecate DirectFB, XRender, WinCE, X11-16 and X11-8.
    * Eeze: deprecate libudev<148 and libmount<2.18

    * 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

    * 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.
    * Eet:
     - Display more information with eet -l -v.
     - Force thread to always run during eet_cache_concurrency test.
    * 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.
    * 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.

    * 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.
     - Eina: fix eina_file_map_lines() to not drop of one character in the last line.
    * 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).
    * Ecore:
     - Don't leak fd on exec.
     - Fix fd handler increase issue when ecore_pipe_add/del is called repeatedly.
    * 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.
    * 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.