Skip to content

Latest commit

 

History

History
453 lines (390 loc) · 22.4 KB

CHANGELOG.md

File metadata and controls

453 lines (390 loc) · 22.4 KB

0.9.0 (unreleased)

  • config.vm.customize now takes a command to send to VBoxManage, so any arbitrary command can be sent. The older style of passing a block no longer works and Vagrant will give a proper error message if it notices this old-style being used.
  • Logging. The entire Vagrant source has had logging sprinkled throughout to make debugging issues easier. To enable logging, set the VAGRANT_LOG environmental variable to the log level you wish to see. By default, logging is silent.
  • system renamed to guest throughout the source. Any config.vm.system configurations must be changed to config.vm.guest
  • All Vagrant commands that take a VM name in a Multi-VM environment can now be given a regular expression. If the name starts and ends with a "/" then it is assumed to be a regular expression. [GH-573]
  • Removed Thor as a dependency for the command line interfaces. This resulted in general speed increases across all command line commands.
  • Linux uses shutdown -h instead of halt to hopefully more consistently power off the system. [GH-575]
  • Tweaks to SSH to hopefully be more reliable in coming up.
  • Helpful error message when SCP is unavailable in the guest. [GH-568]
  • Error message for improperly packaged box files. [GH-198]
  • Copy insecure private key to user-owned directory so even sudo installed Vagrant installations work. [GH-580]
  • Provisioner stdout/stderr is now color coded based on stdout/stderr. stdout is green, stderr is red. [GH-595]
  • "--no-provision" once again works for certain commands. [GH-591]
  • Resuming a VM from a saved state will show an error message if there would be port collisions. [GH-602]
  • vagrant ssh -c will now exit with the same exit code as the command run. [GH-598]
  • vagrant ssh -c will now send stderr to stderr and stdout to stdout on the host machine, instead of all output to stdout.
  • Vagrant can now be interrupted during the "importing" step.

0.8.10 (December 10, 2011)

  • Revert the SSH tweaks made in 0.8.8. It affected stability

0.8.8 (December 1, 2011)

  • Mount shared folders shortest to longest to avoid mounting subfolders first. [GH-525]
  • Support for basic HTTP auth in the URL for boxes.
  • Solaris support for host only networks. [GH-533]
  • vagrant init respects Vagrant::Environment cwd. [GH-528]
  • vagrant commands will not output color when stdout is not a TTY.
  • Fix issue where box_url set with multiple VMs could cause issues. [GH-564]
  • Chef provisioners no longer depend on a "v-root" share being available. [GH-556]
  • NFS should work for FreeBSD hosts now. [GH-510]
  • SSH executed methods respect config.ssh.max_tries. [GH-508]
  • vagrant box add now respects the "no_proxy" environmental variable. [GH-502]
  • Tweaks that should make "Waiting for VM to boot" slightly more reliable.
  • Add comments to Vagrantfile to make it detected as Ruby file for vi and emacs. [GH-515]
  • More correct guest addition version checking. [GH-514]
  • Chef solo support on Windows is improved. [GH-542]
  • Put encrypted data bag secret into /tmp by default so that permissions are almost certainly guaranteed. [GH-512]

0.8.7 (September 13, 2011)

  • Fix regression with remote paths from chef-solo. [GH-431]
  • Fix issue where Vagrant crashes if .vagrant file becomes invalid. [GH-496]
  • Issue a warning instead of an error for attempting to forward a port <= 1024. [GH-487]

0.8.6 (August 28, 2011)

  • Fix issue with download progress not properly clearing the line. [GH-476]
  • NFS should work properly on Fedora. [GH-450]
  • Arguments can be specified to the shell provisioner via the args option. [GH-475]
  • Vagrant behaves much better when there are "inaccessible" VMs. [GH-453]

0.8.5 (August 15, 2011)

Note: 0.8.3 and 0.8.4 was yanked due to RubyGems encoding issue.

  • Fix SSH exec! to inherit proper $PATH. [GH-426]
  • Chef client now accepts an empty (nil) run list again. [GH-429]
  • Fix incorrect error message when running provision on halted VM. [GH-447]
  • Checking guest addition versions now ignores OSE. [GH-438]
  • Chef solo from a remote URL fixed. [GH-431]
  • Arch linux support: host only networks and changing the host name. [GH-439] [GH-448]
  • Chef solo roles_path and data_bags_path can only be be single paths. [GH-446]
  • Fix virtualbox_not_detected error message to require 4.1.x. [GH-458]
  • Add shortname (hostname -s) for hostname setting on RHEL systems. [GH-456]
  • vagrant ssh -c output no longer has a prefix and respects newlines from the output. [GH-462]

