Page MenuHomePhabricator

Efl And Elementary 1 14 Release Announcement
Updated 1,473 Days AgoPublic

Enlightenment Foundation Libraries 1.14 and Friends are Out

After three months of development work we are proud to announce the release of
version 1.14 of the EFL, Elementary, Evas Generic Loaders and Emotion Generic
Players. In these 12 weeks we got over 1200 commits from 77 authors in EFL alone.
The commit count almost doubled from last time (700). Elementary has another
313 commits by 51 authors. Great job everyone! Some highlights are listed below.

Download

LINKSHA256
efl-1.14.0.tar.gz30a8a239449e0d068a39787b5a4769dd26ddf0476f58f094c85e65b108086269
elementary-1.14.0.tar.gzaa06ca1b332b3cd29ffd136c1f10edf08a06906b3532785ce7e390c1cad6090e
emotion_generic_players-1.14.0.tar.gz8345c7d8c3cdf062b5df4500c0d4c557b6109c67667ac2e5431699c8852d2ad8
evas_generic_loaders-1.14.0.tar.gz943b25427c4e77a3aeae72811557a0b1b7ec4c61aa53922a4c4faf17b3dea812

What's New

Even if we had only three months a lot has happened during the 1.14 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.

Build & Distribution

While we have supported parallel building a la make -j X for a long time we had
problems with supporting it for the install target. Finally this is solved and you can
use -j X for all your make calls now.

Emile

Emile provides a library to bring together serialization, compression and ciphering.
It is a low-level library and can be used by anything above Eina. It came along with a
lot re-factoring of our current code base to make use of it and de-duplicate a lot of
existing code. More refactoring is expected in ecore_con_ssl ciphering and general
image compression.

Ector and Evas_Object_VG (BETA)

Ector provides a new retained rendering library that is used by Evas to provide
Evas_Object_VG. This is a new Evas_Object that provides a vector graphics
scene graph following the SVG specification. It will be considered a bug if some
behaviour does not follow the SVG standard. Evas_Object_VG provides 3 kind of objects
for now: shape, as well as linear and radial gradients.

Apart from the authors you will see with git, two big thanks need to
be mentioned here. First special thanks goes to Jorge Luis "turran" Zapata who has been
developing his own vector stack: http://enesim.org/ since a long time now and
shared his technical advice and also strongly influenced the design. We evaluated
the possibility to include enesim in the EFL, but that wasn't really possible, sadly.
Another thanks goes to Jose O Gonzalez who supported and answered a lot of my
questions and helped me a lot, too.

EModel (BETA)

Efl.Model is an attempt to provide a data model as in the M of MVC to the EFL core.
A first implementation and example is provided as a Eio.Model. This, together with
some patches in Elementary, should provide a fully asynchronous and fast modern MVC
system for the EFL.

The API has been in review since last summer, but will still only be accessible
with EFL BETA API and EO for now. More data models should come in the future.

Eo / Eolian

Eolian now supports parsing of @nullable and @optional args on function
parameters and is able return the class from a function and determine if a
function is implemented.

Eo remove some GCCism and make it more portable to work with other compilers.

EvasGL

Together with a lot bug fixes Evas GL got support for 3.0 and automatic
fallback to indirect rendering when the scene has not changed.

Evas

The gl_x11 Evas engines gained support for the TBM native surface type (for Tizen)
as well as support for bitmap embedded color fonts.

Ecore_Evas

With eetpack we added a small utility for packing files (images) into eet files.

Edje

Edje received many updates for its edit capabilities, especially around box and
table. It also received 3D camera properties in edje_cc, colorclass updates, zoom
effects for map and more.

Ecore DRM

Many new features and bug fixes have been put into ecore_drm this cycle while its
usage in the Enlightenment Wayland compositor is progressing. Functionality as
been added to support DPMS on outputs, setting output, marking framebuffers as
dirty, disabling an output, ouput EDID parsing as well as support for libinput 0.8
and higher.

Unit Testing

We improved out test coverage from 38.5% to 39.3% during the 1.14 release cycle. This does
not sound much but given the size of our code base and the amount of new code added
even a small increase of 0.8% coverage is a good step forward.

Elementary

Elementary got mostly fixes but also some new things all over the place. New features
including animated and accelerated wheel in scroller, enhanced Drag and Drop support with
Wayland, a colorclass editor, async image loading, improved atspi support in widgets,
long pressed support in multibuttonentry and a config option to automatically show/hide
focus. For more details please have a look at the Elementary NEWS file or the git log.

Portability

Windows and MacOS X fixes all over the place. Besides build and runtime fixes we
also improved the cocoa Evas enignes and switched the Windows specific thread
implementation to rely on posix compliant library instead.


Statistics

EFL

(git log --pretty=oneline v1.13.0..v1.14.0 | wc -l)
Number of commits: 1269

(git shortlog -ns v1.13.0..v1.14.0 | wc -l)
Number of authors: 77

(git diff --stat v1.13.0..v1.14.0)
953 files changed, 77227 insertions(+), 99641 deletions(-)

(git shortlog -nse v1.14.0-beta1..v1.14.0)
Top 5 committers in the stabilization phase:

54  Jean-Philippe ANDRÉ <jpeg@videolan.org>
29  Cedric BAIL <cedric.bail@free.fr>
27  Christopher Michael <devilhorns@comcast.net>
16  Mike Blumenkrantz <zmike@osg.samsung.com>
 9  Tom Hacohen <tom@stosb.com>

Elementary

(git log --pretty=oneline v1.13.0..v1.14.0 | wc -l)
Number of commits: 313

(git shortlog -ns v1.13.0..v1.14.0 | wc -l)
Number of authors: 51

(git diff --stat v1.13.0..v1.14.0)
224 files changed, 11870 insertions(+), 3366 deletions(-)

(git shortlog -nse v1.14.0-beta1..v1.14.0)
Top 5 committers in the stabilization phase:

7  Stefan Schmidt <stefan@datenfreihafen.org>
6  Mike Blumenkrantz <zmike@osg.samsung.com>
5  Amitesh Singh <amitesh.sh@samsung.com>
5  ChunEon Park <hermet@hermet.pe.kr>
4  Andrii Kroitor <an.kroitor@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.)
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 the 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 6 2015, 7:26 AM
Projects
None
Subscribers
None