Releases: geerlingguy/drupal-vm
3.0.0 "The Light Sailer"
Read the Drupal VM 3 announcement blog post.
Drupal VM 3 is here! There are some amazing new features no matter what kind of developer you are. Here are a few of the highlights:
- Teams can commit a shared
config.yml
, then individual developers can override specific settings inlocal.config.yml
- Projects can store Drupal VM in a subfolder, but manage the VM in the parent directory.
- The default configuration includes PHP 7 and MySQL 5.7 running on Ubuntu 16.04 (other OSes and versions still supported - see PHP 5.6 documentation).
- Drupal VM is on Packagist! - you can include Drupal VM as a dependency of your project
- You can now run custom pre/post provision Ansible tasks and/or shell scripts.
Breaking changes
- Some new defaults (e.g. PHP 7 or upgrading to Ubuntu 16.04) require a full box rebuild (
vagrant destroy
andvagrant up
) - Requirements: Vagrant 1.8.1+, VirtualBox 5.0.20+, and (if using Ansible installed locally) Ansible 2.0.1+.
New variables in config.yml
vagrant_box
now defaults togeerlingguy/ubuntu1604
(wasgeerlingguy/ubuntu1404
)drush_makefile_path
is now"{{ config_dir }}/drupal.make.yml"
(to support Drupal VM in a subdirectory)memcached
,xdebug
, andxhprof
are now commented frominstalled_extras
by defaultextra_packages
now includessqlite
by defaultphp_version
is now"7.0"
Improvements
- #522: Add SQLite support to Drupal VM.
- #455: Add support for local.config.yml.
- #608: Automate
ansible-galaxy
role installation (requires Vagrant 1.8+). - #609: Default to Ubuntu 16.04, PHP 7, and MySQL 5.7.
- #616: Update Travis CI automated tests to test on Ubuntu 16.04 in addition to other OSes.
- #618: Use latest stable Drupal 8 release instead of working-copy (git clone) by default.
- #633: Support custom pre/post provision Ansible task files.
- #378: Decouple Drupal VM from it's existing directory so it can be managed in other directories.
- #378: Add a composer.json (Drupal VM is on Packagist!)
- #526: Added Blackfire.io support (PHP 7 or 5.x).
Bugfixes
2.5.1 - Stable PHP 5.6
This will be the last major release of the 2.x series—this version locks in all the Ansible roles at a stable version compatible with 2.5.1 / PHP 5.6 / Ubuntu 14.04 (or any of the other supported options).
The next release of Drupal VM will switch a lot of defaults with a few backwards-slightly-incompatible changes. PHP 5.3/5.4 will no longer be supported, and support for Ubuntu 12.04 will become 'best-effort' only.
2.5.0 "Magic Landings"
This release is aptly named, since many Drupal VM users and contributors have 'landed' in NOLA for DrupalCon, for this last major release in the 2.x series, and are helping plan the next major release (3.0.0) at a BoF!
There are many small new features in this release, but there should be no breaking changes. There are a few new variables available in config.yml, so please read through these release notes when upgrading Drupal VM!
Note: If you haven't updated your configuration since before Drupal VM 2.2.0, be sure to read through the 2.2.0 Release Notes for some important information.
Changed default variables in example.config.yml
installed_extras
now contains two additional (optional, disabled by default) features:blackfire
andnewrelic
extra_packages
is now empty by default (it used to containunzip
in its default state)- New variable:
nodejs_install_npm_user: "{{ drupalvm_user }}"
- New variable:
pre_provision_scripts: []
Improvements
- #573: Support Ubuntu 16.04 LTS Xenial release.
- #587: Add support for New Relic.
- #526: Add Blackfire.io support to Drupal VM.
- #598: Add option for pre-provisioning scripts (similar to post-provisioning scripts).
- #513: Better winnfsd documentation for Windows users.
- #540: Clarify PHP7 requirements.
- #557: Document usage with Arch Linux and other distros with default Python 3 environment.
- #589: Install Apache 2.4 in Ubuntu 12.04 LTS.
- #536: Document the Drupal VM upgrade process.
Bugfixes
2.4.0 "A New Tron and the MCP"
This release contains many small optimizations, and also makes Drupal VM an even better environment for testing all the new performance and caching features included in Drupal 8, specifically BigPipe and Cache Tags. See the following blog posts for some learnings and background information on both features:
Note: If you haven't updated your configuration since before Drupal VM 2.2.0, be sure to read through the 2.2.0 Release Notes for some important information.
Changed default variables in example.config.yml
ruby_install_gems_user: "{{ drupalvm_user }}"
composer_home_path: "/home/{{ drupalvm_user }}/.composer"
New default variables in example.config.yml
nginx_ppa_use: true
composer_home_owner: "{{ drupalvm_user }}"
composer_home_group: "{{ drupalvm_user }}"
Improvements
- #455: Better support for running Drupal VM on DigitalOcean droplets.
- #454: Clarify system requirements.
- #473: Clarify drush alias usage for hosts without Ansible.
- #480: More robust Drush alias generation for virtualhosts in both Apache and Nginx.
- #492, #491: Use correct PHP7 PPA and update docs with full required package list.
- #497: Better Composer support within Drupal VM.
- #515: Support source install of Drupal 8 with
composer install
prior to site install. - #499: Support Debian base boxes (unofficially).
- #519: Ensure Parallels guest tools are installed if Parallels is the VM provider.
- #397: Support Drupal 8 cache tag BAN requests for Varnish/Purge.
- #527, #532: Support and document Drupal 8.1.x BigPipe streaming.
- #531: Use official Nginx repository, default to latest stable release.
Bugfixes
2.3.1
2.3.0 "Miracle and Magician"
This release is aptly named—there are a few new features that I thought I wouldn't see in Drupal VM for a very long time (it's a Miracle they made it so soon), and there's a new collaborator, @oxyc, who has been like a Magician in his uncanny ability to knock out some complex issues in both Drupal VM and upstream roles. If you see @oxyc around, thank him for his incredible level of effort in getting this release out the door!
One of the most incredible new features is a Drupal VM dashboard—after you finish Drupal VM setup, visit the VM's IP address, and you should be greeted with a beautiful new welcome page with all the information you need to get started:
This release also has been thoroughly tested with Ansible 2.x, Vagrant 1.8.x, and various Mac, Windows, and Linux configurations. Shortly after Drupal VM 2.2.0 was released, Vagrant 1.8.x started having problems working with the then-new Ansible 2.0 release when using the ansible_local
provisioner, so for the time being, Drupal VM has switched back to using JJG-Ansible-Windows as a more reliable substitute.
The third major change (thanks in very large part to @oxyc again) is the Dockerization of all Drupal VM testing—instead of just testing for syntax errors, we're now testing everything inside of Docker containers to make sure provisioning doesn't break. Test coverage has gone from about 5% to about 80% with this change. Better tests == better reliability! And we fixed about 8 upstream bugs to get the tests to pass, so double-win!
There is much, much more included in this release, including experimental Drupal VM-on-DigitalOcean support! See the lists below for all the details.
Note: If you haven't updated your configuration since before Drupal VM 2.2.0, be sure to read through the 2.2.0 Release Notes for some important information.
Changed default variables in example.config.yml
drush_makefile_path: ../../drupal.make.yml
drupal_domain: "{{ vagrant_hostname }}"
- Added new dashboard host configuration to both
apache_vhosts
andnginx_hosts
apache_vhosts
were updated to use more generic path configurationsnginx_hosts
were updated to use more generic path configurationsproxy.load
andproxy_fcgi.load
were added toapache_mods_enabled
drush_version: "master"
New default variables in example.config.yml
dashboard_install_dir: /var/www/dashboard
Improvements
- #438: Add documentation for SSL configuration.
- #320 / #404: Add a dashboard.
- #412: Add Docker-based multi-platform tests.
- #445: Switch back to JJG-Ansible-Windows for more stability than
ansible_local
provisioner. - #451: Add support for vagrant-hostmanager plugin.
- #401: Add support for sourcing a local Vagrantfile.
- #84: Make Drupal VM prod-ready (with a DigitalOcean guide).
- #454: Add minimum system requirements.
- #433: Add alternative WinNFSD documentation and mention Cmder.
- #352 / #440: Update docs on tools that integrate with Drupal VM.
- #410: Use vagrant hostname instead of machine name for servernames.
- #400: Use Vagrant 1.8 linked clonse feature for VirtualBox.
Bugfixes
- #357: Update README and other documentation.
- #426: Check for post-provisioning scripts before attempting to run them.
- #427: Use
php_fpm_listen
variable in Nginx server template. - #413: Update PHP 7 configuration documentation.
- #408: Skip drush aliases for development tool hosts and fix drush aliases for nginx.
- #405 / #379: Set drush_version explicitly to a string.
- #379: Add proxy and proxy_fcgi modules to example config.
- #394: Fix paths for special domains.
- #381: Update xhprof docs to mention disabling xdebug.
2.2.1
Please be sure to read the below note, copied verbatim from the 2.2.0 release notes. This release is a bugfix-only release to fix a few small issues that cropped up as a result of switching Drupal VM from defaulting to mod_php to PHP-FPM with Apache.
New variables in config.yml
- Important: If you're using Apache, make sure you add a
ProxyPassMatch
parameter to each Drupal or PHP vhost, for example:
apache_vhosts:
- servername: "{{ drupal_domain }}"
documentroot: "{{ drupal_core_path }}"
extra_parameters: |
ProxyPassMatch ^/(.*\.php(/.*)?)$ "fcgi://127.0.0.1:9000{{ drupal_core_path }}"
FastCGI is not supported on CentOS 6, so If you're using the geerlingguy/centos6
base box, there is no need to add the extra_parameters
. Note that CentOS 6 and Ubuntu 12.04 support are both slated for removal sometime later this year, see #376.
2.2.0 "Wormhole"
This release adds a few great new features (like Redis support, FastCGI with PHP-FPM for Apache, and optional custom post-provisioning scripts). This release also requires one change to your configuration if you're using Apache, and you need to be sure to update all your roles if you have Ansible installed on your host machine: sudo ansible-galaxy install -r provisioning/requirements.yml --force
. Read on for details!
New variables in config.yml
- Important: If you're using Apache, make sure you add a
ProxyPassMatch
parameter to each Drupal or PHP vhost, for example:
apache_vhosts:
- servername: "{{ drupal_domain }}"
documentroot: "{{ drupal_core_path }}"
extra_parameters: |
ProxyPassMatch ^/(.*\.php(/.*)?)$ "fcgi://127.0.0.1:9000{{ drupal_core_path }}"
FastCGI is not supported on CentOS 6, so If you're using the geerlingguy/centos6
base box, there is no need to add the extra_parameters
. Note that CentOS 6 and Ubuntu 12.04 support are both slated for removal sometime later this year, see #376.
Improvements
- #346: Switch Apache to use FPM instead of mod_php.
- #289: Add Redis as optional install.
- #278: Make Drupal Console install optional.
- #174: Add ability to provide custom shell scripts to run after provisioning, with Solr config example.
- #332: Update documentation for running PHP 7.0.0+ on Drupal VM.
- #344: Document unsupported PHP extensions for PHP 7.
- #293: Add support for overriding any synced_folder option.
- #356: Allow override of default /vagrant synced folder type.
- #355: Use new ansible_local provisioner included with Vagrant 1.8.0+.
- #363: Document xDebug NetBeans Configuration.
Bugfixes
2.1.2 "We've Got Company"
This release is aptly named—up until 2.1.1, I've been developing and testing Drupal VM on only a Mac OS X workstation, so many issues that were found on Linux and Windows-based workstations had to be fixed by the community, and I couldn't test the fixes myself! Now I have a Lenovo T420 with three SSDs, with Windows 10, Fedora 23, and Ubuntu 15.10, so I can test across four platforms myself!
New variables in config.yml
None.
Improvements
- #234: Added ansible task which copies known_hosts file from host to guest.
- #279: Updates to examples and syntax highlighting fixes in docs.
- #281: Better documentation of rsync options for synced folders.
- #290, #291, #297: Vast improvements to Windows docs (Jeff finally has a Windows laptop to test with!)
- #308: Add .idea and .project configs for editors to .gitignore.
- #331: Update docs based on the fact that PHP 7.0.0 has been released!
Bugfixes
2.1.1 "Only Solutions"
New variables in config.yml
None.
Improvements
- Started naming releases after songs from Wendy Carlos' 1982 soundtrack from Tron.
- Added Nginx security configuration for https://www.drupal.org/node/2508591.
- #232: Add better PowerShell documentation for Windows.
- #235: Add better Git documentation for Windows.
- #248: Use YAML for requirements file.
Bugfixes
- #260: Revert previous addition of port number in drush aliases (was causing issues for some).