[compiz] Compiz 0.9.0 is Released!

Compiz 0.9.0 is released!
This is the first unstable release of the Compiz
0.9 series. This release represents a complete rewrite of the 0.8 series from
C to C++, brings a whole new developer API, splits rendering into plugins,
switches the buildsystem from automake to cmake and brings minor functionality
improvements. This release represents the first developer and tester preview of
what will eventually make the 0.10.x stable series. Please note that as such, it
is not yet ready for general use as there are a number of known issues,
regressions and incomplete functionality.
The Compiz 0.9.0 tarballs are available at http://releases.compiz.org/0.9.0/ .
You can verify these tarballs using the sha1sums in
http://releases.compiz.org/0.9.0/compiz-0.9.0.sha1 , which are
signed by Compiz Release Team GPG key (C2B8F46E) at
http://releases.compiz.org/0.9.0/compiz-0.9.0.sha1.asc .
Please note that each component is also available in its own directory in
http://releases.compiz.org/components/ .
Quick changelog:
compiz-core:
------------
* Completely rewritten developer API in C++, using boost and stl to simplify a
number of tasks originally handled in core.
* Reworked plugin function hooking system, where the WRAP / UNWRAP macros
have been replaced with 'smart' function call chains using real function lists
that can have any component turned off at any time to save unneeded CPU cycles
* Rendering framework split into the composite and opengl plugins, the former
making compiz a compositing window manager and the latter performing that
compositing using OpenGL. Such a split will allow new rendering plugins such
as XRender and Clutter to be developed as well as for compiz to run as a
non-compositing window manager
* Added copytex plugin, which re-implements part of the 'copy mode' texture
binding from Beryl. While this is slower, it allows for textures that are
larger than the maximum texture size allowed by the host's OpenGL
implementation
* Added decoration reparenting to the decoration plugin. This will allow compiz
to run with decorations as a non-compositing window manager.
Reparenting support added to both gtk-window-decorator and
kde4-window-decorator
* Added KDE Plugin to integrate with the QT main loop and create a KApplication,
for further integration into KDE.
* Added compiztoolbox library plugin, allows developers to do tedious but
repeated actions in many plugins such as set up the application switcher
window and draw thumbnails of window
* Plugins rewritten in C++ using the new API
* DBus plugin now uses the screen number to identify compiz instance.
This means that scripts which use /allscreens will no longer work.
In general this means that paths have now changed to be
/org/freedesktop/compiz/screen{screen_number}/ ...
In a single instance of compiz, {screen_number} would generally be 0 (i.e
screen0)
* Shape drawing implemented in annotate. Also fixed long standing damage bug
that caused skips in line drawing.
* Added serialization interface to core, which allows plugins to save activity
states on plugin load/unload and through compiz relaunches. The data is stored
in X11 window properties and automatically dropped when relevant X11 resources
are destroyed
plugins-main:
-------------
* Rewritten animations interface; supports object oriented animation
construction, which should further simplify creating new animations
* Switchers support viewing only icons
* Added support to drag windows to edges and have them fill the adjacent side of
the screen
* Plugins rewritten in C++ using the new API
plugins-extra:
--------------
* Added support for automatic wallpaper rotation
* Added edge support to grid plugin so windows can easily be resized by dragging
to an edge or corner
* Plugins rewritten in C++ using the new API
plugins-unsupported:
--------------
* Rewritten elements interface - allows definition of elements in an object
oriented fashion, easily create new plugins that hook into the existing
functionality of the plugin
* Plugins rewritten in C++ using the new API
ccsm:
-----
* Number of buttons increased to 20
* Fixed bug newer gtk exposed where values were not read before destroying the
dialog window resulting in blank entries
compizconfig-backend-gconf:
---------------------------
* CMake buildsystem
compizconfig-python
-------------------
* Distutils buildsystem
libcompizconfig:
----------------
* CMake buildsystem
* Plugins rewritten in C++ using the new API
Please note that there are new build dependencies for this release, including
boost-devel, cmake and cython. Additionally, libboost is a required
runtime dependency.
This is a development release and as such there will likely be bugs. Feel free
to report bugs at our bug tracker at http://bugs.opencompositing.org/. Currently
known issues are:
* Miscompilation with GCC 4.5 resulting in the occasional crash on window
closes or plugin unloads. Please compile with GCC 4.4, or see bug 1308[1]:
for a workaround to compile with GCC 4.5
* Some SDL applications like frozen-bubble and qemu will not display correctly.
Please launch these applications in a window manager like metacity or kwin
first and then switch back to compiz.
Compiz is entirely developed as a volunteer project, and we'd like to thank
everyone who contributed to this release. Translators, testers, the support team
and developers: thank you, your continuous contributions made it all possible.
We hope you will enjoy using Compiz as much as we enjoyed writing it!
- The Compiz Team
[1] http://bugs.opencompositing.org/show_bug.cgi?id=1308
--
Sam Spilsbury