# Drupal VM Changelog

## 6.0.4 (2021-05-28)

### Breaking Changes

N/A

### New/changed variables in default.config.yml

  * 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 to `true` to overcome a Vagrant bug in the latest version of macOS.

### Improvements

  * Upgraded php-versions, solr, memcached, nginx, and mysql roles to latest versions.

### Bugfixes

  * #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.


## 6.0.3 (2021-02-13)

### Breaking Changes

N/A

### New/changed variables in default.config.yml

  * Replaced obsolete variable `php_opcache_enabled_in_ini` with `php_opcache_enable`.

### Improvements

  * #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.

### Bugfixes

  * #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.


## 6.0.2 (2020-10-27)

### Breaking Changes

N/A

### New/changed variables in default.config.yml

The `hirak/prestissimo` package was removed from `composer_global_packages` (and that variable is now empty).

### Improvements

  * N/A

### Bugfixes

  * #2100: Remove hirak/prestissimo, for Composer v2 compatibility.
  * #2095: Fix syntax errors in example drupal.composer.json file.


## 6.0.1 (2020-09-29)

### Breaking Changes

N/A

### New/changed variables in default.config.yml

N/A

### Improvements

  * #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.

### Bugfixes

  * #2076: Fix bug when switching PHP versions to/from PHP 7.4.


## 6.0.0 "Rectifier" (2020-07-14)

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.

### Breaking Changes

  * #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.

