| layout | page |
|---|---|
| title | Changelog |
| permalink | /docs/en-US/changelog/ |
- Switched the default PHP from v7.4 to v8.2 and
default Node from v14 to v16( #2690 ) - Use Node 20 as the default version to match WP and Gutenberg ( #2696 )
- WP Coding standards v3 ( #2688 )
- VIP Coding standards v3 ( #2688 )
- Better error messages with links to docs when trying to use a PHP version that isn't installed ( #2689 )
- Opted out of Dotnet package telemetry ( #2689 )
- Replace references to the Squizlab PHPCS with that from the PHPCS Standards org ( #2692 )
- Better PHP Debug mod switching outputs and checks ( #2702 )
- PHP Info and Xdebug info pages now state their versions ( #2702 )
- Switch the Parallels Arm64 box from
mpasternak/focal64-armtobento/ubuntu-22.04-arm64to match x86 boxes ( #2695 )
- The host file inside the VM was only adding sites with
127.0.0.1addresses, now it adds the IPVv6::1too ( #2689 ) - Removed old MacOS PR workflows, no runners available ( #2698 )
- Monolithic docker beta support ( #2632 )
- Added the GMP PHP extension to the default PHP installation ( #2676 )
- Updated bitbucket SSH fingerprints ( #2679 )
- Fixed a vagrantfile error on Arm when the vagrant-parallels plugin is missing ( #2670 )
- Miscellanous Shellcheck linter fixes and improvements ( #2675 )
- Github action fixes for composer and an upgrade to Ubuntu 20 ( #2677 )
- Fixed an issue with git safe directories ( #2681 )
- Git safe directory fixes
- Fixed docker version detection
- PHPCS install improvements
- Added Gitlab SSH fingerprints for non-RSA keys ( #2665 )
- Apt sources for Ubuntu 22 LTS
- Updated to the new GitHub RSA fingerprint ( #2665 )
- Added a fallback Nginx config for sites that don't specify a site provisioner ( #2279 )
- Sites that do not have a provisioner set will have a logs folder created for Nginx logs,and a public_html folder with Nginx rules for WordPress or other PHP applications. The user is responsible for creating a database and installing/placing a site.
- Simplified PHPCS installation bin dir setting ( #2648 )
- Virtualbox users running
sudo vagrantcommands now get a warning - Fixed setting of git rebase config for the vagrant nonroot user ( #2658 )
- Added composer bin directory to path ( #2588 )
- Fixed faulty Vagrant plugin check.
- A fix for setting the PHP version parameter ( #2644 )
- Improved provisioning output
- VVV will now attempt to test Nginx configs on installation and recover ( #2604 )
- Switched to new launchpad PPA domains with HTTPS ( #2586 )
- Improved the verboseness of the DB import scripts ( #2621 )
- PHP version parameter for provisioner and Nginx ( #2583 )
- WP CLI package update failures now fail gracefully instead of stopping a provision ( #2601 )
- Fixed an edge case updating NVM via git ( #2604 )
- Disable hardware support for gcrypt to avoid bad VirtualBox implementations ( #2609 )
- Fix unbound variable in
db_backup( #2617 ) - Ensured npm and nvm are always available in site provisioners
- Explicitly allow a composer plugin when installing PHPCS to avoid issues in July 2022 ( #2620 )
- VVV now switches to Parallels by default on Arm machines ( #2560 )
- Adds default Nginx pages for 40x and 50x errors to help on troubleshooting ( #2345 )
- NVM is now used to manage NodeJS, VVV will auto-switch the node version to that used by
.nvmrcwhen inside the guest VM ( #2581 ) - The PHP Redis extension is now installed with the default PHP version ( #2582 )
- Refactored the certificate check to check for the certificate file, not the TLS-CA utility ( #2563 )
- Fixed an issue with
composer create-projectnot running when specified inconfig.yml( #2565 ) - Switched obsolete mirror check for MariaDB to the one already used (#2575)
- Fixed a broken warning in the network checks
- Fixed an issue with
/root/.local/share/composerwhen provisioning (#2589) - Fixed an issue with the new Git release that was crashing the provisioner beucase of wrong user permissions ( #2593 )
- Split tools out into their own provisioner ( #2270 )
- Parallelised the tools provisioner ( #2520 )
- Added the
unattended-upgradespackage to auto-upgrade packages with security updates ( #2513 ) - Add
jqfor CLI based JSON parsing ( #2518 ) - Improved Debian/Raspbian compatibility in apt package provisioners ( #2522 )
- Added basic Avahi support for vvv.local ( #2523 )
- Utiities have been renamed to extensions
- VVV now warns when
vagrant-disksizeis installed on Arm/Apple Silicon devices - Changed Parallels Arm64 box
- Added db.restore.exclude/include/restore_by_default parameters
- Fixed backwards compatibility for enabling backups in
config.ymlviabackup: true - Fixed the import of databases with spaces in there names
- Improved root certificate trust chain handling
- Service restarts now have dedicated functions
- Several evals removed from the hook functions
- Disabled nested virtualisation under Hyper-V
- Clock synchronisation now fails gracefully
- The private IP requested has been changed to fit the restrictions in VirtualBox 6.1.28
- If unset, VVV will now set the global git branch merge strategy to avoid provisioner failure
- Added a new bear to full provision message, and updated message to be more clear
- Switched Ubuntu 20 boxes to Bento on VirtualBox to avoid folder mounting issues
- Fixed a broken heredoc
- Improved site provisioning messages
- MariaDB upgraded to v10.5
- Improved Apt source file handling in core provisioners
- Upgraded to Composer 2
- Upgraded to Python 3 setuptools and pip3
- PHPCS installation improvements
- Added ARM64 support for Mailhog
- Improved the splash screen provider version fetching
- Added improved apt package upgrade routines
- Provisioners now ask to install only packages that aren't installed
- General package handling performance improvements
- New config to exclude databases from backup in
config.yml( #2346 ) - New config to gzip compress database backups in
config.yml( #2346 ) - Experimental Apple silicon support using vagrant + parallels
- Disable backup and restore of databases by default
- Updated Mailhog to 1.0.1 for new installs
- Improved MailHog downloading with retries and error output
- Improved Composer installation
- webp support in Imagemagick
- Switch from Ubuntu 18.04 to 20.04 (current LTS release)
- Simplified config folder
- Increased the default PHP memory limit from 128MB to 256MB
- Fixed
vvv_errornot always printing messages - When a sites repo has the wrong URL for the origin remote, the user is now told. This avoids certain mistakes being made.
- Remote changes are now fetched before resetting, not afterwards.
- Increased the priority of Nodesource and Ondrej packages to avoid issues
- Fixed Parallels mount permissions
- Fixes for site names containing spaces causing Nginx and TLS issues
- Warnings that you're missing vagrant plugins no longer show when running vagrant plugin commands
- Force the Virtual Machine to 64bit on VirtualBox to avoid infinite loops on 32bit architectures
- Force the installation and update of grunt and grunt-cli so that old grunt is always overwritten when updated
- Sync clocks before provisioning if ntpdate is available to avoid Apt mirror time issues
- Fixed cloning the dashboard git repository with unknown remote branches
- Skip mounting custom folders for skipped sites
- Improved WP CLI ownership and permission settings
- Removed WP CLI doctor subcommand package that was causing issues for some users
- Fixed dashboard updating
- Replaced PHPCS symlinking to avoid issues with Windows
Lots of provisioners now run in strict mode. Your custom site and utility provisioners may fail if they do not handle bad return codes from commands correctly. For example if you ran composer create-project on a folder that was not empty, it will fail. In v3.5 this failure was ignored and the script continued despite the critical error, in v3.6 VVV will halt provisioning so that the error can be seen.
Make sure that commands are only ran at their appropriate times, e.g. only install things if they aren't installed, and if you're checking the return value of a command, do it in an if check, not as a temporary variable. If you're feeling adventurous you can unset the strict flags ( danger! ).
Finally, check that your custom modifications haven't been added in the official site templates.
- Improve the way that PHPCS gets provisioned to avoid conflicts with composer v2 (#2357)
- PHP v7.4 is now the default PHP ( other versions are available on CLI if installed via
php73,php72, etc ) - Beautify the PHP debug switcher script
- Support for basic formatting tags in
vvv_warnvvv_errorvvv_infoandvvv_success - A new
vvv_outputandvvv_format_outputbash functions - Minor refactors and colours added to the main provisioner
- Improved output of backup and import scripts
- SHDocs added to core provisioners
- Improved PHP configuration file installation
- Sites can now define composer create-project/install/update commands to run in their folders section in addition to the git options added in v3.5.1
- Adds a
vagrantcommand inside the virtual machine to tell users they are still inside the VM and need to exit switch_php_debugmodnow checks if a module is installed and enabled, with improved output to make it clearer which versions of PHP support the module- Print provision log if there are errors
- Adds an Xdebug Info button to the dashboard when Xdebug is enabled
- Fixed the use of
vvv_warnvvv_successvvv_errorandvvv_infooutside of provisioners - Don't try to install shyaml if it's already installed
- Global composer packages were only updated when composer itself was updated
- Skip the WordPress unit tests database when running backups
- Don't back up databases that have no tables
- Xdebug deprecated configuration option warnings fixed
- Use HTTPS instead of SSH for WP CLI Doctor subcommand installation
- Install missing library for Xdebug support
- Cleaned up leftover
nvmremoval code from main provisioner ( #2185 ) - Added support for
vagrant-goodhosts, we recommend using this in the future instead ofvagrant-hostsupdater - Added
box-cleanup.shandbox-minimize.shscripts. Run these before creating a vagrant box to reduce disk size. These are only intended for box file creation. - Prevent use of sudo vagrant up ( #2215 )
- Major refactor of the main provisioner, and introduction of a hook system to be used while provisioning ( #2230, #2238 )
- Support for cloning git repositories into site folders via
config/config.yml( #2247 ) - Install WP-CLI doctor package ( #2051 )
- Enhanced database backup terminal output ( #2256 )
- Sites with no
hostsdefined will now default to{sitename}.test( #2267 ) - Enhanced pre/post vagrant up and provision messages ( #2306 )
- More warnings for people who use
sudo vagrantcommands ( do not use sudo ) ( #2306 ) - If the VM was created by a root user,
/vagrant/provisioned_as_rootis now created ( #2306 ) - The default version of PHP was upgraded to v7.3 ( #2307 )
- Only install the specific version of PHP Pcov we need, rather than all versions ( #2310 )
- SVN repository upgrade searches have been moved to a utility. Previous versions of VVV would search 5 folders deep for svn repositories that needed upgrading. If you still need this, add the
svn-folder-upgradecore utility. This change can speed up provisioning by 5-10+ seconds on large installations. - In the future the dashboard options will be deprecated. Custom dashboards should instead use site provisioners, allowing them to run provisioners, make custom Nginx configs, and have multiple dashboards if desired.
- Some people use
sudowhen running vagrant commands with VVV, they should stop, do not usesudo, and immediatley back up their data. Future VVV versions will assume that when running withsudothat the user is trying to recover databases in preparation for avagrant destroy. This includes skipping the provisioning of sites, limiting the available features, and very annoying and prominent warnings. Users who intend to continue usingsudofor everyday development should expect a painful experience if they do not try to recover. Feel free to ask for help in github or the VVV slack.
- Fix mysql root password reset ( #2182 )
- Fix empty string yml value reading on site provisioner ( #2201 )
- Fixed an issue preventing backups of databases whose names contained reserved words ( #2213 )
- Remove APT list files and switch compression type defaults for repositories to avoid hash mismatch ( #2208 )
- In case the previous provisioning had some issues with dpkg on a new provision
dpkg --configure -ais executed as default ( #2211 ) - Fixed provision-site.sh syntax errors on fail situations ( #2231 )
- Dashboard cloning is now more reliable ( #2243 )
- Improved the log folder names from
20200225-182126to2020.02.25-18-21-26( #2078 ) - Added a
switch_php_debugmodto replace thexdebug_ontideways_offstyle scripts ( #2084 ) - Checks the default password for MySQL root user during provision ( #2077, #2085 )
- Remove NVM support entirely ( #2088 )
- Improved the provider examples in
default-config.yml( #2091 ) - Run rubocop on Vagrantfile in a move towards more idiomatic ruby ( #2093 )
- Improved network checks to test more domains ( #2099 )
- ack-grep is now installed via
aptrather thanbeyondgrep.com( #2100 ) - Refactor site provisioners ( #2102 )
- Added new bears to the various vagrant trigger scripts ( #2105, #2108 )
- Removed Ubuntu news MOTD ( #2105 )
- Improve network checks wording ( #2106 )
- Support for vagrant-hostmanager ( #2112 )
- Bumped MariaDB sources from 10.3 to 10.4 ( #2140 )
- Improve compatibility with globally installed gems on the guest ( #2138 )
- Add LFTP tool ( #2137 )
- List relevant log files when provisioners fail ( #2161 )
- Fix check for utility installed that prevented SSL certificates to be generated ( #2073 )
- Fix SSL issue on the base Ubuntu image ( #2074 )
- Don't spider and recurse domains when checking for network connections ( #2103 )
- Always set the database root user password to avoid having the default invalid password on fresh installs ( #2104 )
- Swap the MariaDB apt mirror used for a more reliable source ( partially #2140 and in a217369 )
- Fixed an issue with the dpkg lock file not being cleaned up sometimes ( #2151 )
- Fix issues with the sad bear showing at the end of provisioning despite provisioners being succesful ( #2161 )
- Fix provisioners printing all output to console (not just errors) ( #2174 )
- Improvements to the ruby code in the vagrant file
- Installs the ntp date packages and starts the ntp service to fix time drift on sleep
- Fixes an issue with the ntpsec package by removing it
- Fixed the use of dots in site names breaking provisioning
- Improved output of
xdebug_onandxdebug_off - Updated the default config to reference PHP 7.4 support
- webgrind is now provisioned using composer
- Added support for the vagrant-disksize plugin if available
- Site provisioner output is now piped to the log file to simplify the terminal output. Errors should still be sent to the terminal
- Utility provisioner is now piped to the log file to simplify terminal output
- Fixed cloning site provisioners into empty directories
- Enabled MailHog for all PHP versions
- Removed trailing spaces from all provisioner files and configs
my.cnfis now readable by the vagrant user- Fixes to newline substitution in the splash screen and some rearrangement
- MySQL binary logging is now disabled
- Synced folder permission fixes for VMWare
- Shared DB mounts are now mounted on Parallels and VMWare
- Fixed
/var/logbeing mounted on Parallels, HyperV, and VMWare
This is a quick update that changes a default parameter when undefined. In VVV 2 the database was stored inside the VM, and in VVV 3 we put it in a shared folder. This didn't work for some people, so we added a config option to disable this. If this option wasn't set, VVV would use the shared folder.
In v3.1.1 if the option isn't set, it will instead store the database inside the VM. This makes it work out of the box for everybody. If you have a working VVV with the shared folder, you can restore this behaviour by setting db_share_type: true in vvv-custom.yml and reprovisioning, see vvv-config.yml for an example of where this setting goes
- Improved the default
vvv-config.ymlto show new site template parameters - VVV installs less out of the box with a simplified
vvv-config.yml, uncomment utilities to add software back in
- Fixes the grunt installation
- Fixes to file permissions in the
/vagrantfolder - Removed typos in the readme
- Switched to a new box for VMWare
- Shared folder warning fixes for VMWare
- Trailing whitespace removed from the editorconfig file
- Visiting the dashboard before it's provisioned now no longer gives a PHP error
This is primarily a reliability update. Note that updating to v3.1 requires a vagrant destroy and a vagrant up --provision. If you've turned off shared database folders, backup beforehand.
- The vagrant box can now be overridden using the
boxparameter invvv-custom.ymlunder thevm_configsection. This requires avagrant destroyfollowed by avagrant up --provisionto recreate the VM using the new box - The main provisioner now only fetches the apt keys once rather than on every key check
- The TTY fix shell provisioner and the
/vagrantsetup shell provisioner were merged for a minor reduction in provisioning time. - Allow
db_backupscript to be run manually regardless if automatic DB backups are disabled vvv,vvv.dev, andvvv.localnow redirect tovvv.test- Added a premade Sequel Pro config file under the
databasefolder - Set GitHub token from
vvv-custom.ymlfor Composer
- Changed to the
ubuntu/bionic64box to avoid issues with kernel page cache corruption until they can be identified, these were causing issues when updating a WP installation - Fixes to mysql user and group creation to improve shared folder reliability
- Fixed an issue with permissions in files copied to the home folder
- Fixed shared folder and permissions for Microsoft Hyper-V
- Fixed all mount_options to the correct permissions for Microsoft Hyper-V
- Set VM Name to exactly the same as VirtualBox, using v.vmname for Hyper-V
- Fixes to log file paths for XDebug and PHP
- Fixes files and folders in the home folder being owned by root instead of vagrant
- Fixes support for database names containing hyphens in the import/restore scripts
- Fixes the site provisioner attempting to clone site templates into existing sites when a site template is added to a site that didn't have one before, but has already provisioned ( it will note that this happened but won't clone the template )
- Removed some references to Go
- Fixed symlink issues with apt source files by copying instead
- Specify
keep_colorson vagrant provisioners to prevent composer from outputting valid messages in the red error colours, unnecessarily alarming users xdebug_onandxdebug_offnow toggle Tideways so that XDebug and Tideways are never running at the same time- Switched to Node v10 by default to fix compatibility issues with the WP Core build scripts
- Runs the npm commands in the main provisioner under the vagrant user
- Node v11 is now auto-downgraded to Node v10
- Fixed Database SSH access from the host by enabling password authentication in
/etc/ssh/sshd_config - Added code to remove NVM
- Change Permission folder
/vagrantfrom root to vagrant
This version moves to an Ubuntu 18.04 box. It also moves the database data directory to a mounted folder. This means you can destroy and rebuild the VM without loss, but it also means a vagrant destroy is necessary to update. Be sure to back up database tables you need beforehand.
If you have issues provisioning with the new shared database folder, you can disable it by adding db_share_type: false to the general: section of vvv-custom.yml then reprovisioning. This will return you to the VVV 2 behaviour.
In the near future, we expect to use a box with PHP/etc preinstalled, this will be VVV 4.0.
- The box was changed to use Ubuntu 18.04 LTS
- If cloning a git repo to create a new site fails, VVV will halt provisioning and warn the user
- Added tbe
git-svnpackage,git-svnis used for bi-directional operation between subversion and git - MongoDB was updated to v4.0
- New
/srv/provisionand/srv/certificatesshared folders - Provisioners now log their output to a
logs/provisionersfolder, with each provision having its own subfolder
- Added a VVV package mirror PPA
- Updated apt-get keys for several sources
- Prevented provisioning from occurring inside Ubuntu 14 VMs
- Fixed issues with Nginx restarting too fast and too often by reloading instead
- Fixed the permissions on the
db_restorescript - The
/var/logfolder is no longer directly mounted, instead the/var/log/php,/var/log/nginx,/var/log/provisionersand/var/log/memcachedsubfolders are mounted. This improves compatibility - The SQL import script for backups will now create the databases if they don't exist before importing
- The deprecated domains
vvv.dev,vvv.local, andvvv.localhost, were removed, the dashboard lives atvvv.test. - Removed the
/vagrantdefault shared folder
- Auto download plugin for vagrant, supported vagrant 2.2.0+
- Autoset the locale inside the virtual machine to avoid errors in the console
- Added a
vagrant_provisionandvagrant_provision_customscript to the homebin folder that run post-provision - Improved the messaging to tell the user at the end of a
vagrant uporvagrant provisionthat it was successful - Added friendly splashes at the end of vagrant up and provision to make it obvious to end users when they've finished
- The VVV install path is now in the splash screen, making it easier to debug GH issues
- Added a
wordcamp_contributor_day_boxflag to thevm_configsection ofvvv-config.ymlso that contributor day setup scripts are simpler
- Improved detection of VirtualBox path to avoid
???version numbers in the VVV splash
2.5 Brings a major bug fix, and some performance improvements to provisioning
- Updated PHPMemcachedadmin from v1.2.2.1 to v1.2.3
- A new
db_backupoption was added tovvv-custom.yml - A new
db_restoreoption was added to skip the initial import - MailHog is now installed from a prebuilt binary instead of being built from source, speeding up initial provision
- VVV will now explicitly check for vvv-hosts in the .vvv and provision subfolders and skip searching 3 folders down if they're found
- Additional warnings and messages were added to aid with debugging site provisioners
- VVV will warn the user if no hosts are defined for a site, or if no folder exists for a site
- Skipping provisioning on a site will now make the site provisioner abort earlier
- Site provisioners no longer need to use nginx template config files to add TLS keys, they can use
{vvv_tls_cert}and{vvv_tls_key}invvv-nginx.conf tideways.vvv.testis now registered if the experimental tideways xhgui utility is present
- Loading vvv-hosts is now skipped if hosts are defined in the VVV configuration file
- GoLang was removed from the provisioner
- Updated the GPG key for packagecloud.io
- Updated the site provisioning script to fix WordPress Meta Environment failure (WordPress/meta-environment#122)
- Continue if the vagrant up and reload triggers failed
- Nginx and MySQL restarting is no longer done via a provisioner, this fixes contributor day issues when using
--no-provisionleading to nginx and mysql being unavailable. This is done via theconfig/homebin/vagrant_upscript
- Updated Node v6 to Node v10
- The default site config has been improved to clear up confusion over the difference between the site template and the develop site template
- Utilities can now place nginx config files in
/etc/nginx/custom-utilities/during provisioning - The default Nginx config can now be extended with files in
/etc/nginx/dashboard-extensions/during provisioning - The message VVV showed when copying
vvv-config.ymltovvv-custom.ymlwas a tad confusing, it's been improved
- Sites that set
skip_provisionto true no longer have their hosts added - PHP error logging was switched from
/srv/logto/var/log, fixing an issue with PHP logs appearing inside Nginx logs
- Support for git-lfs
- Replaced MailCatcher with MailHog
- Network tests now use Launchpad instead of Google.com
- Improved Splash screen and warning messages
- Improved the default vvv config to prevent confusion
- Improved the default prompt when using
vagrant ssh - Improved the welcome message when you SSH in
- If provisioning fails, VVV now aborts instead of continuing and failing
- Apt-get keys are now bundled with the VM
- VVV will now warn you when you add a site without a site template
- Fixed issues wrapping bash prompt colours on some environments
- Fixed an issue with dpkg failures
- The logs folder is now owned by the vagrant user not the ubuntu user
- VVV will now search 3 folders down for vvv-init.sh vvv-hosts and vvv-nginx.conf not 4 folders
- Ruby was replaced with GoLang, and MailCatcher removed for new users
Note that to update to 2.2.1, you must remove the Vagrant triggers plugin and install Vagrant 2.1
- Support for Vagrant 2.1, note that older versions of Vagrant and Vagrant Triggers are now deprecated
- PHP 7.2 is now the default PHP version
- Added the TLS CA authority, making HTTPS TLS/SSL connections to VVV sites easier, see our docs on how to set this up
- The VVV terminal splash is now smaller, with better support for lighter colour schemes.
- The dashboard is now a separate git repo cloned on provision, that can be overridden in
vvv-custom.yml - PHPCompatibility PHPCS standards are now installed
- VVV now has a
versionfile - Private network IP can now be changed via
vvv-custom.yml, see #1407 - Default VM RAM bumped up to
2048from1024, see #1370 - The
srcsubdomain of the WP develop site was disabled in line with changes to WP core php70added to the core utility
- Fixed the unexpected
-ferror on Windows - Fixed the splash not reporting git vs zip and branch on Windows
- Fixes to PHPCS installation
- Updated the box used for VMWare see #1406
- When cloning utilities git ran as the root user see #1491
- Composer ran under the root users see #1489
- When cloning sites, git ran as the root user see #1490
vvv-wordpress-develophas been replaced bycustom-site-template-developvvv-wordpresshas been replaced bycustom-site-template- Legacy TLS certificate generation for vvv.test was removed, it was broken, use the TLS-CA utility instead
- PHP 7.0 is no longer the default PHP version used, and has been replaced with PHP 7.2,
php70is available in the core utility see #1484 - Older versions of Vagrant are no longer supported, Vagrant 2.1+ is now required
- 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
vvv-hostsfiles inVagrantfile. See #1182. - Pass more configuration data to the VirtualBox VM on boot. See #1197.
- Link to
varyingvagrantvagrants.org's Add New Site in thehttp://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 ofbin. See #1202. - Fix bug installing
rvm(which broke MailCatcher). See #1235. - Add
phpcodesniffer-standardto PHPCS'scomposer.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.
A full 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.
- 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 tophp-memcachethat works with PHP 7.0. See #1076. - Set
colordiffas the defaultsvn diffcommand tool. See #1077. - Add a VVV logo to provisioning. See #1110.
- Add some style to the default VVV dashboard. See #1122.
- Remove old, unused
mu-pluginsdirectory. See #1027. - Follow redirects when detecting a network connection. See #1048.
- Include
$is_argswithtry_filesin Nginx configuration. See #1075. - Remove an attempt to enforce
ipv4in Postfix as it was not working. See #1116.
- Introduce a documentation structure for future releases.
- PHP 7.0.x has now replaced PHP 5.5.x. See #844.c
- 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.
- Allow
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 - Install
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
- Move
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.
- 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 managepackage.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.3.8. 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 duringvagrant upandvagrant reload. See g#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{vvv-dir}/database/data/is recommended. - 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
vagrant haltandvagrant suspend. - Database data will no longer exist on the virtual machine after
vagrant destroy. - A
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. - 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. Runningvagrant 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.56.4. See #365 - Init scripts are now fired with
sourcerather thanbash. Due to this change, something likecd "$(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 4.2.13.1
- WP-Cli: Add support for autocomplete.
- VVV Dashboard: Add Opcache Status for opcache monitoring.
- Bash: Allow for a custom
bash_promptfile inconfig/ - NodeJS: Use recommended PPAs to install
- NodeJS: Self update NPM during provisioning
- Logs: Map a shared directory for logs, start storing
php_errors.log - Nginx: Install using the mainline repository, currently 1.7.x.
- Transition to Varying Vagrant Vagrants organization.
- Add a CONTRIBUTING document.
- Add
--allow-rootto allwp-clicalls in VVV core. - Use a new global composer configuration.
- Add
zipas a package during provisioning. - Introduce a helpful caveats section.
- Remove
tcp_nodelayconfig in Nginx. Reasoning in 0cce79501.
- Introduce Auto Site Setup during provisioning to allow for easy new project configuration.
- Happy Fix
vagrant upafter halt meets expectations and no longer requires provisioning to be reapplied. - Begin implementing best practices from Google's shell style guide in our provisioning scripts.
- Databases can now be dropped in phpMyAdmin. Pro-tip,
drop database wordpress_developin phpMyAdmin followed byvagrant provisionclears your src.wordpress-develop.dev for reinstall. - Copy config files instead of linking them. This allows for a nicer
vagrant upafter avagrant haltand treats provisioning more like it should be treated. See 1fbf329 for a more detailed commit message. - Allow for
dashboard-custom.phpto override the default dashboard provided by VVV - Reduce size of the included
my.cnffile to exclude unrequired changes. Increasemax_allowed_packetsetting.
- Possible Annoying: Use
precise32for the Vagrant box name for better cross project box caching. - Note: This will probably cause a new Vagrant box to download. Use
vagrant box remove std-precise32after avagrant destroyto remove the old one and start with this. - Possible Breaking: Change VM hostname to
vvv.dev - Note: If you had anything setup to rely on the hostname of precise32-dev, this may break.
- Possible Breaking: Change MySQL root password to
root - Note: If anything is setup to rely on the previous password of
blank, this may break. - You can also now access
mysql -u rootwithout a password. - Introduce support for the WordPress develop.svn
- This was added pretty much the day it was available. Such a pleasure to work with!
- Allowed us to remove the old
wordpress-unit-testsin favor of the newwordpress-develop/tests - Introduce support for the Vagrant hostsupdater plugin
- Use
vagrant plugin install vagrant-hostsupdaterto install. - Very, very much recommended for an easier and happier life.
- Introduce Postfix with a default config. Mail works! (But check your spam)
- Introduce the WordPress i18n Tools, including
config/homebin/makepot - Introduce PHP_CodeSniffer, WordPress-Coding-Standards, and Webgrind
- Remove entire well intended but not so useful flags system
- Rather than include PHPMemcachedadmin in the VVV repository, download it on initial provision
- Verify support for Vagrant 1.3.5 (as well as 1.2.x) and VirtualBox 4.3 (as well as 4.2.x)
- Move
xdebug_onandxdebug_offcontrols to executable files inconfig/homebin - Generate
vagrant_dirinVagrantfilefor accessing relative file locations - Add a basic network connectivity check by pinging Google DNS servers
- Update stable version of WordPress automatically on provision
- General cleanup to screen output during provisioning
- Many updates to the default nginx configuration
- Remove poor, unused implementation of Watchr
- Provide default certs for SSL in Nginx
- Enable SSH agent forwarding
- Wrap update/installation procedures with a network status check
- Enable WP_DEBUG by default
- Update wp-cli during provisioning
- Better handling of package status checks
- Better handling of custom apt sources
- Add PHPMemcachedAdmin 1.2.2 to repository for memcached stats viewing.
- Add phpMyAdmin 4.0.3 to repository for database management
BREAKING CHANGES: Breaking changes are made in this release due to the reorganization of config files for PHP that will require a full vagrant destroy and vagrant up to resolve.
- Refactor of package provisioning allows for better (and incremental)
vagrant provisionuses by checking individual package installs before attempting to install them again. - Remove several flags used to disable portions of provisioning. This favors the scaffold approach provided by VVV.
- Improved nginx configuration and documentation
- Use --asume-yes vs --force-yes with apt
- Update Composer based on a specific revision rather than always checking for an update.
- Update Mockery based on a specific version rather than using the dev channel.
- Update ack-grep to 2.04
- Add php5-imap package
- Update to Nginx 1.4 sources
- Update to PHP 5.4 sources
- Update to Git 1.8 sources
- Updated xdebug configuration parameters, fixes 60s timeout issue
- Better method to enable/disable xdebug configuration
- Refactor handling of custom PHP, APC, and xdebug configurations
- Bump default memcached memory allocation to 128M
- Introduce custom
apc.inifile, bumpapc.shm_sizeto 128M - Provide a phpinfo URL at
http://vvv.test/phpinfo/ - Set
WP_DEBUGto true by default for included installations of WordPress
- Add WordPress Unit Tests
- Option for custom shell provisioning file
- Pre/Post provisioning hooks via additional shell scripts
- Flags system to disable portions of default provisioning
- Grab stable WordPress from latest.tar.gz vs SVN
- Append custom apt sources list to default
- Update to SVN 1.7.9, addresses specific Windows permissions issue
- Move wp-cli to /srv/www/ for easier contributions
- Repository moved under 10up organization
- Wrap provisioning in an initial run flag, speed up subsequent boots
- Add support for a Customfile to pull in desired local modifications
- Add default .vimrc file with some helpful tricks
- Clarify sample SQL commands
- Add WordPress trunk installation to default setup
- Use composer to install phpunit, mockery and xdebug * faster than PEAR
- Filename modifications for config files
- General documentation improvements
- Add Mockery
- Vagrant version requirement changes
- Add wp-cli
- Use wp-cli to setup default WordPress installation
- Add subversion
- Bug fix on importing SQL files
- Add ack-grep
- Move to Vagrant 1.1 style Vagrantfile
- Better DB handling all around
- Link mysql data directories for persistence
- Add PHPUnit
- Add XDebug
- Initial version, lots of junk from untracked versions. :)