0.8.2 (July 22, 2011)

  • Fix issue with SSH disconnects not reconnecting.
  • Fix chef solo simply not working with roles/data bags. [GH-425]
  • Multiple chef solo provisioners now work together.
  • Update Puppet provisioner so no deprecation warning is shown. [GH-421]
  • Removed error on "provisioner=" in config, as this has not existed for some time now.
  • Add better validation for networking.

0.8.1 (July 20, 2011)

  • Repush of 0.8.0 to fix a Ruby 1.9.2 RubyGems issue.

0.8.0 (July 20, 2011)

  • VirtualBox 4.1 support only. Previous versions of VirtualBox are supported by earlier versions of Vagrant.
  • Performance optimizations in virtualbox gem. Huge speed gains.
  • :chef_server provisioner is now :chef_client. [GH-359]
  • SSH connection is now cached after first access internally, speeding up vagrant up, reload, etc. quite a bit.
  • Actions which modify the VM now occur much more quickly, greatly speeding up vagrant up, reload, etc.
  • SUSE host only networking support. [GH-369]
  • Show nice error message for invalid HTTP responses for HTTP downloader. [GH-403]
  • New :inline option for shell provisioner to provide inline scripts as a string. [GH-395]
  • Host only network now properly works on multiple adapters. [GH-365]
  • Can now specify owner/group for regular shared folders. [GH-350]
  • ssh_config host name will use VM name if given. [GH-332]
  • ssh -e flag changed to -c to align with ssh standard behavior. [GH-323]
  • Forward agent and forward X11 settings properly appear in ssh_config output. [GH-105]
  • Chef JSON can now be set with chef.json = instead of the old merge technique. [GH-314]
  • Provisioner configuration is no longer cleared when the box needs to be downloaded during an up. [GH-308]
  • Multiple Chef provisioners no longer overwrite cookbook folders. [GH-407]
  • package won't delete previously existing file. [GH-408]
  • Vagrantfile can be lowercase now. [GH-399]
  • Only one copy of Vagrant may be running at any given time. [GH-364]
  • Default home directory for Vagrant moved to ~/.vagrant.d [GH-333]
  • Specify a forwarded_port_destination for SSH configuration and SSH port searching will fall back to that if it can't find any other port. [GH-375]

0.7.8 (July 19, 2011)

  • Make sure VirtualBox version check verifies that it is 4.0.x.

0.7.7 (July 12, 2011)

  • Fix crashing bug with Psych and Ruby 1.9.2. [GH-411]

0.7.6 (July 2, 2011)

  • Run Chef commands in a single command. [GH-390]
  • Add nfs option for Chef to mount Chef folders via NFS. [GH-378]
  • Add translation for aborted state in VM. [GH-371]
  • Use full paths with the Chef provisioner so that restart cookbook will work. [GH-374]
  • Add "--no-color" as an argument and no colorized output will be used. [GH-379]
  • Added DEVICE option to the RedHat host only networking entry, which allows host only networking to work even if the VM has multiple NICs. [GH-382]
  • Touch the network configuration file for RedHat so that the sed works with host only networking. [GH-381]
  • Load prerelease versions of plugins if available.
  • Do not load a plugin if it depends on an invalid version of Vagrant.
  • Encrypted data bag support in Chef server provisioner. [GH-398]
  • Use the -H flag to set the proper home directory for sudo. [GH-370]

0.7.5 (May 16, 2011)

  • config.ssh.port can be specified and takes highest precedence if specified. Otherwise, Vagrant will still attempt to auto-detect the port. [GH-363]
  • Get rid of RubyGems deprecations introduced with RubyGems 1.8.x
  • Search in pre-release gems for plugins as well as release gems.
  • Support for Chef-solo data_bags_path [GH-362]
  • Can specify path to Chef binary using binary_path [GH-342]
  • Can specify additional environment data for Chef using binary_env [GH-342]

