Releases: geerlingguy/drupal-vm
5.0.0 "Flynn Lives"
There are no major architectural changes in this release, which speaks to the current maturity of the Drupal VM platform; instead, this release focuses on updating all the default versions—most especially of the base OS to Ubuntu 18.04 'Bionic'. If you need to remain on Ubuntu 16.04 for now, please make sure you explicitly set vagrant_box: geerlingguy/ubuntu1604
in your config.yml
, or use a version of the geerlingguy/drupal-vm
Vagrant box older than 2.0.0
.
Breaking Changes
- #1881: Ubuntu 18.04 is now the default OS version (and is used in the
geerlingguy/drupal-vm
base image2.0.0
and later)- Ubuntu 14.04 is no longer supported.
- #1874: PHP 7.2 is now the default PHP version
- PHP 5.6 is no longer supported (though you may be able to install it for some time).
- #1885: Node.js 10.x is now the default Node.js version.
- Node.js 0.10, 0.12, 4.x, and 5.x are no longer supported (though you may be able to install some of them for some time).
New/changed variables in default.config.yml
php_version
changed from7.1
to7.2
nodejs_version
changed from6.x
to10.x
Improvements
- #1919: Ran out of songs from original Tron soundtrack; releases shall now be named after Tron: Legacy tracks.
Bugfixes
- #1895: Fixed typo in Drush docs.
4.9.2
Breaking Changes
- Ubuntu 14.04 is still supported as long as the LTS release is receiving security updates, but some functionality may start breaking for Ubuntu 14.04, as more and more upstreams are dropping support for the old Ubuntu version.
New/changed variables in default.config.yml
- #1774:
vagrant_box
was changed togeerlingguy/drupal-vm
. This box is faster to start in all cases, and should work fine even when switching between Apache/Nginx or MySQL/PostgreSQL. You can always override and switch back togeerlingguy/ubuntu1604
or whatever base box you prefer.
Improvements
- #1760: Add test and support for Ubuntu 18.04 Bionic Beaver.
- #1883: Drop 'official-ish' support for using Drupal VM for prod.
- #1851: Remove Ubuntu 14.04 from test suite as more upstreams are dropping support.
- #1774: Switch to default Drupal VM base box for faster provisioning.
- #532: Update BigPipe docs slightly.
- #1619: Add an example of what to put in secrets.yml.
- Updated roles: apache, php-versions, composer, php, java, varnish, elasticsearch, php-pecl, tideways, nginx, security, postgresql
Bugfixes
4.9.1
Breaking Changes
N/A
New/changed variables in default.config.yml
- The Devel module dependency in
drupal_composer_dependencies
was changed from1.x-dev
(which no longer seems to work) to^1.2
.
Improvements
- #1827: Improve Tideways documentation.
- #1589: Add name to Ansible provisioner.
- #1823: Remove Debian 8 CI test, Debian 9 suffices.
- Updated roles: solr, ruby, varnish, nodejs, java, mysql, composer, php, firewall, apache, and many others with fixes for Ansible 2.7+ and linting issues.
Bugfixes
4.9.0 "Creation of Tron"
This release improves compatibility with Ansible 2.4, 2.5 and beyond, and updates almost every Ansible role in Drupal VM.
Breaking Changes
N/A
New/changed variables in default.config.yml
- Removed unused
php_xdebug_cli_enable
variable. - Added
php_xdebug_cli_disable: yes
.
Improvements
- #619, #1720: Add documentation for using Eclipse and Visual Studio Code with xdebug.
- #1552: Better PHP 7.2 compatibility with XDebug.
- #1553: Fix use of deprecated 'include' syntax in Ansible playbooks.
- #1566: Remove unused
php_xdebug_cli_enable
variable. - #1778: Remove Ansible 2.2 compatibility-related tasks.
- Updated roles: selenium, php-tideways, firewall, solr, nginx, drupal console, apache, varnish, postgres, new relic, java, composer, php, mysql, blackfire, elasticsearch, drush, drupal, node.js, php-redis, php-tideways, php-versions, xhprof, redis, security, ruby.
Bugfixes
4.8.1
Breaking Changes
Drupal VM now requires Ansible 2.4+ if you are using the version installed on your host. (Used to require 2.2+).
New/changed variables in default.config.yml
drupalvm_ansible_version_min
is now2.4
. Make sure to upgrade if you're on an older version!
Improvements
- #1701: Ansible required version is TOO DARN LOW!
- #1682: Add documentation for setting up Atom with XDebug.
- Updated roles: git, ruby, apache-php-fpm, solr, security, java, git, php.
Bugfixes
4.8.0 "Tower Music / Let Us Pray"
This release is all about Drush 9. Please read my blog post Drupal VM 4.8 and Drush 9.0.0 - Some major changes for details and more background.
If you have Drush 8 installed on your host machine, primarily use Drush outside of Drupal VM, and don't use a Drush make file, none of the breaking changes should affect you.
Breaking Changes
- Drush is no longer installed inside Drupal VM if you have
drush
ininstalled_extras
. Drush Launcher is installed by default. - The
drush_version
configuration option is no longer used by default. - Drush make files cannot be built with Drush 9+. If you have
drupal_build_makefile: true
in yourconfig.yml
, you must add configuration to install an older version of Drush inside Drupal VM. See the Drupal VM Drush make docs.
New/changed variables in default.config.yml
- Added the following variables to support Drush 9:
drush_aliases_host_template_yml: "templates/drupalvm.aliases.yml.j2"
drush_aliases_guest_template_yml: "templates/drupalvm-local.aliases.yml.j2"
- Removed now-unused variable:
drush_version: "8.1.15"
(Drush Launcher is installed by default inside Drupal VM).
Improvements
- #1672: Upgrade Drupal VM to use Drush Launcher and natively support Drush 9.0.0.
- #1595: Create Drush global aliases that work for Drush 9+ and work outside Drupal VM.
- Updated roles: drush.
Bugfixes
N/A
4.7.2
Breaking Changes
N/A
New/changed variables in default.config.yml
- #1624: Added
beet/box
to list of recommended base boxes (for faster Ubuntu 16.04 provisioning). - #1668: Fixed some comments which had incorrect variable references.
- Updated
drush_version
to"8.1.15"
(was"8.1.14"
).
Improvements
- Updated roles: drush.
Bugfixes
4.7.1
Breaking Changes
N/A
New/changed variables in default.config.yml
nodejs_npm_global_packages
now addsnpm
by default (see #1651).solr_version
is now5.5.5
by default (was5.5.3
).
Improvements
- #1602: Add machine name to dashboard header.
- #1651: Update NPM when provisioning (as per NPM's recommendation).
- Solr default version updated to
5.5.5
. - Updated roles: php-xdebug, solr, mysql, postfix.
Bugfixes
4.7.0 "Only Solutions"
With Drupal 8.4.0's recent release, a lot of things have changed in the way people build and manage Drupal 8 sites. Composer was not necessarily a requirement for Drupal site building in the past, but it is quickly becoming so.
This will likely be the last major 4.x release for Drupal VM; bugfixes will continue for a time on the 4.x branch, but the next major version of Drupal VM—5.0.0—will see Drupal VM change to work more efficiently in a Composer workflow (it will be easier to integrate Drupal VM with your Drupal projects).
If you're not using Composer to manage your Drupal codebase yet, it's a great time to start!
Breaking Changes
- In Issue #1520, the precedence of configuration override files was changed slightly. Previously,
[environment].config.yml
overrode all other configuration files, includinglocal.config.yml
. The intention of the local config file is that it is always the final override. The order of config file precedence (from lowest to highest) is now:config.yml
secrets.yml
[environment].config.yml
local.config.yml
New/changed variables in default.config.yml
- Removed
geerlingguy/ubuntu1204
support (LTS support ended in April). - Default
vagrant_hostname
is nowdrupalvm.test
(Google owns.dev
and some DNS issues have forced us to switch to.test
as the default). - Added
drupal_db_host: localhost
to fix a DB connection issue with Debian 9 'Stretch'. - Added
headers.load
toapache_mods_enabled
. - Updated
drush_version
to8.1.14
. - Updated example
post_provision_scripts
path to include the fullplaybook_dir
-based path.
Improvements
- #1551: Add PHP 7.2 support via php-versions role.
- #1427: Use drupalvm.test for local development default.
- #1521: Remove Ubuntu 12.04 support, officially.
- #1521: Install Ansible with pip if provisioning inside the VM.
- #1527: Revamp dashboard for better layout, especially on mobile.
- #1476: Update Drupal role to speed up initial Drupal project generation.
- #1487: Install mod_headers for Apache by default.
- #1528: ALways enable linked clones in VirtualBox.
- #1520: Let local.config.yml override environment.config.yml.
- #1564: Allow spaces in
DRUPALVM_ANSIBLE_ARGS
to make it more useful. - #1560, #1558: Various improvements to test scripts.
- #1451: Bump the Drupal VM Docker image base to Debian 9 'Stretch'.
- #1451: Add full support and automated tests for Debian 9 'Stretch'.
- #1504: Display (this may take a while) for long-running Composer tasks.
- #1507: Use https URL to download Adminer.
- #1495: Update Drupal role so composer install can be skipped on deploy.
- #1573: Update default Drupal version to 8.4.x, Drush to 8.1.14.
- Updated roles: postgresql, firewall, nginx, php-pecl, mysql, varnish, ruby, adminer, nodejs, php, php-versions.
Bugfixes
- #1456: Default Docker example uses incorrect image.
- #1481: Use absolute paths for example post_provision_scripts.
- #1468: Fix various Linux issues with NFS by defaulting to TCP.
- #1508: Switch to using localhost for MySQL so install-drupal works on Debian 9.
- #1540: Fix incorrect IP address in some docs.
- #1558: Update Daemonize role to work on Ubuntu 14.04 with Ansible 2.4.
- #1572: Fix broken link to Drupal Console documentation.
4.6.0 "Water, Music, and Tronaction"
Breaking Changes
- If you have
varnish
in yourinstalled_extras
, then the newest version of the Varnish role included in this release changes the Varnish package repository (on all OSes) to use the latest supported Varnish packages from Varnish's official packagecloud.io repos. This allows you to specify Varnish versions anywhere from the latest (currently 5.1) to early 2.x versions (and everything in-between)... but you might either have to uninstall Varnish before updating existing VMs, or just rebuild your VM to take advantage of the latest role version.
New/changed variables in default.config.yml
vagrant_box
still defaults to Ubuntu 16.04, but you can now use Debian 9 ('Stretch') if you set the variable togeerlingguy/debian9
.vagrant_plugins
was added (see #1378), and contains a list of Vagrant plugins that—if not already installed—will be installed for use by Vagrant.
Improvements
- #1455: Update Varnish role to allow for Varnish 5.1, 5.0, and any older version.
- #1451: Document the availability of
geerlingguy/debian9
base box (and Docker base container). - #1378: Automatically install a configurable list of Vagrant plugins (
hostsupdater
andvbguest
by default). - #1423: Add documentation on using the official Docker image for quick Drupal testing environments.
- #1388, #1389: Use
geerlingguy/drupal-vm
docker image by default in Docker Compose file. - #1437: Allow list of paths in
pre_provision_tasks_dir
andpost_provision_tasks_dir
(used to just be one path maximum). - #1443: Add IRC badge linking to
#drupal-vm
freenode IRC room on Riot. - #1171: Support using XDebug to debug Drush commands inside Drupal VM.
- #1368: Ensure private filesystem works correctly when using Nginx.
- #1375: Allow /vagrant default synced folder to be managed like other synced folders.
- #1406: Minor doc improvement for using Tideways instead of XHprof when using PHP 7+.
- #1431: Minor doc improvement for
composer docker-bake
command. - #1386: Remove dated Acquia example and point to BLT's configuration instead.
- #1418: Allow PHP configuration to be overridden so default system packages can be used instead of Ondrej Sury's repo (allowing PHP 5.3, 5.4, and 5.5 to be used when absolutely necessary).
- #1424: Add support for RFC 5785 (
.well-known
) when using Nginx. - #1451: Use 192.168.89.89 for default Docker Drupal VM IP.
- Updated roles: PostgreSQL, PHP Versions, Redis, Nginx, Varnish.
Bugfixes
- #1403: Ensure PostgreSQL works correctly on all supported OSes.
- #1399: Fix bug where Drupal would reinstall on reprovision if not using English as the default language.
- #1384, #1420: Update docs in Solr example for more clarity concerning use with Drupal 8.
- #1444: Fix outdated comment for
drupal_install_site
variable. - #1411: Fix
.gitignore
file applying rules to files in subdirectories.