Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
- Add cosmetic improvements to provisioning. This cleans up quite a bit of the junk that displayed on many lines when it should have displayed on one. See #1247.
- Update ack-grep to 2.16. See #1148.
- Dashboard (
http://vvv.test) links now open in new tabs. See #1168.
- Speed up checking for
Vagrantfile. See #1182.
- Pass more configuration data to the VirtualBox VM on boot. See #1197.
- Link to
varyingvagrantvagrants.org's Add New Site in the
http://vvv.testdashboard. See #1220.
- Build the VirtualBox VM name from the Vagrant directory and path hash. See #1236.
- PHPCS is now installed via Composer. See #922.
- VVV now uses .test instead of .dev for new installs and the dashboard. See #583.
- Added the VIP minimum coding standards to PHPCS. See #1279.
- Fix a wrong path for phpcs and phpcbf executables. See #1200.
- Force Composer to use the
scriptsdirectory instead of
bin. See #1202.
- Fix bug installing
rvm(which broke MailCatcher). See #1235.
composer.json. See #1239.
- Ignore provision generated PHPCS files in Git. See #1276.
Many updates to VVV's documentation were made between the release of 2.0.0 and now. As of 2.1.0, the process to contributing to documentation has changed to use the varyingvagrantvagrants.org repository. This allows the workflow for shipping documentation changes to proceed separately from shipping VVV releases.
VVV 2.0.0 introduces breaking changes in how files are organized and introduces an entirely new method of configuration.
vagrant destroy and
vagrant up are recommended for best results. Running
vagrant destroy will remove your virtual machine entirely and all data stored on the VM will be lost. Please be sure to backup your databases and any files stored in the VM. Files on your local file system will remain, but will still benefit (as always) from a backup.
It is possible to make the from VVV 1.4.x to 2.0.0 without a
vagrant destroy, but the process will involve restructuring several things. Primarily, default project directories are now expected to contain a
public_html/ directory. This requires not only file changes, but new Nginx configurations. If you need help troubleshooting, don't hesitate to open a new issue.
Please see the migration documentation for tips on how to manage this process.
The decision to include breaking changes in a release is not made lightly. The new ability to configure your installation of VVV with a
vvv-custom.yml file will make VVV entirely more flexible and maintainable than it has ever been. Please see the release blog post and documentation for more details.
Features & Enhancements
- Introduce a YAML configuration for VVV. It is now possible to customize your configuration of VVV with a
vvv-custom.ymlfile that defines which projects, hosts, and utilities are provisioned. See #980.
- Introduce a new VVV Utilities repository. This works with the new YAML configuration to provide the ability to customize what utilities are provisioned with VVV. See #1021.
- Introduce a new VVV Custom Site Template repository. This can be used in
vvv-custom.ymlto quickly add new sites to VVV.
- Introduce a new VVV WordPress Develop repository. This is used in the default
vvv-config.ymland can be used in (or excluded from) custom configurations.
- Introduce a new VVV WordPress Default repository. This is used in the default
vvv-config.ymland can be used in (or excluded from) custom configurations.
- Introduce a new VVV WordPress Trunk repository. This can be used in custom configurations if you'd like a checkout of WordPress trunk.
- Add support for custom keys in the YAML configuration. These are available to individual site provisioning scripts. See #1071.
- Add support for PHP 5.6, 7.0, and 7.1 via the VVV YAML configuration. See #1055.
- Introduce a new documentation structure and an entire set of new documentation. See #1073 and, more importantly, #1112.
- Introduce documentation explaining the governance of VVV. See #1118.
- Install MariaDB 10.1 instead of MySQL 5.5 as part of default provisioning. See #1005 and #1115.
- Install and update WP-CLI with its PHAR file rather than with a git clone. See #1057.
- Add the
php-memcachedpackage to default provisioning as an alternative to
php-memcachethat works with PHP 7.0. See #1076.
colordiffas the default
svn diffcommand tool. See #1077.
- Add a VVV logo to provisioning. See #1110.
- Add some style to the default VVV dashboard. See #1122.
Bug fixes and Enhancements
- PHP 7.0.x has now replaced PHP 5.5.x. See #844.
- Update PHPUnit to the latest stable 5.6.x version. See #1004
- Xdebug 2.4.0 is now built from source to provide PHP 7.0.x support. See #869.
- Disable Xdebug during provisioning so that Composer can operate at normal speed. See #971
- Improve the package installation check to avoid false positives. See #840.
vvv-nginx.confto be located in a project's subdirectory. See #852.
- Install the latest version of git via its PPA. See #872
- Assign names to pre, custom, default, and post provisioners to make
--provision-withpossible. See #806
nvmto provide access to multiple NodeJS versions. See #863
- Provide the NodeJS 6.x LTS release by default. See #1007
- Switch to NodeSource for NodeJS packages. See #779
query_cache_*config for MySQL to its proper place in the
[mysqld]section. See #925
- Allow WordPress core unit test database configuration to be supplied with environment variables. See #846.
- Use the correct command
wp core updatewhen updating WordPress with WP-CLI. See #958
- Remove the
core.svn.wordpress.orgWordPress trunk checkout from default provisioning.
develop.svn.wordpress.orgremains. See #921
- Checkout and initialize the
develop.svn.wordpress.orgrepository in a temporary (non-shared) directory. This addresses issues with a possible race condition during NPM package installation on a shared drive. See #969
- Add support for Parallels as a provider. See #479.
- Add support for Hyper-V as a provider. See #742.
- Add support for VMWare Fusion as a provider. See #587.
- Add support for VMWare Workstation as a provider. See 656.
- Add MailCatcher to default provisioning. See #632.
Bug fixes and enhancements
- Composer: Set a custom GitHub token for Composer if it exists. See #575.
- Docs: Update inline
Vagrantfiledocumentation to better explain various network configurations.
- MySQL: Enable
innodb_file_per_table. See #537.
- npm: Add
npm-check-updatesduring provisioning to help manage
package.jsoninside the VM. See #484.
- PHP: Bump max upload size in PHP and Nginx to 1024MB to support developing on the Internet in the year 2016. See #599.
- PHPCS: Set default code standards for PHPCS to WordPress-Core. See #574.
- phpMyAdmin: Allow for a custom phpMyAdmin configuration file. See #688.
- PHPUnit: Update PHPUnit to 4.8.x. A future update of VVV should include PHP 5.6.x or PHP 7 and allow us to update PHPUnit to 5.x. See #808.
- PHPUnit: Allow PHPUnit to run tests from the local machine while using the WordPress unit tests database in the virtual machine. See #785.
- PHPUnit: Set the
WP_CORE_DIRpath so PHPUnit tests are run against WordPress trunk. See #783.
- Provision: Rewrite
provision.shto be more modular. This improves readability and may one day aid in testability. See #659.
- Vagrant: Set the default box name to that of the working directory to allow for multiple instances of VVV without conflict. See #706.
- Vagrant: Allow for a custom trigger,
vagrant_upto fire during
vagrant reload. See #778.
- Vagrant: Make it easier and more forward-compatible to modify the virtual machine's IP address. See #781.
- Vagrant: Clarify default setting of 1 CPU when creating the virtual machine. See #625.
- WordPress: Provide better support for testing with xip.io by accounting for these requests in
wp-config.php. See #559.
- WordPress: SVN repositories configured in VVV provisioning are now set to HTTPS. Existing repositories configured to HTTP will not automatically update during provisioning unless they are first relocated to HTTPS. The
svn relocatecommand can be used for this. See #561.
- WP-CLI: Add an external configuration for WP-CLI so that a locally installed copy can be used outside of the VM. See #564.
- VVV is now MIT Licensed.
- _Possible Breaking:_ By default, database files are no longer mapped to a local location.
- A full
vagrant destroyand the removal of MySQL data from
- If database files already exist from an earlier version of VVV, data will continue to be mapped locally until removed.
- Database data will continue to exist on the virtual machine through
- Database data will no longer exist on the virtual machine after
db_backupscript is provided by default that creates local backups of each database on halt, suspend, and destroy if the vagrant-triggers plugin is installed.
- A full
- _Possible Breaking:_ Ubuntu has been upgraded from 12.04 LTS to 14.04 LTS. We have also moved from 32bit to 64bit.
- A full
vagrant destroyis recommended for best results.
- A new box will be downloaded for the base virtual machine. If you'd like to free space, remove the old box with
vagrant box remove precise32. Running
vagrant box listwill show you all base VMs on your local machine.
- With a new operating system comes a new RSA key. If you are connecting via SSH through an application that relies on your machines
known_hostsfile, you will need to clear the old key for 192.168.50.4. See #365
- A full
- Init scripts are now fired with
bash. Due to this change, something like
cd "$(dirname $0)"no longer works as expected. See #373 and #370 for reasoning and discussion.
- WordPress: Add
develop_gitto convert the default SVN checkout to Git.
- PHP: Update to PHP 5.5.x
- PHP: Remove php-apc and apc.ini. Enable built in opcache.
- PHP: Start tracking custom php5-fpm.conf file.
- PHP: Start tracking custom opcache.ini file.
- PHP: Update to PHPUnit 4.0.x
- PHP: Install XDebug PECL extension directly, rather than via apt.
- phpMyAdmin: Update to 220.127.116.11
- WP-Cli: Add support for autocomplete.
- VVV Dashboard: Add Opcache Status for opcache monitoring.
- Bash: Allow for a custom
- NodeJS: Use recommended PPAs to install
- NodeJS: Self update NPM during provisioning
- Logs: Map a shared directory for logs, start storing
- Nginx: Install using the mainline repository, currently 1.7.x.