github.com/homburg/packer@v0.6.1-0.20140528012651-1dcaf1716848/CHANGELOG.md (about)

     1  ## 0.6.1 (unreleased)
     2  
     3  IMPROVEMENTS:
     4  
     5    * builder/amazon-ebs: Support encrypted EBS volumes [GH-1194]
     6    * builder/ansible: Add `playbook_dir` option. [GH-1000]
     7    * builder/openstack: Skip certificate verification. [GH-1121]
     8    * builder/virtualbox/all: Attempt to use local guest additions ISO
     9        before downloading from internet. [GH-1123]
    10    * builder/vmware/all: Add `vmx_data_post` for modifying VMX data
    11        after shutdown. [GH-1149]
    12    * builder/vmware/vmx: Supports tools uploading. [GH-1154]
    13  
    14  BUG FIXES:
    15  
    16    * core: `isotime` is the same time during the entire build. [GH-1153]
    17    * builder/parallels: Do not delete entire CDROM device. [GH-1115]
    18    * builder/virtualbox-ovf: Supports guest additions options. [GH-1120]
    19    * builder/vmware: Remote ESXi builder now uploads floppy. [GH-1106]
    20    * post-processor/vsphere: Accept DOMAIN\account usernames [GH-1178]
    21  
    22  ## 0.6.0 (May 2, 2014)
    23  
    24  FEATURES:
    25  
    26    * **New builder:** `null` - The null builder does not produce any
    27      artifacts, but is useful for debugging provisioning scripts. [GH-970]
    28    * **New builder:** `parallels-iso` and `parallels-pvm` - These can be
    29      used to build Parallels virtual machines. [GH-1101]
    30    * **New provisioner:** `chef-client` - Provision using a the `chef-client`
    31      command, which talks to a Chef Server. [GH-855]
    32    * **New provisioner:** `puppet-server` - Provision using Puppet by
    33      communicating to a Puppet master. [GH-796]
    34    * `min_packer_version` can be specified in a Packer template to force
    35      a minimum version. [GH-487]
    36  
    37  IMPROVEMENTS:
    38  
    39    * core: RPC transport between plugins switched to MessagePack
    40    * core: Templates array values can now be comma separated strings.
    41        Most importantly, this allows for user variables to fill
    42        array configurations. [GH-950]
    43    * builder/amazon: Added `ssh_private_key_file` option [GH-971]
    44    * builder/amazon: Added `ami_virtualization_type` option [GH-1021]
    45    * builder/digitalocean: Regions, image names, and sizes can be
    46        names that are looked up for their valid ID. [GH-960]
    47    * builder/googlecompute: Configurable instance name. [GH-1065]
    48    * builder/openstack: Support for conventional OpenStack environmental
    49        variables such as `OS_USERNAME`, `OS_PASSWORD`, etc. [GH-768]
    50    * builder/openstack: Support `openstack_provider` option to automatically
    51        fill defaults for different OpenStack variants. [GH-912]
    52    * builder/openstack: Support security groups. [GH-848]
    53    * builder/qemu: User variable expansion in `ssh_key_path` [GH-918]
    54    * builder/qemu: Floppy disk files list can also include globs
    55        and directories. [GH-1086]
    56    * builder/virtualbox: Support an `export_opts` option which allows
    57        specifying arbitrary arguments when exporting the VM. [GH-945]
    58    * builder/virtualbox: Added `vboxmanage_post` option to run vboxmanage
    59        commands just before exporting [GH-664]
    60    * builder/virtualbox: Floppy disk files list can also include globs
    61        and directories. [GH-1086]
    62    * builder/vmware: Workstation 10 support for Linux. [GH-900]
    63    * builder/vmware: add cloning support on Windows [GH-824]
    64    * builder/vmware: Floppy disk files list can also include globs
    65        and directories. [GH-1086]
    66    * command/build: Added `-parallel` flag so you can disable parallelization
    67      with `-no-parallel`. [GH-924]
    68    * post-processors/vsphere: `disk_mode` option. [GH-778]
    69    * provisioner/ansible: Add `inventory_file` option [GH-1006]
    70    * provisioner/chef-client: Add `validation_client_name` option. [GH-1056]
    71  
    72  BUG FIXES:
    73  
    74    * core: Errors are properly shown when adding bad floppy files. [GH-1043]
    75    * core: Fix some URL parsing issues on Windows.
    76    * core: Create Cache directory only when it is needed. [GH-367]
    77    * builder/amazon-instance: Use S3Endpoint for ec2-upload-bundle arg,
    78        which works for every region. [GH-904]
    79    * builder/digitalocean: updated default image_id [GH-1032]
    80    * builder/googlecompute: Create persistent disk as boot disk via
    81        API v1 [GH-1001]
    82    * builder/openstack: Return proper error on invalid instance states [GH-1018]
    83    * builder/virtualbox-iso: Retry unregister a few times to deal with
    84        VBoxManage randomness. [GH-915]
    85    * provisioner/ansible: Fix paths when provisioning Linux from
    86        Windows [GH-963]
    87    * provisioner/ansible: set cwd to staging directory [GH-1016]
    88    * provisioners/chef-client: Don't chown directory with Ubuntu. [GH-939]
    89    * provisioners/chef-solo: Deeply nested JSON works properly. [GH-1076]
    90    * provisioners/shell: Env var values can have equal signs. [GH-1045]
    91    * provisioners/shell: chmod the uploaded script file to 0777. [GH-994]
    92    * post-processor/docker-push: Allow repositories with ports. [GH-923]
    93    * post-processor/vagrant: Create parent directories for `output` path [GH-1059]
    94    * post-processor/vsphere: datastore, network, and folder are no longer
    95        required. [GH-1091]
    96  
    97  ## 0.5.2 (02/21/2014)
    98  
    99  FEATURES:
   100  
   101  * **New post-processor:** `docker-import` - Import a Docker image
   102    and give it a specific repository/tag.
   103  * **New post-processor:** `docker-push` - Push an imported image to
   104    a registry.
   105  
   106  IMPROVEMENTS:
   107  
   108  * core: Most downloads made by Packer now use a custom user agent. [GH-803]
   109  * builder/googlecompute: SSH private key will be saved to disk if `-debug`
   110    is specified. [GH-867]
   111  * builder/qemu: Can specify the name of the qemu binary. [GH-854]
   112  * builder/virtualbox-ovf: Can specify import options such as "keepallmacs".
   113    [GH-883]
   114  
   115  BUG FIXES:
   116  
   117  * core: Fix crash case if blank parameters are given to Packer. [GH-832]
   118  * core: Fix crash if big file uploads are done. [GH-897]
   119  * core: Fix crash if machine-readable output is going to a closed
   120    pipe. [GH-875]
   121  * builder/docker: user variables work properly. [GH-777]
   122  * builder/qemu: reboots are now possible in provisioners. [GH-864]
   123  * builder/virtualbox,vmware: iso\_checksum is not required if the
   124    checksum type is "none"
   125  * builder/virtualbox,vmware/qemu: Support for additional scancodes for
   126    `boot_command` such as `<up>`, `<left>`, `<insert>`, etc. [GH-808]
   127  * communicator/ssh: Send TCP keep-alives on connections. [GH-872]
   128  * post-processor/vagrant: AWS/DigitalOcean keep input artifacts by
   129    default. [GH-55]
   130  * provisioners/ansible-local: Properly upload custom playbooks. [GH-829]
   131  * provisioners/ansible-local: Better error if ansible isn't installed.
   132    [GH-836]
   133  
   134  ## 0.5.1 (01/02/2014)
   135  
   136  BUG FIXES:
   137  
   138  * core: If a stream ID loops around, don't let it use stream ID 0 [GH-767]
   139  * core: Fix issue where large writes to plugins would result in stream
   140    corruption. [GH-727]
   141  * builders/virtualbox-ovf: `shutdown_timeout` config works. [GH-772]
   142  * builders/vmware-iso: Remote driver works properly again. [GH-773]
   143  
   144  ## 0.5.0 (12/30/2013)
   145  
   146  BACKWARDS INCOMPATIBILITIES:
   147  
   148  * "virtualbox" builder has been renamed to "virtualbox-iso". Running your
   149     template through `packer fix` will resolve this.
   150  * "vmware" builder has been renamed to "vmware-iso". Running your template
   151    through `packer fix` will resolve this.
   152  * post-processor/vagrant: Syntax for overriding by provider has changed.
   153    See the documentation for more information. Running your template
   154    through `packer fix` should resolve this.
   155  * post-processor/vsphere: Some available configuration options were
   156    changed. Running your template through `packer fix` should resolve
   157    this.
   158  * provisioner/puppet-masterless: The `execute_command` no longer has
   159    the `Has*` variables, since the templating language now supports
   160    comparison operations. See the Go documentation for more info:
   161    http://golang.org/pkg/text/template/
   162  
   163  FEATURES:
   164  
   165  * **New builder:** Google Compute Engine. You can now build images for
   166    use in Google Compute Engine. See the documentation for more information.
   167    [GH-715]
   168  * **New builder:** "virtualbox-ovf" can build VirtualBox images from
   169    an existing OVF or OVA. [GH-201]
   170  * **New builder:** "vmware-vmx" can build VMware images from an existing
   171    VMX. [GH-201]
   172  * Environmental variables can now be accessed as default values for
   173    user variables using the "env" function. See the documentation for more
   174    information.
   175  * "description" field in templates: write a human-readable description
   176    of what a template does. This will be shown in `packer inspect`.
   177  * Vagrant post-processor now accepts a list of files to include in the
   178    box.
   179  * All provisioners can now have a "pause\_before" parameter to wait
   180    some period of time before running that provisioner. This is useful
   181    for reboots. [GH-737]
   182  
   183  IMPROVEMENTS:
   184  
   185  * core: Plugins communicate over a single TCP connection per plugin now,
   186    instead of sometimes dozens. Performance around plugin communication
   187    dramatically increased.
   188  * core: Build names are now template processed so you can use things
   189    like user variables in them. [GH-744]
   190  * core: New "pwd" function available globally that returns the working
   191    directory. [GH-762]
   192  * builder/amazon/all: Launched EC2 instances now have a name of
   193    "Packer Builder" so that they are easily recognizable. [GH-642]
   194  * builder/amazon/all: Copying AMIs to multiple regions now happens
   195    in parallel. [GH-495]
   196  * builder/amazon/all: Ability to specify "run\_tags" to tag the instance
   197    while running. [GH-722]
   198  * builder/digitalocean: Private networking support. [GH-698]
   199  * builder/docker: A "run\_command" can be specified, configuring how
   200    the container is started. [GH-648]
   201  * builder/openstack: In debug mode, the generated SSH keypair is saved
   202    so you can SSH into the machine. [GH-746]
   203  * builder/qemu: Floppy files are supported. [GH-686]
   204  * builder/qemu: Next `run_once` option tells Qemu to run only once,
   205    which is useful for Windows installs that handle reboots for you.
   206    [GH-687]
   207  * builder/virtualbox: Nice errors if Packer can't write to
   208    the output directory.
   209  * builder/virtualbox: ISO is ejected prior to export.
   210  * builder/virtualbox: Checksum type can be "none" [GH-471]
   211  * builder/vmware: Can now specify path to the Fusion application. [GH-677]
   212  * builder/vmware: Checksum type can be "none" [GH-471]
   213  * provisioner/puppet-masterless: Can now specify a `manifest_dir` to
   214    upload manifests to the remote machine for imports. [GH-655]
   215  
   216  BUG FIXES:
   217  
   218  * core: No colored output in machine-readable output. [GH-684]
   219  * core: User variables can now be used for non-string fields. [GH-598]
   220  * core: Fix bad download paths if the download URL contained a "."
   221    before a "/" [GH-716]
   222  * core: "{{timestamp}}" values will always be the same for the entire
   223    duration of a build. [GH-744]
   224  * builder/amazon: Handle cases where security group isn't instantly
   225    available. [GH-494]
   226  * builder/virtualbox: don't download guest additions if disabled. [GH-731]
   227  * post-processor/vsphere: Uploads VM properly. [GH-694]
   228  * post-processor/vsphere: Process user variables.
   229  * provisioner/ansible-local: all configurations are processed as templates
   230    [GH-749]
   231  * provisioner/ansible-local: playbook paths are properly validated
   232    as directories, not files. [GH-710]
   233  * provisioner/chef-solo: Environments are recognized. [GH-726]
   234  
   235  ## 0.4.1 (December 7, 2013)
   236  
   237  IMPROVEMENTS:
   238  
   239  * builder/amazon/ebs: New option allows associating a public IP with
   240    non-default VPC instances. [GH-660]
   241  * builder/openstack: A "proxy\_url" setting was added to define an HTTP
   242    proxy to use when building with this builder. [GH-637]
   243  
   244  BUG FIXES:
   245  
   246  * core: Don't change background color on CLI anymore, making things look
   247    a tad nicer in some terminals.
   248  * core: multiple ISO URLs works properly in all builders. [GH-683]
   249  * builder/amazon/chroot: Block when obtaining file lock to allow
   250    parallel builds. [GH-689]
   251  * builder/amazon/instance: Add location flag to upload bundle command
   252    so that building AMIs works out of us-east-1 [GH-679]
   253  * builder/qemu: Qemu arguments are templated. [GH-688]
   254  * builder/vmware: Cleanup of VMX keys works properly so cd-rom won't
   255    get stuck with ISO. [GH-685]
   256  * builder/vmware: File cleanup is more resilient to file delete races
   257    with the operating system. [GH-675]
   258  * provisioner/puppet-masterless: Check for hiera config path existence
   259    properly. [GH-656]
   260  
   261  ## 0.4.0 (November 19, 2013)
   262  
   263  FEATURES:
   264  
   265  * Docker builder: build and export Docker containers, easily provisioned
   266    with any of the Packer built-in provisioners.
   267  * QEMU builder: builds a new VM compatible with KVM or Xen using QEMU.
   268  * Remote ESXi builder: builds a VMware VM using ESXi remotely using only
   269    SSH to an ESXi machine directly.
   270  * vSphere post-processor: Can upload VMware artifacts to vSphere
   271  * Vagrant post-processor can now make DigitalOcean provider boxes. [GH-504]
   272  
   273  IMPROVEMENTS:
   274  
   275  * builder/amazon/all: Can now specify a list of multiple security group
   276    IDs to apply. [GH-499]
   277  * builder/amazon/all: AWS API requests are now retried when a temporary
   278    network error occurs as well as 500 errors. [GH-559]
   279  * builder/virtualbox: Use VBOX\_INSTALL\_PATH env var on Windows to find
   280    VBoxManage. [GH-628]
   281  * post-processor/vagrant: skips gzip compression when compression_level=0
   282  * provisioner/chef-solo: Encrypted data bag support [GH-625]
   283  
   284  BUG FIXES:
   285  
   286  * builder/amazon/chroot: Copying empty directories works. [GH-588]
   287  * builder/amazon/chroot: Chroot commands work with shell provisioners. [GH-581]
   288  * builder/amazon/chroot: Don't choose a mount point that is a partition of
   289    an already mounted device. [GH-635]
   290  * builder/virtualbox: Ctrl-C interrupts during waiting for boot. [GH-618]
   291  * builder/vmware: VMX modifications are now case-insensitive. [GH-608]
   292  * builder/vmware: VMware Fusion won't ask for VM upgrade.
   293  * builder/vmware: Ctrl-C interrupts during waiting for boot. [GH-618]
   294  * provisioner/chef-solo: Output is slightly prettier and more informative.
   295  
   296  ## 0.3.11 (November 4, 2013)
   297  
   298  FEATURES:
   299  
   300  * builder/amazon/ebs: Ability to specify which availability zone to create
   301    instance in. [GH-536]
   302  
   303  IMPROVEMENTS:
   304  
   305  * core: builders can now give warnings during validation. warnings won't
   306    fail the build but may hint at potential future problems.
   307  * builder/digitalocean: Can now specify a droplet name
   308  * builder/virtualbox: Can now disable guest addition download entirely
   309    by setting "guest_additions_mode" to "disable" [GH-580]
   310  * builder/virtualbox,vmware: ISO urls can now be https [GH-587]
   311  * builder/virtualbox,vmware: Warning if shutdown command is not specified,
   312    since it is a common case of data loss.
   313  
   314  BUG FIXES:
   315  
   316  * core: Won't panic when writing to a bad pipe. [GH-560]
   317  * builder/amazon/all: Properly scrub access key and secret key from logs.
   318    [GH-554]
   319  * builder/openstack: Properly scrub password from logs [GH-554]
   320  * builder/virtualbox: No panic if SSH host port min/max is the same. [GH-594]
   321  * builder/vmware: checks if `ifconfig` is in `/sbin` [GH-591]
   322  * builder/vmware: Host IP lookup works for non-C locales. [GH-592]
   323  * common/uuid: Use cryptographically secure PRNG when generating
   324    UUIDs. [GH-552]
   325  * communicator/ssh: File uploads that exceed the size of memory no longer
   326    cause crashes. [GH-561]
   327  
   328  ## 0.3.10 (October 20, 2013)
   329  
   330  FEATURES:
   331  
   332  * Ansible provisioner
   333  
   334  IMPROVEMENTS:
   335  
   336  * post-processor/vagrant: support instance-store AMIs built by Packer. [GH-502]
   337  * post-processor/vagrant: can now specify compression level to use
   338    when creating the box. [GH-506]
   339  
   340  BUG FIXES:
   341  
   342  * builder/all: timeout waiting for SSH connection is a failure. [GH-491]
   343  * builder/amazon: Scrub sensitive data from the logs. [GH-521]
   344  * builder/amazon: Handle the situation where an EC2 instance might not
   345    be immediately available. [GH-522]
   346  * builder/amazon/chroot: Files copied into the chroot remove destination
   347    before copy, fixing issues with dangling symlinks. [GH-500]
   348  * builder/digitalocean: don't panic if erroneous API response doesn't
   349    contain error message. [GH-492]
   350  * builder/digitalocean: scrub API keys from config debug output [GH-516]
   351  * builder/virtualbox: error if VirtualBox version cant be detected. [GH-488]
   352  * builder/virtualbox: detect if vboxdrv isn't properly setup. [GH-488]
   353  * builder/virtualbox: sleep a bit before export to ensure the sesssion
   354    is unlocked. [GH-512]
   355  * builder/virtualbox: create SATA drives properly on VirtualBox 4.3 [GH-547]
   356  * builder/virtualbox: support user templates in SSH key path. [GH-539]
   357  * builder/vmware: support user templates in SSH key path. [GH-539]
   358  * communicator/ssh: Fix issue where a panic could arise from a nil
   359    dereference. [GH-525]
   360  * post-processor/vagrant: Fix issue with VirtualBox OVA. [GH-548]
   361  * provisioner/salt: Move salt states to correct remote directory. [GH-513]
   362  * provisioner/shell: Won't block on certain scripts on Windows anymore.
   363    [GH-507]
   364  
   365  ## 0.3.9 (October 2, 2013)
   366  
   367  FEATURES:
   368  
   369  * The Amazon chroot builder is now able to run without any `sudo` privileges
   370    by using the "command_wrapper" configuration. [GH-430]
   371  * Chef provisioner supports environments. [GH-483]
   372  
   373  BUG FIXES:
   374  
   375  * core: default user variable values don't need to be strings. [GH-456]
   376  * builder/amazon-chroot: Fix errors with waitin for state change. [GH-459]
   377  * builder/digitalocean: Use proper error message JSON key (DO API change).
   378  * communicator/ssh: SCP uploads now work properly when directories
   379    contain symlinks. [GH-449]
   380  * provisioner/chef-solo: Data bags and roles path are now properly
   381    populated when set. [GH-470]
   382  * provisioner/shell: Windows line endings are actually properly changed
   383    to Unix line endings. [GH-477]
   384  
   385  ## 0.3.8 (September 22, 2013)
   386  
   387  FEATURES:
   388  
   389  * core: You can now specify `only` and `except` configurations on any
   390    provisioner or post-processor to specify a list of builds that they
   391    are valid for. [GH-438]
   392  * builders/virtualbox: Guest additions can be attached rather than uploaded,
   393    easier to handle for Windows guests. [GH-405]
   394  * provisioner/chef-solo: Ability to specify a custom Chef configuration
   395    template.
   396  * provisioner/chef-solo: Roles and data bags support. [GH-348]
   397  
   398  IMPROVEMENTS:
   399  
   400  * core: User variables can now be used for integer, boolean, etc.
   401    values. [GH-418]
   402  * core: Plugins made with incompatible versions will no longer load.
   403  * builder/amazon/all: Interrupts work while waiting for AMI to be ready.
   404  * provisioner/shell: Script line-endings are automatically converted to
   405    Unix-style line-endings. Can be disabled by setting "binary" to "true".
   406    [GH-277]
   407  
   408  BUG FIXES:
   409  
   410  * core: Set TCP KeepAlives on internally created RPC connections so that
   411    they don't die. [GH-416]
   412  * builder/amazon/all: While waiting for AMI, will detect "failed" state.
   413  * builder/amazon/all: Waiting for state will detect if the resource (AMI,
   414    instance, etc.) disappears from under it.
   415  * builder/amazon/instance: Exclude only contents of /tmp, not /tmp
   416    itself. [GH-437]
   417  * builder/amazon/instance: Make AccessKey/SecretKey available to bundle
   418    command even when they come from the environment. [GH-434]
   419  * builder/virtualbox: F1-F12 and delete scancodes now work. [GH-425]
   420  * post-processor/vagrant: Override configurations properly work. [GH-426]
   421  * provisioner/puppet-masterless: Fix failure case when both facter vars
   422    are used and prevent_sudo. [GH-415]
   423  * provisioner/puppet-masterless: User variables now work properly in
   424    manifest file and hiera path. [GH-448]
   425  
   426  ## 0.3.7 (September 9, 2013)
   427  
   428  BACKWARDS INCOMPATIBILITIES:
   429  
   430  * The "event_delay" option for the DigitalOcean builder is now gone.
   431    The builder automatically waits for events to go away. Run your templates
   432    through `packer fix` to get rid of these.
   433  
   434  FEATURES:
   435  
   436  * **NEW PROVISIONER:** `puppet-masterless`. You can now provision with
   437    a masterless Puppet setup. [GH-234]
   438  * New globally available template function: `uuid`. Generates a new random
   439    UUID.
   440  * New globally available template function: `isotime`. Generates the
   441    current time in ISO standard format.
   442  * New Amazon template function: `clean_ami_name`. Substitutes '-' for
   443    characters that are illegal to use in an AMI name.
   444  
   445  IMPROVEMENTS:
   446  
   447  * builder/amazon/all: Ability to specify the format of the temporary
   448    keypair created. [GH-389]
   449  * builder/amazon/all: Support the NoDevice flag for block mappings. [GH-396]
   450  * builder/digitalocean: Retry on any pending event errors.
   451  * builder/openstack: Can now specify a project. [GH-382]
   452  * builder/virtualbox: Can now attach hard drive over SATA. [GH-391]
   453  * provisioner/file: Can now upload directories. [GH-251]
   454  
   455  BUG FIXES:
   456  
   457  * core: Detect if SCP is not enabled on the other side. [GH-386]
   458  * builder/amazon/all: When copying AMI to multiple regions, copy
   459    the metadata (tags and attributes) as well. [GH-388]
   460  * builder/amazon/all: Fix panic case where eventually consistent
   461    instance state caused an index out of bounds.
   462  * builder/virtualbox: The `vm_name` setting now properly sets the OVF
   463    name of the output. [GH-401]
   464  * builder/vmware: Autoanswer VMware dialogs. [GH-393]
   465  * command/inspect: Fix weird output for default values for optional vars.
   466  
   467  ## 0.3.6 (September 2, 2013)
   468  
   469  FEATURES:
   470  
   471  * User variables can now be specified as "required", meaning the user
   472    MUST specify a value. Just set the default value to "null". [GH-374]
   473  
   474  IMPROVEMENTS:
   475  
   476  * core: Much improved interrupt handling. For example, interrupts now
   477    cancel much more quickly within provisioners.
   478  * builder/amazon: In `-debug` mode, the keypair used will be saved to
   479    the current directory so you can access the machine. [GH-373]
   480  * builder/amazon: In `-debug` mode, the DNS is outputted.
   481  * builder/openstack: IPv6 addresses supported for SSH. [GH-379]
   482  * communicator/ssh: Support for private keys encrypted using PKCS8. [GH-376]
   483  * provisioner/chef-solo: You can now use user variables in the `json`
   484    configuration for Chef. [GH-362]
   485  
   486  BUG FIXES:
   487  
   488  * core: Concurrent map access is completely gone, fixing rare issues
   489    with runtime memory corruption. [GH-307]
   490  * core: Fix possible panic when ctrl-C during provisioner run.
   491  * builder/digitalocean: Retry destroy a few times because DO sometimes
   492    gives false errors.
   493  * builder/openstack: Properly handle the case no image is made. [GH-375]
   494  * builder/openstack: Specifying a region is now required in a template.
   495  * provisioners/salt-masterless: Use filepath join to properly join paths.
   496  
   497  ## 0.3.5 (August 28, 2013)
   498  
   499  FEATURES:
   500  
   501  * **NEW BUILDER:** `openstack`. You can now build on OpenStack. [GH-155]
   502  * **NEW PROVISIONER:** `chef-solo`. You can now provision with Chef
   503    using `chef-solo` from local cookbooks.
   504  * builder/amazon: Copy AMI to multiple regions with `ami_regions`. [GH-322]
   505  * builder/virtualbox,vmware: Can now use SSH keys as an auth mechanism for
   506    SSH using `ssh_key_path`. [GH-70]
   507  * builder/virtualbox,vmware: Support SHA512 as a checksum type. [GH-356]
   508  * builder/vmware: The root hard drive type can now be specified with
   509    "disk_type_id" for advanced users. [GH-328]
   510  * provisioner/salt-masterless: Ability to specfy a minion config. [GH-264]
   511  * provisioner/salt-masterless: Ability to upload pillars. [GH-353]
   512  
   513  IMPROVEMENTS:
   514  
   515  * core: Output message when Ctrl-C received that we're cleaning up. [GH-338]
   516  * builder/amazon: Tagging now works with all amazon builder types.
   517  * builder/vmware: Option `ssh_skip_request_pty` for not requesting a PTY
   518    for the SSH connection. [GH-270]
   519  * builder/vmware: Specify a `vmx_template_path` in order to customize
   520    the generated VMX. [GH-270]
   521  * command/build: Machine-readable output now contains build errors, if any.
   522  * command/build: An "end" sentinel is outputted in machine-readable output
   523    for artifact listing so it is easier to know when it is over.
   524  
   525  BUG FIXES:
   526  
   527  * core: Fixed a couple cases where a double ctrl-C could panic.
   528  * core: Template validation fails if an override is specified for a
   529    non-existent builder. [GH-336]
   530  * core: The SSH connection is heartbeated so that drops can be
   531    detected. [GH-200]
   532  * builder/amazon/instance: Remove check for ec2-ami-tools because it
   533    didn't allow absolute paths to work properly. [GH-330]
   534  * builder/digitalocean: Send a soft shutdown request so that files
   535    are properly synced before shutdown. [GH-332]
   536  * command/build,command/validate: If a non-existent build is specified to
   537    '-only' or '-except', it is now an error. [GH-326]
   538  * post-processor/vagrant: Setting OutputPath with a timestamp now
   539    always works properly. [GH-324]
   540  * post-processor/vagrant: VirtualBox OVA formats now turn into
   541    Vagrant boxes properly. [GH-331]
   542  * provisioner/shell: Retry upload if start command fails, making reboot
   543    handling much more robust.
   544  
   545  ## 0.3.4 (August 21, 2013)
   546  
   547  IMPROVEMENTS:
   548  
   549  * post-processor/vagrant: the file being compressed will be shown
   550    in the UI [GH-314]
   551  
   552  BUG FIXES:
   553  
   554  * core: Avoid panics when double-interrupting Packer.
   555  * provisioner/shell: Retry shell script uploads, making reboots more
   556    robust if they happen to fail in this stage. [GH-282]
   557  
   558  ## 0.3.3 (August 19, 2013)
   559  
   560  FEATURES:
   561  
   562  * builder/virtualbox: support exporting in OVA format. [GH-309]
   563  
   564  IMPROVEMENTS:
   565  
   566  * core: All HTTP downloads across Packer now support the standard
   567    proxy environmental variables (`HTTP_PROXY`, `NO_PROXY`, etc.) [GH-252]
   568  * builder/amazon: API requests will use HTTP proxy if specified by
   569    enviromental variables.
   570  * builder/digitalocean: API requests will use HTTP proxy if specified
   571    by environmental variables.
   572  
   573  BUG FIXES:
   574  
   575  * core: TCP connection between plugin processes will keep-alive. [GH-312]
   576  * core: No more "unused key keep_input_artifact" for post processors [GH-310]
   577  * post-processor/vagrant: `output_path` templates now work again.
   578  
   579  ## 0.3.2 (August 18, 2013)
   580  
   581  FEATURES:
   582  
   583  * New command: `packer inspect`. This command tells you the components of
   584    a template. It respects the `-machine-readable` flag as well so you can
   585    parse out components of a template.
   586  * Packer will detect its own crashes (always a bug) and save a "crash.log"
   587    file.
   588  * builder/virtualbox: You may now specify multiple URLs for an ISO
   589    using "iso_url" in a template. The URLs will be tried in order.
   590  * builder/vmware: You may now specify multiple URLs for an ISO
   591    using "iso_url" in a template. The URLs will be tried in order.
   592  
   593  IMPROVEMENTS:
   594  
   595  * core: built with Go 1.1.2
   596  * core: packer help output now loads much faster.
   597  * builder/virtualbox: guest_additions_url can now use the `Version`
   598    variable to get the VirtualBox version. [GH-272]
   599  * builder/virtualbox: Do not check for VirtualBox as part of template
   600    validation; only check at execution.
   601  * builder/vmware: Do not check for VMware as part of template validation;
   602    only check at execution.
   603  * command/build: A path of "-" will read the template from stdin.
   604  * builder/amazon: add block device mappings [GH-90]
   605  
   606  BUG FIXES:
   607  
   608  * windows: file URLs are easier to get right as Packer
   609    has better parsing and error handling for Windows file paths. [GH-284]
   610  * builder/amazon/all: Modifying more than one AMI attribute type no longer
   611    crashes.
   612  * builder/amazon-instance: send IAM instance profile data. [GH-294]
   613  * builder/digitalocean: API request parameters are properly URL
   614    encoded. [GH-281]
   615  * builder/virtualbox: dowload progress won't be shown until download
   616    actually starts. [GH-288]
   617  * builder/virtualbox: floppy files names of 13 characters are now properly
   618    written to the FAT12 filesystem. [GH-285]
   619  * builder/vmware: dowload progress won't be shown until download
   620    actually starts. [GH-288]
   621  * builder/vmware: interrupt works while typing commands over VNC.
   622  * builder/virtualbox: floppy files names of 13 characters are now properly
   623    written to the FAT12 filesystem. [GH-285]
   624  * post-processor/vagrant: Process user variables. [GH-295]
   625  
   626  ## 0.3.1 (August 12, 2013)
   627  
   628  IMPROVEMENTS:
   629  
   630  * provisioner/shell: New setting `start_retry_timeout` which is the timeout
   631    for the provisioner to attempt to _start_ the remote process. This allows
   632    the shell provisioner to work properly with reboots. [GH-260]
   633  
   634  BUG FIXES:
   635  
   636  * core: Remote command output containing '\r' now looks much better
   637    within the Packer output.
   638  * builder/vmware: Fix issue with finding driver files. [GH-279]
   639  * provisioner/salt-masterless: Uploads work properly from Windows. [GH-276]
   640  
   641  ## 0.3.0 (August 12, 2013)
   642  
   643  BACKWARDS INCOMPATIBILITIES:
   644  
   645  * All `{{.CreateTime}}` variables within templates (such as for AMI names)
   646    are now replaced with `{{timestamp}}`. Run `packer fix` to fix your
   647    templates.
   648  
   649  FEATURES:
   650  
   651  * **User Variables** allow you to specify variables within your templates
   652    that can be replaced using the command-line, files, or environmental
   653    variables. This dramatically improves the portability of packer templates.
   654    See the documentation for more information.
   655  * **Machine-readable output** can be enabled by passing the
   656    `-machine-readable` flag to _any_ Packer command.
   657  * All strings in a template are now processed for variables/functions,
   658    so things like `{{timestamp}}` can be used everywhere. More features will
   659    be added in the future.
   660  * The `amazon` builders (all of them) can now have attributes of their
   661    resulting AMIs modified, such as access permissions and product codes.
   662  
   663  IMPROVEMENTS:
   664  
   665  * builder/amazon/all: User data can be passed to start the instances. [GH-253]
   666  * provisioner/salt-masterless: `local_state_tree` is no longer required,
   667    allowing you to use shell provisioner (or others) to bring this down.
   668    [GH-269]
   669  
   670  BUG FIXES:
   671  
   672  * builder/amazon/ebs,instance: Retry deleing security group a few times.
   673    [GH-278]
   674  * builder/vmware: Workstation works on Windows XP now. [GH-238]
   675  * builder/vmware: Look for files on Windows in multiple locations
   676    using multiple environmental variables. [GH-263]
   677  * provisioner/salt-masterless: states aren't deleted after the run
   678    anymore. [GH-265]
   679  * provisioner/salt-masterless: error if any commands exit with a non-zero
   680    exit status. [GH-266]
   681  
   682  ## 0.2.3 (August 7, 2013)
   683  
   684  IMPROVEMENTS:
   685  
   686  * builder/amazon/all: Added Amazon AMI tag support [GH-233]
   687  
   688  BUG FIXES:
   689  
   690  * core: Absolute/relative filepaths on Windows now work for iso_url
   691    and other settings. [GH-240]
   692  * builder/amazon/all: instance info is refreshed while waiting for SSH,
   693    allowing Packer to see updated IP/DNS info. [GH-243]
   694  
   695  ## 0.2.2 (August 1, 2013)
   696  
   697  FEATURES:
   698  
   699  * New builder: `amazon-chroot` can create EBS-backed AMIs without launching
   700    a new EC2 instance. This can shave minutes off of the AMI creation process.
   701    See the docs for more info.
   702  * New provisioner: `salt-masterless` will provision the node using Salt
   703    without a master.
   704  * The `vmware` builder now works with Workstation 9 on Windows. [GH-222]
   705  * The `vmware` builder now works with Player 5 on Linux. [GH-190]
   706  
   707  IMPROVEMENTS:
   708  
   709  * core: Colors won't be outputted on Windows unless in Cygwin.
   710  * builder/amazon/all: Added `iam_instance_profile` to launch the source
   711    image with a given IAM profile. [GH-226]
   712  
   713  BUG FIXES:
   714  
   715  * builder/virtualbox,vmware: relative paths work properly as URL
   716    configurations. [GH-215]
   717  * builder/virtualbox,vmware: fix race condition in deleting the output
   718    directory on Windows by retrying.
   719  
   720  ## 0.2.1 (July 26, 2013)
   721  
   722  FEATURES:
   723  
   724  * New builder: `amazon-instance` can create instance-storage backed
   725    AMIs.
   726  * VMware builder now works with Workstation 9 on Linux.
   727  
   728  IMPROVEMENTS:
   729  
   730  * builder/amazon/all: Ctrl-C while waiting for state change works
   731  * builder/amazon/ebs: Can now launch instances into a VPC for added protection [GH-210]
   732  * builder/virtualbox,vmware: Add backspace, delete, and F1-F12 keys to the boot
   733    command.
   734  * builder/virtualbox: massive performance improvements with big ISO files because
   735    an expensive copy is avoided. [GH-202]
   736  * builder/vmware: CD is removed prior to exporting final machine. [GH-198]
   737  
   738  BUG FIXES:
   739  
   740  * builder/amazon/all: Gracefully handle when AMI appears to not exist
   741    while AWS state is propogating. [GH-207]
   742  * builder/virtualbox: Trim carriage returns for Windows to properly
   743    detect VM state on Windows. [GH-218]
   744  * core: build names no longer cause invalid config errors. [GH-197]
   745  * command/build: If any builds fail, exit with non-zero exit status.
   746  * communicator/ssh: SCP exit codes are tested and errors are reported. [GH-195]
   747  * communicator/ssh: Properly change slash direction for Windows hosts. [GH-218]
   748  
   749  ## 0.2.0 (July 16, 2013)
   750  
   751  BACKWARDS INCOMPATIBILITIES:
   752  
   753  * "iso_md5" in the virtualbox and vmware builders is replaced with
   754    "iso_checksum" and "iso_checksum_type" (with the latter set to "md5").
   755    See the announce below on `packer fix` to automatically fix your templates.
   756  
   757  FEATURES:
   758  
   759  * **NEW COMMAND:** `packer fix` will attempt to fix templates from older
   760    versions of Packer that are now broken due to backwards incompatibilities.
   761    This command will fix the backwards incompatibilities introduced in this
   762    version.
   763  * Amazon EBS builder can now optionally use a pre-made security group
   764    instead of randomly generating one.
   765  * DigitalOcean API key and client IDs can now be passed in as
   766    environmental variables. See the documentatin for more details.
   767  * VirtualBox and VMware can now have `floppy_files` specified to attach
   768    floppy disks when booting. This allows for unattended Windows installs.
   769  * `packer build` has a new `-force` flag that forces the removal of
   770    existing artifacts if they exist. [GH-173]
   771  * You can now log to a file (instead of just stderr) by setting the
   772    `PACKER_LOG_FILE` environmental variable. [GH-168]
   773  * Checksums other than MD5 can now be used. SHA1 and SHA256 can also
   774    be used. See the documentation on `iso_checksum_type` for more info. [GH-175]
   775  
   776  IMPROVEMENTS:
   777  
   778  * core: invalid keys in configuration are now considered validation
   779    errors. [GH-104]
   780  * core: all builders now share a common SSH connection core, improving
   781    SSH reliability over all the builders.
   782  * amazon-ebs: Credentials will come from IAM role if available. [GH-160]
   783  * amazon-ebs: Verify the source AMI is EBS-backed before launching. [GH-169]
   784  * shell provisioner: the build name and builder type are available in
   785    the `PACKER_BUILD_NAME` and `PACKER_BUILDER_TYPE` env vars by default,
   786    respectively. [GH-154]
   787  * vmware: error if shutdown command has non-zero exit status.
   788  
   789  BUG FIXES:
   790  
   791  * core: UI messages are now properly prefixed with spaces again.
   792  * core: If SSH connection ends, re-connection attempts will take
   793    place. [GH-152]
   794  * virtualbox: "paused" doesn't mean the VM is stopped, improving
   795    shutdown detection.
   796  * vmware: error if guest IP could not be detected. [GH-189]
   797  
   798  ## 0.1.5 (July 7, 2013)
   799  
   800  FEATURES:
   801  
   802  * "file" uploader will upload files from the machine running Packer to the
   803    remote machine.
   804  * VirtualBox guest additions URL and checksum can now be specified, allowing
   805    the VirtualBox builder to have the ability to be used completely offline.
   806  
   807  IMPROVEMENTS:
   808  
   809  * core: If SCP is not available, a more descriptive error message
   810    is shown telling the user. [GH-127]
   811  * shell: Scripts are now executed by default according to their shebang,
   812    not with `/bin/sh`. [GH-105]
   813  * shell: You can specify what interpreter you want inline scripts to
   814    run with `inline_shebang`.
   815  * virtualbox: Delete the packer-made SSH port forwarding prior to
   816    exporting the VM.
   817  
   818  BUG FIXES:
   819  
   820  * core: Non-200 response codes on downloads now show proper errors.
   821    [GH-141]
   822  * amazon-ebs: SSH handshake is retried. [GH-130]
   823  * vagrant: The `BuildName` template propery works properly in
   824    the output path.
   825  * vagrant: Properly configure the provider-specific post-processors so
   826    things like `vagrantfile_template` work. [GH-129]
   827  * vagrant: Close filehandles when copying files so Windows can
   828    rename files. [GH-100]
   829  
   830  ## 0.1.4 (July 2, 2013)
   831  
   832  FEATURES:
   833  
   834  * virtualbox: Can now be built headless with the "Headless" option. [GH-99]
   835  * virtualbox: <wait5> and <wait10> codes for waiting 5 and 10 seconds
   836    during the boot sequence, respectively. [GH-97]
   837  * vmware: Can now be built headless with the "Headless" option. [GH-99]
   838  * vmware: <wait5> and <wait10> codes for waiting 5 and 10 seconds
   839    during the boot sequence, respectively. [GH-97]
   840  * vmware: Disks are defragmented and compacted at the end of the build.
   841    This can be disabled using "skip_compaction"
   842  
   843  IMPROVEMENTS:
   844  
   845  * core: Template syntax errors now show line and character number. [GH-56]
   846  * amazon-ebs: Access key and secret access key default to
   847    environmental variables. [GH-40]
   848  * virtualbox: Send password for keyboard-interactive auth [GH-121]
   849  * vmware: Send password for keyboard-interactive auth [GH-121]
   850  
   851  BUG FIXES:
   852  
   853  * vmware: Wait until shut down cleans up properly to avoid corrupt
   854    disk files [GH-111]
   855  
   856  ## 0.1.3 (July 1, 2013)
   857  
   858  FEATURES:
   859  
   860  * The VMware builder can now upload the VMware tools for you into
   861    the VM. This is opt-in, you must specify the `tools_upload_flavor`
   862    option. See the website for more documentation.
   863  
   864  IMPROVEMENTS:
   865  
   866  * digitalocean: Errors contain human-friendly error messages. [GH-85]
   867  
   868  BUG FIXES:
   869  
   870  * core: More plugin server fixes that avoid hangs on OS X 10.7 [GH-87]
   871  * vagrant: AWS boxes will keep the AMI artifact around [GH-55]
   872  * virtualbox: More robust version parsing for uploading guest additions. [GH-69]
   873  * virtualbox: Output dir and VM name defaults depend on build name,
   874    avoiding collisions. [GH-91]
   875  * vmware: Output dir and VM name defaults depend on build name,
   876    avoiding collisions. [GH-91]
   877  
   878  ## 0.1.2 (June 29, 2013)
   879  
   880  IMPROVEMENTS:
   881  
   882  * core: Template doesn't validate if there are no builders.
   883  * vmware: Delete any VMware files in the VM that aren't necessary for
   884    it to function.
   885  
   886  BUG FIXES:
   887  
   888  * core: Plugin servers consider a port in use if there is any
   889    error listening to it. This fixes I18n issues and Windows. [GH-58]
   890  * amazon-ebs: Sleep between checking instance state to avoid
   891    RequestLimitExceeded [GH-50]
   892  * vagrant: Rename VirtualBox ovf to "box.ovf" [GH-64]
   893  * vagrant: VMware boxes have the correct provider type.
   894  * vmware: Properly populate files in artifact so that the Vagrant
   895    post-processor works. [GH-63]
   896  
   897  ## 0.1.1 (June 28, 2013)
   898  
   899  BUG FIXES:
   900  
   901  * core: plugins listen explicitly on 127.0.0.1, fixing odd hangs. [GH-37]
   902  * core: fix race condition on verifying checksum of large ISOs which
   903    could cause panics [GH-52]
   904  * virtualbox: `boot_wait` defaults to "10s" rather than 0. [GH-44]
   905  * virtualbox: if `http_port_min` and max are the same, it will no longer
   906    panic [GH-53]
   907  * vmware: `boot_wait` defaults to "10s" rather than 0. [GH-44]
   908  * vmware: if `http_port_min` and max are the same, it will no longer
   909    panic [GH-53]
   910  
   911  ## 0.1.0 (June 28, 2013)
   912  
   913  * Initial release