This version shall never be released :'-(
Drupal VM is no longer maintained. See #2164 for details.
N/A
- Added variable
vagrant_nfs_fix_enabled: false
- See #2154. If you are having trouble with NFS going away on macOS Big Sur, override this variable and set it totrue
to overcome a Vagrant bug in the latest version of macOS.
- Upgraded php-versions, solr, memcached, nginx, and mysql roles to latest versions.
- #2154: Add new
vagrant-nfs-fix
role to solve NFS issues on macOS Big Sur. - #2166: Fix ansible version output regex matching for new core/community version output.
N/A
- Replaced obsolete variable
php_opcache_enabled_in_ini
withphp_opcache_enable
.
- #2109: Switch CI test environment from homegrown script and Travis CI to Molecule and GitHub Actions.
- Updated Postgres role to latest version.
- Updated Composer role to latest version to allow switching between Composer major versions.
- #2137: Use pip3 inside VM if using ansible_local provisioner.
- #2144: Update docs for native synced folder usage due to changed typing of the variable in Vagrant.
- #2121: Replace php_opcache_enabled_in_ini with php_opcache_enable.
- Updated Drush role for better Composer v2 compatibility.
N/A
The hirak/prestissimo
package was removed from composer_global_packages
(and that variable is now empty).
- N/A
- #2100: Remove hirak/prestissimo, for Composer v2 compatibility.
- #2095: Fix syntax errors in example drupal.composer.json file.
N/A
N/A
- #2083: Improve README guide for installing Drupal 8 instead of default Drupal 9.
- Updated roles: security, nginx, mysql, php, php-mysql, solr, elasticsearch, repo-remi, composer.
- #2076: Fix bug when switching PHP versions to/from PHP 7.4.
Drupal VM 6 drops support for some older OS distributions, to increase stability under the latest versions of Ubuntu, CentOS, and Debian, and to finally drop all support for the now-unsupported Python 2.
The Drupal VM Docker container image is now based on Debian 10 Buster, though the default Drupal VM box when running as a VirtualBox VM is still based on Ubuntu 18.04.
The default PHP version is now PHP 7.4, which works great with all the latest versions of Drupal 7, 8, and 9.
- #2065: Drop official support for Debian 9, CentOS 7, and Ubuntu 16.04 and Python 2.
- #2061: Default to PHP 7.4.
- Drupal VM Docker container now based on Debian 10 Buster.
- Removed
centos7
,debian9
, andubuntu1604
fromvagrant_box
options. ansible_python_interpreter
now defaults topython3
(was/usr/bin/python3
).drupal_composer_dependencies
now includes both"drush/drush:^10"
and"drupal/devel:^4.0"
.drupal_composer_project_package
now defaults to the recommended Drupal project:"drupal/recommended-project:^9@dev"
.drupal_major_version
is now9
(was8
).php_version
is now"7.4"
(was"7.2"
).- Added
php_xdebug_version: 2.9.5
.
- #2050: Default to Drupal 9.
- #1997: Include
php_xdebug_version
in default config for visibility. - Updated roles: varnish, solr, elasticsearch, java, memcached, postgresql, adminer, php, drupal.
- #2041: Point to Python 3 interpreter in
$PATH
. - #2062: Allow Composer to use more memory since it runs out at 1.5 GB.
- #2063: Update Devel version to work with Drupal 9.
- #2064: Explicitly require Drush on new sites to work with Drupal 9.
- #2066: Fix postfix service failure on CentOS 8 test container.
- #2059: Improve docs for Windows usage.
This release defaults to Python 3 for all Ansible-related tasks, which means some older OSes require a new variable to be overridden to work correctly. For most users, no change is required, however. The release also updates the order in which Postgresql updates
- #2025: Ansible's Python interpreter now defaults to
python3
(was using default which waspython
). - #2024: Postgresql database and user order of setup reversed, so users should not have 'db'/'priv' set, but database needs 'owner' set.
- #2025: Minimum required Ansible version is now 2.8.
- #2025: Minimum required Vagrant version is now 2.2.0.
ansible_python_interpreter
: defaults to/usr/bin/python3
, override to/usr/bin/python
if using CentOS 7, Ubuntu 16.04, or Debian 9.drupalvm_vagrant_version_min
: was'1.8.6'
, now'2.2.0'
.drupalvm_ansible_version_min
: was'2.5'
, now'2.8'
.postgresql_databases
: addedowner
parameter, set to"{{ drupal_db_user }}"
postgresql_users
: removeddb
andpriv
parameters.solr_version
: was"5.5.5"
, now"7.7.2"
.java_packages
: new variable, set toopenjdk-8-jdk
for Debian/Ubuntu,java-1.8.0-openjdk
for RHEL/CentOS.
- #1960: Use latest Solr 7.x version for better install experience.
- #2025: Use Python 3 for Ansible on all the latest OSes.
- Updated roles: php-pecl, postgresql, php, mysql.
- #2024: Fix chicken-and-egg ordering of postgresql database and user ownership.
- #1675: Get CI tests for Postgresql working again.
- Removed 'official' support for CentOS 6 and Debian 8. These older OSes may still work, but it would be extremely painful to keep using them.
N/A
- Improved CentOS 8 compatibility.
- Updated roles: drupal, php-xdebug, php-xhprof, php-versions, java, security, nodejs, elasticsearch, firewall, varnish, blackfire, daemonize, mysql, postgresql, ruby, php-pecl
- #2011: Fix broken link in Solr documentation.
This release adds support for PHP 7.4, and completely drops PHP 5.6 support (in the past, brave and daring souls could attempt to run 5.6—it is almost impossible to do so in Drupal VM as of this release).
- #1987: Minimum required Ansible version is now 2.5.
- #1993: Dropped support for old unsupported PHP versions: 5.6, 7.0, 7.1.
drupalvm_ansible_version_min: '2.5'
(was'2.4'
)php_version
supports"7.2"
,"7.3"
, or"7.4"
(5.6, 7.0, and 7.1 dropped)
- #1993: Add PHP 7.4 support. Drop 5.6, 7.0, and 7.1 support.
- Updated roles: mailhog, postgresql, php-versions.
- Update
config.yml
documentation to use modern PHP version.
N/A
N/A
N/A
- #1982: Updated Dashboard to Boostrap 4 for improved accessibility.
- Updated various roles to ensure Ansible 2.9 compatibility.
- Tested Drupal VM on macOS Catalina with latest versions of Vagrant and VirtualBox.
- Updated roles: postgresql, firewall, git, php-versions, varnish
- #1969: Documentation typo fix for Linux installation.
- #1973: Fix site-install error in certain circumstances.
N/A
N/A
- #1943: Update drupal console remote site example.
- Updated roles: php-versions, nginx, composer, postgresql, apache, git, mysql, solr, drupal.
- #1920: Update git sandbox URL for pareview script.
- #1953: Fix typo in Linux installation guide.
- #1963, #1903, #1962, #1964: Fix PHP version mismatch when switching versions from 7.2 to 7.1.
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
.
- #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).
php_version
changed from7.1
to7.2
nodejs_version
changed from6.x
to10.x
- #1919: Ran out of songs from original Tron soundtrack; releases shall now be named after Tron: Legacy tracks.
- #1895: Fixed typo in Drush docs.
- 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.
- #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.
- #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
- #1843: Drush 9.5.0 was breaking due to some pathing issues.
- #1846: Fixed typo in build-composer.yml that caused composer install to fail.
- #1854: Document older Varnish version requirement for CentOS 6.
- #1880: Disable audio driver in VirtualBox VM.
N/A
- The Devel module dependency in
drupal_composer_dependencies
was changed from1.x-dev
(which no longer seems to work) to^1.2
.
- #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.
- #1761: Fix deprecation warnings in Ansible 2.7.0.
- #1822: Update composer role to fix CentOS 7 Composer download bug.
- #1743, #1831: Use stable version of Devel via Composer.
This release improves compatibility with Ansible 2.4, 2.5 and beyond, and updates almost every Ansible role in Drupal VM.
N/A
- Removed unused
php_xdebug_cli_enable
variable. - Added
php_xdebug_cli_disable: yes
.
- #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.
- #1736: Better Ansible version parsing in Vagrantfile.
- #1654: Make sure Tideways can be installed.
- #1518: Improve use of old versions of Solr on newer OS releases.
Drupal VM now requires Ansible 2.4+ if you are using the version installed on your host. (Used to require 2.2+).
drupalvm_ansible_version_min
is now2.4
. Make sure to upgrade if you're on an older version!
- #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.
- #1692: Fix the install-drupal command on the Docker image.
- #1704: Ansible version check is done on host even when force_ansible_local is true.
- #1708: Selenium paths value in docs should be quoted.
This release is all about Drush. 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.
- 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.
- 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).
- #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.
N/A
N/A
- #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"
).
- Updated roles: drush.
- #1659: Mention changes required for CentOS when using specialized synced folder methods.
- #1539: Update Drush role so Drush installs correctly on Debian 8 and 9.
N/A
nodejs_npm_global_packages
now addsnpm
by default (see #1651).solr_version
is now5.5.5
by default (was5.5.3
).
- #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.
- #1606: Fix vagrant-cachier for modern nfs installations with udp disabled.
- #1585: Fix typo in README.md
- #1653: Fix typo in mkdocs.yml
- #1617: Fix typos in PHP.md
- 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
- 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.
- #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.
- #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.
- 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.
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.
- #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.
- #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.
- The default
nodejs_version
is now set to6.x
; if you need to stay on0.12
or some other version, be sure to set the version explicitly in your ownconfig.yml
.
- Changed variables:
nodejs_version: "6.x"
(was0.12
)
- New variables:
- Reconfigurable templates for Drush Aliases:
drush_aliases_host_template: "templates/drupalvm.aliases.drushrc.php.j2"
drush_aliases_guest_template: "templates/drupalvm-local.aliases.drushrc.php.j2"
- Reconfigurable template for Nginx hosts:
nginx_vhost_template: "templates/nginx-vhost.conf.j2"
firewall_enabled: true
(allows the disabling of Drupal VM's default firewall, e.g. for Docker usage)php_xdebug_remote_host: "{{ ansible_default_ipv4.gateway }}"
(prevents warnings when using Xdebug)- New Docker configuration options:
docker_container_name: drupal-vm
docker_image_name: drupal-vm
docker_image_path: ~/Downloads
- New hostname configuration options:
hostname_configure: true
hostname_fqdn: "{{ vagrant_hostname }}"
- Reconfigurable templates for Drush Aliases:
- #1206: Add instructions for running Drupal VM inside Docker.
- #1356: Add an official geerlingguy/drupal-vm image on Docker Hub.
- #1366: Make Drupal VM Docker image easier to use for single-site installations.
- #1377: Extract php-versions (version switching tasks) into standalone role so anyone can use it.
- #1353: Update default Node.js version to 6.x.
- #1327: Refactor task includes into drupalvm Ansible roles.
- #1329: Update Nginx role, allowing use of extensible Nginx templates.
- #1254: Refactor Drupal VM's Nginx templates to allow for extensibility.
- #1349: Make it easier to install Node.js global packages by name.
- #1258: Finalize documentation for Git-based deployment.
- Updated roles: Firewall, Nginx, Node.js, Apache, Selenium.
- #1351: Fix documentation bug concerning paths in example.drupal.composer.json.
- #1304: Fix documentation bug concerning Behat paths.
- #1350: Set the
php_xdebug_remote_host
to prevent Xdebug warnings. - #1347: Fix LoadError message on vagrant up/down.
drupalconsole
is no longer enabled globally by default (see #1335 and #1338).
- #1333: Add docs on using Drupal VM with Wordpress and other PHP apps.
- #1335: Update Drupal Console Role so it works correctly with rc17 and beyond.
- #1338: Remove drupalconsole from default installed_extras list.
- N/A
- #1271: Don't run PHP role for 'drupal' tag.
- Updated Ansible roles:
postgresql
,drupal
. - #1323: Default synced folder type to
vagrant_synced_folder_default_type
if unset.
- #1324: Only depend on
geerlingguy.nginx
whendrupalvm_webserver
isnginx
.
- Added
ssh_home: "{{ drupal_core_path }}"
sovagrant ssh
drops you directly into the core path by default.
- Updated Ansible roles:
mysql
,solr
,nodejs
,drupal
,varnish
. - #1177: Mention the availability of the
geerlingguy/debian8
base box. - #1265: Document reverse-mount shares. Also scaffolds Issue #1258.
- #1272: Set ssh_home by default since it's really helpful.
- #1259: Update some performance-related docs.
- #1317: Remove duplicate handler and extract www tasks into new role.
- #1294: Fix 'Cannot load Zend OPcache' notice.
- #1306: Fix Ansible 2.3-related bug with jinja2 inside when statement.
- #1302: Remove
ansible_ssh_user
variable to avoid upstream bugs. - #1314: Revert "Move simple
include_vars
statement tovars_files
"
- N/A
- Updated Ansible roles:
firewall
,mailhog
,apache
,git
,mysql
,solr
,adminer
, andvarnish
. - #1289: Update Linux host docs to mention encryption as primary reason for NFS issues.
- #1280: Documentation bugfix for a Quick Start Guide link.
- #1275: Update Adminer role to prevent download timeouts.
- #1281: Avoid TypeError when a configuration file is empty.
- #1291: Teensy tiny docs grammar fix.
- N/A
- Updated Ansible roles:
drupal
,drush
, andsolr
.
- #1245: Follow-up to make sure VM initial provisioning works as expected.
- #1261: Run hostname.yml tasks for
drupal
tag to prevent errors. - Fixed pareview.sh script configuration example.
- Tweaked docs for Selenium and Production for clarity.
- No breaking changes.
php_version
now defaults to"7.1"
(was"7.0"
).
- #1252: Allow Drupal to be deployed into Drupal VM from a Git repository.
- #1177: Add full and CI-tested support for Debian 8.
- #1213: Add
DRUPALVM_ANSIBLE_TAGS
environment variable to specify tags to run. - #1031: Switch default PHP version to
7.1
. - #1211: Add mcrypt PHP extension on RedHat-based installs.
- #1215: Document alternative method of running Drupal Console commands.
- Removed logic supporting PHP 5.5, as it's no longer supported.
- #1233: Tidy up the main Drupal VM playbook.
- #1198: Use VAGRANT_HOME to get the SSH
insecure_private_key
directory for Drush. - #1238: Add a configurable intro message for
vagrant up
andvagrant reload
. - #1230: Allow
Vagrantfile.local
to be either in project or config directory. - #1244: Add support for a
secrets.yml
file for use with Ansible Vault. - #1135: Improve Sublime Text XDebug documentation.
- Updated roles: Drush, Drupal, Firewall, Varnish.
- #1199: Make sure
rsync
synced folders'owner
andgroup
are applied correctly. - #1212: Fixes Drush make builds after Drush role installation technique changed.
- #1237: Raise a
VagrantError
for clearer error messaging. - #1220: Ensure
www-data
is in the group of the NFS synced directory (file permissions). - #1245: Ensure production
init.yml
playbook works on Ubuntu 16.04. - #1250: Document use of
DRUPALVM_ENV
variable in production docs. - #1253: Ensure
geerlingguy.php
role is run whendrupal
tag is used.
- Removed now-unneccessary
drush_keep_updated
anddrush_composer_cli_options
vars. - Default to Drush version
8.1.10
(since we use the Phar-based install by default now).
- #1197: Add PAReview.sh script setup to Drupal VM.
- #1213: Add task-specific tags for supercharged reprovisioning.
- #1212: Update Drush role and shave a minute or so off every build, ever!
- #1215: Add docs on using Drupal Console with
vagrant exec
. - Update roles with bugfixes and improvements: Drush, Drupal.
- #1211: Add mcrypt PHP extension on RedHat-based installs.
- No explicit breaking changes; however, you should update any of the changed variables in the 'Updated Drupal-specific variable names' section below.
vagrant_gui: false
added (allows UI to appear after runningvagrant up
- Issue #1175).- Updated Drupal-specific variable names (Issue #1192):
drupalvm_database
changed todrupal_db_backend
build_makefile
changed todrupal_build_makefile
build_composer
changed todrupal_build_composer
build_composer_project
changed todrupal_build_composer_project
install_site
changed todrupal_install_site
drupal_core_owner
added (defaults todrupalvm_user
- Issue #1192)tideways
added (commented out) toinstalled_extras
(Issue #1181)
- #1192: Move Drupal build and install code into revamped
geerlingguy.drupal
role. - #1175: Add
vagrant_gui
option to allow GUI to show when runningvagrant up
. - #1200: Only install necessary development packages (for faster, lighter builds).
- Roles updated to latest version: Composer, Solr, Java, Selenium, Drush, Firewall, and Varnish.
- #1167, #1181, #1168, #1188: Documentation tweaks.
- #420: Update Drush role so 'run drush to set it up' doesn't fail.
- #1182: Clean up Tideways documentation.
- Update Nginx, Java, Composer, and Selenium roles to latest version.
- #1158: Fix Drupal 7 and Nginx breaking install.php access.
- #1155: Fix failure installing Chrome on Ubuntu 14.04 (Selenium role).
- #1151: PHP docs fix.
- N/A
apache_packages_state: latest
added to ensure latest Apache version is installed.firewall_disable_firewalld: true
andfirewall_disable_ufw: true
to ensure the system default firewalls are disabled on CentOS and Ubuntu, respectively (we set up our own rules, so this prevents weird problems).
- #1123: Add Tideways support and updated documentation for use.
- #1107: Allow additions to PHP packages via php_packages_extra.
- #1092: Docs makeover.
- #1134: Make Solr core work out of the box with Drupal 8 Search API Solr more easily.
- #1110: Move
cron
example to the Docs. - #649: Document how to use
vagrant-lxc
with Drupal VM. - Update roles to latest versions: firewall, elasticsearch, nodejs, solr, nginx.
- #1093: Upgrade Apache packages on provision so latest release is installed.
- #1101: Update Selenium role so it works on systemd systems (e.g. Ubuntu 16.04, CentOS 7).
- #1102: Update ruby role to add gem bin directory to
$PATH
. - #1131: Fixes solr < 5 on Ubuntu 16, CentOS 7 with Ansible 2.2.
- #1093: Install correct version of Apache on Ubuntu 12.04 and 14.04 for
SetHandler
.
- N/A
- There's a new
apache_vhost_php_fpm_parameters
variable that defines the PHP-FPM handler Apache uses per-virtualhost. The oldextra_parameters
pre-4.1.0 will continue to work, but the newSetHandler
technique is better for most scenarios than usingProxyPassMatch
. - The Dashboard entry in
nginx_hosts
now hasis_php: true
.
- #617: Switch to
SetHandler
instead ofProxyPassMatch
(fixes #617, #876, #945, #1055). - #1090: Update docs to reference
SetHandler
. - #1047: Add docs on Drupal Console remote command execution.
- #1076: Update PHP XDebug role to latest version
- #1067: Configure hostname for environments other than VMs.
- #1068: Add php-yaml extension.
- #1078: Move Ansible version check to Vagrantfile for better UX.
- #1071: Improve docs for SSL under Apache and Nginx.
- #455: Move prod readme to docs instead of README file.
- #1076: Fix PHP modules not re-compiling on PHP version changes.
- #1061: Allow user defined post-provision-tasks to use tags.
- #1060: Fix bug where dashboard assumes optional vhost docroot is defined.
- #1062: Allow post-provision tasks to use the item variable.
- #1059: Fix hostsupdater trying to add wildcard aliases.
- #1054: Update Solr role to prevent permissions error.
- Drush is now an optional
installed_extra
. If you use Drush, and it's not installed as part of your own project's dependencies, make sure you adddrush
as one of theinstalled_extras
in yourconfig.yml
. - Vagrant 1.8.6 or later, VirtualBox 5.1.10 or later, and Ansible 2.2.0 or later (if installed on host) are now required.
- PHP 7.0 is still the default, but you can install PHP 7.1, or switch to PHP 5.6 on-the-fly, thanks to #1043—on any supported OS! See the updated docs: Using other versions of PHP
drush
is now a default item ininstalled_extras
.upload-progress
is now an optional item ininstalled_extras
.drush_version
now defaults to8.x
(master
was causing issues with Drupal < 8).php_install_recommends
was removed from the default set of variables.solr_version
was bumped to5.5.3
(was5.5.2
).
- #1043: Make switching PHP versions easier, and add support for PHP 7.1.
- #711: Make Drush optional.
- #788: Add optional PHP upload_progress support.
- #992: Add optional
DRUPALVM_ANSIBLE_ARGS
support for Ansible CLI options. - #1002: Allow shallow Drush clones for faster builds.
- #1007, #1009: Added a GitHub ISSUE_TEMPLATE to help my sanity.
- #1018: Fix Solr versioning error in Solr role.
- #823: Set composer.json type to
vm
instead ofproject
. - Update following Ansible roles to newer versions: Solr, Nginx, Git, PHP, Firewall, Apache, PHP-XDebug, PHP-Redis.
- #981: Bump minimum required Vagrant and VirtualBox versions.
- #1014: Fix path in extra tasks example.
- #1020: Switch to Drush
8.x
branch (instead ofmaster
/9.x
) for Drupal 6/7 compatibility. - #1004: Add note about
php_pgsql_package
for PHP 5.6 (superceded by later work). - #1037: Fix Acquia configuration example for PHP 5.6 (superceded by later work).
- #983: Added a CHANGELOG.md (this thing you're reading!).
- #872: Improve synced folder documentation for owner/group.
- #847: Add documentation on using
vagrant-proxyconf
in local Vagrantfile. - #455: Environment-specific config file support (e.g.
prod.config.yml
). - #991: Reduce tasks run during Travis CI validation, clean up tests.
- Update to latest role versions: PHP, PHP-PECL, Varnish, MySQL, Solr
- #998: Fix documentation search capability on http://docs.drupalvm.com/en/latest/.
- #947: Fix Varnish default configuration to purge correctly.
- #989: Use latest (correct) version of Varnish role.
- #980: CentOS install for Firewall and Mailhog fixed.
- (No issue) Fix PHP 5.6 documentation to make sure PHP 7 doesn't also get installed.
- Update to latest version of Drush Ansible role for better composer performance.
- #968: Fix for Ansible 2.2.x and PostgreSQL as database server.
- #971: Fix for PHP 5.5 PPA usage on Ubuntu 12/14.
- #912: Fix for Vagrant 1.8.6+ not mounting synced folders if
mount_options
is empty.
- Latest
geerlingguy/*
Vagrant box versions recommend VirtualBox 5.1.6+ and Vagrant 1.8.6+. - Roles should work with any Ansible version later than 2.0... but 2.2+ is now recommended.
drupalvm_vagrant_version_min
is now1.8.6
(was1.8.5
)
- #950: Use default sync folder type for
vagrant-cachier
if present. - #957: Update various roles for better Ansible 2.2.x compatibility.
- #962: Allow configuration of PHP
disable_functions
. - #963: Bump required Vagrant version.
- #925: Fix MySQL install on CentOS 6.
- #870: Fix invalid cron example syntax.
- #956: Fix Apache failure if using Nginx as webserver.
- #928: Fix rubocop test on Travis.
- #927: Fix PHP docs duplicate config vars.
- #936: Fix
mysql_*
/db_*
variable names in documentation.
- If you have
selenium
in installed extras: Thearknoll.selenium
role now defaults to installing Google Chrome / chromedriver instead of Firefox. See the role's documentation to see which variables should be set if you want to stick with Firefox (see: #924). - If you're running PHP 5.6 with the
geerlingguy/ubuntu1404
box: PHP 5.6 under Ubuntu 14.04 was using a deprecated PPA. Since switching to Ondrej's updated PPA, we had to also update the list of packages/paths in the documentation for running PHP 5.6 under Drupal VM. If you are using PHP 5.6, be sure to update yourphp_*
variables (see: #921).
vagrant_memory
has been increased to2048
(was1024
).
- #924: Upgrade to
arknoll.selenium
2.0.0 role, adding support for Chrome/chromedriver with Selenium. - #922: Increase default memory usage from 1024 MB to 2048 MB.
- #916: Document setup within Windows Subsystem for Linux / Ubuntu Bash environment.
- #921: Switch to mainline/supported PHP 5.6.x releases instead of deprecated PPA releases.
- You can now add
java
toinstalled_extras
if you want Java installed without installing any of the other dependent extras (e.g. Apache Solr, Elasticsearch, or Selenium).
- #915: Add 'java' as valid option in installed_extras
- Updated the devel module version number in the
drupal_composer_dependencies
variable: formerly"drupal/devel:8.*"
, now"drupal/devel:1.x-dev"
.
- #911: Document how to bypass/replace MailHog correctly.
- #913: Update project version conventions for Composer-based installs since upstream drupal-project switched to using the drupal.org-hosted packagist.
- Update the three
drupal_mysql_*
variables todrupal_db_*
. - Update the default
mysql_databases
andmysql_users
variables to use the new variable names.
vagrant_cpus
set to1
instead of2
(see #855)- Added two variables to control minimum required dependency versions:
drupalvm_vagrant_version_min: '1.8.5'
drupalvm_ansible_version_min: '2.1'
- Added
drupalvm_database
variable (defaults tomysql
) to control database engine (see #146) - Changed
drupal_mysql_*
variables todrupal_db_*
for better compatibility:drupal_mysql_user
is nowdrupal_db_user
drupal_mysql_password
is nowdrupal_db_password
drupal_mysql_name
is nowdrupal_db_name
- Updated
mysql_databases
andmysql_users
to use the new variable names listed above - Added
postgresql_databases
andpostgresql_users
(same kind of structure as themysql_*
variables)
- #146: Add PostgreSQL support.
- #908: Require minimum version of Ansible 2.1.0, Vagrant 1.8.5.
- #855: Default to 1 vCPU core for better VirtualBox performance.
- Update PHP-MySQL Ansible role.
- #421, #367: Add to Behat/Selenium documentation.
- Ensure Debian apt caches are updated when running tests on Travis.
- Updated all Ansible roles to latest releases (stability fixes).
- Updated Travis CI tests to use more efficient Docker setup.
- Nothing substantial, just a few typo corrections in comments.
N/A
N/A
- #870: Use more compact and legible object syntax for cron example.
- #886: Allow forcing use of ansible_local even if ansible is present on host.
- #889: Document Parallels requires paid version.
- #845: Fix missing config.yml file in newrelic role.
- #896: Update Node.js role to fix Nodesource SSL issues on older OSes. Update other roles too.
- Default database defined in
mysql_databases
now usesutf8mb4
encoding andutf8mb4_general_ci
collation. selenium_version
now defaults to2.53.0
- #866: Use latest Selenium release.
- #859: Only set
mysql_enablerepo
when not defined. - #856: Link Nginx CGI timeout time to PHP timeout time.
- #846: Default to Drupal 8.1.8.
- #839: Don't throw warning if
VAGRANTFILE_API_VERSION
is set twice. - (No issue): Bump required role versions to latest point releases.
- #853: Add
/web
to directory in Drupal Console instructions.
Drupal VM now uses Vagrant's ansible_local
provisioner if you don't have Ansible installed on your host. Make sure you're running Vagrant 1.8.2 or later (1.8.5+ recommended!).
drush_make_options: "--no-gitinfofile"
added to allow overriding of the default options passed into thedrush make
command.elasticsearch
is now an optionalinstalled_extra
- port
9200
is now included in the list offirewall_allowed_tcp_ports
(to support optional Elasticsearch installation) solr_version: "5.5.2"
– the default Solr version was bumped from 5.5.1 to 5.5.2.
- #814 / #815: Include roles in Drupal VM codebase (for faster/more stable install).
- #803: Add optional Elasticsearch installation.
- #450: Switch to Vagrant 1.8.2+'s
ansible_local
provisioner. - #807: Add ability to override
drush make
CLI options. - #775: Recommend manual VirtualBox installation as part of Quick Start guide.
- #777: Document how to switch Java versions for newer Apache Solr versions.
- #800: Add php5-apcu to default Acquia Cloud package list.
- #798: Update selenium role so it doesn't cause build failure.
- #821: Bump upstream Solr role version to fix some Solr install bugs.
- #825: Fix typo in dashboard.
- #799: Quote the Drupal core version in the example makefile to avoid duck typing problems.
php_sendmail_path
now defaults to"/opt/mailhog/mhsendmail"
(see https://github.com/geerlingguy/drupal-vm/commit/2d835826de127e427b9a8287bdd2d84a65779761)
- #776: Switch from ssmtp to mhsendmail.
- #782: Favicon for Drupal VM dashboard page.
- #791: Update URLs to https (yay Let's Encrypt!).
- #794: Bump PHP role version so FPM user is configurable.
- (No issue): Bump MySQL role version so large innodb prefixes are configurable.
- #795: Fix Your Site links on dashboard for certain Nginx configs.
- #793: Document composer.json devel module dependency for default config.
- #762: Support including extra_parameters for nginx vhosts.
- #744: Fix npm_config_prefix directory created under root instead of vagrant.
- #766: Document requirement of
vagrant_box: ubuntu1404
for PHP 5.6. - #726: Fix permissions on the synced folder for composer project build.
- #730: Improve dashboard for users who have ip set to
0.0.0.0
. - #733: Update example composer.json to work with Drupal.org packagist.
- #736: Fix hardcoded NFS reference that broke on Windows with vagrant-cachier plugin.
- #734: Fix a setting that caused Vagrant 1.8.3/1.8.4 to fail to mount shared folders.
- #733 and #741: Adjust composer and timeout values to be more robust with slower filesystems.
- Bumped composer role version.
#ssh_home: "{{ drupal_core_path }}"
- TheSSH_HOME
the default Drupal VM user would be redirected to upon SSH login (e.g.vagrant ssh
). This new variable is entirely optional and commented by default.
- #709: Add strict vagrant version requirement for easier debugging.
- #707: Use official packages.drupal.org for Composer drupal package repository.
- #724: Add default www.drupalvm.dev alias to Apache and Nginx vhosts.
- #725: Better ordering and description of Drupal-related variables in
default.config.yml
. - #665: Add ssh_home var as default pwd for SSH.
- #715: Set node global install directory to a location writable by the vagrant user.
- #726: Ensure correct permissions when using Composer create-project.
- #650: Bump MySQL role version to fix root user account password.
local_path: .
- the default Vagrant synced folderlocal_path
is set to the Drupal VM directory. This way multiple copies of Drupal VM can have independent Drupal codebases by default.build_makefile: false
- Drupal VM now defaults to a composer-based workflow. To keep using a makefile, set thistrue
and set all thebuild_composer*
variables tofalse
.build_composer
,drupal_composer_*
,build_composer_project
,drupal_composer_project_*
- New variables to supportcomposer.json
orcomposer create-project
site builds.extra_parameters
added to the default Apache vhost definition for the Drupal VM dashboard (to support displaying PHP information on the dashboard).hirak/prestissimo
added tocomposer_global_packages
(to speed up Composer operations inside the VM).solr_version: "5.5.1"
- New default version of Apache Solr, ifsolr
is ininstalled_extras
.configure_local_drush_aliases
has been changed toconfigure_drush_aliases
(there is a shim to allow the use of the old variable name).
- #648: Make config.yml optional (always load default configuration).
- #693: Default to Apache Solr 5.x.
- #687: Default the synced folder to the Drupal VM directory.
- #688: Add docs on how to run custom Ansible playbooks using a local Vagrantfile.
- #694, #701: Add support for, and default to, Composer-based Drupal 8 site builds.
- #698: Add docs about
vagrant-bindfs
to help those with NFS permissions issues. - #703: Include default
vagrant-cachier
configuration, with an :apt bucket and a :generic bucket for Composer. - #705: Add Packagist project badge.
- #706: Updated docs for 3.1.0 and default Composer workflow.
- #654: Remove ansible.cfg because role install is handled by Vagrant.
- #653: Update docs for PHP 5.6 and apcu.
- #663: Change
configure_local_drush_aliases
toconfigure_drush_aliases
so it's purpose is clearer. - #678: Clarify requirement of Ansible on host for host Drush alias setup.
Read the Drupal VM 3 announcement blog post.
- 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+.
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"
- #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).
- #614: Install cron jobs as the SSH user instead of as root.
- #620: Update JJG-Ansible-Windows to latest version.
- #635: PHP 5.6 documentation didn't include required
php_fpm_pool_conf_path
. - #619: Fix OpCache CLI error caused by conflicting ini files.
...