Twitter Facebook YouTube Donate


EFL 1.24.0 beta 1

  • 2020-04-08 - by Stefan Schmidt

Following our alpha release last week we are now in the beta phase, starting with beta1. The focus is now fully on bug fixing and stabilization for the release.


  • ui textpath: update map before rendering begins.
  • elm icon/image efl ui image - respect aspect hints at all if set


LINK SHA256 5dfd1a998361c3312f2b33447ce68deafe88d845494942040e16973ec96bcc2f

EFL 1.24.0 alpha 1

  • 2020-04-01 - by Stefan Schmidt

With this alpha release we are marking the freeze and start of the stabilization phase for the efl 1.24 release cycle. Please give it some testing and report problems to us so we can work towards a well working release.


  • 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


  • 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


  • emotion & evas: remove gstreamer 0.10 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


LINK SHA256 a1d56848be9ebbac47d542df1f0075b927776c0402bdb192ecba4dd25a6c5656

Enlightenment Developer Days 2019

  • 2019-11-28 - by Xavi Artigas

On November 23 part of the Enlightenment community gathered for two days in Barcelona, Spain, to hold the Enlightenment Developer Days.

Except for the hiatus in 2018, this tradition has been honored uninterruptedly since 2012, when it was also held in Barcelona.

Over the weekend, 14 people from 7 countries presented their latest work, discussed their current problems, and talked about what lies ahead.

Attendees included Enlightenment Desktop users, application developers, and core maintainers, producing a very interesting mixture. The outcome was varied: doubts were dispelled, action items for the upcoming months were laid out and, most importantly, the community was strengthened. For those of us who attended for the first time, it was a pleasure to put a face to the IRC nicks!

I had the honor of being the host this time, and I enjoyed the opportunity to show my enlightened fellows around the city and take them out to have some Spanish tapas for dinner. Thanks a lot for coming!

Thanks also to the Pompeu Fabra University who allowed us to use their facilities free of charge.

Finally, a big thank you to Stefan Schmidt for organizing everything and getting Samsung to sponsor the meals for both days.

See you all, and a bunch more, next year!

 Attendees hard at work!

Left, front to back, and then back to front: escwyp, netstar, rafspiny, bu5hm4n, cedric, herb, raster, q66, yoz, vtorri, peter2121, SanghyeonLee, stefan. Picture: Yours truly.



 And some light supper for the meat lovers.

And some light supper for the meat lovers.

EFL 1.23.3 release

  • 2019-11-27 - by Mike Blumenkrantz
  • elementary: handle case when XFIXES is not available. (T8321)
  • ecore: remove unecessary field in data structure.
  • eina: only the type need to be NULL to assume EINA_VALUE_EMPTY.
  • tests/eina: use #ifdef guard for block which can only occur inside ifdef (CID1400948)
  • mono: remove duplicated EinaFreeCb delegate
  • mono: blacklist efl_ui_text_context_menu_item_add
  • Revert “elm/genlist: don't process entire item queue on each item add”
  • tests/spec: allow for a longer timeout of the spec suite for dist build
  • travis/ci: update Fedora CI images to 31
  • ci: work around ccache segafult during setup
  • travis: update Ubuntu image to the 19.10 release
  • docs: Efl.Gfx.View
  • check: reset flags that used for legacy 'changed' cb
  • elementary: fix end of fast scroll not showing up during Efl.Ui.CollectionView scroll.
  • edje_calc: UNLIKELY changed to LIKELY.
  • elm_config: replace ecore_file_cp with ecore_file_mv
  • csharp:comma have whitespace after and none before
  • csharp: Removing a never used class. (T8417)
  • elementary: cleanup Eina_Future properly by relying on efl_future_then proper lifecycle.
  • elementary: properly handle in flight request in Efl.Ui.CollectionView.
  • elementary: watch event on the model Efl.Ui.CollectionView use directly.
  • ci: fix ccache segfault during setup on CI in release-ready build
  • evas_filter: remove shader compile error
  • Efl.Ui.Scroll_Manager: Fix indentation
  • eolian_mono: avoid keyword as a variable name
  • wl_egl : Prevent access to NULL pointer
  • eolian-cxx: Make events inherit beta info from klass.
  • Revert “elm/genlist: remove calc jobs”
  • Revert “tests/genlist: add behavior testing for nearly all genlist events”
