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