Aegir 3.8

The Aegir team is proud to announce a new release in the stable 3.x branch!

This release ships with a number of bug fixes and UI improvements.

Please note that we updated the GPG key used for our Debian repository, the following commands help update the key on your system.

curl | sudo apt-key add -
sudo apt-get update

With this release we also introduce a number of new tools to the ecosystem:

Project Description Links Status
Provision Drush commands
Build Status
Hosting Drupal Modules
Build Status
Hostmaster Drupal Install Profile
Build Status
Dockerfiles Docker image definitions. Used for all tests.
Build Status
Tests Behat tests and Travis tools Build Status
Development Environment Local docker-based development environment. Build Status

Drush install from Debian package

We now follow the recommended Drush install procedure again, and use the latest published .phar by default. However, we do make alternative Drush versions available. To install the lastest Drush 6 from composer (as we did prior to Aegir 3.3), you can run the following before installing or upgrading the packages:

# echo aegir3-provision aegir/drush_version string 6.x | debconf-set-selections

Likewise, to use the latest dev build of Drush (not recommended), you could run:

# echo aegir3-provision aegir/drush_version string unstable | debconf-set-selections

Or to ignore Drush during upgrades of the debian package:

# echo aegir3-provision aegir/drush_version string ignore | debconf-set-selections

We are considering packaging Drush separately again:

Installing and upgrading

The canonical source of installation documentation is

Within those sections you'll find step-by-step instructions for performing both manual and automatic upgrade processes.

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.

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:

Thanks to our awesome community for their help, support and encouragement as always! Enjoy the new release :)


Changes to Hostmaster since 7.x-3.7

  • #2734589 by helmo: Bundle two factor authentication - tfa
  • Update ctools and entity module to their current versions
  • refactor travis code
  • Update to the new ctools version

Changes to Hosting since 7.x-3.7

  • #2821365 by neograph734, helmo: Clients cannot create sites because of missing database options
  • #2821366 by neograph734: Hosting or hostmaster should suppress error messages by default
  • #2792991: hostmaster site not re-verified after enabling feature
  • #2811163 by colan: Switch to checking a node's ID via empty() as it may have not been set.
  • Explain the old and new value for hook_hosting_task_update_status()
  • #2730603: Correct options list function
  • refactor travis code
  • #2697179: Only list allowed/unlocked platforms during platform migration.
  • Merge pull request #5 from aegir-project/specify-provision
  • Clone provision using the specified version.
  • #1111254: Document the Hostmaster API
  • reduce loglevel, nothing to warn about

Changes to Provision since 7.x-3.7

  • #2347557 by helmo, gboudrias: Enable the systemd hosting-queued
  • #2757765 by karel010: Incompatible overrides in pack and cluster module
  • #2819021 by colan, memtkmcc: Template cleanup
  • #2731471 by jon-pugh, ergonlogic: Provision backup-delete command is too strict if it doesn't have "backups" passed to it
  • #2762701 by ergonlogic, memtkmcc, helmo: Fix for minor updates, version_compare would give -1 == TRUE
  • Nginx: sync letsencrypt support in vhost.tpl.php (BOA unfork)
  • Nginx: sync letsencrypt support (BOA unfork)
  • Nginx: sync templates
  • Nginx: Sync subdir template
  • Nginx: Sync for ssl_dhparam and ssl_stapling
  • Nginx: Sync SSL server template
  • Nginx: Do not set ssl_stapling on the server level
  • Nginx: Do not set ssl_dhparam on the server level
  • #2768869 by memtkmcc: Nginx fastcgi_cache_valid TTL logic is incorrect
  • Nginx: Improve fastcgi_cache_valid TTL settings
  • Issue: #2791885 Nginx: default FastCGI cache levels value may exhaust all inodes
  • #2820747 by memtkmcc: Nginx - Support for Accelerated Mobile Pages (AMP)
  • #2820486 by memtkmcc: Nginx - do not log media files requests
  • Nginx: Do not hardcode X-Frame-Options header — see #1056
  • Nginx: Fix for the add_header inheritance
  • #2595809 by colan, helmo: Find (d8) profiles without a .profile
  • #2774029 by ergonlogic: Allow services to be disabled
  • #2737785 by ergonlogic: Provide a stable location for Drush overrides
  • #2811377 by bgm: CiviCRM and Nginx: block access to the 'custom' directory
  • refactor travis code
  • #2798127 by memtkmcc: Improve Migrate task reliability with extra sub-tasks and fixes (BOA unfork)
  • #2798129 by memtkmcc: Run extra Verify via frontend during Import task (BOA unfork)
  • #2798147 by memtkmcc: Re-verify @server_master via frontend on migrate (BOA unfork)
  • #2798149 by memtkmcc: Restore client_email option support on hostmaster install (BOA unfork)
  • #2798121 by memtkmcc: Manage extra db GRANT for to allow SSH tunneling for remote SQL access (BOA unfork)
  • #2798143 by memtkmcc: Improve Clone task reliability with extra sub-tasks (BOA unfork)
  • Rename README.txt, to .md
  • #2762701 by ergonlogic, memtkmcc: Set the file mode for local.settings.php
  • #2774487 by helmo, memtkmcc: Fix command name'
  • #2762701 by ergonlogic, memtkmcc: Fix 2.x to 3.x upgrade path.
  • #2774487 by helmo: Document the provision_backup_suffix option.