efl-1.23.3.tar.xz 53cea69eaabe443a099fb204b7353e968e7bb62b41fbb0da24451403c7a56901

Terminology 1.6.0 Release

  • 2019-11-16 - by Boris Faure
“Adopt the pace of nature: her secret is patience.” ― Ralph Waldo Emerson

With 95 new commits, Terminology 1.6.0 is ready. It packs UI improvements around tabs and splits, a welcome wizard to adjust the scaling factor, translation updates and its load of fixes. During development of this release, Terminology's Twitter account @_Terminology_ was created.

  • Show title tab on splits, depending on configuration
  • Show tabs that had a bell rang and had not been focused
  • Add wizard on new configuration to set scaling
  • Add scale configuration in the Settings panel
  • Add Polish translation
  • Themes: make tab title readable based on theme default colors
  • Move the tab selector on the tab line
  • Be able to select and copy tabs
  • Better handle stalled unix socket when using one terminology with multiple instances
  • Change `typop` behavior to queue files in case there are multiple files to look at
  • Update Italian translation
  • Fix live selections in the scrollback
  • Fix unchecking `auto-hide cursor` not working
  • Fix memory leaks related to looking for links under the mouse
  • Ensure Terminology compiles with `EFL-1.20`
  • Fix link detection over spaces
  • Fix tab selector no longer taking into account the new destination
  • Fix crash when using `typop` with multiple files
  • No longer set environment variable `DESKTOP_STARTUP_ID` as it may no longer be accurate
  • Allow tabs to be pasted
Terminology 1.6.0 XZ b95cb05653afe0dad77fc038a8d5276c02a9c08d64ac97ddf0cee8087d27bd77
In action

EFL 1.23.2 release

  • 2019-10-31 - by Mike Blumenkrantz
  • eet - fix loading eet files that do not have dicts (T8368)
  • ecore_evas/wl2 0 fux xdg close cb for window when it's closed remotely
  • wl egl - use platform get display
  • eina: fix network byte order swap funcs on big endian
  • eina: unbreak byteswap checks
  • eina: remove
  • eio - fbsd - make fd for monitored file close on exec (T7486)
  • csharp: Add since info to members related to events. (T8359)
  • evas_cache_image: drop image after replacement
  • evas_image: fix memory leak
  • evas filter: preserve text source color
  • elm: Fix potential leak in cv request add (CID1405809)
  • csharp: Add since documentation to Async methods (T8359)
  • csharp: updating efl_csharp_application docs. (T8345)
  • csharp: updating efl_all docs. (T8345)
  • csharp: updating UserModel docs. (T8345)
  • eolian: fix eolian errors with EOLIAN_ENFORCE_SINCE=1
  • vg_common_json: Apply image's alpha color
  • canvas vg: don't draw images if it's full transparent.
  • evas/callbacks: emit hardcoded legacy smart callbacks always
  • eo: block “invalidate” event emission when there are no subscribers (T8321)
  • evas/smart: print actual errors when smart api functions are called on non-smarts
  • elm/layout: add some workarounds to try handling legacy min sizes
  • ecore_con: use only Eina_Magic infrastructure for set and check in Ecore_Con_Url.
  • csharp: updating eina_log docs. (T8293)
  • csharp: updating eina_list docs. (T8293)
  • csharp: updating eina_hash docs and hide api. (T8293)
  • csharp: updating eina_error docs. (T8293)
  • csharp: updating eina_container_common doc and api (T8293)
  • csharp: updating eina_config docs and hide api. (T8293)
  • csharp: updating eina_common docs and hide api. (T8293)
  • csharp: Updating eina_array docs and hide api. (T8293)
  • csharp: Remove test dependency on internal funcs
  • csharp: updating Factory docs. (T8345)
  • csharp: updating Bind docs and hide api. (T8345)
  • csharp: updating GenericModel.cs docs. (T8345)
  • vector json: use lottie apis case by case.
  • csharp: fix to write cref Eina.Array<T> correctly
  • csharp: Fix promises docs and hide api (T8293)
  • csharp: Avoid direct usage of some dllimport funcs
  • tests/eina: fix assign when compare was intended (CID1400858)
  • lz4: fix potential div by zero (CID1404010)
  • csharp: Add since documentation to struct and struct fields
  • examples/evas: free map pointer in map example (CID1400959)
  • examples/eldbus: fix pointer leak on failure case (CID1400787)
  • efl_canvas_vg : Propagates the alpha color of the parent
  • csharp: rename Factory.cs to ItemFactory.cs
  • mono: make public static field const or readonly
  • csharp: updating eldbus_connection docs. (T8361)
  • csharp: updating eldbus_config docs. (T8361)
  • csharp: Updating eldbus_common docs. (T8361)
  • vector json: optimize logic.
  • vector json: fix a ordering issue of stroke.
  • csharp: Add Efl.Model implementations to internal model
  • gesture_manager: Deleted function and definition that are no more use.
  • mono: remove underscores of Efl_Op_Description, Efl_Object_Ops (T8333)
  • mono: merge namespaces
  • mono: add static modifier to static holder types.
  • csharp: hide eldbus_service api. (T8361)
  • csharp: updating eldbus_object docs and hide api. (T8361)
  • csharp: updating eldbus_pending docs and hide api. (T8361)
  • csharp: updating eldbus_proxy doc and hide api. (T8361)
  • csharp: updating eldbus_message doc and hide api. (T8361)
  • mono: encapsulate invoke method
  • csharp: Setting ELM_ENGINE if it is none. (T8322)
  • evas/language: #ifdef guard variable which is only used inside #ifdef (CID1400807)
  • tests/eldbus: add va_end for va_args usage in message test
  • ecore/getopt: handle negative return in arg parsing (CID1402615)
  • ecore/main: avoid calling FD_SET with invalid fd value (CID1383850)
  • benchmarks/eina: fix possible div by zero in ecore_hash (CID1400768)
  • tests: fix minor string leaks
  • embryo: don't use sizeof() when strlen() is intended (CID1402617)
  • efl/boolean_model: remove misleading null check (CID1405799)
  • eina/convert: init endptr in failure case of eina_convert_strtod_c
  • evas_vg/svg: fix null deref (CID1405672)
  • efl/engines: fix null derefs
  • elm/main: fix null deref (CID1402697)
  • tests/ecore_con: clarify pointer usage in ecore_con_url tests (CID1401029)
  • efl/io: return EINVAL if null slice is passed for writing
  • fix various trivial null derefs
  • ecore-evas-wayland: Minor formatting fix
  • ecore-evas-wayland: Minor formatting fix
  • ecore-evas-wayland: Add handler to array
  • ecore_evas_wayland: Fix array step size
  • ecore-wl2: Minor formatting fix
  • ecore-evas-wayland: Minor formatting fixes
  • docs: small fixes to Efl.Text
  • spaces--
  • examples/ecore: use correct type for getchar() return (CID1400794)
  • examples/efl_thread: fix oob writes
  • csharp: Add licensing information. (T8039)
  • cxx: Add license to CXX bindings.
  • mono: merge namespaces in manual bindings
  • tests/spec: free array in multi selectable tests
  • tests/eina: use slstr_steal function in slstr_steal test (CID1401043)
  • ecore/app: permit resetting app args to uninitialized (zeroed) state
  • tests/ecore: unset app args after app args unit test to prevent invalid reads
  • tests/ecore: replace all bespoke strcats with snprintf (CID1400812)
  • tests/ecore: ensure that we attempt to re-set PATH in ecore-file tests
  • csharp: Add since information to EoWrapper.cs
  • eina_mono: Initialize UNHANDLED_EXCEPTION inline (T8427)
  • eina_mono: re-throw exception to preserve stack details (T8426)
  • efl_message: add pending queue for filtering message.
  • elm/code: check save file attrs after opening (CID1396966)
  • csharp: Returning only method name iwrapper.
  • efl_ui/text_scroller: fix null derefs
  • tests/layout: add legacy layout test to verify behavior with legacy size hints
  • mono: implement dispose method based on dispose pattern (T8400, T8419)
  • csharp: Calling ConfigureAwait on task eopromises. (T8424)
  • csharp: Calling ConfigureAwait on tasks Model. (T8424)
  • csharp: Calling ConfigureAwait on tasks GM. (T8424)
  • csharp: Using Count eina_promises. (T8422)
  • csharp: Changing Count() to Length on eina_value. (T8422)
  • csharp:Using Array.Empty genericmodel. (T8421)
  • csharp: Using Array.Empty Eina. (T8421)
  • ci: use shell to directly set base_dir for osx builds
  • csharp:Changing ex access modifier from Errors.cs. (T8401)
  • eina_array: add paramName argument of ArgumentNullException (T8428)
  • Typo in comment
  • efreet : Check that the file has a protocol in efreet_desktop_command_file_process()
  • Silence mono warning in tests
  • csharp: Add missing exception ctr from iwrapper. (T8392)
  • csharp: Add missing exception ctor from Errors.cs. (T8392)
  • docs: Improve documentation on cache-related classes
  • efl_ui_spotlight_manager: apply vis changes to subobj
  • docs: Formatting and polishing Efl.Ui.Factory docs
  • docs: Polished docs for Efl.Ui.Scrollable
  • mono: encapsulate internal CustomMarshaler
  • mono: encapsulate internal Add/RemoveNativeEventHandler
  • mono: encapsulate internal nativemethods
  • mono: encapsulate internal FunctionWrapper
  • mono: encapsulate internal NativeModule
  • eina_mono: remove exceptions in unexpected locations (T8402)
  • vg_common_svg: Free node tree for memory leak after eet write.
  • Replace tabs with spaces
  • edje_calc: Delete duplicated conditional statement.
  • efl_ui_win: Delete useless geometry set for legacy.edje
  • tests/elm: add util callback for incrementing an int data
  • tests/elm: add util functions for clicking objects/parts with event flags
  • tests/elm: make argv a static char so it never goes out of scope and crashes
  • tests/elm: add utility function to trigger a mouse drag
  • tests/genlist: fix tree test sizing
  • efl/timer: don't attempt instantiating timers until they're finalized
  • efl/timer: correctly handle recursion for timer processing
  • tests/ecore: add more grueling timer throughput test (T8434)
  • elm/genlist: fix item highlight/unhighlight eventing on clicks
  • elm/genlist: remove misleading “changed” signal
  • elm/genlist: only add calc job on theme apply if already finalized
  • elm/genlist: freeze/thaw canvas when processing item queue
  • elm/genlist: don't process entire item queue on each item add
  • elm/genlist: remove calc jobs
  • elm/genlist: defer recalc when applying a name filter
  • elm/genlist: slightly simplify use of _item_filtered_get()
  • 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: hide cached item contents and mark content unfocusable during calc
  • elm/genlist: fix item focus unregister on item move
  • tests/ecore: make timer behavior test even more strict (T8434)
  • tests/loop_timer: add port of ecore_timer behavior tests for loop_timer
  • tests/genlist: add behavior testing for nearly all genlist events (T8433)
  • mono: encapsulate internal delegates
  • mono: encapsulate internal iwrapper members
  • mono: encapsulate internal workaround members
  • ci: remove existing base_dir ccache config on osx build before adding new one
  • meson: add embryo as a dep of edje
  • csharp: FunctionWrapper doc fixes
  • edje_calc: Remove unused flag.
  • elm/widget: error on null params for tree_unfocusable functions
  • eina: change default policy of Chained Mempool to recycle memory right away.
  • efl_ui: remove Efl.Ui.Slider_Indicator_Visible_Mode
  • efl_ui: mark Efl.Ui.Focus.Autoscroll_Mode beta
  • evas/font: simplify handling strings when constructing font names (CID1382854)
  • ecore/timer: correctly handle recursive deletion of legacy timers
  • tests/ecore: do not create global test timeout timer if running unforked
  • tests/ecore: add intensive test for recursive timer usage
  • tests/evas: replace macro with function in mesh loader/saver test
  • tests/evas: prune directory scan in mesh loader/saver test (T6857)
  • tests/efl_app: add port of intensive timer recursion
  • csharp: space after keywords.
  • tests/spec: merge some loops in linear pack tests
  • tests/spec: reduce looping of pack content tests
  • tests/spec: store test class and reuse globally to avoid needing efl_isa
  • tests/spec: assert success of content_set during setup
  • tests/spec: use wrefs to automatically unset global pointers
  • edje: improve callback count on Evas canvas. (T8321)
  • eolian-cxx: Rename fields to standard naming
  • mono: introduce friend assembly
