Packer v0.5.0 Release Notes

  • BACKWARDS INCOMPATIBILITIES:

    • ๐Ÿ— "virtualbox" builder has been renamed to "virtualbox-iso". Running your template through packer fix will resolve this.
    • ๐Ÿ— "vmware" builder has been renamed to "vmware-iso". Running your template through packer fix will resolve this.
    • post-processor/vagrant: Syntax for overriding by provider has changed. See the documentation for more information. Running your template through packer fix should resolve this.
    • ๐Ÿ”ง post-processor/vsphere: Some available configuration options were changed. Running your template through packer fix should resolve this.
    • provisioner/puppet-masterless: The execute_command no longer has the Has* variables, since the templating language now supports comparison operations. See the Go documentation for more info: http://golang.org/pkg/text/template/

    ๐Ÿ”‹ FEATURES:

    • ๐Ÿ†• New builder: Google Compute Engine. You can now build images for use in Google Compute Engine. See the documentation for more information. [GH-715]
    • ๐Ÿ†• New builder: "virtualbox-ovf" can build VirtualBox images from an existing OVF or OVA. [GH-201]
    • ๐Ÿ†• New builder: "vmware-vmx" can build VMware images from an existing VMX. [GH-201]
    • 0๏ธโƒฃ Environmental variables can now be accessed as default values for user variables using the "env" function. See the documentation for more information.
    • "description" field in templates: write a human-readable description of what a template does. This will be shown in packer inspect.
    • Vagrant post-processor now accepts a list of files to include in the box.
    • All provisioners can now have a "pause_before" parameter to wait some period of time before running that provisioner. This is useful for reboots. [GH-737]

    ๐Ÿ‘Œ IMPROVEMENTS:

    • ๐Ÿ”Œ core: Plugins communicate over a single TCP connection per plugin now, instead of sometimes dozens. Performance around plugin communication dramatically increased.
    • ๐Ÿ— core: Build names are now template processed so you can use things like user variables in them. [GH-744]
    • core: New "pwd" function available globally that returns the working directory. [GH-762]
    • ๐Ÿ— builder/amazon/all: Launched EC2 instances now have a name of "Packer Builder" so that they are easily recognizable. [GH-642]
    • ๐Ÿ— builder/amazon/all: Copying AMIs to multiple regions now happens in parallel. [GH-495]
    • ๐Ÿ— builder/amazon/all: Ability to specify "run_tags" to tag the instance while running. [GH-722]
    • ๐Ÿ— builder/digitalocean: Private networking support. [GH-698]
    • ๐Ÿ— builder/docker: A "run_command" can be specified, configuring how the container is started. [GH-648]
    • ๐Ÿ— builder/openstack: In debug mode, the generated SSH keypair is saved so you can SSH into the machine. [GH-746]
    • ๐Ÿ— builder/qemu: Floppy files are supported. [GH-686]
    • ๐Ÿ— builder/qemu: Next run_once option tells Qemu to run only once, which is useful for Windows installs that handle reboots for you. [GH-687]
    • ๐Ÿ— builder/virtualbox: Nice errors if Packer can't write to the output directory.
    • ๐Ÿ— builder/virtualbox: ISO is ejected prior to export.
    • ๐Ÿ— builder/virtualbox: Checksum type can be "none" [GH-471]
    • ๐Ÿ— builder/vmware: Can now specify path to the Fusion application. [GH-677]
    • ๐Ÿ— builder/vmware: Checksum type can be "none" [GH-471]
    • provisioner/puppet-masterless: Can now specify a manifest_dir to upload manifests to the remote machine for imports. [GH-655]

    ๐Ÿ› BUG FIXES:

    • core: No colored output in machine-readable output. [GH-684]
    • core: User variables can now be used for non-string fields. [GH-598]
    • core: Fix bad download paths if the download URL contained a "." before a "/" [GH-716]
    • core: "{{timestamp}}" values will always be the same for the entire duration of a build. [GH-744]
    • ๐Ÿ”’ builder/amazon: Handle cases where security group isn't instantly available. [GH-494]
    • ๐Ÿ— builder/virtualbox: don't download guest additions if disabled. [GH-731]
    • post-processor/vsphere: Uploads VM properly. [GH-694]
    • post-processor/vsphere: Process user variables.
    • ๐Ÿ”ง provisioner/ansible-local: all configurations are processed as templates [GH-749]
    • provisioner/ansible-local: playbook paths are properly validated as directories, not files. [GH-710]
    • provisioner/chef-solo: Environments are recognized. [GH-726]