### New/changed variables in default.config.yml

  * Removed `centos7`, `debian9`, and `ubuntu1604` from `vagrant_box` options.
  * `ansible_python_interpreter` now defaults to `python3` (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 now `9` (was `8`).
  * `php_version` is now `"7.4"` (was `"7.2"`).
  * Added `php_xdebug_version: 2.9.5`.

### Improvements

  * #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.

### Bugfixes

  * #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.


## 5.2.0 "The Game Has Changed" (2020-03-20)

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

### Breaking Changes

  * #2025: Ansible's Python interpreter now defaults to `python3` (was using default which was `python`).
  * #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.

### New/changed variables in default.config.yml

  * `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`: added `owner` parameter, set to `"{{ drupal_db_user }}"`
  * `postgresql_users`: removed `db` and `priv` parameters.
  * `solr_version`: was `"5.5.5"`, now `"7.7.2"`.
  * `java_packages`: new variable, set to `openjdk-8-jdk` for Debian/Ubuntu, `java-1.8.0-openjdk` for RHEL/CentOS.

### Improvements

  * #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.

### Bugfixes

  * #2024: Fix chicken-and-egg ordering of postgresql database and user ownership.
  * #1675: Get CI tests for Postgresql working again.


## 5.1.1 (2020-02-27)

### Breaking Changes

  * Removed 'official' support for CentOS 6 and Debian 8. These older OSes may still work, but [it would be extremely painful](https://www.youtube.com/watch?v=RZhp-Uctd-c) to keep using them.

### New/changed variables in default.config.yml

N/A

### Improvements

  * 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

### Bugfixes

  * #2011: Fix broken link in Solr documentation.


## 5.1.0 "Recognizer" (2019-12-03)

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).

### Breaking Changes

  * #1987: Minimum required Ansible version is now 2.5.
  * #1993: Dropped support for old unsupported PHP versions: 5.6, 7.0, 7.1.

### New/changed variables in default.config.yml

  * `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)

### Improvements

  * #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.

### Bugfixes

N/A


## 5.0.2 (2019-11-04)

### Breaking Changes

N/A

### New/changed variables in default.config.yml

N/A

### Improvements

  * #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

### Bugfixes

  * #1969: Documentation typo fix for Linux installation.
  * #1973: Fix site-install error in certain circumstances.


## 5.0.1 (2019-08-29)

### Breaking Changes

N/A

### New/changed variables in default.config.yml

N/A

### Improvements

  * #1943: Update drupal console remote site example.
  * Updated roles: php-versions, nginx, composer, postgresql, apache, git, mysql, solr, drupal.

### Bugfixes

  * #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.


## 5.0.0 "Flynn Lives" (2019-04-09)

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 image `2.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 from `7.1` to `7.2`
  * `nodejs_version` changed from `6.x` to `10.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 (2019-01-03)

### 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 to `geerlingguy/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 to `geerlingguy/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

  * #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.


## 4.9.1 (2018-10-10)

### Breaking Changes

N/A

### New/changed variables in default.config.yml

  * The Devel module dependency in `drupal_composer_dependencies` was changed from `1.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

  * #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.


## 4.9.0 "Creation of Tron" (2018-06-01)

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

  * #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.


## 4.8.1 (2018-03-10)

### 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 now `2.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

  * #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.


## 4.8.0 "Tower Music / Let Us Pray" (2018-01-30)

This release is all about Drush. Please read my blog post [Drupal VM 4.8 and Drush 9.0.0 - Some major changes](https://www.jeffgeerling.com/blog/2018/drupal-vm-48-and-drush-900-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` in `installed_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 your `config.yml`, you _must_ add configuration to install an older version of Drush inside Drupal VM. See the [Drupal VM Drush make docs](http://docs.drupalvm.com/en/latest/deployment/drush-make/).

### 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 (2018-01-29)

### 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

  * #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.


## 4.7.1 (2018-01-23)

### Breaking Changes

N/A

### New/changed variables in default.config.yml

  * `nodejs_npm_global_packages` now adds `npm` by default (see #1651).
  * `solr_version` is now `5.5.5` by default (was `5.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

  * #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


## 4.7.0 "Water, Music, and Tronaction" (2017-10-06)

### Breaking Changes

  * In Issue #1520, the precedence of configuration override files was changed slightly. Previously, `[environment].config.yml` overrode all other configuration files, including `local.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:
    1. `config.yml`
    2. `secrets.yml`
    3. `[environment].config.yml`
    4. `local.config.yml`

### New/changed variables in default.config.yml

  * Removed `geerlingguy/ubuntu1204` support (LTS support ended in April).
  * Default `vagrant_hostname` is now `drupalvm.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` to `apache_mods_enabled`.
  * Updated `drush_version` to `8.1.14`.
  * Updated example `post_provision_scripts` path to include the full `playbook_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" (2017-06-28)

### Breaking Changes

  * If you have `varnish` in your `installed_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 to `geerlingguy/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` and `vbguest` 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` and `post_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.


## 4.5.0 "Break In (For Strings, Flutes, and Celesta)" (2017-05-24)

### Breaking Changes

  * The default `nodejs_version` is now set to `6.x`; if you need to stay on `0.12` or some other version, be sure to set the version explicitly in your own `config.yml`.

### New/changed variables in default.config.yml

  * Changed variables:
    * `nodejs_version: "6.x"` (was `0.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 }}"`

### Improvements

  * #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.

### Bugfixes

  * #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.


## 4.4.5 (2017-04-24)

### New/changed variables in default.config.yml

  * `drupalconsole` is no longer enabled globally by default (see #1335 and #1338).

### Improvements

  * #1333: Add docs on using Drupal VM with Wordpress and other PHP apps.

### Bugfixes

  * #1335: Update Drupal Console Role so it works correctly with rc17 and beyond.
  * #1338: Remove drupalconsole from default installed_extras list.


## 4.4.4 (2017-04-22)

### New/changed variables in default.config.yml

  * N/A

### Improvements

  * #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.

### Bugfixes

  * #1324: Only depend on `geerlingguy.nginx` when `drupalvm_webserver` is `nginx`.


## 4.4.3 (2017-04-20)

### New/changed variables in default.config.yml

  * Added `ssh_home: "{{ drupal_core_path }}"` so `vagrant ssh` drops you directly into the core path by default.

### Improvements

  * 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.

### Bugfixes

  * #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 to `vars_files`"


## 4.4.2 (2017-04-12)

### New/changed variables in default.config.yml

  * N/A

### Improvements

  * Updated Ansible roles: `firewall`, `mailhog`, `apache`, `git`, `mysql`, `solr`, `adminer`, and `varnish`.
  * #1289: Update Linux host docs to mention encryption as primary reason for NFS issues.

### Bugfixes

  * #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.


## 4.4.1 (2017-04-01)

### New/changed variables in default.config.yml

  * N/A

### Improvements

  * Updated Ansible roles: `drupal`, `drush`, and `solr`.

### Bugfixes

  * #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.


## 4.4.0 "Sea of Simulation" (2017-03-24)

### Breaking Changes

  * No breaking changes.

### New/changed variables in default.config.yml

  * `php_version` now defaults to `"7.1"` (was `"7.0"`).

### Improvements

  * #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` and `vagrant 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.

### Bugfixes

  * #1199: Make sure `rsync` synced folders' `owner` and `group` 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 when `drupal` tag is used.


## 4.3.1 (2017-03-14)

### New/changed variables in default.config.yml

  * Removed now-unneccessary `drush_keep_updated` and `drush_composer_cli_options` vars.
  * Default to Drush version `8.1.10` (since we use the Phar-based install by default now).

### Improvements

  * #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.

### Bugfixes

  * #1211: Add mcrypt PHP extension on RedHat-based installs.


## 4.3.0 "Ring Game and Escape" (2017-03-09)

### Breaking Changes

  * No _explicit_ breaking changes; however, you should update any of the changed variables in the 'Updated Drupal-specific variable names' section below.

### New/changed variables in default.config.yml

  * `vagrant_gui: false` added (allows UI to appear after running `vagrant up` - Issue #1175).
  * Updated Drupal-specific variable names (Issue #1192):
    * `drupalvm_database` changed to `drupal_db_backend`
    * `build_makefile` changed to `drupal_build_makefile`
    * `build_composer` changed to `drupal_build_composer`
    * `build_composer_project` changed to `drupal_build_composer_project`
    * `install_site` changed to `drupal_install_site`
  * `drupal_core_owner` added (defaults to `drupalvm_user` - Issue #1192)
  * `tideways` added (commented out) to `installed_extras` (Issue #1181)

### Improvements

  * #1192: Move Drupal build and install code into revamped `geerlingguy.drupal` role.
  * #1175: Add `vagrant_gui` option to allow GUI to show when running `vagrant up`.
  * #1200: Only install necessary development packages (for faster, lighter builds).
  * Roles updated to latest version: Composer, Solr, Java, Selenium, Drush, Firewall, and Varnish.

### Bugfixes

  * #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.


## 4.2.1 (2017-02-08)

### Improvements

  * Update Nginx, Java, Composer, and Selenium roles to latest version.

### Bugfixes

  * #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.


## 4.2.0 "Theme From Tron" (2017-01-30)

### Breaking Changes

  * N/A

### New/changed variables in default.config.yml

  * `apache_packages_state: latest` added to ensure latest Apache version is installed.
  * `firewall_disable_firewalld: true` and `firewall_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).

### Improvements

  * #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.

### Bugfixes

  * #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.


## 4.1.1 (2016-12-30)

### Bugfixes

  * #1093: Install correct version of Apache on Ubuntu 12.04 and 14.04 for `SetHandler`.


## 4.1.0 "Anthem" (2016-12-30)

### Breaking Changes

  * N/A

### New/changed variables in default.config.yml

  * There's a new `apache_vhost_php_fpm_parameters` variable that defines the PHP-FPM handler Apache uses per-virtualhost. The old `extra_parameters` pre-4.1.0 will continue to work, but the new `SetHandler` technique is better for most scenarios than using `ProxyPassMatch`.
  * The Dashboard entry in `nginx_hosts` now has `is_php: true`.

### Improvements

  * #617: Switch to `SetHandler` instead of `ProxyPassMatch` (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.

### Bugfixes

  * #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.


## 4.0.0 "We've Got Company" (2016-12-10)

### Breaking Changes

  * 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 add `drush` as one of the `installed_extras` in your `config.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](http://docs.drupalvm.com/en/latest/other/php/)

### New/changed variables in default.config.yml

  * `drush` is now a default item in `installed_extras`.
  * `upload-progress` is now an optional item in `installed_extras`.
  * `drush_version` now defaults to `8.x` (`master` was causing issues with Drupal < 8).
  * `php_install_recommends` was removed from the default set of variables.
  * `solr_version` was bumped to `5.5.3` (was `5.5.2`).

### Improvements

  * #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 of `project`.
  * Update following Ansible roles to newer versions: Solr, Nginx, Git, PHP, Firewall, Apache, PHP-XDebug, PHP-Redis.

### Bugfixes

  * #981: Bump minimum required Vagrant and VirtualBox versions.
  * #1014: Fix path in extra tasks example.
  * #1020: Switch to Drush `8.x` branch (instead of `master`/`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).


## 3.5.2 (2016-11-17)

### Improvements

  * #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

### Bugfixes

  * #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.


## 3.5.1 (2016-11-07)

### Improvements

  * Update to latest version of Drush Ansible role for better composer performance.

### Bugfixes

  * #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.


## 3.5.0 "Tron Scherzo" (2016-11-02)

### Breaking changes

  * 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.

### New/changed variables in default.config.yml

  * `drupalvm_vagrant_version_min` is now `1.8.6` (was `1.8.5`)

### Improvements

  * #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.

### Bugfixes

  * #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.


## 3.4.0 "Anthem for Keyboard Solo" (2016-10-12)

### Breaking changes

  * _If you have `selenium` in installed extras_: The `arknoll.selenium` role now defaults to installing Google Chrome / chromedriver instead of Firefox. See the role's [documentation](https://github.com/arknoll/ansible-role-selenium#variables) 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](http://docs.drupalvm.com/en/latest/other/php-56/). If you are using PHP 5.6, be sure to update your `php_*` variables (see: #921).

### New/changed variables in default.config.yml

  * `vagrant_memory` has been increased to `2048` (was `1024`).

### Improvements

  * #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.

### Bugfixes

  * #921: Switch to mainline/supported PHP 5.6.x releases instead of deprecated PPA releases.


## 3.3.2 (2016-10-06)

### New/changed variables in default.config.yml

  * You can now add `java` to `installed_extras` if you want Java installed without installing any of the other dependent extras (e.g. Apache Solr, Elasticsearch, or Selenium).

### Improvements

  * #915: Add 'java' as valid option in installed_extras


## 3.3.1 (2016-10-05)

### New/changed variables in default.config.yml

  * Updated the devel module version number in the `drupal_composer_dependencies` variable: formerly `"drupal/devel:8.*"`, now `"drupal/devel:1.x-dev"`.

### Bugfixes

  * #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.

## 3.3.0 "1990's Theme" (2016-09-30)

### Breaking changes

  * Update the three `drupal_mysql_*` variables to `drupal_db_*`.
  * Update the default `mysql_databases` and `mysql_users` variables to use the new variable names.

### New/changed variables in default.config.yml

  * `vagrant_cpus` set to `1` instead of `2` (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 to `mysql`) to control database engine (see #146)
  * Changed `drupal_mysql_*` variables to `drupal_db_*` for better compatibility:
    * `drupal_mysql_user` is now `drupal_db_user`
    * `drupal_mysql_password` is now `drupal_db_password`
    * `drupal_mysql_name` is now `drupal_db_name`
  * Updated `mysql_databases` and `mysql_users` to use the new variable names listed above
  * Added `postgresql_databases` and `postgresql_users` (same kind of structure as the `mysql_*` variables)

### Improvements

  * #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.

### Bugfixes

  * Ensure Debian apt caches are updated when running tests on Travis.


## 3.2.3 (2016-09-27)

### Improvements

  * Updated all Ansible roles to latest releases (stability fixes).
  * Updated Travis CI tests to use more efficient Docker setup.

### Bugfixes

  * Nothing substantial, just a few typo corrections in comments.


## 3.2.2 (2016-09-09)

### Breaking changes

N/A

### New/changed variables in default.config.yml

N/A

### Improvements

  * #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.

### Bugfixes

  * #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.


## 3.2.1 (2016-08-16)

### New/changed variables in default.config.yml

  * Default database defined in `mysql_databases` now uses `utf8mb4` encoding and `utf8mb4_general_ci` collation.
  * `selenium_version` now defaults to `2.53.0`

### Improvements

  * #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.

### Bugfixes

  * #853: Add `/web` to directory in Drupal Console instructions.


## 3.2.0 "Tronaction" (2016-07-26)

### Breaking changes

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!).

### New variables in default.config.yml

  * `drush_make_options: "--no-gitinfofile"` added to allow overriding of the default options passed into the `drush make` command.
  * `elasticsearch` is now an optional `installed_extra`
  * port `9200` is now included in the list of `firewall_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.

### Improvements

  * #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.

### Bugfixes

  * #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.


## 3.1.4 (2016-07-11)

### Breaking changes

  * `php_sendmail_path` now defaults to `"/opt/mailhog/mhsendmail"` (see https://github.com/geerlingguy/drupal-vm/commit/2d835826de127e427b9a8287bdd2d84a65779761)

### Improvements

  * #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.

### Bugfixes

  * #795: Fix Your Site links on dashboard for certain Nginx configs.
  * #793: Document composer.json devel module dependency for default config.


## 3.1.3 (2016-06-29)

## Improvements

  * #762: Support including extra_parameters for nginx vhosts.

## Bugfixes

  * #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.


## 3.1.2 (2016-06-16)

### Improvements

  * #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.

### Bugfixes

  * #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.


## 3.1.1 (2016-06-12)

### New variables in default.config.yml

  * `#ssh_home: "{{ drupal_core_path }}"` - The `SSH_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.

### Improvements

  * #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.

### Bugfixes

  * #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.


## 3.1.0 "Love Theme" (2016-06-06)

### New variables in default.config.yml

  * `local_path: .` - the default Vagrant synced folder `local_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 this `true` and set all the `build_composer*` variables to `false`.
  * `build_composer`, `drupal_composer_*`, `build_composer_project`, `drupal_composer_project_*` - New variables to support `composer.json` or `composer 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 to `composer_global_packages` (to speed up Composer operations inside the VM).
  * `solr_version: "5.5.1"` - New default version of Apache Solr, if `solr` is in `installed_extras`.
  * `configure_local_drush_aliases` has been changed to `configure_drush_aliases` (there is a shim to allow the use of the old variable name).

### Improvements

  * #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.

### Bugfixes

  * #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` to `configure_drush_aliases` so it's purpose is clearer.
  * #678: Clarify requirement of Ansible on host for host Drush alias setup.


## 3.0.0 "The Light Sailer" (2016-05-19)

Read the [Drupal VM 3 announcement blog post](http://www.jeffgeerling.com/blog/2016/drupal-vm-3-here).

### Breaking changes

  * Some new defaults (e.g. PHP 7 or upgrading to Ubuntu 16.04) require a full box rebuild (`vagrant destroy` and `vagrant 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 to `geerlingguy/ubuntu1604` (was `geerlingguy/ubuntu1404`)
  * `drush_makefile_path` is now `"{{ config_dir }}/drupal.make.yml"` (to support Drupal VM in a subdirectory)
  * `memcached`, `xdebug`, and `xhprof` are now commented from `installed_extras` by default
  * `extra_packages` now includes `sqlite` by default
  * `php_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!](https://packagist.org/packages/geerlingguy/drupal-vm))
  * #526: Added Blackfire.io support (PHP 7 or 5.x).

### Bugfixes

  * #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.


## 2.5.1 (2016-05-11)

## 2.5.0 "Magic Landings" (2016-05-10)

## 2.4.0 "A New Tron and the MCP" (2016-03-30)

## 2.3.1 (2016-02-23)

## 2.3.0 "Miracle and Magician" (2016-02-20)

## 2.2.1 (2016-01-25)

## 2.2.0 "Wormhole" (2016-01-15)

## 2.1.2 (2015-12-04)

## 2.1.1 (2015-10-07)

## 2.1.0 (2015-09-22)

## 2.0.1 (2015-08-21)

## 2.0.0 (2015-07-29)

...

## 1.0.0 (2014-03-24)
