Vagrant Changelog

What's new in Vagrant 2.4.1

Jan 20, 2024
  • IMPROVEMENTS:
  • communicator/ssh: Support ECDSA type keys for insecure key replacement [GH-13327]
  • communicator/ssh: Inspect guest for supported key types [GH-13334]
  • core: Update Ruby constraint to allow Ruby 3.3 [GH-13335]
  • core/bundler: Force strict dependencies for default gems [GH-13336]
  • provisioner/ansible: Support pip installation for RHEL >= 8 [GH-13326]
  • util/keypair: Add support for ECDSA keys [GH-13327]
  • BUG FIXES:
  • command/plugin: Fix plugin extension installation on Windows [GH-13328]
  • communicator/ssh: Fix private key writing on Windows [GH-13329]
  • core: Fix Vagrant SSL helper detection on macOS [GH-13277]
  • core: Fix box collection sorting [GH-#13320]
  • util/platform: Fix architecture mapping for Windows [GH-13278]

New in Vagrant 2.4.0 (Oct 17, 2023)

  • FEATURES:
  • core: Add architecture support [GH-13239]
  • IMPROVEMENTS:
  • communicator/ssh: Add key type detection on insecure key replacement [GH-13219]
  • core: Extract box files as sparse files [GH-13252]
  • keys: Add ed25519 insecure private key [GH-13219]
  • util/downloader: Perform best effort revocation checks on Windows [GH-13214]
  • util/keypair: Add support for generating ed25519 key pairs [GH-13219]
  • BUG FIXES:
  • core: Fix extension installation path [GH-13215]
  • provider/virtualbox: Fix ipv6 static network configuration [GH-13241]
  • VAGRANT-GO:
  • Add basic support for HCL based config [GH-13257]

New in Vagrant 2.3.7 (Jun 16, 2023)

  • IMPROVEMENTS:
  • command/ssh: Enable deprecated key types and algorithms [GH-13179]
  • core: Update user error message on failed extension installs [GH-13207]
  • core: Support loading legacy providers in OpenSSL 3 [GH-13178]
  • provisioner/salt: Verify bootstrap-salt download [GH-13166]
  • BUG FIXES:
  • communicator/ssh: Remove keyboard-interactive auth method [GH-13194]
  • provisioner/salt: Fix usage on Windows guests [GH-13086]
  • VAGRANT-GO:
  • Update data layer implementation [GH-12904]
  • Update dependencies [GH-13201]

New in Vagrant 2.3.6 (May 20, 2023)

  • BUG FIXES:
  • command/serve: Isolate proto constants to file for auto-loading
  • core/util: Unlock file prior to deletion
  • provider/docker: Attempt using docker command for bridge ip
  • provider/virtualbox: Update preferred locale values for driver

New in Vagrant 2.3.4 (Dec 10, 2022)

  • IMPROVEMENTS:
  • host/darwin: Isolate loading incompatible libraries to support EOL platforms [GH-13022]
  • provider/virtualbox: Detect network type when not provided [GH-13024]
  • BUG FIXES:
  • host/windows: Add fix for Powershell 7.3.0 [GH-13006]
  • provider/virtualbox: Adjust hostnet DHCP configuration, ignore invalid devices [GH-13004]
  • provisioner/ansible: Fix install package names on older debian (and derivatives) versions [GH-13017]

New in Vagrant 2.3.3 (Nov 15, 2022)

  • IMPROVEMENTS:
  • Core: Bump net-ssh dependency to 7.0 and remove patches [GH-12979]
  • Synced_folders/rsync: Include ssh extra_args value [GH-12973]
  • BUG FIXES:
  • Command/serve: Force root level namespace for Google constant [GH-12989]
  • Guest/solaris: Fix insecure key authorized keys removal [GH-12740]
  • Provider/virtualbox: Fix :private_network support for VirtualBox 7 on macOS [GH-12983]
  • Provider/virtualbox: Prevent localization of command output [GH-12994]
  • Provisioner/ansible: Update setup packages in debian capability [GH-12832]

New in Vagrant 2.3.2 (Oct 18, 2022)

  • Provider/virtualbox: Add support for VirtualBox 7.0 [GH-12947]

New in Vagrant 2.3.1 (Sep 30, 2022)

  • IMPROVEMENTS:
  • core: Raise error if required metadata.json box fields are not present [GH-12895]
  • core: Provider helpful error when box version format is invalid [GH-12911]
  • BUG FIXES:
  • Fix flakiness when bringing up a machine that forwards ssh [GH-12909]
  • communicator/ssh: Fix private_key_path behavior when keys_only is disabled [GH-12885]
  • synced_folder/nfs: Update exports file creation [GH-12910]
  • util/downloader: Fix user agent [GH-12925]
  • VAGRANT-GO:
  • Support secret interactive input [GH-12876]
  • Support terminal coloring [GH-12888]
  • Validate if requested provider is usable and append/prepend information to errors [GH-12898]
  • Raise error if required metadata.json box fields are not present [GH-12919]

New in Vagrant 2.3.0 (Aug 9, 2022)

  • FEATURES:
  • core: Introduce vagrant-go [GH-12819]
  • IMPROVEMENTS:
  • core: Set rsa-sha2 in kex algorithm set to enable in key exchange [GH-12584]
  • core/bundler: Improve Gem spec selection when resolving [GH-12567]
  • push/heroku: Display output from push [GH-12646]
  • BUG FIXES:
  • host/darwin: Fix NameError for version capability [GH-12581]
  • push/ftp: Fix VAGRANT_CWD handling [GH-12645]
  • guests/redhat: Fix NFS shares on Rocky 9 guests [GH-12813]

New in Vagrant 2.2.19 (Nov 5, 2021)

  • IMPROVEMENTS:
  • Guest/suse: Add fallback shutdown for versions without systemd [GH-12489]
  • Provider/virtualbox: Validate VirtualBox hostonly network range [GH-12564]
  • BUG FIXES:
  • Guest/atomic: Update detection to prevent matching on non-atomic guests [GH-12575]
  • Guest/coreos: Fix configure network capability [GH-12575]
  • Guest/windows: Fix directory creation with rsync [GH-11880]
  • Host/windows: Properly handle spaces in path to SSH key [GH-12398]
  • Provisioner/chef: Update install checks [GH-12555]

New in Vagrant 2.2.18 (Jul 27, 2021)

  • Core: Fix of plugin manager kwargs [GH-12452]
  • Providers/docker: Pass in docker command opts as a map [GH-12449]
  • Providers/hyperv: Fix network address detection [GH-12472]

New in Vagrant 2.2.17 (Jul 27, 2021)

  • FEATURES:
  • Guest/rocky: Add guest support for Rocky Linux [GH-12440]
  • IMPROVEMENTS:
  • Command/package: Add --info flag to package command [GH-12304]
  • Guest/debian: Retry network setup on debain [GH-12421]
  • Guest/suse: Use systemctl poweroff in the background instead of shutdown [GH-12439]
  • Guest/windows: Get powershell path in %WINDIR%/System32 [GH-12436]
  • Host/windows: Check Domain and Application Directory contexts for credentials when validating SMB creds [GH-12428]
  • Providers/hyper-v: Fix IP detection when multiple devices are attached [GH-12232]
  • Provisioner/ansible: Detects new versions of ansible-4.0.0+ [GH-12391]
  • Provisioner/ansible: Strip whitespace from ansible version [GH-12420]
  • Provisioner/salt: Always use upstream Salt bootstrap script on Windows [GH-12127]
  • Provisioner/salt: Use more conservative TLS settings to work on older .NET versions [GH-12413]
  • Provisioner/shell: Buffer output to display full lines [GH-12437]
  • Vagrant: Updates to support Ruby 3.0 [GH-12427]
  • BUG FIXES:
  • Ommand/cloud: Fix authentication middleware to prevent breaking local paths [GH-12419]
  • Communicator/ssh: Fix net-ssh patches for RSA signatures [GH-12415]
  • Core: Add box directly with authed urls [GH-12278]

New in Vagrant 2.2.16 (Jul 8, 2021)

  • IMPROVEMENTS:
  • guest/linux: Detect in process shutdown in reboot capability [GH-12302]
  • util/powershell: Support pwsh executable in new versions of powershell [GH-12335]
  • BUG FIXES:
  • core: Add box directly with authed urls [GH-12278]
  • communicator/ssh: Properly handle authentication with RSA keys [GH-12298]
  • guest/fedora: Import guest detection module [GH-12275]
  • guest/linux: Fix SMB folder mount name capability call [GH-12281]
  • provider/docker: Properly handle updated buildkit build output [GH-12300]

New in Vagrant 2.2.15 (Jul 8, 2021)

  • IMPROVEMENTS:
  • command/cloud: Remove access token URL parameter by default [GH-12234]
  • command/cloud: Add VAGRANT_SERVER_ACCESS_TOKEN_BY_URL to revert access token behavior [GH-12252]
  • core: Bump vagrant_cloud dependency to 3.0.3 [GH-12200]
  • core: Bump listen gem version and remove ruby_dep [GH-12148]
  • core: Bump vagrant_cloud dependency to 3.0.4 [GH-12242]
  • core/bundler: Update resolution handling when outside of installer and bundler [GH-12225]
  • core/plugin: Provide friendlier error messages on install fail when possible [GH-12225]
  • guest/openwrt: Add support for OpenWrt guests [GH-11791]
  • guest/freebsd: FreeBSD updated ansible to py37-ansible [GH-12201]
  • provider/virtualbox: Get default dhcp ip from a matching host ip [GH-12211]
  • util/downloader: Prevent redirect notification for default store [GH-12235]
  • BUG FIXES:
  • command/cloud: Automatically disable direct uploads when file is too large [GH-12250]
  • core: Make shell script for loop shell agnostic [GH-12205]
  • core: Raise error if downloading box metadata fails [GH-12189]
  • core: Apply download options to metadata requests [GH-12177]
  • core: Don't try to find "" by prefix in the machine index [GH-12188]
  • core: Don't count not created machines as declined when destroying [GH-12186]
  • core: Bump bcrypt_pbkdf version [GH-12216]
  • core: Remove all space from checksums [GH-12168]
  • core/bundler: Do not include default gems as pinned constraints [GH-12253]
  • core/synced_folders: Extract os friendly mount name for vbox shared folders [GH-12184]
  • guest/alpine: Check if interface exists before shutting it down [GH-12181]
  • guest/nixos: Fix network config for recent NixOS releases [GH-12152]
  • guest/fedora: Detect fedora using os-releases id [GH-12230]

New in Vagrant 2.2.14 (Nov 20, 2020)

  • IMPROVEMENTS:
  • host/windows: Update filesystem type matching on WSL2 [GH-12056]
  • BUG FIXES:
  • core: Track raw actions as they are applied to prevent multiple insertions [GH-12037]
  • core/bundler: Update solution file resolution to support prerelease matching [GH-12054]
  • guest/darwin: Mount vmware synced folders for big sur guests [GH-12053]

New in Vagrant 2.2.11 (Nov 6, 2020)

  • IMPROVEMENTS:
  • command/cloud: Add --force flag to version release command [GH-11912]
  • command/cap: Add ability to specify target [GH-11965]
  • core: Switch from unmaintained gem erubis to erubi [GH-11893]
  • core: Download Vagrant boxes using auth headers [GH-11835]
  • tests: Add integration tests for Docker provider [GH-11907]
  • BUG FIXES:
  • core/synced_folders: Don't persist synced folders to fstab is guest is not reachable [GH-11900]
  • core: Don't try to recover machine without a uuid [GH-11863]
  • config/disks: Transform provider specific config to common form [GH-11939]
  • guest/linux: Check for /etc/fstab before trying to modify [GH-11897]
  • guest/linux: Create an /etc/fstab if does not exist [GH-11909]
  • guest/linux: Persist SMB mounts [GH-11846]
  • guest/debian: Set hostname in /etc/hosts as first step to changing hostname [GH-11885]
  • guest/rhel: Check for existence of network files before trying to update them [GH-11877]
  • tests: Remove rsync dependency from tests [GH-11889]

New in Vagrant 2.2.10 (Aug 25, 2020)

  • FEATURES:
  • Hyperv/disks: Add ability to manage virtual disks for guests [GH-11541]
  • IMPROVEMENTS:
  • Core: Allow provisioners to be run when a communicator is not available [GH-11579]
  • Core: Add autocomplete command that allows for install of bash or zsh autocomplete scripts [GH-11523]
  • Core: Update to childprocess gem to 4.0.0 [GH-11717]
  • Core: Add action to wait for cloud-init to finish running [GH-11773]
  • Core: Update to net-ssh to 6.0 and net-sftp to 3.0 [GH-11621]
  • Core: Optimize port in use check for faster validation [GH-11810]
  • Core: Support for Ruby 2.7 [GH-11814]
  • Core: Add synced folder capabilities for mount options and default fstab modification behavior [GH-11797]
  • Guest/arch: Use systemd-networkd to configure networking for guests [GH-11400]
  • Guest/haiku: Rsync install for rsync synced folders [GH-11614]
  • Guest/solaris11: Add guest capability shell_expand_guest_path [GH-11759]
  • Host/darwin: Add ability to build ISO [GH-11694]
  • Hosts/linux: Add ability to build ISO [GH-11750]
  • Hosts/windows: Add ability to build ISO [GH-11750]
  • Providers/hyperv: Add support for SecureBootTemplate setting on import [GH-11756]
  • Providers/hyperv: Add support for EnhancedSessionTransportType [GH-11014]
  • Virtualbox/disks: Add ability to manage virtual dvds for guests [GH-11613]
  • BUG FIXES:
  • Core: Ensure MapCommandOptions class is required [GH-11629]
  • Core: Fix :all special value on triggers [GH-11688]
  • Core: Ensure network addresses have a valid netmask [GH-11679]
  • Core: Recover local machine metadata in global index [GH-11656]
  • Core: Print CLI help message is ambiguous option provided [GH-11746]
  • Core: Update how /etc/hosts gets updated for darwin, freebsd and openbsd [GH-11719]
  • Core: Capture [3J escape sequence [GH-11807]
  • Core: Treat empty box value as invalid [GH-11618]
  • Core: Allow forwarding ports to unknown addresses [GH-11810]
  • Core: Scrub credentials as whole words [GH-11837]
  • Commands/destroy: Add gracefull option to switch beween gracefully or forcefully shutting down a vm [GH-11628]
  • Communicator/ssh: Raise an error for a nil exit status [GH-11721]
  • Communicator/winrm: Check for nil return from querying for forwarded ports [GH-11831]
  • Config/vm: Add option allow_hosts_modification to allow/disable Vagrant editing the guests /etc/hosts file [GH-11565]
  • Config/vm: Add config option hostname to config.vm.network [GH-11566]
  • Config/vm: Don't ignore NFS synced folders on Windows hosts [GH-11631]
  • Host: Use regular port check for loopback addresses [GH-11654]
  • Host: Allow windows and linux hosts to detach from rdp process [GH-11732]
  • Host/windows: Properly register SMB password validation capability [GH-11795]
  • Guests: Allow setting of hostname according to hostname option for multiple guests [GH-11704]
  • Guest/alpine: Allow setting of hostname according to hostname option [GH-11718]
  • Guest/esxi: Be more permissive with permissions of ssh directory [GH-11587]
  • Guest/linux: Add virtual box shared folders to guest fstab [GH-11570]
  • Guest/suse: Allow setting of hostname according to hostname option [GH-11567]
  • Providers/docker: Ensure new containers don't grab existing bound ports [GH-11602]
  • Providers/hyperv: Fix check for secure boot [GH-11809]
  • Providers/virtualbox: Fix inability to create disk with same name across multiple guests [GH-11767]
  • Provisioners/docker: Allow to specify docker image version using the run option [GH-11806]
  • Provisioners/file: Allow creating empty folders [GH-11805]
  • Provisioners/shell: Ensure Windows shell provisioner gets the correct file extension [GH-11644]
  • Util/powershell: Use correct powershell executable for privileged commands [GH-11787]

New in Vagrant 2.2.9 (May 7, 2020)

  • BUG FIXES:
  • core/bundler: Properly handle plugin install with available specification [GH-11592]
  • provisioners/docker: Fix CentOS docker install and start service capabilities [GH-11581]
  • provisioners/podman: Seperate RHEL install from CentOS install [GH-11584]

New in Vagrant 2.2.8 (May 5, 2020)

  • FEATURES:
  • virtualbox/disks: Add ability to manage virtual disks for guests [GH-11349]
  • IMPROVEMENTS:
  • bin/vagrant: Automatically include global options within commands [GH-11473]
  • bin/vagrant: Suppress Ruby warnings when not running pre-release version [GH-11446]
  • communicator/ssh: Add support for configuring SSH connect timeout [GH-11533]
  • core: Update childprocess gem [GH-11487]
  • core: Add cli option --no-tty [GH-11414]
  • core: Overhaul call stack modifications implementation for hooks and triggers [GH-11455]
  • core/bundler: Cache plugin solution sets to speed up startup times [GH-11363]
  • config/vm: Addbox_download_options config to specify extra download options for a box [GH-11560]
  • guest/alpine: Add ansible provisioner guest support [GH-11411]
  • guest/linux: Update systemd? check to use sudo [GH-11398]
  • guest/linux: Use systemd if available to halt and reboot system [GH-11407]
  • guests/linux: Mount smb folders with mfsymlinks option by default [GH-11503]
  • guest/redhat: Add support for SMB [GH-11463]
  • guest/windows: Rescue all regular exceptions during reboot wait [GH-11428]
  • providers/docker: Support catching container name when using podman [GH-11356]
  • provisioners/docker: Support Centos8 [GH-11462]
  • provisioners/podman: Add Podman as a provisioner [GH-11472]
  • provisioners/salt: Allow specifying python_version [GH-11436]
  • BUG FIXES:
  • communicators/winssh: Fix issues with Windows SSH communicator [GH-11430]
  • core/bundler: Activate vagrant specification when not active [GH-11445]
  • core/bundler: Properly resolve sets when Vagrant is in prerelease [GH-11571]
  • core/downloader: Always set -q flag as first option [GH-11366]
  • core/hooks: Update dynamic action hook implementation to prevent looping [GH-11427]
  • core/synced_folders: Validate type option if set [GH-11359]
  • guests/debian: Choose netplan renderer based on network configuration and installed tools [GH-11498]
  • host/darwin: Quote directories in /etc/exports [GH-11441]
  • host/linux: Ensure /etc/exports does not contain duplicate records [GH-10591]
  • host/windows: Check all interfaces for port conflict when host_ip: "0.0.0.0" [GH-11454]
  • providers/docker: Fix issue where Vagrant fails to remove image if it is in use [GH-11355]
  • providers/docker: Fix issue with getting correct docker image id from build output [GH-11461]
  • providers/hyperv: Prevent error when identity reference cannot be translated [GH-11425]
  • provider/hyperv: Use service id for manipulating vm integration services [GH-11499]
  • providers/virtualbox: Parse list dhcpservers output on VirtualBox 6.1 [GH-11404]
  • providers/virtualbox: Raise an error if guest IP ends in .1 [GH-11500]
  • provisioners/shell: Ensure windows shell provisioners always get an extension [GH-11517]
  • util/io: Fix encoding conversion errors [GH-11571]

New in Vagrant 2.2.7 (Jan 28, 2020)

  • IMPROVEMENTS:
  • Guest/opensuse: Check for basename hostname prior to setting hostname [GH-11170]
  • Host/linux: Check for modinfo in /sbin if it's not on PATH [GH-11178]
  • Core: Show guest name in hostname error message [GH-11175]
  • Provisioners/shell: Linux guests now support reboot option [GH-11194]
  • Darwin/nfs: Put each NFS export on its own line [GH-11216]
  • Contrib/bash: Add more completion flags to up command [GH-11223]
  • Provider/virtualbox: Add VirtualBox provider support for version 6.1.x [GH-11250]
  • Box/outdated: Allow to force check for box updates and ignore cached check [GH-11231]
  • Guest/alpine: Update apk cache when installing rsync [GH-11220]
  • Provider/virtualbox: Improve error message when machine folder is inaccessible [GH-11239]
  • Provisioner/ansible_local: Add pip install method for arch guests [GH-11265]
  • Communicators/winssh: Use Windows shell for vagrant ssh -c [GH-11258]
  • BUG FIXES:
  • Command/snapshot/save: Fix regression that prevented snapshot of all guests in environment [GH-11152]
  • Core: Update UI to properly retain newlines when adding prefix [GH-11126]
  • Core: Check if box update is available locally [GH-11188]
  • Core: Ensure Vagrant::Errors are loaded in file_checksum util [GH-11183]
  • Cloud/publish: Improve argument handling for missing arguments to command [GH-11184]
  • Core: Get latest version for current provider during outdated check [GH-11192]
  • Linux/nfs: avoid adding extra newlines to /etc/exports [GH-11201]
  • Guest/darwin: Fix VMware synced folders on APFS [GH-11267]
  • Guest/redhat: Ensure nfs-server is restarted when installing nfs client [GH-11212]
  • Core: Do not validate checksums if options are empty string [GH-11211]
  • Provider/docker: Enhance docker build method to match against buildkit output [GH-11205]
  • Provisioner/ansible_local: Don't prompt for input when installing Ansible on Ubuntu and Debian [GH-11191]
  • Provisioner/ansible_local: Ensure all guest caps accept all passed in arguments [GH-11265]
  • Host/windows: Fix regression that prevented port collisions from being detected [GH-11244]
  • Core/provisioner: Set top level provisioner name if set in a provisioner config [GH-11295]

New in Vagrant 2.2.6 (Oct 15, 2019)

  • FEATURES:
  • core/provisioners: Introduce new Provisioner options: before and after [GH-11043]
  • guest/alpine: Integrate the vagrant-alpine plugin into Vagrant core [GH-10975]
  • IMPROVEMENTS:
  • command/box/prune: Allow prompt skip while preserving actively in use boxes [GH-10908]
  • command/cloud: Support providing checksum information with boxes [GH-11101]
  • dev: Fixed Vagrantfile for Vagrant development [GH-11012]
  • guest/alt: Improve handling for using network tools when setting hostname [GH-11000]
  • guest/suse: Add ipv6 network config templates for SUSE based distributions [GH-11013]
  • guest/windows: Retry on connection timeout errors for the reboot capability [GH-11093]
  • host/bsd: Use host resolve path capability to modify local paths if requird [GH-11108]
  • host/darwin: Add host resolve path capability to provide real paths for firmlinks [GH-11108]
  • provisioners/chef: Update pkg install flags for chef on FreeBSD guests [GH-11075]
  • provider/hyperv: Improve error message when VMMS is not running [GH-10978]
  • provider/virtualbox: Raise additional errors for incomplete virtualbox installation on usable check [GH-10938]
  • util/filechecksum: Add support for more checksum types [GH-11101]
  • BUG FIXES:
  • command/rsync-auto: Fix path watcher bug so that all subdirectories are synced when changed [GH-11089]
  • command/snapshot/save: Ensure VM id is passed to list snapshots for hyper-v provider [GH-11097]
  • core: Ensure proper paths are shown in config loading exceptions [GH-11056]
  • guest/suse: Use hostnamectl instead of hostname to set the hostname under SUSE [GH-11100]
  • provider/docker: Fix default provider validation if password is used [GH-11053]
  • provider/docker: Fix Docker providers usable? check [GH-11068]
  • provisioner/ansible_local: Ensure pip_install_cmd is finalized to emptry string [GH-11098]
  • provisioner/file: Ensure relative path for file provisioner source is relative to guest machines cwd [GH-11099]
  • provider/docker: Ensure docker build_args option is properly set in docker compose config yaml [GH-11106]
  • guest/suse: Update nfs & service daemon names for suse based hosts and guests [GH-11076]
  • provider/docker: Determine ip address prefix workaround for docker public networks [GH-11111]
  • provider/docker: Only return interfaces where addr is not nil for networks [GH-11116]

New in Vagrant 2.2.4 (Feb 27, 2019)

  • FEATURES:
  • core/triggers: Introduce new option :type for actions, hooks, and commands [GH-10615]
  • IMPROVEMENTS:
  • communicator/ssh: Update #upload behavior to work properly with new sshd path checks [GH-10698]
  • communicator/winrm: Update #upload behavior to match ssh communicator upload behavior [GH-10698]
  • guest/windows: Add reboot output to guest capability [GH-10638]
  • provisioner/file: Refactor path modification rules and allow communicator to handle details [GH-10698]
  • BUG FIXES:
  • core: Fix format finalization of plugins in Vagrantfile [GH-10664]
  • core: Fix SIGINT behavior and prevent backtrace [GH-10666]
  • core: Change remaining box_client_cert refs to box_download_client_cert [GH-10622]
  • core: Move over AddAuthentication middleware and hooks out of deprecated class [GH-10686]
  • guest/debian: Properly set DHCP for systemd-networkd ips [GH-10586]
  • guest/solaris11: Create interface if required before configuration [GH-10595]
  • installers/appimage: Use ld path with appimage libs on suffix [GH-10647]
  • providers/docker: Expand paths when comparing synced folders on reload [GH-10645]
  • providers/virtualbox: Fix import paths on Windows with VirtualBox 6 [GH-10629]
  • synced_folders/rsync: Properly clean up tmp folder created during rsync [GH-10690]

New in Vagrant 2.2.3 (Jan 10, 2019)

  • FEATURES:
  • IMPROVEMENTS:
  • BUG FIXES:
  • 2.2.3 (January 9, 2019)
  • FEATURES:
  • host/void: Add host support for void linux [GH-10012]
  • IMPROVEMENTS:
  • command/rsync-auto: Prevent crash on post-rsync command failure [GH-10515]
  • command/snapshot: Raise error for bad subcommand [GH-10470]
  • command/package: Ensure temp dir for package command is cleaned up [GH-10479]
  • command/powershell: Support running elevated commands [GH-10528]
  • communicator/ssh: Add config and remote_user options [GH-10496]
  • core: Display version update on stderr instead of stdout [GH-10482]
  • core: Add experimental feature flag [GH-10485]
  • core: Show box version during box outdated check [GH-10573]
  • guest/windows: Modify elevated username only on username failure [GH-10488]
  • host/windows: Prevent SMB setup commands from becoming too long [GH-10489]
  • host/windows: Automatically answer yes when pruning SMB shares [GH-10524]
  • provisioners/file: Show source and destination locations with file provisioner [GH-10570]
  • provisioners/salt: Validate that install_type is set if version is specified [GH-10474]
  • provisioners/salt: Update default install version [GH-10537]
  • provisioners/shell: Add reboot option for rebooting supported guest [GH-10532]
  • synced_folders/rsync: Support using rsync --chown option [GH-10529]
  • util/guest_inspection: Validate hostnamectl command works when detected [GH-10512]
  • util/platform: Use wslpath command for customized root on WSL [GH-10574]
  • BUG FIXES:
  • command/cloud publish: Ensure box file exists before path expanding [GH-10468]
  • command/cloud publish: Catch InvalidVersion errors from vagrant_cloud client [GH-10513]
  • command/snapshot: Retain consistent provisioning behavior across all commands [GH-10490]
  • command/validate: Bypass install checks for validating configs with the --ignore-provider flag [GH-10467]
  • communicator/ssh: Fix garbage output detection [GH-10571]
  • guest/alt: Fix network configuration errors [GH-10527]
  • guest/coreos: Fix grep command for network interface of CoreOS guest [GH-10554]
  • guest/freebsd: Fix defaultrouter rcvar in static network template [GH-10469]
  • guest/redhat: Fix network configuration errors [GH-10527]
  • providers/virtualbox: Adjust version requirement for NIC warning [GH-10486]
  • util/powershell: Use correct Base64 encoding for encoded commands [GH-10487]

New in Vagrant 2.2.2 (Nov 28, 2018)

  • Providers/virtualbox: Update default_nic_type implementation and add warning [GH-10450]

New in Vagrant 2.2.1 (Nov 16, 2018)

  • FEATURES:
  • core/plugins: Add reset! method to communicator [GH-10399]
  • providers/virtualbox: Add support for VirtualBox 6.0 [GH-10379]
  • IMPROVEMENTS:
  • command/validate: Allow validation of config while ignoring provider [GH-10351]
  • communicators/ssh: Prevent overly verbose output waiting for connection [GH-10321]
  • communicators/ssh: Support ed25519 keys [GH-10365]
  • communicators/ssh: Add reset! implementation [GH-10399]
  • communicators/winrm: Add reset! implementation [GH-10399]
  • core: Limit number of automatic box update checks [GH-10359]
  • host/windows: Remove PATH check in WSL detection [GH-10313]
  • providers/hyperv: Disable automatic checkpoints before deletion [GH-10406]
  • providers/virtualbox: Add automount flag if specified with synced_folder [GH-10326]
  • providers/virtualbox: Refactor host only network settings [GH-7699]
  • providers/virtualbox: Support setting default NIC type for network adapters [GH-10383]
  • providers/virtualbox: Update ssh_port helper to handle multiple matches [GH-10409]
  • provisioners/shell: Add :reset option to allow communicator reset [GH-10399]
  • synced_folders/smb: Allow for 'default' smb_username in prompt if set [GH-10319]
  • util/network_ip: Simplify network_address helper [GH-7693]
  • util/platform: Prevent hard failure during hyper-v enabled check [GH-10332]
  • BUG FIXES:
  • command/login: Only show deprecation warning when command is invoked [GH-10374]
  • core: Fallback to Vagrantfile defined box information [GH-10368]
  • core/bundler: Update source ordering to properly resolve with new RubyGems [GH-10364]
  • core/triggers: Only split inline script if host is non-Windows [GH-10405]
  • communicator/winrm: Prepend computer name to username when running elevated commands [GH-10387]
  • guest/debian: Fix halting issue when setting hostname by restarting networking on guest [GH-10301, GH-10330]
  • guest/linux: Fix vagrant user access to docker after install [GH-10399]
  • guest/windows: Add reboot capability to fix hostname race condition [GH-10347]
  • guest/windows: Allow for reading key paths with spaces [GH-10389]
  • host/windows: Fix powershell to properly handle paths with spaces [GH-10390]
  • providers/docker: Deterministic host VM synced folder location for Docker VM [GH-10311]
  • providers/hyperv: Fix network vlan configuration script [GH-10366]
  • providers/hyperv: Properly output error message on failed guest import [GH-10404]
  • providers/hyperv: Fix typo in network configuration detection script [GH-10410]

New in Vagrant 2.1.5 (Sep 12, 2018)

  • IMPROVEMENTS:
  • core: Add Vagrant.version? helper method [GH-10191]
  • core: Scrub sensitive values from logger output [GH-10200]
  • core: Prevent multiple evaluations of Vagrantfile [GH-10199]
  • command/init: Support VAGRANT_DEFAULT_TEMPLATE env var [GH-10171]
  • command/powershell: Improve doc help string and fix winrm locales error [GH-10189]
  • contrib/bash: autocomplete running VM names for destroy subcommand [GH-10168]
  • guest/debian: Use sudo to determine if systemd is in use for hardened systems [GH-10198]
  • guest/openbsd: Add IPv6 network template for OpenBSD machines [GH-8912]
  • provisioners/salt: Allow non-windows hosts to pass along version [GH-10194]
  • BUG FIXES:
  • core: Fix Vagrant.has_plugin? behavior before plugins are initialized [GH-10165]
  • core: Check verify_host_key for falsey or :never values when generating ssh config [GH-10182]
  • guest/linux: Filter out empty strings and loopback interfaces when constructing list of network interfaces [GH-10092]
  • provider/hyper-v: Check for automatic checkpoint support before configuring [GH-10181]

New in Vagrant 2.1.4 (Aug 31, 2018)

  • BUG FIXES:
  • core: Fix local plugin installation prompt answer parsing [GH-10154]
  • core: Reset internal environment after plugin loading [GH-10155]
  • host/windows: Fix SMB list parsing when extra fields are included [GH-10156]

New in Vagrant 2.1.3 (Aug 30, 2018)

  • FEATURES:
  • core: Support for project specific plugins [GH-10037]
  • IMPROVEMENTS:
  • command/reload: Add --force flag to reload command [GH-10123]
  • communicator/winrm: Display warning if vagrant-winrm plugin is detected [GH-10076]
  • contrib/bash: Replace -VAGRANTSLASH- with literal slash in completion [GH-9987]
  • core: Show installed version of Vagrant when displaying version check [GH-9968]
  • core: Retain information of original box backing active guest [GH-10083]
  • core: Only write box info if provider supports box objects [GH-10126]
  • core: Update net-ssh dependency constraint to ~> 5.0.0 [GH-10066]
  • core/triggers: Catch and allow for non-standard exit codes with triggers run options [GH-10005]
  • core/triggers: Allow for spaces in path for trigger run option [GH-10118]
  • guest/debian: Isolate network interface configuration to individual files for systemd [GH-9889]
  • guest/redhat: Use libnfs-utils package if available [GH-9878]
  • provider/docker: Support Docker volume consistency for synced folders [GH-9811]
  • provider/hyperv: Disable synced folders on non-DrvFs file systems by default [GH-10001]
  • util/downloader: Support custom suffix on user agent string [GH-9966]
  • util/downloader: Prevent false positive matches on Location header [GH-10041]
  • util/subprocess: Force system library paths for executables external to AppImage [GH-10078]
  • BUG FIXES:
  • core: Disable Vagrantfile loading with plugin commands [GH-10030]
  • core: Ensure the SecureRandom library is loaded for the trigger class [GH-10063]
  • core/triggers: Allow trigger run args option to be a single string [GH-10116]
  • util/powershell: Properly join commands from passed in array [GH-10115]
  • guest/solaris: Add back guest detection check for Solaris derived guests [GH-10081]
  • guest/windows: Be more explicit when invoking cmd.exe with mount_volume script [GH-9976]
  • host/linux: Fix sudo usage in NFS capability when modifying exports file [GH-10084]
  • host/windows: Remove localization dependency from SMB list generation [GH-10043]
  • provider/docker: Convert windows paths for volume mounts on docker driver [GH-10100]
  • provider/hyperv: Fix checkpoint configuration and properly disable automatic checkpoints by default [GH-9999]
  • provider/hyperv: Remove localization dependency from access check [GH-10000]
  • provider/hyperv: Enable ExposeVirtualizationExtensions only when available [GH-10079]
  • provider/virtualbox: Skip link-local when fixing IPv6 route [GH-9639, GH-10077]
  • push/ftp: Custom error when attempting to push too many files [GH-9952]
  • util/downloader: Prevent errors when Location header contains relative path [GH-10017]
  • util/guest_inspection: Prevent nmcli check from hanging when pty is enabled [GH-9926]
  • util/platform: Always force string type conversion on path [GH-9998]

New in Vagrant 2.1.2 (Jun 26, 2018)

  • IMPROVEMENTS:
  • commands/suspend: Introduce flag for suspending all machines [GH-9829]
  • commands/global-status: Improve message about removing stale entries [GH-9856]
  • provider/hyperv: Attempt to determine import failure cause [GH-9936]
  • provider/hyperv: Update implementation. Include support for modifications on reload [GH-9872]
  • provider/hyperv: Validate maxmemory configuration setting [GH-9932]
  • provider/hyperv: Enable provider within WSL [GH-9943]
  • provider/hyperv: Add Hyper-V accessibility check on data directory path [GH-9944]
  • provisioners/ansible_local: Improve installation from PPA on Ubuntu guests. The compatibility is maintained only for active long-term support (LTS) versions, i.e. Ubuntu 12.04 (Precise Pangolin) is no longer supported. [GH-9879]
  • BUG FIXES:
  • communicator/ssh: Update ssh private key file permission handling on Windows [GH-9923, GH-9900]
  • core: Display plugin commands in help [GH-9808]
  • core: Ensure guestpath or name is set with synced_folder option and dont set guestpath if not provided [GH-9692]
  • guest/debian: Fix netplan generation when using DHCP [GH-9855]
  • guest/debain: Update priority of network configuration file when using networkd [GH-9867]
  • guest/ubuntu: Update netplan config generation to detect NetworkManager [GH-9824]
  • guest/ubuntu: Fix failing Ansible installation from PPA on Bionic Beaver (18.04 LTS) [GH-9796]
  • host/windows: Prevent processing of last SMB line when using net share [GH-9917]
  • provisioner/chef: Prevent node_name set on configuration with chef_apply [GH-9916]
  • provisioner/salt: Remove usage of masterless? config attribute [GH-9833]

New in Vagrant 2.1.1 (May 8, 2018)

  • MPROVEMENTS:
  • guest/linux: Support builtin vboxsf module for shared folders [GH-9800]
  • host/windows: Update SMB capability to work without Get-SmbShare cmdlet [GH-9785]
  • BUG FIXES:
  • core/triggers: Initialize internal trigger object for machine before initializing provider [GH-9784]
  • core/triggers: Ensure internal trigger fire does not get called if plugin installed [GH-9799]
  • provider/hyperv: Call import script with switchid instead of switchname [GH-9781]

New in Vagrant 2.1.0 (May 4, 2018)

  • IMPROVEMENTS:
  • core: Improve messaging around not finding requested provider [GH-9735]
  • core: Disable exception reports by default [GH-9738]
  • core: Continue on if vagrant fails to parse metadata box for update [GH-9760]
  • hosts/linux: Support RDP capability within WSL [GH-9758]
  • hosts/windows: Add SMB default mount options capability and set default version to 2.0 [GH-9734]
  • provider/hyperv: Include neighbor check for MAC on guest IP detection [GH-9737]
  • provider/virtualbox: Do not require VirtualBox availability within WSL [GH-9759]
  • provisioner/chef_zero: Support arrays for data_bags_path [GH-9669]
  • util/downloader: Don't raise error if response is HTTP 416 [GH-9729]
  • util/platform: Update Hyper-V enabled check [GH-9746]
  • BUG FIXES:
  • communicators/ssh: Log error and proceed on Windows private key permissions [GH-9769]
  • middleware/authentication: Prevent URL modification when no changes are required [GH-9730]
  • middleware/authentication: Ignore URLs which cannot be parsed [GH-9739]
  • provider/hyperv: Reference switches by ID instead of name [GH-9747]
  • provider/docker: Use Util::SafeExec if docker-exec is run with -t option [GH-9761]
  • provisioner/chef: Trim drive letter from path on Windows [GH-9766]
  • provisioner/puppet: Properly finalize structured_facts config option [GH-9720]
  • util/platform: Fix original WSL to Windows path for "root" directory [GH-9696]

New in Vagrant 2.0.4 (Apr 21, 2018)

  • FEATURES:
  • core: Vagrant aliases [GH-9504]
  • IMPROVEMENTS:
  • communicators/ssh: Update file permissions when generating new key pairs [GH-9676]
  • core: Make resolv-replace usage opt-in instead of opt-out [GH-9644]
  • core: Suppress error messages from checkpoint runs [GH-9645]
  • guests/coreos: Identify operating systems closely related to CoreOS [GH-9600]
  • guests/debian: Adjust network configuration file prefix to 50- [GH-9646]
  • guests/photon: Less specific string grep to fix PhotonOS 2.0 detection [GH-9528]
  • guests/windows: Fix slow timeout when updating windows hostname [GH-9578]
  • hosts/windows: Make powershell version detection timeout configurable [GH-9506]
  • providers/virtualbox: Improve network collision error message [GH-9685]
  • provisioner/chef_solo: Improve Windows drive letter removal hack for remote paths[GH-9490]
  • provisioner/chef_zero: File path expand all chef_zero config path options [GH-9690]
  • provisioner/puppet: Puppet structured facts toyaml on provisioner [GH-9670]
  • provisioner/salt: Add master_json_config & minion_json_config options [GH-9420]
  • util/platform: Warn on ArgumentError exceptions from encoding [GH-9506]
  • BUG FIXES:
  • commands/package: Fix uninitialized constant error [GH-9654]
  • communicators/winrm: Fix command filter to properly parse commands [GH-9673]
  • hosts/windows: Properly respect the VAGRANT_PREFER_SYSTEM_BIN environment variable [GH-9503]
  • hosts/windows: Fix virtualbox shared folders path for windows guests [GH-8099]
  • guests/freebsd: Fix typo in command that manages configuring networks [GH-9705]
  • util/checkpoint_client: Respect VAGRANT_CHECKPOINT_DISABLE environment variable [GH-9659]
  • util/platform: Use --version instead of version for WSL validation [GH-9674]

New in Vagrant 2.0.3 (Mar 16, 2018)

  • IMPROVEMENTS:
  • guests/solaris: More explicit Solaris 11 and inherit SmartOS from Solaris [GH-9398]
  • hosts/windows: Add support for latest WSL release [GH-9525, GH-9300]
  • plugins/login: Update middleware to re-map hosts and warn on custom server [GH-9499]
  • providers/hyper-v: Exit if Hyper-V is enabled and VirtualBox provider is used [GH-9456]
  • provisioners/salt: Change to a temporary directory before downloading script files [GH-9351]
  • sycned_folders/nfs: Default udp to false when using version 4 [GH-8828]
  • util/downloader: Notify on host redirect [GH-9344]
  • BUG FIXES:
  • core: Use provider override when specifying box_version [GH-9502]
  • guests/debian: Renew DHCP lease on hostname change [GH-9405]
  • guests/debian: Point hostname to 127.0.1.1 in /etc/hosts [GH-9404]
  • guests/debian: Update systemd? check for guest inspection [GH-9459]
  • guests/debian: Use ip route in dhcp template [GH-8730]
  • guests/gentoo: Disable if/netplugd when setting up a static ip on a gentoo guest using openrc [GH-9261]
  • guests/openbsd: Atomically apply new hostname.if(5) [GH-9265]
  • hosts/windows: Fix halt problem when determining powershell version on old powershells [GH-9470]
  • hosts/windows: Convert to windows path if on WSL during vbox export [GH-9518]
  • providers/virtualbox: Fix hostonly matching not respecting :name argument [GH-9302]
  • util/credential_scrubber: Ignore empty strings [GH-9472, GH-9462]

New in Vagrant 2.0.2 (Jan 30, 2018)

  • FEATURES:
  • Core: Provide mechanism for removing sensitive data from output [GH-9276]
  • Core: Relax Ruby constraints to include 2.5 [GH-9363]
  • Core: Hide sensitive values in output [GH-9369]
  • Command/init: Support custom Vagrantfile templates [GH-9202]
  • Guests: Add support for the Haiku operating system [GH-7805, GH-9245]
  • Synced_folders/smb: Add support for macOS hosts [GH-9294]
  • Vagrant-spec: Update vagrant-spec to include Windows platforms and updated linux boxes [GH-9183]
  • IMPROVEMENTS:
  • Config/ssh: Deprecate :paranoid in favor of :verify_host_key [GH-9341]
  • Core: Add optional timestamp prefix on log output [GH-9269]
  • Core: Print more helpful error message for NameEror exceptions in Vagrantfiles [GH-9252]
  • Core: Update checkpoint implementation to announce updates and support notifications [GH-9380]
  • Core: Use Ruby's Resolv by default [GH-9394]
  • Docs: Include virtualbox 5.2.x as supported in docs [GH-9237]
  • Docs: Improve how to pipe debug log on powershell [GH-9330]
  • Guests/amazon: Improve guest detection [GH-9307]
  • Guests/debian: Update guest configure networks [GH-9338]
  • Guests/dragonflybsd: Base guest on FreeBSD to inherit more functionality [GH-9205]
  • Guests/linux: Improve NFS service name detection and interactions [GH-9274]
  • Guests/linux: Support mount option overrides for SMB mounts [GH-9366]
  • Guests/linux: Use ip for reading guest address if available [GH-9315]
  • Guests/solaris: Improve guest detection for alternatives [GH-9295]
  • Hosts/windows: Check credentials during SMB prepare [GH-9365]
  • Providers/hyper-v: Ensure Hyper-V cmdlets are fully qualified [GH-8863]
  • Middleware/authentication: Add app.vagrantup.com to allowed hosts [GH-9145]
  • Provisioners/shell: Support hiding environment variable values in output [GH-9367]
  • Providers/virtualbox: Add a clean error message for invalid IP addresses [GH-9275]
  • Providers/virtualbox: Introduce flag for SharedFoldersEnableSymlinksCreate setting [GH-9354]
  • Providers/virtualbox: Provide warning for SharedFoldersEnableSymlinksCreate setting [GH-9389]
  • Provisioners/salt: Fixes timeout issue in salt bootstrapping for windows [GH-8992]
  • Synced_folders/smb: Update Windows implementation [GH-9294]
  • Util/ssh: Attempt to locate local ssh client before attempting installer provided [GH-9400]
  • BUG FIXES:
  • Commands/box: Show all box providers with update outdated --global [GH-9347]
  • Commands/destroy: Exit 0 if vagrant destroy finds no running vms [GH-9251]
  • Commands/package: Fix --output path with specified folder [GH-9131]
  • Guests/suse: Do not use full name when setting hostname [GH-9212]
  • Providers/hyper-v: Fix enable virtualization extensions on import [GH-9255]
  • Provisioners/ansible(both): Fix broken 'ask_sudo_pass' option [GH-9173]

New in Vagrant 2.0.1 (Nov 3, 2017)

  • FEATURES:
  • core: Introduce Ruby 2.4 to Vagrant [GH-9102]
  • providers/virtualbox: Virtualbox 5.2 support [GH-8955]
  • IMPROVEMENTS:
  • command/destroy: Introduce parallel destroy for certain providers [GH-9127]
  • communicators/winrm: Include APIPA check within ready check [GH-8997]
  • core: Clear POSIXLY_CORRECT when using optparse [GH-8685]
  • docs: Add auto_start_action and auto_stop_action to docs. [GH-9029]
  • docs: Fix typo in box format doc [GH-9100]
  • provisioners/chef: Handle chef provisioner reboot request [GH-8874]
  • providers/salt: Support Windows Salt Minions greater than 2016.x.x [GH-8926]
  • provisioners/salt: Add wget to bootstrap_salt options when fetching installer file [GH-9112]
  • provisioners/shell: Use ui.detail for displaying output [GH-8983]
  • util/downloader: Use CURL_CA_BUNDLE environment variable [GH-9135]
  • BUG FIXES:
  • communicators/ssh: Retry on Errno::EPIPE exceptions [GH-9065]
  • core: Rescue more exceptions when checking if port is open [GH-8517]
  • guests/solaris11: Inherit from Solaris guest and keep solaris11 specific methods [GH-9034]
  • guests/windows: Split out cygwin path helper for msys2/cygwin paths and ensure cygpath exists [GH-8972]
  • guests/windows: Specify expected shell when executing on guest (fixes winssh communicator usage) [GH-9012]
  • guests/windows: Include WinSSH Communicator when using insert_public_key [GH-9105]
  • hosts/windows: Check for vagrant.exe when validating versions within WSL [GH-9107, GH-8962]
  • providers/docker: Isolate windows check within executor to handle running through VM [GH-8921]
  • providers/hyper-v: Properly invoke Auto stop action [GH-9000]
  • provisioners/puppet: Fix winssh communicator support in puppet provisioner [GH-9014]
  • virtualbox/synced_folders: Allow synced folders to contain spaces in the guest path [GH-8995]

New in Vagrant 2.0.0 (Sep 11, 2017)

  • IMPROVEMENTS:
  • commands/login: Add support for two-factor authentication [GH-8935]
  • commands/ssh-config: Properly display windows path if invoked from msys2 or cygwin [GH-8915]
  • guests/alt: Add support for ALT Linux [GH-8746]
  • guests/kali: Fix file permissions on guest plugin ruby files [GH-8950]
  • hosts/linux: Provide common systemd detection for services interaction, fix NFS host interactions [GH-8938]
  • providers/salt: Remove duplicate stdout, stderr output from salt [GH-8767]
  • providers/salt: Introduce salt_call_args and salt_args option for salt provisioner [GH-8927]
  • providers/virtualbox: Improving resilience of some VirtualBox commands [GH-8951]
  • provisioners/ansible(both): Add the compatibility_mode option, with auto-detection enabled by default [GH-8913, GH-6570]
  • provisioners/ansible: Add the version option to the host-based provisioner [GH-8913, GH-8914]
  • provisioners/ansible(both): Add the become and become_user options with deprecation of sudo and sudo_user options [GH-8913, GH-6570]
  • provisioners/ansible: Add the ask_become_pass option with deprecation of the ask_sudo_pass option [GH-8913, GH-6570]
  • BUG FIXES:
  • guests/shell_expand_guest_path : Properly expand guest paths that include relative path alias [GH-8918]
  • hosts/linux: Remove duplicate export folders before writing /etc/exports [GH-8945]
  • provisioners/ansible(both): Add single quotes to the inventory host variables, only when necessary [GH-8597]
  • provisioners/ansible(both): Add the "all:vars" section to the inventory when defined in groups option [GH-7730]
  • provisioners/ansible_local: Extra variables are no longer truncated when a dollar ($) character is present [GH-7735]
  • provisioners/file: Align file provisioner functionality on all platforms [GH-8939]
  • util/ssh: Properly quote key path for IdentityFile option to allow for spaces [GH-8924]
  • BREAKING CHANGES:
  • Both Ansible provisioners are now capable of automatically setting the compatibility_mode that best fits with the Ansible version in use. You may encounter some compatibility issues when upgrading. If you were using Ansible 2.x and referring to the _ssh-prefixed variables present in the generated inventory (e.g. ansible_ssh_host). In this case, you can fix your Vagrant setup by setting compatibility_mode = "1.8", or by migrating to the new variable names (e.g. ansible_host).

New in Vagrant 1.9.8 (Aug 29, 2017)

  • IMPROVEMENTS:
  • Bash: Add box prune to contrib bash completion [GH-8806]
  • Commands/login: Ask for description of Vagrant Cloud token [GH-8876]
  • Commands/validate: Improve functionality of the validate command [GH-8889]n
  • Core: Updated Vagrants rspec gem to 3.5.0 [GH-8850]
  • Core: Validate powershell availability and version before use [GH-8839]
  • Core: Introduce extra_args setting for ssh configs [GH-8895]
  • Docs: Align contrib/sudoers file for ubuntu linux with docs [GH-8842]
  • Provider/hyperv: Prefer IPv4 guest address [GH-8831, GH-8759]
  • Provisioners/chef: Add config option omnibus_url for chef provisioners [GH-8682]
  • Provisioners/chef: Improve exception handling around missing folder paths [GH-8775]
  • BUG FIXES:
  • Box/update: Add force flag for box upgrade command [GH-8871]
  • Commands/rsync-auto: Ensure relative dirs are still rsync'd if defined [GH-8781]
  • Commands/up: Disable install providers when using global id on vagrant up [GH-8910]
  • Communicators/winssh: Fix public key insertion to retain ACL [GH-8790]
  • Core: Update util/ssh to use -o for identity files [GH-8786]
  • Guests/freebsd: Fix regex for listing network devices on some FreeBSD boxes. [GH-8760]
  • Hosts/windows: Prevent control characters in version check for WSL [GH-8902, GH-8901]
  • Providers/docker: Split String type links into Array when using compose [GH-8837, GH-8821]
  • Providers/docker: Expand relative volume paths correctly [GH-8838, GH-8822]
  • Providers/docker: Error when compose option enabled with force_host_vm [GH-8911]
  • Provisioners/ansible: Update to use -o for identity files [GH-8786]
  • Provisioners/file: Ensure remote folder exists prior to scp file or folder [GH-8880]
  • Provisioners/salt: Fix error case when github is unreachable for installer [GH-8864]
  • Provisioners/shell: Allow frozen string scripts [GH-8875]
  • Provisioners/puppet: Remove --manifestdir flag from puppet apply in provisioner [GH-8797]
  • Synced_folders/rsync: Correctly format IPv6 host [GH-8840, GH-8809]

New in Vagrant 1.9.7 (Jul 8, 2017)

  • Features:
  • core: Add support for preferred providers [GH-8558]
  • Improvements:
  • guests/bsd: Invoke tee with explicit path [GH-8740]
  • guests/smartos: Guest updates for host name and nfs capabilities [GH-8695]
  • guests/windows: Add public key capabilities for WinSSH communicator [GH-8761]
  • Bug fixes:
  • communicators/winssh: Make script upload directory configurable [GH-8761]
  • core: Update cygwin detection to prevent PATH related errors [GH-8749, GH-6788]
  • core: Fix URI parsing of box names to prevent errors [GH-8762, GH-8758]
  • provider/docker: Only rsync-auto current working dir with docker provider [GH-8756]

New in Vagrant 1.9.6 (Jul 3, 2017)

  • Improvements:
  • commands/snapshot: Enforce unique snapshot names and introduce --force flag [GH-7810]
  • commands/ssh: Introduce tty flag for vagrant ssh -c [GH-6827]
  • core: Warn about vagrant CWD changes for a machine [GH-3921]
  • core: Allow Compression and DSAAuthentication ssh flags to be configurable [GH-8693]
  • core/box: Warn if user sets box as url [GH-7118]
  • core/bundler: Enforce stict constraints on vendored libraries [GH-8692]
  • guests/kali: Add support for guest [GH-8553]
  • guests/smartos: Update halt capability and add public key insert and remove capabilities [GH-8618]
  • provisioners/ansible: Fix SSH keys only behavior to be consistent with Vagrant [GH-8467]
  • providers/docker: Add post install provisioner for docker setup [GH-8722]
  • snapshot/delete: Improve error message when given snapshot doesn't exist [GH-8653]
  • snapshot/list: Raise exception if provider does not support snapshots [GH-8619]
  • snapshot/restore: Improve error message when given snapshot doesn't exist [GH-8653]
  • snapshot/save: Raise exception if provider does not support snapshots [GH-8619]
  • Bug fixes:
  • communicators/ssh: Move none cipher to end of default cipher list in Net::SSH [GH-8661]
  • core: Add unique identifier to provisioner objects [GH-8680]
  • core: Stop config loader from loading dupe config if home and project dir are equal [GH-8707]
  • core/bundler: Impose constraints on update and allow system plugins to properly update [GH-8729]
  • guests/linux: Strip whitespace from GID [GH-8666, GH-8664]
  • guests/solaris: Do not use UNC style path for shared folders from windows hosts [GH-7723]
  • guests/windows: Fix directory creation when using rsync for synced folders [GH-8588]
  • hosts/windows: Force common encoding when running system commands [GH-8725]
  • providers/docker: Fix check for docker-compose [GH-8659, GH-8660]
  • providers/docker: Fix SSH under docker provider [GH-8706]
  • providers/hyperv: Fix box import [GH-8678, GH-8677]
  • provisioners/ansible_local: Catch pip_args in FreeBSD's and SUSE's ansible_install [GH-8676]
  • provisioners/salt: Fix minion ID configuration [GH-7865, GH-7454]
  • snapshot/restore: Exit 1 if vm has not been created when command is invoked [GH-8653]

New in Vagrant 1.9.4 (Apr 25, 2017)

  • Features:
  • command/validate: Add Vagrantfile validation command [GH-8264, GH-8151]
  • communicators/winssh: Add WinSSH communicator for Win32-OpenSSH [GH-8485]
  • provider/hyperv: Support integration services configuration [GH-8379, GH-8378]
  • Improvements:
  • core: Update internal dependencies [GH-8329, GH-8456]
  • core/bundler: Warn when plugin require fails instead of generating hard failure [GH-8400, GH-8392]
  • core/bundler: Error when configured plugin sources are unavailable [GH-8442]
  • guests/elementary: Add support for new guest "Elementary OS" [GH-8472]
  • guests/esxi: Add public_key capability [GH-8310]
  • guests/freebsd: Add chef_install and chef_installed? capabilities [GH-8443]
  • guests/gentoo: Add support for systemd in network configuration [GH-8407, GH-8406]
  • guests/windows: Support mounting synced folders via SSH on windows [GH-7425, GH-6220]
  • hosts/windows: Improve user permission detection [GH-7797]
  • provider/docker: Improve IP and port detection [GH-7840, GH-7651]
  • provider/docker: Do not force docker host VM on Darwin or Windows [GH-8437, GH-7895]
  • provisioners/ansible_local: Add pip_args option to define additional parameters when installing Ansible via pip [GH-8170, GH-8405]
  • provisioners/ansible_local: Add :pip_args_only install mode to allow full custom pip installations [GH-8405]
  • provisioners/salt: Update minion version installed to 2016.11.3 [GH-8448]
  • BUG FIXES:
  • command/box: Remove extraneous sort from box list prior to display [GH-8422]
  • command/box: Properly handle local paths with spaces for box add [GH-8503, GH-6825]
  • command/up: Prevent other provider installation when explicitly defined [GH-8393, GH-8389]
  • communicators/ssh: Do not yield empty output data [GH-8495, GH-8259]
  • core: Provide fallback and retry when 0.0.0.0 is unavailable during port check [GH-8399, GH-8395]
  • core: Support port checker methods that do not expect inclusion of host_ip [GH-8497, GH-8423]
  • core/bundler: Check if source is local path and prevent addition to remote sources [GH-8401]
  • core/ui: Prevent deadlock detection errors [GH-8414, GH-8125]
  • guests/debian: Remove hardcoded device name in interface template [GH-8336, GH-7960]
  • guests/linux: Fix SMB mount capbability [GH-8410, GH-8404]
  • hosts/windows: Fix issues with Windows encoding [GH-8385, GH-8380, GH-8212, GH-8207, GH-7516]
  • hosts/windows: Fix UNC path generation when UNC paath is provided [GH-8504]
  • provisioners/salt: Allow Salt version to match 2 digit month [GH-8428]
  • provisioners/shell: Properly handle remote paths on Windows that include spaces [GH-8498, GH-7234]

New in Vagrant 1.9.1 (Feb 1, 2017)

  • Improvements:
  • core: Disable Vagrantfile loading when running plugin commands [GH-8066]
  • guests/redhat: Detect and restart NetworkManager service if in use [GH-8052, GH-7994]
  • Bug fixes:
  • core: Detect load failures within install solution sets and retry [GH-8068]
  • core: Prevent interactive shell on plugin uninstall [GH-8086, GH-8087]
  • core: Remove bundler usage from Util::Env [GH-8090, GH-8094]
  • guests/linux: Prevent stderr output on init version check for synced folders [GH-8051]

New in Vagrant 1.8.7 (Nov 9, 2016)

  • IMPROVEMENTS:
  • guests/linux: Place ethernet devices at start of network devices list [GH-7848]
  • guests/linux: Provide more consistent guest detection [GH-7887, GH-7827]
  • guests/openbsd: Validate guest rsync installation success [GH-7929, GH-7898]
  • guests/redhat: Include Virtuozzo Linux 7 within flavor identification [GH-7818]
  • guests/windows: Allow vagrant to start Windows Nano without provisioning [GH-7831]
  • provisioners/ansible_local: Change the Ansible binary detection mechanism [GH-7536]
  • provisioners/ansible(both): Add the playbook_command option [GH-7881]
  • provisioners/puppet: Support custom environment variables [GH-7931, GH-7252, GH-2270]
  • util/safe_exec: Use subprocess for safe_exec on Windows [GH-7802]
  • util/subprocess: Allow closing STDIN [GH-7778]
  • BUG FIXES:
  • communicators/winrm: Prevent connection leakage [GH-7712]
  • core: Prevent duplicate provider priorities [GH-7756]
  • core: Allow Numeric type for box version [GH-7874, GH-6960]
  • core: Provide friendly error when user environment is too large [GH-7889, GH-7857]
  • guests: Remove set -e usage for better shell compatibility [GH-7921, GH-7739]
  • guests/linux: Fix incorrectly configured private network [GH-7844, GH-7848]
  • guests/linux: Properly order network interfaces [GH-7866, GH-7876, GH-7858, GH-7876]
  • guests/linux: Only emit upstart event if initctl is available [GH-7813]
  • guests/netbsd: Fix rsync installation [GH-7922, GH-7901]
  • guests/photon: Fix networking setup [GH-7808, GH-7873]
  • guests/redhat: Properly configure network and restart service [GH-7751]
  • guests/redhat: Prevent NetworkManager from managing devices on initial start [GH-7926]
  • hosts/linux: Fix race condition in writing /etc/exports file for NFS configuration [GH-7947, GH-7938] - Thanks to Aron Griffis (@agriffis) for identifying this issue
  • plugins/rsync: Escape exclude paths [GH-7928, GH-7910]
  • providers/docker: Remove --interactive flag when pty is true [GH-7688]
  • provisioners/ansible_local: Use enquoted path for file/directory existence checks
  • provisioners/salt: Synchronize configuration defaults with documentation [GH-7907, GH-6624]
  • pushes/atlas: Fix atlas push on Windows platform [GH-6938, GH-7802]

New in Vagrant 1.8.6 (Nov 9, 2016)

  • IMPROVEMENTS:
  • Add detection for DragonFly BSD [GH-7701]
  • Implement auto_start and auto_stop actions for Hyper-V [GH-7647]
  • communicators/ssh: Remove any content prepended to STDOUT [GH-7676, GH-7613]
  • BUG FIXES:
  • commands/package: Provide machine data directory for base box package [GH-5070, GH-7725]
  • core: Fix windows path formatting [GH-6598]
  • core: Fixes for ssh-agent interactions [GH-7703, GH-7621, GH-7398]
  • core: Support VAGRANT_DOTFILE_PATH relative to the Vagrantfile [GH-7623]
  • guests: Prevent ssh disconnect errors on halt command [GH-7675]
  • guests/bsd: Remove Darwin matching [GH-7701]
  • guests/linux: Fix SSH key permissions [GH-7610, GH-7611]
  • guests/linux: Always sort discovered network interfaces [GH-7705, GH-7668]
  • guests/linux: Fixes for user and group ID lookups for virtualbox shared folders [GH-7616, GH-7662, GH-7720]
  • guests/openbsd: Add custom halt capability [GH-7701]
  • guests/ubuntu: Fix detection on older guests [GH-7632, GH-7524, GH-7625]
  • hosts/arch: Detect NFS server by service name on arch [GH-7630, GH-7629]
  • hosts/darwin: Fix generated RDP configuration file [GH-7698]
  • provisioners/ansible: Add support for ssh.proxy_command setting [GH-7752]
  • synced_folders/nfs: Display warning when configured for NFSv4 and UDP [GH-7740]
  • synced_folders/rsync: Properly ignore excluded files within synced directory from chown command. [GH-5256, GH-7726]

New in Vagrant 1.8.5 (Nov 9, 2016)

  • FEATURES:
  • core: Provide a way to globally disable box update checks with the environment variable VAGRANT_BOX_UPDATE_CHECK_DISABLE. Setting this to any non-empty value will instruct Vagrant to not look for box updates when running vagrant up. Setting this environment variable has no effect on the vagrant box commands.
  • IMPROVEMENTS:
  • guests/arch: Support installing synced folder clients [GH-7519]
  • guests/darwin: Allow ipv6 static networks [GH-7491]
  • providers/virtualbox: Add support for 5.1 [GH-7574]
  • BUG FIXES:
  • core: Bump listen gem and Ruby version to improve rsync performance [GH-7453, GH-7441]
  • core: Check process stdout when detecting if a hyperv admin [GH-7465, GH-7467]
  • core: Ensure removal of temporary directory when box download fails [GH-7496, GH-7499]
  • core: Fix regression for installing plugins from path [GH-7505, GH-7493]
  • core: Skip checking conflicts on disabled ports [GH-7587]
  • core: Idempotent write-out for state file [GH-7550]
  • core/guests: Create common BSD guest for shared logic
  • core/guests: Ignore empty output from /sbin/ip [GH-7539, GH-7537, GH-7533, GH-7605]
  • synced_folders/nfs: Shellescape rsync paths [GH-7540, GH-7605]
  • synced_folders/nfs: Ensure retries take place [GH-6360, GH-7605]
  • synced_folders/rsync: Shellescape rsync paths [GH-7580, GH-6690, GH-7579, GH-7605]
  • synced_folders/rsync: Translate Windows paths [GH-7012, GH-6702, GH-6568, GH-7046]
  • guests/bsd: Consolidate core logic for mounting NFS folders [GH-7480, GH-7474, GH-7466]
  • guests/bsd: Consolidate core logic for public key management [GH-7481]
  • guests/bsd: Consolidate core logic for halting [GH-7484]
  • guests/centos: Use ip instead of ifconfig to detect network interfaces [GH-7460]
  • guests/debian: Ensure newline when inserting public key [GH-7456]
  • guests/linux: Ensure NFS retries during mounting [GH-7492]
  • guests/redhat: Use /sbin/ip to list and configure networks for compatability with older versions of CentOS [GH-7482]
  • guests/redhat: Ensure newline when inserting public key [GH-7598, GH-7605]
  • guests/ubuntu: Use /etc/os-release to detech [GH-7524]
  • guests/ubuntu: Use short hostname [GH-7488, GH-7605]
  • providers/hyperv: Fix version check and catch statement [GH-7447, GH-7487]

New in Vagrant 1.8.4 (Nov 9, 2016)

  • BUG FIXES:
  • core: Fix bundler plugin issue and version constraint [GH-7418, GH-7415]
  • providers/virtualbox: Use 8 network interfaces (due to Windows limitation) [GH-7417, GH-7419]
  • provisioners/ansible(both): Honor "galaxy_roles_path" option when running ansible-playbook [GH-7269, GH-7420]
  • provisioners/ansible_local: Add quotes around "ansible-galaxy" arguments [GH-7420]
  • IMPROVEMENTS:
  • guests/redhat: Add CloudLinux detection [GH-7428, GH-7427]

New in Vagrant 1.8.3 (Nov 9, 2016)

  • BREAKING CHANGES:
  • The winrm communicator now shares the same upload behavior as the ssh communicator. This change should have no impact to most vagrant operations but may break behavior when uploading directories to an existing destination target. The file provisioner should be the only builtin provisioner affected by this change. When uploading a directory and the destination directory exists on the endpoint, the source base directory will be created below the destination directory on the endpoint and the source directory contents will be unzipped to that location. Prior to this release, the contents of the source directory would be unzipped to an existing destination directory without creating the source base directory. This new behavior is more consistent with SCP and other well known shell copy commands.
  • The Chef provisioner's channel default value has changed from "current" to "stable". The "current" channel includes nightly releases and should be opt-in only. Note that users wishing to download the Chef Development Kit will need to opt into the "current" channel until Chef Software promotes into the "stable" channel.
  • The Arch Linux host capability for NFS removed support for rc.d in favor or systemd which has been present since 2012. Please see GH-7181 for more information.
  • FEATURES:
  • provider/docker: Allow non-linux users to opt-out of the host VM to run Docker containers by setting config.force_host_vm = false in the Vagrantfile. This is especially useful for customers who wish to use the beta builds for Mac and Windows, dlite, or a custom provider. [GH-7277, GH-7298, 8c11b53]
  • provider/docker: New command: docker-exec allows attaching to an already-running container. [GH-7377, GH-6566, GH-5193, GH-4904, GH-4057, GH-4179, GH-4903]
  • IMPROVEMENTS:
  • core/downloader: increase box resume download limit to 24h [GH-7352, GH-7272]
  • core/package: run validations prior to packaging [GH-7353, GH-7351]
  • core/action: make start ("vagrant up") run provisioners [GH-4467, GH-4421]
  • commands/all: Make it clear that machine IDs can be specified [GH-7356, GH-7228]
  • commands/init: Add support for specifying the box version [GH-7363, GH-5004]
  • commands/login: Print a warning with both the environment variable and local login token are present [GH-7206, GH-7219]
  • communicators/winrm: Upgrade to latest WinRM gems [GH-6922]
  • provisioners/ansible_local: Allow to install Ansible from pip, with version selection capability [GH-6654, GH-7167]
  • provisioners/ansible_local: Use provisioning_path as working directory for ansible-galaxy execution
  • provisioners/ansible(both provisioners): Add basic config validators/converters on raw_arguments and raw_ssh_args options [GH-7103]
  • provisioners/chef: Add the ability to install on SUSE [GH-6806]
  • provisioners/chef: Support legacy solo mode [GH-7327]
  • provisioners/docker: Restart container if newer image is available [GH-7358, GH-6620]
  • hosts/arch: Remove sysvinit and assume systemd [GH-7181]
  • hosts/linux: Do not use a pager with systemctl commands [GH-7270]
  • hosts/darwin: Add extra_args support for RDP [GH-5523, GH-6602]
  • hosts/windows: Use SafeExec to capture history in Powershell [GH-6749]
  • guests/amazon: Add detection [GH-7395, GH-7254]
  • guests/freebsd: Add quotes around hostname [GH-6867]
  • guests/fedora: Add support for ipv6 static networks [GH-7275, GH-7276]
  • guests/tinycore: Add support for shared folders [GH-6977, GH-6968]
  • guests/trisquel: Add initial support [GH-6842, GH-6843]
  • guests/windows: Add support for automatic login (no password prompting) [GH-5670]
  • core: Add --no-delete and provisioning flags to snapshot restore/pop [GH-6879]
  • providers/docker: Allow TCP and UDP ports on the same number [GH-7365, GH-5527]
  • providers/hyperv: Add support for differencing disk [GH-7090]
  • providers/hyperv: Add support for snapshots [GH-7110]
  • providers/hyperv: Reinstate compatibility with PS 4 [GH-7108]
  • providers/virtualbox: Add linked clone support for Virtualbox 1.4 [GH-7050]
  • synced_folders/nfs: Read static and dynamic IPs [GH-7290, GH-7289]
  • BUG FIXES:
  • core: Bump nokogiri version to fix windows bug [GH-6766, GH-6848]
  • core: Revert a change made to the output of the identify file [GH-6962, GH-6929, GH-6589]
  • core: Fix login command behind a proxy [GH-6898, GH-6899]
  • core: Fix support for regular expressions on multi-machine up [GH-6908, GH-6909]
  • core: Allow boxes to use pre-release versions [GH-6892, GH-6893]
  • core: Rescue Errno:ENOTCONN waiting for port to be open [GH-7182, GH-7184]
  • core: Properly authenticate metadata box URLs [GH-6776, GH-7158]
  • core: Do not run provisioners if already run on resume [GH-7059, GH-6787]
  • core: Implement better tracking of tempfiles and tmpdirs to identify file leaks [GH-7355]
  • core: Allow SSH forwarding on Windows [GH-7287, GH-7202]
  • core: Allow customizing keys_only SSH option [GH-7360, GH-4275]
  • core: Allow customizing paranoid SSH option [GH-7360, GH-4275]
  • command/box_update: Do not update the same box twice [GH-6042, GH-7379]
  • command/init: Remove unnecessary sudo from generated Vagrantfile [GH-7369, GH-7295]
  • docs & core: Be consistent about the "2" in the Vagrantfile version [GH-6961, GH-6963]
  • guests/all: Refactor guest capabilities to run in a single command - please see GH-7393 for the complete list of changes!
  • guests/arch: Restart network after configuration [GH-7120, GH-7119]
  • guests/debian: Do not return an error if ifdown fails [GH-7159, GH-7155, GH-6871]
  • guests/freebsd: Use pkg to install rsync [GH-6760]
  • guests/freebsd: Use netif to configure networks [GH-5852, GH-7093]
  • guests/coreos: Detect all interface names [GH-6608, GH-6610]
  • providers/hyperv: Only specify Hyper-V if the parameter is support [GH-7101, GH-7098]
  • providers/virtualbox: Set maximum network adapters to 36 [GH-7293, GH-7286]
  • providers/virtualbox: Do not fail when master VM from linked clone is missing [GH-7126, GH-6742]
  • providers/virtualbox: Use scoped overrides in preparring NFS [GH-7387, GH-7386]
  • provisioners/ansible: Fix a race condition in the concurrent generations of the ansible inventory file, while running vagrant up --parallel [GH-6526, GH-7190]
  • provisioners/ansible_local: Don't quote the Ansible arguments defined in the raw_arguments option [GH-7103]
  • provisioners/ansible_local: Format json extra_vars with double quotes [GH-6726, GH-7103]
  • provisioners/ansible_local: Fix errors in absolute paths to playbook or galaxy resources when running on a Windows host [GH-6740, GH-6757]
  • provisioners/ansible_local: Change the way to verify ansible-galaxy presence, to avoid a non-zero status code with Ansible 2.0 [GH-6793]
  • provisioners/ansible(both provisioners): The Ansible configuration files detection is only executed by the provision action [GH-6763, GH-6984]
  • provisioners/chef: Do not use double sudo when installing [GGH-6805, GH-6804]
  • provisioners/chef: Change the default channel to "stable" (previously it was "current") [GH-7001, GH-6979]
  • provisioners/chef: Default node_name to hostname if present [GH-7063, GH-7153]
  • provisioners/docker: Fix -no-trunc command option [GH-7085]
  • provisioners/docker: Allow provisioning when container name is specified [GH-7074, GH-7086]
  • provisioners/puppet: Use where.exe to locate puppet binary [GH-6912, GH-6876]
  • provisioners/salt: Move masterless config to apply to all platforms [GH-7207, Gh-6924, GH-6915]
  • pushes/ftp: Create parent directories when uploading [GH-7154, GH-6316]
  • synced_folders/smb: Do not interpolate configuration file [GH-6906]

New in Vagrant 1.8.1 (Dec 31, 2015)

  • BUG FIXES:
  • core: Don't create ".bundle" directory in pwd [GH-6717]
  • core: Fix exception on installing VirtualBox [GH-6713]
  • core: Do not convert standalone drive letters such as "D:" to UNC paths [GH-6598]
  • core: Fix a crash in parsing the config in some cases with network configurations [GH-6730]
  • commands/up: Smarter logic about what provider to install, avoiding situations where VirtualBox was installed over the correct provider [GH-6731]
  • guests/debian: Fix Docker install [GH-6722]
  • provisioners/chef: convert chef version to a string before comparing for the command builder [GH-6709, GH-6711]
  • provisioners/shell: convert env var values to strings [GH-6714]

New in Vagrant 1.8.0 (Dec 31, 2015)

  • FEATURES:
  • New Command: vagrant powershell: For machines that support it, this will open a PowerShell prompt.
  • New Command: vagrant port: For machines that support it, this will display the list of forwarded ports from the guest to the host.
  • Linked Clones: VirtualBox and VMware providers now support linked clones for very fast (millisecond) imports on up. [GH-4484]
  • Snapshots: The vagrant snapshot command can be used to checkpoint and restore point-in-time snapshots.
  • IPv6 Private Networks: Private networking now supports IPv6. This only works with VirtualBox and VMware at this point. [GH-6342]
  • New provisioner: ansible_local to execute Ansible from the guest machine. [GH-2103]
  • BREAKING CHANGES:
  • The ansible provisioner now can override the effective ansible remote user (i.e. ansible_ssh_user setting) to always correspond to the vagrant ssh username. This change is enabled by default, but we expect this to affect only a tiny number of people as it corresponds to the common usage. If you however use multiple remote usernames in your Ansible plays, tasks, or custom inventories, you can simply set the option force_remote_user to false to make Vagrant behave the same as before.
  • provisioners/salt: the "config_dir" option has been removed. It has no effect in Vagrant 1.8. [GH-6073]
  • IMPROVEMENTS:
  • core: allow removal of all box versions with --all flag [GH-3462]
  • core: prune entries from global status on non-existent cwd [GH-6535]
  • core: networking: allow specifying a DHCP IP [GH-6325]
  • core: run provisioner cleanup tasks before powering off the VM [GH-6553]
  • core: only run provisioner cleanup tasks if they're implemented [GH-6603] This improves UX, but wasn't a bug before.
  • command/plugin: Add --plugin-clean-sources flag to reset plugin install sources, primarily for corp firewalls. [GH-4738]
  • command/rsync-auto: SSH connection is cached for faster sync times [GH-6399]
  • command/up: provisioners are run on suspend resume [GH-5815]
  • communicators/ssh: allow specifying host environment variables to forward to guests [GH-4132, GH-6562]
  • communicators/winrm: Configurable execution time limit [GH-6213]
  • providers/virtualbox: cache version lookup, which caused significant slowdown on some Windows hosts [GH-6552]
  • providers/virtualbox: add public_address capability for virtualbox [GH-6583, GH-5978]
  • provisioners/chef: perform cleanup tasks on the guest instead of the host
  • provisioners/chef: automatically generate a node_name if one was not given [GH-6555]
  • provisioners/chef: install Chef automatically on Windows [GH-6557]
  • provisioners/chef: allow the user to specify the Chef product (such as the Chef Development Kit) [GH-6557]
  • provisioners/chef: allow data_bags_path to be an array [GH-5988, GH-6561]
  • provisioners/shell: Support interactive mode for elevated PowerShell scripts [GH-6185]
  • provisioners/shell: add env option [GH-6588, GH-6516]
  • provisioners/ansible+ansible_local: add support for ansible-galaxy [GH-2718]
  • provisioners/ansible+ansible_local: add support for group and host variables in the generated inventory [GH-6619]
  • provisioners/ansible+ansible_local: add support for alphanumeric patterns for groups in the generated inventory [GH-3539]
  • provisioners/ansible: add support for WinRM settings [GH-5086]
  • provisioners/ansible: add new force_remote_user option to control whether ansible_ssh_user parameter should be applied or not [GH-6348]
  • provisioners/ansible: show a warning when running from a Windows Host [GH-5292]
  • pushes/local-exec: add support for specifying script args [GH-6661, GH-6660]
  • guests/slackware: add support for networking [GH-6514]
  • BUG FIXES:
  • core: Ctrl-C weirdness fixed where it would exit parent process before Vagrant finished cleaning up [GH-6085]
  • core: DHCP network configurations don't warn on IP addresses ending in ".1" [GH-6150]
  • core: only append access_token when it does not exist in the URL [GH-6395, GH-6534]
  • core: use the correct private key when packaging a box [GH-6406]
  • core: fix crash when using invalid box checksum type [GH-6327]
  • core: don't check for metadata if the download URL is not HTTP [GH-6540]
  • core: don't make custom dotfile path if there is no Vagrantfile [GH-6542]
  • core: more robust check for admin privs on Windows [GH-5616]
  • core: properly detect when HTTP server doesn't support byte ranges and retry from scratch [GH-4479]
  • core: line numbers show properly in Vagrantfile syntax errors on Windows [GH-6445]
  • core: catch errors setting env vars on Windows [GH-6017]
  • core: remove cached synced folders when they're removed from the Vagrantfile [GH-6567]
  • core: use case-insensitive comparison for box checksum validations [GH-6648, GH-6650]
  • commands/box: add command with ~ paths on Windows works [GH-5747]
  • commands/box: the update command supports CA settings [GH-4473]
  • commands/box: removing all versions and providers of a box will properly clean all directories in ~/.vagrant.d/boxes [GH-3570]
  • commands/box: outdated global won't halt on metadata download failure [GH-6453]
  • commands/login: respect environment variables in vagrant login command [GH-6590, GH-6422]
  • commands/package: when re-packaging a packaged box, preserve the generated SSH key [GH-5780]
  • commands/plugin: retry plugin install automatically a few times to avoid network issues [GH-6097]
  • commands/rdp: prefer xfreerdp if it is available on Linux [GH-6475]
  • commands/up: the --provision-with flag works with provisioner names [GH-5981]
  • communicator/ssh: fix potential crash case with PTY [GH-6225]
  • communicator/ssh: escape IdentityFile path [GH-6428, GH-6589]
  • communicator/winrm: respect boot_timeout setting [GH-6229]
  • communicator/winrm: execute scheduled tasks immediately on Windows XP since elevation isn't required [GH-6195]
  • communicator/winrm: Decouple default port forwarding rules for "winrm" and "winrm-ssl" [GH-6581]
  • communicator/winrm: Hide progress bars from PowerShell v5 [GH-6309]
  • guests/arch: enable network device after setting it up [GH-5737]
  • guests/darwin: advanced networking works with more NICs [GH-6386]
  • guests/debian: graceful shutdown works properly with newer releases [GH-5986]
  • guests/fedora: Preserve localhost entry when changing hostname [GH-6203]
  • guests/fedora: Use dnf if it is available [GH-6288]
  • guests/linux: when replacing a public SSH key, use POSIX-compliant sed flags [GH-6565]
  • guests/suse: DHCP network interfaces properly configured [GH-6502]
  • hosts/slackware: Better detection of NFS [GH-6367]
  • providers/hyper-v: support generation 2 VMs [GH-6372]
  • providers/hyper-v: support VMs with more than one NIC [GH-4346]
  • providers/hyper-v: check if user is in the Hyper-V admin group if they're not a Windows admin [GH-6662]
  • providers/virtualbox: ignore "Unknown" status bridge interfaces [GH-6061]
  • providers/virtualbox: only fix ipv6 interfaces that are in use [GH-6586, GH-6552]
  • provisioners/ansible: use quotes for the ansible_ssh_private_key_file value in the generated inventory [GH-6209]
  • provisioners/ansible: use quotes when passing the private key files via OpenSSH -i command line arguments [GH-6671]
  • provisioners/ansible: don't show the ansible-playbook command when verbose option is an empty string
  • provisioners/chef: fix nodes_path for Chef Zero [GH-6025, GH-6049]
  • provisioners/chef: do not error when the node_name is unset [GH-6005, GH-6064, GH-6541]
  • provisioners/chef: only force the formatter on Chef 11 or higher [GH-6278, GH-6556]
  • provisioners/chef: require nodes_path to be set for Chef Zero [GH-6110, GH-6559]
  • provisioners/puppet: apply provisioner uses correct default manifests with environments. [GH-5987]
  • provisioners/puppet: remove broken backticks [GH-6404]
  • provisioners/puppet: find Puppet binary properly on Windows [GH-6259]
  • provisioners/puppet-server: works with Puppet Collection 1 [GH-6389]
  • provisioners/salt: call correct executables on Windows [GH-5999]
  • provisioners/salt: log level and colorize works for masterless [GH-6474]
  • push/local-exec: use subprocess on windows when fork does not exist [GH-5307, GH-6563]
  • push/heroku: use current branch [GH-6554]
  • synced_folders/rsync: on Windows, replace all paths with Cygwin paths since all rsync implementations require this [GH-6160]
  • synced_folders/smb: use credentials files to allow for more characters in password [GH-4230]
  • PLUGIN AUTHOR CHANGES:
  • installer: Upgrade to Ruby 2.2.3

New in Vagrant 1.7.2 (Jan 7, 2015)

  • BREAKING CHANGES:
  • If you depended on the paths that Chef/Puppet provisioners use to store cookbooks (ex. "/tmp/vagrant-chef-1"), these will no longer be correct. Without this change, Chef/Puppet didn't work at all with vagrant provision. We expect this to affect only a minor number of people, since its not something that was every documented or recommended by Vagrant, or even meant to be supported.
  • FEATURES:
  • provisioners/salt: add support for grains [GH-4895]
  • IMPROVEMENTS:
  • commands/reload,up: --provision-with implies --provision [GH-5085]
  • BUG FIXES:
  • core: private boxes still referencing vagrantcloud.com will have their vagrant login access token properly appended
  • core: push plugin configuration is properly validated
  • core: restore box packaging functionality
  • commands/package: fix crash
  • commands/push: push lookups are by user-defined name, not push strategy name [GH-4975]
  • commands/push: validate the configuration
  • communicators/winrm: detect parse errors in PowerShell and error
  • guests/arch: fix network configuration due to poor line breaks. [GH-4964]
  • guests/solaris: Merge configurations properly so configs can be set in default Vagrantfiles. [GH-5092]
  • installer: SSL cert bundle contains 1024-bit keys, fixing SSL verification for a lot of sites.
  • installer: vagrant executable properly cygpaths the SSL bundle path for Cygwin
  • installer: Nokogiri (XML lib used by Vagrant and dependencies) linker dependencies fixed, fixing load issues on some platforms
  • providers/docker: Symlinks in shared folders work. [GH-5093]
  • providers/hyperv: VM start errors turn into proper Vagrant errors. [GH-5101]
  • provisioners/chef: fix missing shared folder error [GH-4988]
  • provisioners/chef: remove Chef version check from solo.rb generation and make roles_path populate correctly
  • provisioners/chef: fix bad invocation of with_clean_env [GH-5021]
  • pushes/atlas: support more verbose logging
  • pushes/ftp: expand file paths relative to the Vagrantfile
  • pushes/ftp: improved debugging output
  • pushes/ftp: create parent directories if they do not exist on the remote server

New in Vagrant 1.7.1 (Dec 13, 2014)

  • IMPROVEMENTS:
  • provisioners/ansible: Use Docker proxy if needed.
  • BUG FIXES:
  • providers/docker: Add support of SSH agent forwarding.

New in Vagrant 1.7.0 (Dec 10, 2014)

  • BREAKING CHANGES:
  • provisioners/ansible: raw_arguments has now highest priority
  • provisioners/ansible: only the ssh connection transport is supported (paramiko can be enabled with raw_arguments at your own risks)
  • FEATURES:
  • Vagrant Push: Vagrant can now deploy! vagrant push is a single command to deploy your application. Deploy to Heroku, FTP, or HashiCorp's commercial product Atlas. New push strategies can be added with plugins.
  • Named provisioners: Provisioners can now be named. This name is used for output as well as --provision-with for better control.
  • Default provider logic improved: Providers in config.vm.provider blocks in your Vagrantfile now have higher priority than plugins. Earlier providers are chosen before later ones. [GH-3812]
  • If the default insecure keypair is used, Vagrant will automatically replace it with a randomly generated keypair on first vagrant up. [GH-2608]
  • Vagrant Login is now part of Vagrant core
  • Chef Zero provisioner: Use Chef 11's "local" mode to run recipes against an in-memory Chef Server
  • Chef Apply provisioner: Specify inline Chef recipes and recipe snippets using the Chef Apply provisioner
  • IMPROVEMENTS:
  • core: has_plugin? function now takes a second argument which is a version constraint requirement. [GH-4650]
  • core: ".vagrantplugins" file in the same file as your Vagrantfile will be loaded for defining inline plugins. [GH-3775]
  • commands/plugin: Plugin list machine-readable output contains the plugin name as the target for versions and other info. [GH-4506]
  • env/with_cleanenv: New helper for plugin developers to use when shelling out to another Ruby environment
  • guests/arch: Support predictable network interface naming. [GH-4468]
  • guests/suse: Support NFS client install, rsync setup. [GH-4492]
  • guests/tinycore: Support changing host names. [GH-4469]
  • guests/tinycore: Support DHCP-based networks. [GH-4710]
  • guests/windows: Hostname can be set without reboot. [GH-4687]
  • providers/docker: Build output is now shown. [GH-3739]
  • providers/docker: Can now start containers from private repositories more easily. Vagrant will login for you if you specify auth. [GH-4042]
  • providers/docker: stop_timeout can be used to modify the docker stop timeout. [GH-4504]
  • provisioners/chef: Automatically install Chef when using a Chef provisioner.
  • provisioners/ansible: Always show Ansible command executed when Vagrant log level is debug (even if ansible.verbose is false)
  • synced_folders/nfs: Won't use sudo to write to /etc/exports if there are write privileges. [GH-2643]
  • synced_folders/smb: Credentials from one SMB will be copied to the rest. [GH-4675]
  • BUG FIXES:
  • core: Fix cases where sometimes SSH connection would hang.
  • core: On a graceful halt, force halt if capability "insert public key" is missing. [GH-4684]
  • core: Don't share /vagrant if any "." folder is shared. [GH-4675]
  • core: Fix SSH private key permissions more aggressively. [GH-4670]
  • core: Custom Vagrant Cloud server URL now respected in more cases.
  • core: On downloads, don't continue downloads if the remote server doesn't support byte ranges. [GH-4479]
  • core: Box downloads recognize more complex content types that include "application/json" [GH-4525]
  • core: If all sub-machines are autostart: false, don't start any. [GH-4552]
  • core: Update global-status state in more cases. [GH-4513]
  • core: Only delete machine state if the machine is not created in initialize
  • commands/box: --cert flag works properly. [GH-4691]
  • command/docker-logs: Won't crash if container is removed. [GH-3990]
  • command/docker-run: Synced folders will be attached properly. [GH-3873]
  • command/rsync: Sync to Docker containers properly. [GH-4066]
  • guests/darwin: Hostname sets bonjour name and local host name. [GH-4535]
  • guests/freebsd: NFS mounting can specify the version. [GH-4518]
  • guests/linux: More descriptive error message if SMB mount fails. [GH-4641]
  • guests/rhel: Hostname setting on 7.x series works properly. [GH-4527]
  • guests/rhel: Installing NFS client works properly on 7.x [GH-4499]
  • guests/solaris11: Static IP address preserved after restart. [GH-4621]
  • guests/ubuntu: Detect with lsb_release instead of /etc/issue. [GH-4565]
  • hosts/windows: RDP client shouldn't map all drives by default. [GH-4534]
  • providers/docker: Create args works. [GH-4526]
  • providers/docker: Nicer error if package is called. [GH-4595]
  • providers/docker: Host IP restriction is forwarded through. [GH-4505]
  • providers/docker: Protocol is now honored in direct `ports settings.
  • providers/docker: Images built using build_dir will more robustly capture the final image. [GH-4598]
  • providers/docker: NFS synced folders now work. [GH-4344]
  • providers/docker: Read the created container ID more robustly.
  • providers/docker: vagrant share uses correct IP of proxy VM if it exists. [GH-4342]
  • providers/docker: vagrant_vagrantfile expands home directory. [GH-4000]
  • providers/docker: Fix issue where multiple identical proxy VMs would be created. [GH-3963]
  • providers/docker: Multiple links with the same name work. [GH-4571]
  • providers/virtualbox: Show a human-friendly error if VirtualBox didn't clean up an existing VM. [GH-4681]
  • providers/virtualbox: Detect case when VirtualBox reports 0.0.0.0 as IP address and don't allow it. [GH-4671]
  • providers/virtualbox: Show more descriptive error if VirtualBox is reporting an empty version. [GH-4657]
  • provisioners/ansible: Force ssh (OpenSSH) connection by default [GH-3396]
  • provisioners/ansible: Don't use or modify ~/.ssh/known_hosts file by default, similarly to native vagrant commands [GH-3900]
  • provisioners/docker: Get GPG key over SSL. [GH-4597]
  • provisioners/docker: Search for docker binary in multiple places. [GH-4580]
  • provisioners/salt: Highstate works properly with a master. [GH-4471]
  • provisioners/shell: Retry getting SSH info a few times. [GH-3924]
  • provisioners/shell: PowerShell scripts can have args. [GH-4548]
  • synced_folders/nfs: Don't modify NFS exports file if no exports. [GH-4619]
  • synced_folders/nfs: Prune exports for file path IDs. [GH-3815]
  • PLUGIN AUTHOR CHANGES:
  • Machine#action can be called with the option lock: false to not acquire a machine lock.
  • Machine#reload will now properly trigger the machine_id_changed callback on providers.

New in Vagrant 1.6.5 (Sep 5, 2014)

  • BUG FIXES:
  • core: forward SSH even if WinRM is used.
  • communicator/ssh: Fix crash when pty is enabled with SSH.
  • guests/redhat: Detect various RedHat flavors.
  • guests/redhat: Fix typo causing crash in configuring networks.
  • guests/redhat: Fix typo causing hostnames to not set.
  • providers/virtualbox: NFS works when using DHCP private network.

New in Vagrant 1.6.4 (Sep 3, 2014)

  • BACKWARDS INCOMPATIBILITIES:
  • commands/docker-run: Started containers are now deleted after run. Specify the new --no-rm flag to retain the original behavior. [GH-4327]
  • providers/virtualbox: Host IO cache is no longer enabled by default since it causes stale file issues. Please enable manually if you require this. [GH-3934]
  • IMPROVEMENTS:
  • core: Added config.vm.box_server_url setting to point at a Vagrant Cloud instance. [GH-4282]
  • core: File checksumming performance has been improved by at least 100%. Memory requirements have gone down by half. [GH-4090]
  • commands/docker-run: Add the --no-rm flag. Containers are deleted by default. [GH-4327]
  • commands/plugin: Better error output is shown when plugin installation fails.
  • commands/reload: show post up messsage [GH-4168]
  • commands/rsync-auto: Add --poll flag. [GH-4392]
  • communicators/winrm: Show stdout/stderr if command fails. [GH-4094]
  • guests/nixos: Added better NFS support. [GH-3983]
  • providers/hyperv: Accept VHD disk format. [GH-4208]
  • providers/hyperv: Support generation 2 VMs. [GH-4324]
  • provisioners/docker: More verbose output. [GH-4377]
  • provisioners/salt: Get proper exit codes to detect failed runs. [GH-4304]
  • BUG FIXES:
  • core: Downloading box files should resume in more cases since the temporary file is preserved in more cases. [GH-4301]
  • core: Windows is not detected as NixOS in some cases. [GH-4302]
  • core: Fix encoding issues with Windows. There are still some outlying but this fixes a few. [GH-4159]
  • core: Fix crash case when destroying with an invalid provisioner. [GH-4281]
  • core: Box names with colons work on Windows. [GH-4100]
  • core: Cleanup all temp files. [GH-4103]
  • core: User curlrc is not loaded, preventing strange download issues. [GH-4328]
  • core: VM names may no longer contain brackets, since they cause issues with some providers. [GH-4319]
  • core: Use "-f" to rm files in case pty is true. [GH-4410]
  • core: SSH key doesn't have to be owned by our user if we're running as root. [GH-4387]
  • core: "vagrant provision" will cause "vagrant up" to properly not reprovision. [GH-4393]
  • commands/box/add: "Content-Type" header is now case-insensitive when looking for metadata type. [GH-4369]
  • commands/docker-run: Named docker containers no longer conflict. [GH-4294]
  • commands/package: base package won't crash with exception [GH-4017]
  • commands/rsync-auto: Destroyed machines won't raise exceptions. [GH-4031]
  • commands/ssh: Extra args are passed through to Docker container. [GH-4378]
  • communicators/ssh: Nicer error if remote unexpectedly disconects. [GH-4038]
  • communicators/ssh: Clean error when max sessions is hit. [GH-4044]
  • communicators/ssh: Fix many issues around PTY-enabled output parsing. [GH-4408]
  • communicators/winrm: Support mkdir [GH-4271]
  • communicators/winrm: Properly escape double quotes. [GH-4309]
  • communicators/winrm: Detect failed commands that aren't CLIs. [GH-4383]
  • guests/centos: Fix issues when NFS client is installed by restarting NFS [GH-4088]
  • guests/debian: Deleting default route on DHCP networks can fail. [GH-4262]
  • guests/fedora: Fix networks on Fedora 20 with libvirt. [GH-4104]
  • guests/freebsd: Rsync install for rsync synced folders work on FreeBSD 10. [GH-4008]
  • guests/freebsd: Configure vtnet devices properly [GH-4307]
  • guests/linux: Show more verbose error when shared folder mount fails. [GH-4403]
  • guests/redhat: NFS setup should use systemd for RH7+ [GH-4228]
  • guests/redhat: Detect RHEL 7 (and CentOS) and install Docker properly. [GH-4402]
  • guests/redhat: Configuring networks on EL7 works. [GH-4195]
  • guests/redhat: Setting hostname on EL7 works. [GH-4352]
  • guests/smartos: Use pfexec for rsync. [GH-4274]
  • guests/windows: Reboot after hostname change. [GH-3987]
  • hosts/arch: NFS works with latest versions. [GH-4224]
  • hosts/freebsd: NFS exports are proper syntax. [GH-4143]
  • hosts/gentoo: NFS works with latest versions. [GH-4418]
  • hosts/windows: RDP command works without crash. [GH-3962]
  • providers/docker: Port on its own will choose random host port. [GH-3991]
  • providers/docker: The proxy VM Vagrantfile can be in the same directory as the main Vagrantfile. [GH-4065]
  • providers/virtualbox: Increase network device limit to 36. [GH-4206]
  • providers/virtualbox: Error if can't detect VM name. [GH-4047]
  • provisioners/cfengine: Fix default Yum repo URL. [GH-4335]
  • provisioners/chef: Chef client cleanup should work. [GH-4099]
  • provisioners/puppet: Manifest file can be a directory. [GH-4169]
  • provisioners/puppet: Properly escape facter variables for PowerShell on Windows guests. [GH-3959]
  • provisioners/puppet: When provisioning fails, don't repeat all of stdout/stderr. [GH-4303]
  • provisioners/salt: Update salt minion version on Windows. [GH-3932]
  • provisioners/shell: If args is an array and contains numbers, it no longer crashes. [GH-4234]
  • provisioners/shell: If fails, the output/stderr isn't repeated again. [GH-4087]

New in Vagrant 1.6.3 (May 30, 2014)

  • FEATURES:
  • New Guest: NixOS - Supports changing host names and setting networks.
  • IMPROVEMENTS:
  • core: A CA path can be specified in the Vagrantfile, not just a file, when using a custom CA. [GH-3848]
  • commands/box/add: --capath flag added for custom CA path. [GH-3848]
  • commands/halt: Halt in reverse order of up, like destroy. [GH-3790]
  • hosts/linux: Uses rdesktop to RDP into machines if available. [GH-3845]
  • providers/docker: Support for UDP forwarded ports. [GH-3886]
  • provisioners/salt: Works on Windows guests. [GH-3825]
  • BUG FIXES:
  • core: Provider plugins more easily are compatible with global-status and should show less stale data. [GH-3808]
  • core: When setting a synced folder, it will assume it is not disabled unless explicitly specified. [GH-3783]
  • core: Ignore UDP forwarded ports for collision detection. [GH-3859]
  • commands/package: Package with --base for VirtualBox doesn't crash. [GH-3827]
  • guests/solaris11: Fix issue with public network and DHCP on newer Solaris releases. [GH-3874]
  • guests/windows: Private networks with static IPs work when there is more than one. [GH-3818]
  • guests/windows: Don't look up a forwarded port for WinRM if we're not accessing the local host. [GH-3861]
  • guests/windows: Fix errors with arg lists that are too long over WinRM in some cases. [GH-3816]
  • guests/windows: Powershell exits with proper exit code, fixing
  • issues where non-zero exit codes weren't properly detected. [GH-3922]
  • hosts/windows: Don't execute mstsc using PowerShell since it doesn't exit properly. [GH-3837]
  • hosts/windows: For RDP, don't remove the Tempfile right away. [GH-3875]
  • providers/docker: Never do graceful shutdown, always use docker stop. [GH-3798]
  • providers/docker: Better error messaging when SSH is not ready direct to container. [GH-3763]
  • providers/docker: Don't port map SSH port if container doesn't support SSH. [GH-3857]
  • providers/docker: Proper SSH info if using native driver. [GH-3799]
  • providers/docker: Verify host VM has SSH ready. [GH-3838]
  • providers/virtualbox: On Windows, check VBOX_MSI_INSTALL_PATH for VBoxManage path as well. [GH-3852]
  • provisioners/puppet: Fix setting facter vars with Windows guests. [GH-3776]
  • provisioners/puppet: On Windows, run in elevated prompt. [GH-3903]
  • guests/darwin: Respect mount options for NFS. [GH-3791]
  • guests/freebsd: Properly register the rsync_pre capability
  • guests/windows: Certain executed provisioners won't leave output and exit status behind. [GH-3729]
  • synced_folders/rsync: rsync__chown can be set to false to disable recursive chown after sync. [GH-3810]
  • synced_folders/rsync: Use a proper msys path if not in Cygwin. [GH-3804]
  • synced_folders/rsync: Don't append args infinitely, clear out arg list on each run. [GH-3864]
  • PLUGIN AUTHOR CHANGES:
  • Providers can now implement the rdp_info provider capability to get proper info for vagrant rdp to function.

New in Vagrant 1.6.2 (May 13, 2014)

  • IMPROVEMENTS:
  • core: Automatically forward WinRM port if communicator is WinRM. [GH-3685]
  • command/rdp: Args after "--" are passed directly through to the RDP client. [GH-3686]
  • providers/docker: build_args config to specify extra args for docker build. [GH-3684]
  • providers/docker: Can specify options for the build dir synced folder when a host VM is in use. [GH-3727]
  • synced_folders/nfs: Can tell Vagrant not to handle exporting by setting nfs_export: false [GH-3636]
  • BUG FIXES:
  • core: Hostnames can be one character. [GH-3713]
  • core: Don't lock machines on SSH actions. [GH-3664]
  • core: Fixed crash when adding a box from Vagrant Cloud that was the same name as a real directory. [GH-3732]
  • core: Parallelization is more stable, doesn't crash due to to bad locks. [GH-3735]
  • commands/package: Don't double included files in package. [GH-3637]
  • guests/linux: Rsync chown ignores symlinks. [GH-3744]
  • provisioners/shell: Fix shell provisioner config validation when the binary option is set to false [GH-3712]
  • providers/docker: default proxy VM won't use HGFS [GH-3687]
  • providers/docker: fix container linking [GH-3719]
  • providers/docker: Port settings expose to host properly. [GH-3723]
  • provisioners/puppet: Separate module paths with ';' on Windows. [GH-3731]
  • synced_folders\rsync: Copy symlinks as real files. [GH-3734]
  • synced_folders/rsync: Remove non-portable '-v' flag from chown. [GH-3743]

New in Vagrant 1.6.1 (May 8, 2014)

  • IMPROVEMENTS:
  • New guest: Linux Mint is now properly detected. [GH-3648]
  • BUG FIXES:
  • core: Global control works from directories that don't have a Vagrantfile.
  • core: Plugins that define config methods that collide with Ruby Kernel/Object
  • methods are merged properly. [GH-3670]
  • commands/docker-run: --help works. [GH-3698]
  • commands/package: --base works without crashing for VirtualBox.
  • commands/reload: If --provision is specified, force provisioning. [GH-3657]
  • guests/redhat: Fix networking issues with CentOS. [GH-3649]
  • guests/windows: Human error if WinRM not in use to configure networks. [GH-3651]
  • guests/windows: Puppet exit code 2 doesn't cause Windows to raise an error. [GH-3677]
  • providers/docker: Show proper error message when on Linux. [GH-3654]
  • providers/docker: Proxy VM works properly even if default provider environmental variable set to "docker" [GH-3662]
  • providers/docker: Put sync folders in /var/lib/docker because it usually has disk space. [GH-3680]
  • synced_folders/rsync: Create the directory before syncing.

New in Vagrant 1.6.0 (May 7, 2014)

  • BACKWARDS INCOMPATIBILITIES:
  • Deprecated: halt_timeout and halt_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 a vagrant 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 or reload 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, set LANG=en so it works on international systems. [GH-3029]
  • providers/virtualbox: VirtalBox 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.

New in Vagrant 1.5.4 (Apr 25, 2014)

  • IMPROVEMENTS:
  • commands/box/list: Doesn't parse Vagrantfile. [GH-3502]
  • providers/hyperv: Implement the provision command. [GH-3494]
  • BUG FIXES:
  • core: Allow overriding of the default SSH port. [GH-3474]
  • commands/box/remove: Make output nicer. [GH-3470]
  • commands/box/update: Show currently installed version. [GH-3467]
  • command/rsync-auto: Works properly on Windows.
  • guests/coreos: Fix test for Docker daemon running.
  • guests/linux: Fix test for Docker provisioner whether Docker is running.
  • guests/linux: Fix regression where rsync owner/group stopped working. [GH-3485]
  • provisioners/docker: Fix issue where we weren't waiting for Docker to properly start before issuing commands. [GH-3482]
  • provisioners/shell: Better validation of master config path, results in no more stack traces at runtime. [GH-3505]

New in Vagrant 1.5.0 (Mar 12, 2014)

  • DEPRECATIONS:
  • provisioners/chef-solo: The "nfs" setting has been replaced by synced_folder_type. The "nfs" setting will be removed in the next version.
  • provisioners/puppet: The "nfs" setting has been replaced by synced_folder_type. The "nfs" setting will be removed in the next version.
  • FEATURES:
  • New provider: Hyper-V. If you're on a Windows machine with Hyper-V enabled, Vagrant can now manage Hyper-V virtual machines out of the box.
  • New guest: Funtoo (change host name and networks supported)
  • New guest: NetBSD
  • New guest: TinyCore Linux. This allows features such as networking, halting, rsync and more work with Boot2Docker.
  • New synced folder type: rsync - Does a one-time one-directional sync to the guest machine. New commands vagrant rsync and vagrant rsync-auto can resync the folders.
  • New synced folder type: SMB- Allows bi-directional folder syncing using SMB on Windows hosts with any guest.
  • Password-based SSH authentication. This lets you use almost any off-the-shelf virtual machine image with Vagrant. Additionally, Vagrant will automatically insert a keypair into the machine.
  • Plugin versions can now be constrained to a range of versions. Example: vagrant plugin install foo --plugin-version "> 1.0, < 1.1"
  • Host-specific operations now use a "host capabilities" system much like guests have used "guest capabilities" for a few releases now. This allows plugin developers to create pluggable host-specific capabilities and makes further integrating Vagrant with new operating systems even easier.
  • You can now override provisioners within sub-VM configuration and provider overrides. See documentation for more info. [GH-1113]
  • providers/virtualbox: Provider-specific configuration cpus can be used to set the number of CPUs on the VM [GH-2800]
  • provisioners/docker: Can now build images using docker build. [GH-2615]
  • IMPROVEMENTS:
  • core: Added "error-exit" type to machine-readable output which contains error information that caused a non-zero exit status. [GH-2999]
  • command/destroy: confirmation will re-ask question if bad input. [GH-3027]
  • guests/solaris: More accurate Solaris >= 11, < 11 detection. [GH-2824]
  • provisioners/ansible: Generates a single inventory file, rather than one per machine. See docs for more info. [GH-2991]
  • provisioners/ansible: SSH forwarding support. [GH-2952]
  • provisioners/ansible: Multiple SSH keys can now be attempted [GH-2952]
  • provisioners/ansible: Disable SSH host key checking by default, which improves the experience. We believe this is a sane default for ephemeral dev machines.
  • provisioners/chef-solo: New config synced_folder_type replaces the nfs option. This can be used to set the synced folders the provisioner needs to any type. [GH-2709]
  • provisioners/chef-solo: roles_paths can now be an array of paths in Chef 11.8.0 and newer. [GH-2975]
  • provisioners/docker: Can start a container without daemonization.
  • provisioners/docker: Started containers are given names. [GH-3051]
  • provisioners/puppet: New config synced_folder_type replaces the nfs option. This can be used to set the synced folders the provisioner needs to any type. [GH-2709]
  • commands/plugin: vagrant plugin update will now update all installed plugins, respecting any constraints set.
  • commands/plugin: vagrant plugin uninstall can now uninstall multiple plugins.
  • commands/plugin: vagrant plugin install can now install multiple plugins.
  • hosts/redhat: Recognize Korora OS. [GH-2869]
  • synced_folders/nfs: If the guest supports it, NFS clients will be automatically installed in the guest.
  • BUG FIXES:
  • core: If an exception was raised while attempting to connect to SSH for the first time, it would get swallowed. It is properly raised now.
  • core: Plugin installation does not fail if your local gemrc file has syntax errors.
  • core: Plugins that fork within certain actions will no longer hang indefinitely. [GH-2756]
  • core: Windows checks home directory permissions more correctly to warn of potential issues.
  • core: Synced folders set to the default synced folder explicitly won't be deleted. [GH-2873]
  • core: Static IPs can end in ".1". A warning is now shown. [GH-2914]
  • core: Adding boxes that have directories in them works on Windows.
  • core: Vagrant will not think provisioning is already done if the VM is manually deleted outside of Vagrant.
  • core: Box file checksums of large files works properly on Windows. [GH-3045]
  • commands/box: Box add --force works with --provider flag. [GH-2757]
  • commands/box: Listing boxes with machine-readable output crash is gone.
  • commands/plugin: Plugin installation will fail if dependencies conflict, rather than at runtime.
  • commands/ssh: When using -c on Windows, no more TTY errors.
  • commands/ssh-config: ProxyCommand is included in output if it is set. [GH-2950]
  • guests/coreos: Restart etcd after configuring networks. [GH-2852]
  • guests/linux: Don't chown VirtualBox synced folders if mounting as readonly. [GH-2442]
  • guests/redhat: Set hostname to FQDN, per the documentation for RedHat. [GH-2792]
  • hosts/bsd: Don't invoke shell for NFS sudo calls. [GH-2808]
  • hosts/bsd: Sort NFS exports to avoid false validation errors. [GH-2927]
  • hosts/bsd: No more checkexports NFS errors if you're sharing the same directory. [GH-3023]
  • hosts/gentoo: Look for systemctl in /usr/bin [GH-2858]
  • hosts/linux: Properly escape regular expression to prune NFS exports, allowing VMware to work properly. [GH-2934]
  • hosts/opensuse: Start NFS server properly. [GH-2923]
  • providers/virtualbox: Enabling internal networks by just setting "true" works properly. [GH-2751]
  • providers/virtualbox: Make more internal interactions with VBoxManage retryable to avoid spurious VirtualBox errors. [GH-2831]
  • providers/virtualbox: Config validation catches invalid keys. [GH-2843]
  • providers/virtualbox: Fix network adapter configuration issue if using provider-specific config. [GH-2854]
  • providers/virtualbox: Bridge network adapters always have their "cable connected" properly. [GH-2906]
  • provisioners/chef: When chowning folders, don't follow symlinks.
  • provisioners/chef: Encrypted data bag secrets also in Chef solo are now uploaded to the provisioning path to avoid perm issues. [GH-2845]
  • provisioners/chef: Encrypted data bag secret is removed from the machine before and after provisioning also with Chef client. [GH-2845]
  • provisioners/chef: Set encrypted_data_bag_secret on the VM to nil if the secret is not specified. [GH-2984]
  • provisioners/chef: Fix loading of the custom configure file. [GH-876]
  • provisioners/docker: Only add SSH user to docker group if the user isn't already in it. [GH-2838]
  • provisioners/docker: Configuring autostart works properly with the newest versions of Docker. [GH-2874]
  • provisioners/puppet: Append default module path to the module paths always. [GH-2677]
  • provisioners/salt: Setting pillar data doesn't require deep_merge plugin anymore. [GH-2348]
  • provisioners/salt: Options can now set install type and install args. [GH-2766]
  • provisioners/salt: Fix case when salt would say "options only allowed before install arguments" [GH-3005]
  • provisioners/shell: Error if script is encoded incorrectly. [GH-3000]
  • synced_folders/nfs: NFS entries are pruned on every vagrant up, if there are any to prune. [GH-2738]

New in Vagrant 1.4.3 (Jan 11, 2014)

  • BUG FIXES:
  • providers/virtualbox: vagrant package works properly again. [GH-2739]

New in Vagrant 1.4.2 (Jan 7, 2014)

  • IMPROVEMENTS:
  • provisioners/chef-solo: Encrypted data bag secret is removed from the machine after provisioning. [GH-2712]
  • BUG FIXES:
  • core: Ctrl-C no longer raises "trap context" exception.
  • core: The version for Vagrant.configure can now be an int. [GH-2689]
  • core: Vagrant.has_plugin? tries to use plugin's gem name before registered plugin name [GH-2617]
  • core: Fix exception if an EOFError was somehow raised by Ruby while checking a box checksum. [GH-2716]
  • core: Better error message if your plugin state file becomes corrupt somehow. [GH-2694]
  • core: Box add will fail early if the box already exists. [GH-2621]
  • hosts/bsd: Only run nfsd checkexports if there is an exports file. [GH-2714]
  • commands/plugin: Fix exception that could happen rarely when installing a plugin.
  • providers/virtualbox: Error when packaging if the package already exists before the export is done. [GH-2380]
  • providers/virtualbox: NFS with static IP works even if VirtualBox guest additions aren't installed (regression). [GH-2674]
  • synced_folders/nfs: sudo will only ask for password one at a time when using a parallel provider [GH-2680]