0.7.4 (May 12, 2011)

  • Chef environments support (for Chef 0.10) [GH-358]
  • Suppress the "added to known hosts" message for SSH [GH-354]
  • Ruby 1.8.6 support [GH-352]
  • Chef proxy settings now work for chef server [GH-335]

0.7.3 (April 19, 2011)

  • Retry all SSH on Net::SSH::Disconnect in case SSH is just restarting. [GH-313]
  • Add NFS shared folder support for Arch linux. [GH-346]
  • Fix issue with unknown terminal type output for sudo commands.
  • Forwarded port protocol can now be set as UDP. [GH-311]
  • Chef server file cache path and file backup path can be configured. [GH-310]
  • Setting hostname should work on Debian now. [GH-307]

0.7.2 (February 8, 2011)

  • Update JSON dependency to 1.5.1, which works with Ruby 1.9 on Windows.
  • Fix sudo issues on sudo < 1.7.0 (again).
  • Fix race condition in SSH, which specifically manifested itself in the chef server provisioner. [GH-295]
  • Change sudo shell to use bash (configurable). [GH-301]
  • Can now set mac address of host only network. [GH-294]
  • NFS shared folders with spaces now work properly. [GH-293]
  • Failed SSH commands now show output in error message. [GH-285]

0.7.1 (January 28, 2011)

  • Change error output with references to VirtualBox 3.2 to 4.0.
  • Internal SSH through net-ssh now uses IdentitiesOnly thanks to upstream net-ssh fix.
  • Fix issue causing warnings to show with forwardx11 enabled for SSH. [GH-279]
  • FreeBSD support for host only networks, NFS, halting, etc. [GH-275]
  • Make SSH commands which use sudo compatible with sudo < 1.7.0. [GH-278]
  • Fix broken puppet server provisioner which called a nonexistent method.
  • Default SSH host changed from localhost to 127.0.0.1 since localhost is not always loopback.
  • New shell provisioner which simply uploads and executes a script as root on the VM.
  • Gentoo host only networking no longer fails if alrady setup. [GH-286]
  • Set the host name of your guest OS with config.vm.host_name [GH-273]
  • vagrant ssh-config now outputs the configured config.ssh.host

0.7.0 (January 19, 2011)

  • VirtualBox 4.0 support. Support for VirtualBox 3.2 is dropped, since the API is so different. Stay with the 0.6.x series if you have VirtualBox 3.2.x.
  • Puppet server provisioner. [GH-262]
  • Use numeric uid/gid in mounting shared folders to increase portability. [GH-252]
  • HTTP downloading follows redirects. [GH-163]
  • Downloaders have clearer output to note what they're doing.
  • Shared folders with no guest path are not automounted. [GH-184]
  • Boxes downloaded during vagrant up reload the Vagrantfile config, which fixes a problem with box settings not being properly loaded. [GH-231]
  • config.ssh.forward_x11 to enable the ForwardX11 SSH option. [GH-255]
  • Vagrant source now has a contrib directory where contributions of miscellaneous addons for Vagrant will be added.
  • Vagrantfiles are now loaded only once (instead of 4+ times) [GH-238]
  • Ability to move home vagrant dir (~/.vagrant) by setting VAGRANT_HOME environmental variable.
  • Removed check and error for the "OSE" version of VirtualBox, since with VirtualBox 4 this distinction no longer exists.
  • Ability to specify proxy settings for chef. [GH-169]
  • Helpful error message shown if NFS mounting fails. [GH-135]
  • Gentoo guests now support host only networks. [GH-240]
  • RedHat (CentOS included) guests now support host only networks. [GH-260]
  • New Vagrantfile syntax for enabling and configuring provisioners. This change is not backwards compatible. [GH-265]
  • Provisioners are now RVM-friendly, meaning if you installed chef or puppet with an RVM managed Ruby, Vagrant now finds then. [GH-254]
  • Changed the unused host only network destroy mechanism to check for uselessness after the VM is destroyed. This should result in more accurate checks.
  • Networks are no longer disabled upon halt/destroy. With the above change, its unnecessary.
  • Puppet supports module_path configuration to mount local modules directory as a shared folder and configure puppet with it. [GH-270]
  • ssh-config now outputs 127.0.0.1 as the host instead of localhost.

