Vagrant v1.8.3 Release Notes

Release Date: 2016-06-10 // almost 8 years ago
  • ๐Ÿ’ฅ 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 preparing 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]