Page MenuHomePhabricator

Efl And Elementary 1 10 Release Announcement
Updated 2,004 Days AgoPublic

EFL 1.10 is Out

After three months of development work we are proud to announce the release of version 1.10 of EFL, Elementary, Evas Generic Loaders and Emotion Generic Players. We extended the original schedule by one week to allow for more bug fixes. For 1.11 we plan to go back to the 12 weeks schedule.

Download

LINKSHA256
efl-1.10.0.tar.gz55ab54150e4c53781f7b3239f39c11a06c3b9208f4109700bca049c36cd6c49b
elementary-1.10.0.tar.gz01c9127f0b29c1a07328199f51fb6d72d7f250be31e8afb26914566fb1c7e612
emotion_generic_players-1.10.0.tar.gzccfb1c8c346ba1a84484b82ce1ce871fd2c6660421ca7fa5d911661bd3cc94db
evas_generic_loaders-1.10.0.tar.gzf5294c1a86dd4d7d4983ec4217c0d0d1a9cfa3fc2060d4af7eec5fa4ce23a463

What's New

Even if we had only three months a lot has happened during the 1.10 release cycle.
We only cover some highlights here for the full list please look at the NEWS files
if you are interested in the details. As usual we have been working on fixing bugs,
optimizing our code for speed and memory footprint and adding new features.
Below we describe just some highlights and by no means provide a full list.

Elementary theme versioning

From this release on themes need to have a version. Please refer to bc860d5cb14ef792251324de54041efcb75538cd if you need to adapt an external theme. Internal themes have been adapted.

Huge Edje changes

  • TEXT parts with text.min: 1 X; now throw warnings in edje_cc when text.ellipsis: -1; is not set since this is the most common behavior
  • TEXT parts now calculate padding more accurately, making layout offset calculation easier when using filters
  • Text filters now use a Lua-like syntax which is slightly different from the beta filter API in 1.9
  • Entry behavior is now much more consistent with other toolkits
  • Text-containing parts now support text.source and text.text_source with parts of type GROUP
  • EDC documentation has been improved in a number of places
    • This still needs contributions from users like you!
  • The EDC language has had an overhaul, adding a number of new features:

Eo2 has landed

We've changed a lot of things in the Eo objecting system. The underlying object system for the EFL. The API should be much better and easier to work with, and you can finally do things like:

ret = eo_do(obj, some_call());

or

eo_do(obj, ret = some_call());

We now have better error/warning reporting in C code, and it should also be easier to create bindings that use eo_do() calls.

New EFL C++ bindings

  • Libraries currently available: Ecore-Cxx, Eet-Cxx, Eina-Cxx and Eo-Cxx.
  • There's also Eolian-Cxx, a tool that automatically generates C++ bindings from .eo files.
  • Bindings for Evas-Cxx, Edje-Cxx, Ecore-Cxx and Ecore-Audio-Cxx are generated during EFL build.
  • All libraries and the generated bindings are C++11 header-only code.

Added support for ETC1

  • Ericsson Texture Compression is a lossy image compression format based on open standards. It is supported by many embedded GPUs, and compresses at 4 bits per pixel
  • ETC1 is fully supported for both the gl_x11 and software engines, and a codec is included in EFL (based on rg-etc1)
  • ETC2 support is still a work in progress as there is no encoder yet

Eolian

Eolian is a tool generating code from a meta-data (.eo) file describing classes. Its first goal is to facilitate code writing when interfacing with Eo, by generating automatically the APIs and the invocation to the Eo APIs. It consists of:

  • a library parsing these .eo files and filling a database.
  • a generator using this database to generate C code invoking Eo layer (eo_do) and headers for Eo and legacy APIs.

For the format of the .eo files, please refer to https://phab.enlightenment.org/w/eolian/
The Eolian APIs are still beta. It will surely change, hopefully until 1.11.

Elementary Widget Item Focus Concept

  • Each elementary widget's item can get a focus now. So focus highlight moves between widgets, widget items, and even between widgets and widget items.
  • Each widget item triggers "focused" and "unfocused" smart callback.

Statistics

EFL

(git log --pretty=oneline v1.9.0..v1.10.0 | wc -l)
Number of commits: 1174

(git diff --stat v1.9.0..v1.10.0)
Changed files, added and removed lines: 788 files changed, 84946 insertions and 41843 deletions.

(git shortlog -nse --grep CID v1.9.0..v1.10.0)
Top 5 Coverity issue fixers:

30  Cedric BAIL <cedric.bail@free.fr>
 5  Stefan Schmidt <stefan@datenfreihafen.org>
 3  Daniel Zaoui <daniel.zaoui@samsung.com>
 3  Jean-Philippe ANDRÉ <jpeg@videolan.org>
 3  Tom Hacohen <tom@stosb.com>

Elementary

(git log --pretty=oneline v1.9.0..v1.10.0 | wc -l)
Number of commits: 713

(git diff --stat v1.9.0..v1.10.0)
Changed files, added and removed lines: 608 files changed, 54835 insertions(+), 77174 deletions(-)

(git shortlog -nse --grep CID v1.9.0..v1.10.0)
Top 5 Coverity issue fixers:

11  Daniel Juyung Seo <seojuyung2@gmail.com>
 2  Daniel Zaoui <daniel.zaoui@samsung.com>
 1  ChunEon Park <hermet@hermet.pe.kr>
 1  Lukasz Stanislawski <l.stanislaws@samsung.com>

Building and Dependencies

If you have an existing EFL or Elementary install, you may wish to delete its header files and libraries before compiling and installing to avoid possible conflicts during compilation. If you are compiling the above, please compile them in the following order:

efl
elementary
emotion_generic_players
evas_generic_loaders
Please refer to the respective README files in each release for a full list of dependencies, explanations on configure flags and other relevant information (Just scroll down to see the README already displayed nicely).

EFL
Elementary
Emotion Generic Players
Evas Generic Loaders
Recommended dependencies are for all of the above are:

bullet
libpng
libjpeg
gstreamer (1.x) (ensure you have all the gstreamer codecs you need/want. Evas generic loaders still need gstreamer 0.10)
zlib
luajit (optional lua 5.1 or 5.2)
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)
libgl (opengl/glx or opengl-es2/egl)
giflib
util-linux (limbount + libblkid)
systemd / libudev
harfbuzz
systemd
libwebp
vlc (libvlc)
poppler
libraw
libspectre
librsvg

It is suggested you add the following options when building EFL to get a better experience:
--enable-xinput22 \
--enable-multisense \
--enable-systemd \
--enable-image-loader-webp \
--enable-harfbuzz

On linux to get framebuffer support you may want to also do:
--enable-fb
--disable-tslib

If you want wayland support also add:
--enable-wayland

At runtime if you want thumbnailing for DOC/PPT/XLS etc. files also provide:
libreoffice

Last Author
stefan_schmidt
Last Edited
May 26 2014, 4:19 AM
Projects
None
Subscribers
JackDanielZ, savio, seoz