Vagrant v1.7.0 Release Notes

Release Date: 2014-12-09 // over 9 years ago
  • ๐Ÿ’ฅ 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 folder 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/ansible: Use intermediate Docker host when needed. [GH-4071]
    • 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.