aboutsummaryrefslogtreecommitdiffstats
path: root/NEWS
blob: 3ffbb8c85be2a2010cb9cba9d8968315006de95f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
=========
EFL 1.8.0
=========

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()
     - Add eina_file_map_populate()
    * Eet:
     - Add eet_mmap()
     - Add eet_data_descriptor_name_get()
    * 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()
    * 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
    * 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
    * 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
    * 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

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.
    * 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.
    * Ecore_Con:
     - Rebase dns.c against upstream
    * 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.
    * 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.
    * 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.
    * 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.
    * Ecore_Evas:
     - Fix build of Ecore_Evas_Extn on Solaris.
     - Fix many memory problems with ecore_evas_extn.
    * 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.
    * 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.
    * Ecore-imf:
     - Fix crash when ecore_imf_context_del is called in ecore_imf_context_input_panel_callback_call.
    * 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).
    * Efreet:
     - Fix desktop command parsing of https.
    * Emotion:
     - Fix memory leak in gstreamer_ecore_x_check.
    * Ethumb:
     - Fix memory leak in error case.
    * Eeze:
     - Fix sensors to not segv on shutdown.