Server crack:
The first few days of 2007 were marked by an unfortunate incident. An attacker, member of the Compiz community, obtained access to the Beryl mySQL server through phpMyAdmin, using a password he found in an unprotected configuration file that had been available to public access during a few hours at the moment of the hard drive crash. Once access was gained the attacker dropped all of the databases, including Beryl blog, wiki, developers blogs, and some non Beryl related data. Thanks to a good backup policy, we managed to recover most of the lost data, including even the latest changes thanks to mySQL binary logs. Despite this the attack represented a time sink to the Beryl team and an unfortunate example of aggression at the Beryl project due to long seated hostilities. Based on IRC logs from freenode.net channels and access logs from the forums and web server the attack was quickly traced, and confessed after contact with Compiz community leaders and an announcement on our front page. Beryl has decided not to seek legal or financial recourse understanding that everyone makes poor decisions at times. The attacker sent an apology, including a
description of his motives.
On January 4th 2007 I gained access to phpmyadmin on the beryl servers from passwords I had found on the site previously. I deleted several databases related to the wiki, blog and some personal data.
I did this because of frustration I felt over the beryl project, I felt that some mis-information was spread about compiz particularity the reasons for the fork. The trigger was some of the jokes/comments I read on IRC.
I have let down both the compiz and beryl community and I apologize greatly for that and I will be stepping down as the compiz forum administrator. It is also important to note that my actions don’t reflect the beliefs of the compiz project and are certainly not condoned by them. I hope compiz and beryl can work better together in future.
As of now Beryl considers the issue largely closed. We would like to thank the compiz community (in particular imnotpc) for working with us to ensure the incident caused a minimum of a PR mess for both projects. The Beryl team hopes that this can serve as an example of the ends of the meaningless and petty FUD exchanged between the two communities; BOTH WAYS.
0.1.5 - 0.2.0-beta1 - 0.1.99.2 - What is all this? :
As many of you are now aware the 0.1.5 release as planned in the roadmap was supplanted by the 0.2.0-beta1 release. Due to the merging of several new plugins, such as Group with Tabs, and Thumbnail the Beryl team felt this release could be considered unstable compared to past releases and chose the 0.2.0-beta1 version to make this point. However this release (as many of you are also aware) was not error free, with issues ranging from version numbering, dependencies, and python versioning we felt it would be beneficial to push a 0.2.0-beta2 release as soon as possible
to fix some of the oversights. Part of this was the adoption of a new naming scheme (hence 0.1.99.2), .99.x is the xth beta, and .9999.x is the xth release candidate. This will be continued in further releases.
Reorganization:
Due to the afore enumerated issues with the 0.2.0-beta1 release Beryl has begun a process of reorganization to not only ensure the smoothness of future releases but also make general improvements to better improve the flexibility in event of unforseen issues.
New release policy:
Preliminarily we have established several new release protocols:
A team member from Plugins, Core, and Settings will sign off each module as technically ready for release, with no outstanding showstopper bugs, stability problems, or other pressing issues.
A majority of the release team will certify the tarballs build, run, ensure upgrading goes smoothly, and help the maintainers for various distributions to have correct dependencies.
For large releases branching will be done 2 days before release to prevent last minute issues from delaying the release. Further bug fixes and updates will be merged on a case by case basis.
Artwork will be ready 1 week before release.
If a release is delayed by more than a day it will be delayed by at LEAST 3 days to give a chance for developers not to miss the release.
Team changes:
During the process of reorganization the decision was made to reorganize and trim the Beryl teams in an attempt to increase effectiveness. Teams such as the blog team have been folded in, and a public relations team added. The Beryl council we be expanded from 3 to 5 members, and will
hopefully assume a more active role in the decision making process.
Bug tracker changes:
Bug tracker will now be followed by team leaders, assigning and triaging bugs on a daily basis. Please make sure to select the appropriate component and report type to ease their task, and check twice if the bug hasn’t already been reported, solved, or is not a fully driver/platform related problem.
New modules:
Upcoming for 0.1.999.1:
beryl-extra-plugins:
In the hope of encouraging development and distribution of new plugins while still maintaining a solid and usability focused core release the decision has been made to to create a beryl-extra-plugins module to host plugins too niche or new for inclusion in beryl-plugins.
beryl-extra-artwork:
Due to user demand for pleasurable snowflakes, cube caps, and skydomes we have decided to distribute a beryl-extra-artwork package.
Featured in 0.1.99.1
beryl-settings:
The former beryl-settings had become a real mess, requesting several clicks to access options due to the addition of plugins categories, options tabs and so on. Consequently, beryl-settings was rewritten from scratch, taking advantage of the new Python bindings to libberylsettings, and based on user mockups, mainly Franz Rogar ones. Bindings are now separated from the rest of the options. Screen Edge bindings have also gained their own usable section.
beryl-settings-simple:
Alongside the new beryl-settings, beryl-settings-simple is a very simple and straight forward tool to configure Beryl : a simple slider allows you to choose the effects level, from a very light mode to a heavy amount of enabled features. Hotcorners configuration, animations, cube caps, skydome and three toggle options, are all featured in an attempt to enable quick and easy configuration of common settings for the non power user.
General development news:
This will not be a TWIB as far too much has happened to enumerate small details as a TWIB, but hopefully it covers large development items in a very broad fashion. Many things will likely be missed.
Plugins:
Creation of thumbnail plugin: The thumbnail plugin displays thumbnails (who would have guessed?) of windows when their taskbar location is under the mouse. Compatible with multiple taskbars and visually appealing, thumbnail adds a useful and visually appealing usability enhancement to Beryl.
Rewrite of trailfocus plugin: A rewrite of the trailfocus plugin using the new window attributes system has resulted in a more stable, less resource intensive, and more compatible trailfocus plugin.
Group with tabs: Group with tabs is also new in this release featuring the ability to group windows such that they can be interacted with in unison. Furthermore the windows can be ‘tabbed’ and the current window changed by selecting a thumbnail. Thumbnails can be dragged and dropped from group with group, and tab switching features an appealing animation. Group with tabs is a large work by 3 developers and represents a significant
investment of effort.
Creation of text plugin: A plugin has been made in branches to explore the idea of ‘library’ plugins that act to provide utility to other plugins. In the future support will be added for this in core.
Creation of snap plugin : Already featured by wobbly plugin, edge resistance and attraction is now available outside wobbly, in a cleaner and more configurable fashion : edge attraction is optionnal, and snapping can be restricted to either windows or screens edges.
Core:
WRAP/UNWRAP replacement: In branches a WRAP/UNWRAP replacement featuring doubly linked lists of procs, removal of procs by plugin, the ability for a plugin to remove and reinsert itself from execution, and the ability for a plugin to see the ‘bigger picture’. Exists and works to a large degree. Finishing this and merging it for the 0.3.0 release is a priority as it enablesa wide variety of new possibilities for plugins.
New locking based attribute system: Window attributes (opacity, saturation, brightness) are now modified via a locking based system enabling better interaction with other window managers, greater effeciency of attribute modifying plugins, and in the future user configurable priorities for plugins ‘lock’ over an attribute has been implemented and plugins have been modified to use it.
While more a part of libberylsettings than core a GConf settings backend has been implemented and is largely functional. It is hoped that it will be finished within a few days and be usable for the 0.1.9999.1 release. Integration will be created with metacity keybindings enabling Beryl to seamlessly drop in to a GNOME desktop with a minimal number of issues for new users.
All of beryls settings functionality now exists entirely in core enabling more effective management of settings. Ranging from storing active plugins on a plugin by plugin basis to simplifying plugin dependencies this represents an architectural improvement for Beryl.
Authors: (thanks guys!)