Changes to Eldir since 7.x-3.7

Changes to hosting_civicrm since 7.x-3.7

  • #2821170 by ergonlogic: Site-specific CiviCRM cron intervals missing
  • Merge pull request #11 from mlutfy/7.x-3.x-phpunit-b
  • Add migration test with extensions, contributions, multilingual.
  • Merge pull request #7 from mlutfy/7.x-3.x-issue2734933
  • Merge pull request #10 from mlutfy/7.x-3.x-phpunit
  • tests: remove custom platform-install and exec drush instead, as for other commands (avoids having to bootstrap drush).
  • tests: improve output management when running exec, avoid weird async output issues.
  • drush_provision_civicrm_tests_run_remaining_tasks: call drush_provision_tests_run_remaining_tasks() from provision_tests (remove code duplication).
  • tests: PlatformInstall: use self::exec(), instead of exec().
  • tests: PlatformInstall: do not build the platform if it's already there (saves time).
  • tests: Command: esthetic log changes.
  • tests: SiteDelete: remove '@' from site alias (it's added later).
  • tests: fix/enable migrate tests.
  • tests: install/migrate: do not delete platforms on tearDown, since building platforms takes a long time.
  • tests: bootstrap: enable display of PHP errors so that we can see PHP errors in Jenkins output when tests run into a PHP fatal error.
  • tests: SiteUtils: refactor code and fix json_decode.
  • tests: Command: add huge drush_log() statements to help reading test output in Jenkins.
  • tests: add basic siteMigrate and upgrade tests.
  • phpunit: SiteInstall: fix function comment.
  • phpunit/installTest: fix class comment.
  • Merge branch '7.x-3.x' of into 7.x-3.x
  • Merge pull request #9 from mlutfy/7.x-3.x-phpunit
  • makefiles: 4.6-D6: patch the file (for drush_civicrm_get_db_spec).
  • install: support non-standard mysql port and workaround CRM-19407.
  • phpunit: fix 4.7d7 install test (profile).
  • phpunit: setUpBeforeClass/tearDownAfterClass: call the parent, for drush includes.
  • phpunit: use setUpBeforeClass/tearDownAfterClass to avoid setup/teardown for each test (platforms only need to be created once). Also added a test for CiviCRM 4.7d7.
  • makefiles: bumping CiviCRM versions (4.6 and 4.7).
  • phpunit: split install test per-version, so that we have clearer results.
  • tests: add
  • phpunit: Command: ignore the mbstring Drupal error.
  • phpunit: SiteDelete: put @ inside the arg, otherwise exec() adds a space between the @ and site.
  • phpunit: Command: ouput the error before throwing an exception.
  • phpunit: Command: drush outputs all status messages on stderr, so look for [error] instead.
  • Revert "Fix false-positive warning on DB updates."
  • phpunit: Command: use Exception (avoid namespace fatal error).
  • .gitignore: add composer.lock
  • phpunit: fix namespacing.
  • phpunit: exec with symfony/process (forgot to add Command.php).
  • phpunit: exec with symfony/process.
  • phpunit: site delete: do not append twice.
  • phpunit: implement site install and delete.
  • Merge pull request #8 from mlutfy/7.x-3.x-phpunit
  • phpunit: installTest: delete platforms in tearDown.
  • phpunit: removed hardcoded hostmaster env vars (was not used), and commented out temporarily install/remove site tests (not yet implemented).
  • Initial support for phpunit testing.
  • Fix false-positive warning on DB updates.
  • Fix for tests: fix d6-default profile name
  • #2734933: only set CIVICRM_UPGRADE_ACTIVE when necessary.

Changes to Hosting Git since 7.x-3.7

  • #2778877: Add reset hard option to git checkout task

Changes to hosting_remote_import since 7.x-3.7


Changes to Hosting Site Backup Manager since 7.x-3.7

Changes to Aegir Hosting Tasks Extra since 7.x-3.7

Known Issues

Our combined issue queues