0.6.9 (December 21, 2010)

  • Puppet provisioner. [GH-223]
  • Solaris system configurable to use sudo.
  • Solaris system registered, so it can be set with :solaris.
  • vagrant package include can be a directory name, which will cause the contents to be recursively copied into the package. [GH-241]
  • Arbitrary options to puppet binary can be set with config.puppet.options. [GH-242]
  • BSD hosts use proper GNU sed syntax for clearing NFS shares. [GH-243]
  • Enumerate VMs in a multi-VM environment in order they were defined. [GH-244]
  • Check for VM boot changed to use timeout library, which works better with Windows.
  • Show special error if VirtualBox not detected on 64-bit Windows.
  • Show error to Windows users attempting to use host only networking since it doesn't work yet.

0.6.8 (November 30, 2010)

  • Network interfaces are now up/down in distinct commands instead of just restarting "networking." [GH-192]
  • Add missing translation for chef binary missing. [GH-203]
  • Fix default settings for Opscode platform and comments. [GH-213]
  • Blank client name for chef server now uses FQDN by default, instead of "client" [GH-214]
  • Run list can now be nil, which will cause it to sync with chef server (when chef server is enabled). [GH-214]
  • Multiple NFS folders now work on linux. [GH-215]
  • Add translation for state "stuck" which is very rare. [GH-218]
  • virtualbox gem dependency minimum raised to 0.7.6 to verify FFI < 1.0.0 is used.
  • Fix issue where box downloading from vagrant up didn't reload the box collection. [GH-229]

0.6.7 (November 3, 2010)

  • Added validation to verify that a box is specified.
  • Proper error message when box is not found for config.vm.box. [GH-195]
  • Fix output of vagrant status with multi-vm to be correct. [GH-196]

0.6.6 (October 14, 2010)

  • vagrant status NAME works once again. [GH-191]
  • Conditional validation of Vagrantfile so that some commands don't validate. [GH-188]
  • Fix "junk" output for ssh-config. [GH-189]
  • Fix port collision handling with greater than two VMs. [GH-185]
  • Fix potential infinite loop with root path if bad CWD is given to environment.

0.6.5 (October 8, 2010)

  • Validations on base MAC address to avoid situation described in GH-166, GH-181 from ever happening again.
  • Properly load sub-VM configuration on first-pass of config loading. Solves a LOT of problems with multi-VM. [GH-166] [GH-181]
  • Configuration now only validates on final Vagrantfile proc, so multi-VM validates correctly.
  • A nice error message is given if ".vagrant" is a directory and therefore can't be accessed. [GH-172]
  • Fix plugin loading in a Rails 2.3.x project. [GH-176]

0.6.4 (October 4, 2010)

  • Default VM name is now properly the parent folder of the working directory of the environment.
  • Added method to TestHelpers to assist with testing new downloaders.
  • up --no-provision works again. This disables provisioning during the boot process.
  • Action warden doesn't do recovery process on SystemExit exceptions, allowing the double ctrl-C to work properly again. [related to GH-166]
  • Initial Vagrantfile is now heavily commented with various available options. [GH-171]
  • Box add checks if a box already exists before the download. [GH-170]
  • NFS no longer attempts to clean exports file if VM is not created, which was causing a stack trace during recovery. [related to GH-166]
  • Basic validation added for Chef configuration (both solo and server).
  • Top config class is now available in all Vagrant::Config::Base subclasses, which is useful for config validation.
  • Subcommand help shows proper full command in task listing. [GH-168]
  • SSH gives error message if ssh binary is not found. [GH-161]
  • SSH gives proper error message if VM is not running. [GH-167]
  • Fix some issues with undefined constants in command errors.

0.6.1, 0.6.2, 0.6.3 (September 27, 2010)

A lot of quick releases which all were to fix issues with Ruby 1.8.7 compatibility.

