Vagrant v1.6.0 Release Notes
Release Date: 2014-05-06 // about 10 years ago-
BACKWARDS INCOMPATIBILITIES:
- Deprecated:
halt_timeout
andhalt_check_interval
settings for SmartOS, Solaris, and Solaris11 guests. These will be fully removed in 1.7. A warning will be shown if they're in use in 1.6.
๐ FEATURES:
- New guest: Windows. Vagrant now fully supports Windows as a guest VM. WinRM can be used for communication (or SSH), and the shell provisioner, Chef, and Puppet all work with Windows VMs.
- New command: global-status. This command shows the state of every created Vagrant environment on the system for that logged in user.
- New command: rdp. This command connects to the running machine via the Remote Desktop Protocol.
- New command: version. This outputs the currently installed version as well as the latest version of Vagrant available.
- New provider: Docker. This provider will back your development environments with Docker containers. If you're not on Linux, it will automatically spin up a VM for you on any provider. You can even specify a specific Vagrantfile to use as the Docker container host.
- Control Vagrant environments from any directory. Using the UUIDs given
in
vagrant global-status
, you can issue commands from anywhere on your machine, not just that environment's directory. Example:vagrant destroy UUID
from anywhere. - Can now specify a
post_up_message
in your Vagrantfile that is shown after avagrant up
. This is useful for putting some instructions of how to use the development environment. - Can configure provisioners to run "once" or "always" (defaults to "once"),
so that subsequent
vagrant up
orreload
calls will always run a provisioner. [GH-2421] - Multi-machine environments can specify an "autostart" option (default
to true).
vagrant up
starts all machines that have enabled autostart. - Vagrant is smarter about choosing a default provider. If
VAGRANT_DEFAULT_PROVIDER
is set, it still takes priority, but otherwise Vagrant chooses a "best" provider.
๐ IMPROVEMENTS:
- core: Vagrant locks machine access to one Vagrant process at a time.
This will protect against two simultaneous
up
actions happening on the same environment. - core: Boxes can be compressed with LZMA now as well.
- commands/box/remove: Warns if the box appears to be in use by an
environment. Can be forced with
--force
. - commands/destroy: Exit codes changes. 0 means everything succeeded. 1 means everything was declined. 2 means some were declined. [GH-811]
- commands/destroy: Doesn't require box to exist anymore. [GH-1629]
- commands/init: force flag. [GH-3564]
- commands/init: flag for minimal Vagrantfile creation (no comments). [GH-3611]
- commands/rsync-auto: Picks up and syncs provisioner folders if provisioners are backed by rsync.
- commands/rsync-auto: Detects when new synced folders were added and warns
user they won't be synced until
vagrant reload
. - commands/ssh-config: Works without a target in multi-machine envs [GH-2844]
- guests/freebsd: Support for virtio interfaces. [GH-3082]
- guests/openbsd: Support for virtio interfaces. [GH-3082]
- guests/redhat: Networking works for upcoming RHEL7 release. [GH-3643]
- providers/hyperv: Implement
vagrant ssh -c
support. [GH-3615] - provisioners/ansible: Support for Ansible Vault. [GH-3338]
- provisioners/ansible: Show Ansible command executed. [GH-3628]
- provisioners/salt: Colorize option. [GH-3603]
- provisioners/salt: Ability to specify log level. [GH-3603]
- synced_folders: nfs: Improve sudo commands used to make them sudoers friendly. Examples in docs. [GH-3638]
๐ BUG FIXES:
- core: Adding a box from a network share on Windows works again. [GH-3279]
- commands/plugin/install: Specific versions are now locked in.
- commands/plugin/install: If insecure RubyGems.org is specified as a source, use that. [GH-3610]
- commands/rsync-auto: Interrupt exits properly. [GH-3552]
- commands/rsync-auto: Run properly on Windows. [GH-3547]
- communicators/ssh: Detect if
config.ssh.shell
is invalid. [GH-3040] - guests/debian: Can set hostname if hosts doesn't contain an entry already for 127.0.1.1 [GH-3271]
- guests/linux: For
read_ip_address
capability, setLANG=en
so it works on international systems. [GH-3029] - providers/virtualbox: VirtualBox detection works properly again on
Windows when the
VBOX_INSTALL_PATH
has multiple elements. [GH-3549] - providers/virtualbox: Forcing MAC address on private network works properly again. [GH-3588]
- provisioners/chef-solo: Fix Chef version checking to work with prerelease versions. [GH-3604]
- provisioners/salt: Always copy keys and configs on provision. [GH-3536]
- provisioners/salt: Install args should always be present with bootstrap.
- provisioners/salt: Overwrite keys properly on subsequent provisions [GH-3575]
- provisioners/salt: Bootstrap uses raw GitHub URL rather than subdomain. [GH-3583]
- synced_folders/nfs: Acquires a process-level lock so exports don't collide with Vagrant running in parallel.
- synced_folders/nfs: Implement usability check so that hosts that don't support NFS get an error earlier. [GH-3625]
- synced_folders/rsync: Add UserKnownHostsFile option to not complain. [GH-3511]
- synced_folders/rsync: Proxy command is used properly if set. [GH-3553]
- synced_folders/rsync: Owner/group settings are respected. [GH-3544]
- synced_folders/smb: Passwords with symbols work. [GH-3642]
๐ PLUGIN AUTHOR CHANGES:
- New host capability: "rdp_client". This capability gets the RDP connection info and must launch the RDP client on the system.
- core: The "Call" middleware now merges the resulting middleware stack into the current stack, rather than running it as a separate stack. The result is that ordering is preserved.
- core: The "Message" middleware now takes a "post" option that will output the message on the return-side of the middleware stack.
- core: Forwarded port collision repair works when Vagrant is run in parallel with other Vagrant processes. [GH-2966]
- provider: Providers can now specify that boxes are optional. This lets
you use the provider without a
config.vm.box
. Useful for providers like AWS or Docker. - provider: A new class-level
usable?
method can be implemented on the provider implementation. This returns or raises an error when the provider is not usable (i.e. VirtualBox isn't installed for VirtualBox) - synced_folders: New "disable" method for removing synced folders from a running machine.
- Deprecated: