Vagrant 1.4 has been released! This is a major new release of Vagrant with an incredible amount of new features, improvements, and bug fixes. Vagrant 1.4 can be downloaded on our new downloads page.
Vagrant 1.4 introduces no Vagrantfile backwards incompatibilities so it can be considered a drop-in upgrade for prior versions. Vagrant environments also do not need to be destroyed prior to upgrading.
There are a huge number of new features introduced in Vagrant 1.4, and this blog post will attempt to cover the major ones. For all changes see the changelog.
This blog post will cover:
And we'll conclude by talking about plans for Vagrant 1.5 and beyond.
Vagrant 1.4 introduces a Docker provisioner to automatically install Docker, pull Docker containers, and configure certain containers to run on boot.
As with all provisioners, the Docker provisioner can be used along with all the other provisioners Vagrant has in order to setup your working environment the best way possible. For example, perhaps you use Puppet to install services like databases or web servers but use Docker to house your application runtime. You can use the Puppet provisioner along with the Docker provisioner.
See the documentation for usage examples and a complete option reference.
Vagrant now has machine-readable output for a handful of commands. The machine-readable output makes it much easier to script Vagrant usage.
Note that not very many features of Vagrant output useful machine-readable information yet. This is just the first version with this feature and we plan to add more information as it is requested. If you'd like some data in the machine-readable output, please open an issue on the Vagrant GitHub project requesting it!
Enforcing a Vagrant Version
You now use the
Vagrant.require_version helper in your Vagrantfiles to enforce that only certain versions of Vagrant be used to run that environment.
This helps avoid unexpected surprises with backwards incompatibilities or plugin incompatibilities with your Vagrantfiles. The version constraints that can be specified are very powerful and easy to use.
See the documentation for more information.
Synced Folder Plugins