0.6.0 (September 27, 2010)

  • VM name now defaults to the name of the containing folder, plus a timestamp. This should make it easier to identify VMs in the VirtualBox GUI.
  • Exposed Vagrant test helpers in Vagrant::TestHelpers for plugins to easily test themselves against Vagrant environments.
  • Plugins have landed. Plugins are simply gems which have a vagrant_init.rb file somewhere in their load path. Please read the documentation on vagrantup.com before attempting to create a plugin (which is very easy) for more information on how it all works and also some guidelines.
  • vagrant package now takes a --vagrantfile option to specify a Vagrantfile to package. The --include approach for including a Vagrantfile no longer works (previously built boxes will continue to work).
  • vagrant package has new logic with regards to the --include option depending on if the file path is relative or absolute (they can be intermixed):
    • Relative paths are copied directly into the box, preserving their path. So --include lib/foo would be in the box as "lib/foo"
    • Absolute paths are simply copied files into the root of the box. So --include /lib/foo would be in the box as "foo"
  • "vagrant_main" is no longer the default run list. Instead, chef run list starts empty. It is up to you to specify all recipes in the Vagrantfile now.
  • Fixed various issues with certain action middleware not working if the VM was not created.
  • SSH connection is retried 5 times if there is a connection refused. Related to GH-140.
  • If http_proxy environmental variable is set, it will be used as the proxy box adding via http.
  • Remove config.ssh.password. It hasn't been used for a few versions now and was only kept around to avoid exceptions in Vagrantfiles.
  • Configuration is now validated so improper input can be found in Vagrantfiles.
  • Fixed issue with not detecting Vagrantfile at root directory ("/").
  • Vagrant now gives a nice error message if there is a syntax error in any Vagrantfile. [GH-154]
  • The format of the ".vagrant" file which stores persisted VMs has changed. This is backwards incompatible. Will provide an upgrade utility prior to 0.6 launch.
  • Every [expected] Vagrant error now exits with a clean error message and a unique exit status, and raises a unique exception (if you're scripting Vagrant).
  • Added I18n gem dependency for pulling strings into clean YML files. Vagrant is now localizable as a side effect! Translations welcome.
  • Fixed issue with "Waiting for cleanup" message appearing twice in some cases. [GH-145]
  • Converted CLI to use Thor. As a tradeoff, there are some backwards incompatibilities:
    • vagrant package - The --include flag now separates filenames by spaces, instead of by commas. e.g. vagrant package --include x y z
    • vagrant ssh - If you specify a command to execute using the --execute flag, you may now only specify one command (before you were able to specify an arbitrary amount). e.g. vagrant ssh -e "echo hello"
    • vagrant ssh-config has become vagrant ssh_config due to a limitation in Thor.

0.5.4 (September 7, 2010)

  • Fix issue with the "exec failed" by running on Tiger as well.
  • Give an error when downloading a box which already exists prior to actually downloading the box.

0.5.3 (August 23, 2010)

  • Add erubis as a dependency since its rendering of erb is sane.
  • Fixed poorly formatted Vagrantfile after vagrant init. [GH-142]
  • Fixed NFS not working properly with multiple NFS folders.
  • Fixed chef solo provision to work on Windows. It was expanding a linux path which prepended a drive letter onto it.

0.5.2 (August 3, 2010)

  • vagrant up can be used as a way to resume the VM as well (same as vagrant resume). [GH-134]
  • Sudo uses "-E" flag to preserve environment for chef provisioners. This fixes issues with CentOS. [GH-133]
  • Added "IdentitiesOnly yes" to options when vagrant ssh is run to avoid "Too Many Authentication Failures" error. [GH-131]
  • Fix regression with package not working. [GH-132]
  • Added ability to specify box url in init, which populates the Vagrantfile with the proper config.vm.box_url.

0.5.1 (July 31, 2010)

  • Allow specifying cookbook paths which exist only on the VM in config.chef.cookbooks_path. This is used for specifying cookbook paths when config.chef.recipe_url is used. [GH-130] See updated chef solo documentation for more information on this.
  • No longer show "Disabling host only networks..." if no host only networks are destroyed. Quiets destroy, halt, etc output a bit.
  • Updated getting started guide to be more up to date and generic. [GH-125]
  • Fixed error with doing a vagrant up when no Vagrantfile existed. [GH-128]
  • Fixed NFS erroring when NFS wasn't even enabled if /etc/exports doesn't exist. [GH-126]
  • Fixed vagrant resume to properly resume a suspended VM. [GH-122]
  • Fixed halt, destroy, reload to where they failed if the VM was in a saved state. [GH-123]
  • Added config.chef.recipe_url which allows you to specify a URL to a gzipped tar file for chef solo to download cookbooks. See the chef-solo docs for more information. [GH-121]
  • Added vagrant box repackage which repackages boxes which have been added. This is useful in case you want to redistribute a base box you have but may have lost the actual "box" file. [GH-120]

Previous

The changelog began with version 0.5.1 so any changes prior to that can be seen by checking the tagged releases and reading git commit messages.