The Aegir team is very pleased to announce the first official stable release of Aegir - 1.0. While it's been a mostly "open secret" that most of our releases are production ready, this one has been tested through no less than 15 alpha releases, 2 beta releases and 7 release candidates, for a grand total 24 test releases before we deliver this stable version.
Speaking of open secrets, here's a word from our founder, Adrian Rossouw:
The Aegir 1.0 release marks the end of my association with the Aegir project, as I am officially stepping down as project leader, handing the reins to Antoine, Miguel and the rest of the team.
Nearly 8 years ago, I left my job to help found Bryght, one of the first Drupal service companies, with the intention of building a hosted service with Drupal. I had a dream, and that dream was called "hostmaster". Over the next several years, the system I developed to accomplish this dream evolved into Aegir.
I started the Aegir project, in it's current form, out of a desire to ensure that my dream would be able to survive beyond my ability to dedicate myself to it. The very fact that I am writing this is evidence that it has succeeded beyond my wildest dreams.
Aegir is bigger than just one person, and I am incredibly happy and proud of the progress made, so I feel completely comfortable leaving you in the hands of my very capable co-maintainers.
Thank you to everybody for their support, and I wish nothing but the best for the project and it's future victories!
And thank you, Adrian, for this great project you have given to the Drupal community, it means a lot to us!
Now onto the release. This actual release isn't much different from the previous release candidates - you can see the list of changes from the previous RC7 release at the end of those notes. However, since this is our first major release in a long time, we figured it would be important to outline how things have changed since the old days of 0.3. For those of you who weren't there, back then installing Aegir was hard. There was no "clone", no SSL, no multiserver. You had to migrate sites one at a time and you had to create platforms yourself (no drush make!). We were still using CVS.
With 1.0, we have multiserver support, Debian packages, DNS, we're using git, drush make and we have a very dynamic community of users and shops using the project. We have ambitious goals for 2.0 and we're eager (pun intended) to start moving again! So if you were waiting for Aegir to be stable, easy to install, production-ready, now is the time. The 1.x branch will be well supported as a lot of shops are running it in production already. What are you waiting for?!
1. Major changes in this release
Since our last stable release (0.3) in august 2009, we've done an incredible amount of work. The code size nearly doubled as the development team and user base, although we don't clearly know yet how many installs there are out there.
We can already say that we've been pretty successful at fulfilling our release goals for 0.4 and the 1.0 roadmap. Even though we're missing bits and pieces, especially in DNS, and multi-server support is not as robust as we'd like it to be, there's still space for improvements and bugfixes in the 1.x branch, and we'll also start on the 2.0 roadmap once this release is out the door.
- Multi-server support
- External and multiple DB support
- External and multiple webserver support
- Webserver cluster support
- Server and services abstractions
- Master zones created on the fly with sites
- Manual modification allowed through the provision-zone command
- Slave servers
- Support for Bind and dnsmasq
- SSL support
- multi-domain/wildcard support
- use of HTTPS can be enabled or required
- Migration improvements
- Batch migrations
- Site migration fixes your body and teaser for sites/community.aegirproject.org/ changes
- No more rebuilding the whole node_access table
- Site rename support
- Inter-profile migration
- Ignoring site-specific modules so that mass-migrations are easier
- Improved task management
- Limit how many tasks run at a time
- task revisions and timing
- canceling tasks
- possibility of queuing tasks from the backend
- Improved platform management
- Automated platform creation through Drush makefile or even a URL
- access control and locking
- platforms are stored in ~/platforms
- Site management improvements
- Named backups
- Password resets
- Inter-site security (storing passwords outside of settings.php AKA cloaking)
- stopped hardcoding page cache
- bulk operations
- Views support
- local.settings.php overrides
- backup file size
- .htaccess customization
- Clean database names and users (instead of site_X)
- Other improvements
- Install and upgrade process improvements
- Aegir can upgrade and install itself, no need to go through the frontend wizards in install.php or upgrade.php
- Remote DB server support for installs and upgrades
- Debian packages -
apt-get install aegir
- The Aegir install went from being a known nightmare to a total breeze, with 46 seconds to 5 minutes install times with the debian packages and 15 minutes installs on manual installs (for unsupported platforms)
- Support for 7 operating systems and counting, we added:
- Solaris support
- CentOS support
- Ubuntu support
- Gentoo support
- FreeBSD support
- ... and that's just the confirmed installation reports, if it's UNIX, it can probably run Aegir!
- Project management
- Migrated to our own git repositories
- ... then migrated back to Drupal.org when they switched to git
- We now have our own OpenAtrium site (this site!) for the community (this means you!) to participate in
- A handbook has been created and expanded to provide solid, collaborative documentation for the project, that anybody can contribute to (it's a wiki!)
- We now have clear maintainers for different sections of the code, with 4 maintainers and counting
- We now have continuous integration with a Jenkins server testing Aegir after commits and also testing the upgrade path
- An explosion of third party modules
2. API changes, documentation, 1.x maintenance policy and 2.0
The API changes since 0.3 are too numerous to list here. However, we are now committed to maintain the whole 1.x series with a stable API. There will be no change in the existing API, although we may add in some stuff if it is really necessary. All future API changes between 1.x and 2.x will be clearly defined so that third party module can be supported.
A documentation initiative has been launched to better document the Hostmaster API. In addition, a dedicated API site (along the lines of api.drupal.org) has been put in place to ease exploring the code-base of the Aegir Project. Much work remains, so you can track progress or help out here.
Major changes to 1.x will not be committed unless they are first tested in 2.0 and merged back. We will however keep the branch opened for documentation fixes and non-invasive changes like performance enhancements and cosmetic changes to the frontend. Major problems and "aegirWTF" may also be corrected in the 1.x branch, after a shakedown in the 2.x branch.
From now on, major development will take place in the 2.x branch, which will be created shortly after this release. The roadmap for that branch is ambitious but we'll tackle things one at a time, again on feature branches for major changes so that even that branch will stay stable throughout its development cycle. We will there keep in making stable alpha releases for your testing pleasure.
3. Installing and upgrading
The canonical source of installation documentation is on the community site at:
In a similar fashion, the upgrade documentation is:
It is still imperative that you read the the upgrade path and version-specific information and follow all version-specific upgrade instructions before trying to run the upgrade script or manual upgrade. This especially applies to users upgrading from releases prior to 0.4-alpha8, including 0.3.
For users coming from the 0.4 betas or recent rc releases, there are unlikely to be any version-specific manual steps required to upgrade, but you should make a habit of reading them anyway just to make sure. No-one likes a nasty surprise!
4. Need help?
If you struggle to install or upgrade your Aegir system, you have a number of options available to you for getting help.
Consult this page for more information: http://community.aegirproject.org/help
Thanks to our awesome community for their help, support and encouragement as always! Enjoy the new release :)
5. New features
Since this is like a release candidate, we tried to limit the changes to this release to avoid breaking too many things, so not many new features. Of course, since 0.3, there are tons (see above) but this is only since rc7.
We did fix a lot of things however, with the upgrade path and the remaining critical issues.
- #1016890: Create Server as cluster is broken after save
- #1093436: hostmaster-6.x-1.0-rc2 won't install - suspected it's due to 5.1.51-MariaDB-mariadb87-log
- #1080130: Batch migrate is broken on Ubuntu 10.04 LTS with PHP 5.3 - expected to be a reference, value given
- #993944: ssl rollback failure
- #1121406: RC6 upgrad.sh fatal issue
- #1027358: Set a variable in settings.php so that modules can check whether the site is in Aegir
- #1123224: api.aegirproject.org not updating
- #1122942: aegir.make is broken in 1.0-rc6
- #1123276: Debian pkg: /var/aegir/config is not owned by aegir
- #1115768: Aegir need help with vbox DNS settings
- #1123176: Usage of
tempfilein upgrade.sh.txt breaks CentOS compatibility
7. Known issues
Being really open about our project, we have never hidden the fact that some things, sometimes, do not work in Aegir. Our issue trackers are public, and we've made it a point of honor not only to document clearly what is wrong in our releases as soon as we find out about it, but also to reroll new releases when we fix it.
That being said, 1.0 suffers from a number of significant issues and design flaws. This is the list of all issues marked "major" in the queue right now. Some of those issues can be fixed within the 1.x branch, some can only be fixed by refactoring, and so they will be fixed in 2.x.
- #922252: DNS has no access control - anybody can create any zone (2.x)
- #762138: Design security issue with developer access to sites' modules and themes (2.x, maybe merged in 1.x if no API change)
- #1081536: Platform verify doesn't rollback apache config file (2.x)
- #1004526: Aliases are not persisted across rename and clone (2.x, maye be merged)
- #1126638: two sites can take the same server IP for SSL (2.x)
- #1111254: The Aegir API is not fully documented (1.x)
- #1081528: moving sites/all modules breaks migration
- #955854: site can be very slow with huge number of platforms and packages (2.x, may be merged, see also #1067688: bulk operation forms are too slow with thousands of packages))
- #1001620: verifying an existing platform (and site) doesn't always work the first time (1.x, hard to reproduce)
- #908314: Deleted sites cause node alias to 404 on refresh (1.x)
- #922258: update DNS records on inter-server migration (2.x, may be merged)
- #894046: language dialog should be a drop-down, not radios (2.x?)
- #941870: failure to copy SSL certificates should abort tasks (1.x)
- #922266: rollback support in DNS (1.x)
- #1128596: version numbers in the Hostmaster issue queue are wrong (1.x, will be fixed once Drupal.org wakes up)