The Aegir team is pleased to announce the first preview release (alpha) of the Aegir 2.x branch, after almost 2 years of development. We have been pretty busy with the maintenance of the 1.x branch, so development has been sometimes intermittent, but it is not over yet!
This release is only a first of a series of alpha releases that are tailored to make upcoming changes available to a wider audience than people ready to install from git, but also to make features more widely available and tested. More alpha releases will be published on a more regular basis in the weeks to come as more features from the new provisional roadmap are implemented. We are still considering the following:
We have set the following priorities:
- subsite support (#705026) - now that mig5 did most of the work ;)
- nginx cleanup (#1635596, #1635622, #1622846, #1635586, #1608910) and Nginx Debian package (#1348560)
- files/ sync settled (#1083366)
SSL code cleanup (#941870, see also this report)- done! Now onto testing and fixing the actual bugs linked from #941870
We would like to get those in 2.x, but since no one has really started significant work on those, we are more likely to simply postpone those to 3.x at this point.
- standard archive support (#1138882, original roadmap description)
- intersite security (the infamous #762138)
- more intelligence in spokes (original roadmap description)
Also, since every single attempt at providing a proper timeline for the final 2.0 release has failed miserably, we'll just stop trying our luck and just give up on a formal timeline. Instead, we'll just do the freaking work. :) Also remember that the port to Drupal 7 has been postponed to Aegir 3. Aegir 1 and 2 both support provisionning Drupal 7 sites, but the frontend is running Drupal 6. We are aiming for a "straight port" (no rewrite) of the frontend for Aegir 3.
1. Major changes
This first alpha already packs a lot of changes. Those release notes detail the changes since the 2.x branch was first created, all the way back two years ago, when 1.0 was released. Of course, we are not detailing all the changes made in the 1.x series that are all part of the 2.x, but only the changes specific to the 2.x release.
- SSL improvements:
- IP allocation was moved to the backend to the frontend
- SSL certificate generation now has saner defaults (e.g. 2048bits)
- better error handling
Drush 5 support
- includes better support for archive-dump command
- means we also drop the dependency on drush make 2.3, now included in Drush 5
- support for Drush 4 has been dropped, the minimum version is now 5.5
Debian package improvements and changes
- Nginx support in the Debian package
- now a "native" debian package
- package name changed: it is now
aegir-provision2, etc, to avoid overwriting the previous package - note that aegir 1 and 2 can not be installed in parallel
- Nginx improvements:
- fixed support for nginx 1.3 and newer
- better defaults for caching
- SSL and Nginx are now officially supported (not marked as "experimental")
- New modules:
hosting-queue-runnermodule is now merged into core as
- "pack" module, designed as a lightweight replacement to the "cluster" module, now available as an experimental extension
- Hosting-queued improvements
- run with a lower priority ("niced")
- improved portability and reliability of startup script
- enabled by default in the Debian package
- Code refactoring and improvements:
- now using the Symphony autoloading code
- fix coding style in a lot of source files
- improved builtin test suite
- eldir is split in its own module again, allowing for porting it more easily to Drupal 7
A more detailed log of bugfixes and improvements is available below.
2. Major API changes
Those changes are, as usual, more explicitly documented in the upgrade path documentation.
- hosting-task now needs a
--forceargument to run a non-queued task
- functions that were deprecated in 1.x are now removed
client_emaildatabase fields are now removed from client and site node types
- numerous changes to the IP allocation and SSL management code
Please note that the 2.x API is still not considered stable and may change without warning until 2.x is fully stabilized, see our release process for more information.
3. Installing and upgrading
The canonical source of installation documentation is on the community site at:
In a similar fashion, the upgrade documentation is:
Note that you should upgrade to the latest 1.x release (currently: 1.9) before attempting the upgrade to 2.x. This is especially important if you are running a pre-1.0 release (poor you!).
It is still imperative that you read the upgrade path and version-specific information and follow all version-specific upgrade instructions before trying to run the upgrade script or manual upgrade.
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. Features and improvements
In addition to the "major changes" mentioned above, the following should also be noted.
- #1830994: Login directly via 'login' link
- #1853588: Sort Install profiles on Site add form
- #709862: Allow drush modules to add to apache vhost config template
- #1861896: Make $type argument of function hosting_available_tasks() optional.
- #1843198: Add Content top and bottom to Eldir.
- #1826074: Add tests to ensure site directories are migrated
- #1464220: Support alternative 'Hostmaster' profiles
- #610040: Add X links on listing pages
- #710834: notify clients on site migrations
- #1260066: Allow use of the working copy option when creating a platform
- #1047992: exportable backups
- #1189556: Pull the queue runner into Aegir 2
- #1408410: Add microcaching to Nginx config by default
- #1138104: Tiny module to automatically fill in platform publish path based on title
This is a non-exhaustive list.
- #1735174: server verification fails after configuration on pack slave servers
- #1798252: reload hosting-queued on upgrade
- #1898260: platform form should allow editiong if platform is not verified
- #1435098: Client name validate sometimes gives erroneous results
- #1591720: Illegal choice when selecting sites to verify
- #1587232: All radios labels in forms use incorrect vertical-align property value (middle)
- #1218130: checking "Hide platforms with non-default profiles" breaks D7's minimal and standard profiles
- #1227954: hosting_quota lacks a feature.module_name.inc
- #528064: h2 bigger than h1 in content
- #460974: improve queue admin form
- #1855486: Patch to Remove some Notices
- #1881868: SA-CONTRIB-2012-080 hasn't been applied to 6.x-2.x
- #1873384: 'Silence warning' commit broke 6.x-2.x
- #1843078: aegir 2.x debian packages fail to install
- #1829430: drush hosting-tasks broken
- #1146014: A user can see sites that don't have a client associated.
- #1256508: path aliases for deleted sites are not deleted
- #1249892: Checkboxes on provision page not aligned
- #941870: failure to copy SSL certificates should abort tasks
- #1334950: permissions on /var/aegir/config/server_NAME/SERVICE prevents access
- #1471928: provision-save: Unknown options: --context_type, --platform, --server, --db_server, --profile, --client_name, --aliases
- #1751006: Make is called incorrectly
- #1750974: Unable to pass working-copy or backend-only to hostmaster install
- #1204990: Drop old database when re-deploying a site.
- #1734500: Can't run tests with Drush 4.6
- #1433406: Make hosting (specifically hosting-dispatch) work with Drush 5
- #1690472: Declaration of Provision_Service_null::__call() should be compatible with that of Provision_Service::__call() null.php:27
- #1266484: Cannot verify Drupal 7.8 with PHP 5.2
- #1612044: upgrade from 1.7 to 2.x fails because of drush 5 command file cache
- #1358768: 6.x-2.x generates multiple Undefined property errors on hostmaster install
7. Known issues
The Debian packages were not uploaded correctly on the release day, and have been unblocked only on 2013-12-12 14:45 (UTC-5).