efl-1.23.2.tar.xz ba8d9e4a4690a6c917c98ec090fffa6ffe005ab911811b8d443aa155ad95d493

EFL 1.23.1 release

  • 2019-10-11 - by Mike Blumenkrantz
  • docs: enable compression for tar file and avoid file name clash
  • efl_ui/bg: unset finger_size multiplier during construction (T8304)
  • meson: pass correct PACKAGE_DATA_DIR (T8304)
  • doc: improve colorselector preview (T8304)
  • docs: fix elementary group name in docs
  • efl_ui_video: bring back Elm_video doxygen group for docs
  • evil: bring back doxygen intro page for evil library
  • evil: remove stray x character from docs section
  • evil: make it clear in the docs that this library is private to efl
  • elementary: Add documentatio to efl_ui_layout_factory.eo (T7717)
  • docs: Fix problems with monospaced text
  • csharp: More updated docs to 1.23. (T8293)
  • evas: silence compiler warning in textblock
  • efl_ui_animation_view : Put @beta on Efl.Ui.Animation_View_State
  • csharp: Standardizing doc tag.
  • ecore : fix incorrect size of expression for coverity
  • c: coverity: resource leaked when using realloc. (CID1404749, CID1404741)
  • efl_ui_datepicker: no need to delete the manager here
  • efl_ui_image: fix backward compatibility issue
  • eldbus: properly call parent finalize during creation of Eldbus.Model_Method.
  • eldbus: Eldbus_Proxy require to handle self desctruction as refcounting doesn't fully protect.
  • eldbus: connection are destroyed on invalidate, there is no point for any object to not cleanup on invalidate.
  • eldbus: properly cleanup local variable during destruction.
  • docs: Remove redundant documentation
  • ci: fix return value warning in test build code
  • efl_ui/win: fix max size hint eval (T8304)
  • efl_ui/win: initialize max size hints to -1 during constructor
  • csharp: Add some docs to MVVM infrastructure
  • csharp: Do not use the System Bus for testing. (T8313)
  • csharp: removing extra slashes (T8293)
  • csharp: updating eina_accessor docs and hide api. (T8293)
  • csharp: updating eina_binbuf docs and hide api. (T8293)
  • efl_ui/selection_manager: be explicit with sizeof() usage (CID1385141)
  • tests/position_manager: initialize variable in declaration (CID1404747)
  • examples/emotion: remove dead code (CID1400928)
  • csharp: updating eina_inarray docs and hide api. (T8293)
  • csharp: updating eina_inlist docs and hide api. (T8293)
  • csharp: updating eina_iterator docs and hide api. (T8293)
  • elm: fix legacy callback names.
  • csharp: Document eina_value.cs (T8293)
  • csharp: Fix docs and hide stuff from stringshare. (T8293)
  • csharp: Fix doc and hide stuff from strbuf. (T8293)
  • csharp: Add missing docs to slice. (T8292)
  • ecore_con: destructor are always called when finalize return NULL.
  • ecore_con: do not crash in test if nothing is returned by Ecore_Con_Url.
  • ecore_con: use only Eina_Magic infrastructure for set and check in Ecore_Con.
  • cv: Switch to safe 32/64 bits printf masks
  • efl_canvas_animation_player: fix double free
  • evas/language: #ifdef guard variable which is only used inside #ifdef
  • efl_ui_panes: fix not to consider content min size for legacy panes
efl-1.23.1.tar.xz d62220cca16d434c18b36fe3acffa0f5c0e669da4931b133524183308f242f61

EFL 1.22.6 release

  • 2019-10-04 - by Mike Blumenkrantz
  • ecore/signal: also use nonblock for writing side of signal pipe
  • ector engine: +null checking.
  • ecore-x: fix null derefs in window prop code
efl-1.22.6.tar.xz 5f282b88e95f77b453de5ff4e4c5a86482a29397e01f284419a9c427e52faa06

Enlightenment Foundation Libraries 1.23 Release

  • 2019-10-01 - by Stefan Schmidt

After almost 6 months of development we are releasing version 1.23 of the Enlightenment Foundation Libraries, featuring over 2100 patches from 48 developers around the world. Thanks a lot for your contributions!

efl-1.23.tar.xz cd9625161b324621f873f00eb841de03398892078ce73d60205abd1766c15cc5

What's New

Again, the primary focus of this release has been stabilizing the EO library as well as an extending the set of unified API which is based on it. From this release onwards we also switched to meson as our only build system (RIP autotools, you served us well for a long time). The 2110 commits contain more changes to possible list here, but you will find improved DRM support, a new widget for controlling vector animations, a first step towards MVVM support, general bugfixes and more.

Please see the NEWS file for more details.


