GNOME 3590 Published by

Clutter 0.4.0 has been released



Clutter, the OpenGL-based library for creating fast graphical user interface, has finally got a stable release!

the Clutter 0.4.0 suite is composed by the following C libraries:

clutter 0.4.0 - core library
clutter-gst 0.4.0 - GStreamer integration
clutter-gtk 0.4.0 - GTK+ embeddable widget
clutter-cairo 0.4.0 - Cairo texture

and by the language bindings:

clutter-perl 0.401 - Perl bindings
pyclutter 0.4.1 - Python bindings

if you haven't been following SVN and the 0.3 development series, then the amount of changes from the last 0.2 release is quite staggering:

* multiple backends support
+ glx, egl-x, egl-native, sdl
+ gl or gles support
* better responsiveness for events and redraws
* timeline pools
* container and layout interfaces
* simple layout actors
* BGRA and YUV support in textures
* new ClutterBehaviour implementations
+ bspline path
+ ellipse path
+ depth
+ rotation
* stage perspective and and per-actor projection corrections
* initial work towards unit-independent positioning
* new simple, implicit animations API
* entry actor
* dpi setting from the system is honoured
* new video sink GStreamer element

plus bug fixes, platform-specific additions and documentation improvements.

the bindings have been completely refactored and now both the Perl and Python bindings wrap the add-on libraries, as well as the core library now.

starting from today, we've branched the SVN repository: all the work on the stable libraries and bindings will go into the relative branch, and the development work will continue on trunk, which has been bumped up to 0.5.0 to prevent conflicts when installing and compiling. as first new feature of the 0.5 development cycle we have a thread-safety model similar to the one used by GDK; it needs more testing, but we are positive that it can be backported to the stable branch.

if you want to have a look at the feature planned for the next stable release, 0.6, have a look at bugzilla, searching for the open bugs with target milestone set as "0.6"[1]. obviously, this is just the beginning.

for more information, check out Clutter development's blog:

http://www.clutter-project.org/blog/

which lists all the branches and all the features.

have fun with Clutter!