[compiz] Compiz 0.9.0 is Released!

Sam Spilsbury smspillaz at gmail.com
Sun Jul 4 02:12:35 PDT 2010

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:

* 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
* 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
* 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
* 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

* 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

* 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

* 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

* 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

* CMake buildsystem

* Distutils buildsystem

* 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

More information about the compiz mailing list