(git log –pretty=oneline v1.22.0..v1.23.0 | wc -l)
Number of commits in 1.23: 2110
Number of commits in 1.22: 2152

(git shortlog -ns v1.22.0..v1.23.0 | wc -l)
Number of authors in 1.23: 48
Number of authors in 1.22: 55

(git diff –stat v1.22.0..v1.23.0 | tail -1)
2296 files changed, 90115 insertions(+), 85554 deletions(-) in 1.23
3154 files changed, 169564 insertions(+), 79861 deletions(-) in 1.22

Compiling and installing


EFL requires a C and C++ compiler by default. C++ exists mostly to interface to C++ libraries like Bullet and our C++ bindings.

Required by default:

  • bullet
  • libpng
  • libjpeg
  • gstreamer (1.x, 0.10 support optional. Ensure all codecs you want are installed.)
  • zlib
  • luajit (lua 5.1 or 5.2 support optional)
  • libtiff
  • openssl
  • curl
  • dbus
  • libc
  • fontconfig
  • freetype2
  • fribidi
  • libpulse
  • libsndfile
  • libx11
  • libxau
  • libxcomposite
  • libxdamage
  • libxdmcp
  • libxext
  • libxfixes
  • libxinerama
  • libxrandr
  • libxrender
  • libxss
  • libxtst
  • libxcursor
  • libxp
  • libxi (2.2 or newer)
  • opengl(mesa etc.) (opengl/glx/full or opengl-es2/egl. full opengl only on osx - must be explicitly specified to be full to have support)
  • giflib
  • util-linux (limbount + libblkid)
  • systemd / libudev
  • poppler / poppler-cpp
  • libraw
  • libspectre
  • librsvg
  • openmp (clang needs libomp, while gcc uses libgomp)

You might want webp support so disable fewer loaders and remove webp from the disablers with: -Devas-loaders-disabler=json

Wayland support

You may also want wayland support when on Linux. This enables support for EFL to trget wayland support for client applications. To do this supply: -Dwl=true

Framebuffer support

This requires linux frame-buffer support, headers etc. This supports basic frame-buffers like /dev/fb as well as input via /dev/input for keyboards and mice in a basic way. Enable this with: -Dfb=true

For more modern framebuffer support you may want drm/kms rendering support so enable this. This is what you also want for wayland compositor support in enlightenment as it will want to be able to render to a moder framebuffer tarbet with atomic buffer swapping. To do this provide: -Ddrm=true


You may want to change the install prefix for EFL with: –prefix=/path/to/prefix

The default prefix if not given is “/usr/local”. Many people like to use prefixes like /opt/e or /opt/efl or /home/USERNAME/software etc.

Compiler flags

You can affect compilation optimization, debugging and other factors by setting your CFLAGS environment variable (and CXXFLAGS). Be aware that to ensure ABI stability you should use the exact same CFLAGS / CXXFLAGS for all the build of EFL and any applications/libraries that depend on them.

There are many other configure options that can be used, but in general it is not a good idea to go enabling or disabling things unless you wish to break things. The defaults are well tested, with the above recommended options also being well tested. Go much further and your mileage may vary wildly. Disabling features is a good way of breaking EFL functionality, so it is not recommended to mess with these without understanding the implications. The defaults have been carefully considered to provide full functionality so users will not be missing anything.


EFL officially offers openssl or gnutls as cryptography backends. By default it uses “openssl” to do signature, cipher and related. Alternatively one can use “gnutls” (some distros are strict about licenses and want gnutls instead of openssl) You can switch to gnutls with: -Dcrypto=gnutls

Enlightenment DR 0.23.1 Release

  • 2019-09-26 by Carsten Haitzler

This is a bugfix and stability release for Enlightenment 0.23.

  • Fixed mixer notifications when volume didn't actually change
  • Fixed build with newest EFL which does not still implicitly include libuuid CFLAGS in efl-wl CFLAGS
  • Fixed move/resize triggered by key bindings to work again
  • Fixed NULL access on move begin that crashed.
Enlightenment DR 0.23.1 XZ e530590c09b560679621f4531d55c242cfafe8523309e0ae88fb267e00f52c34

Add News Article

How do you add a new news article? Simple - go to:

Where news-article-name simply is the name of your article. Make it unique or if you are lazy use this link:

Where the page name uses current date plus a random number.