github.com/marksheahan/packer@v0.10.2-0.20160613200515-1acb2d6645a0/CHANGELOG.md (about)

     1  ## (Unreleased)
     2  
     3  BACKWARDS INCOMPATIBILITIES:
     4  
     5    * VNC and VRDP-like features in VirtualBox, VMware, and QEMU now configurable
     6      but bind to 127.0.0.1 by default to improve security. See the relevant
     7      builder docs for more info.
     8  
     9  FEATURES:
    10  
    11    * **New Checksum post-processor**: Create a checksum file from your build artifacts as part of your build. [GH-3492]
    12  
    13  IMPROVEMENTS:
    14  
    15    * builder/amazon: Added `disable_stop_instance` option to prevent automatic
    16      shutdown when the build is complete [GH-3352]
    17    * builder/amazon: Added `skip_region_validation` option to allow newer or custom AWS regions [GH-3598]
    18    * builder/azure: Now pre-validates `capture_container_name` and
    19      `capture_name_prefix` [GH-3537]
    20    * builder/azure: Support for custom images [GH-3575]
    21    * builder/google: Added support for `image_family` [GH-3503]
    22    * builder/null: Can now be used with WinRM [GH-2525]
    23    * builder/parallels: Now pauses between `boot_command` entries when running
    24      with `-debug` [GH-3547]
    25    * builder/qemu: Added `vnc_bind_address` option [GH-3574]
    26    * builder/virtualbox: Now pauses between `boot_command` entries when running
    27      with `-debug` [GH-3542]
    28    * builder/virtualbox: Added `vrdp_bind_address` option [GH-3566]
    29    * builder/vmware: Now paused between `boot_command` entries when running with
    30      `-debug` [GH-3542]
    31    * builder/vmware: Added `vnc_bind_address` option [GH-3565]
    32    * builder/qemu: Now pauses between `boot_command` entries running with
    33      `-debug` [GH-3547]
    34    * post-processor/compress: Added support for bgzf compression [GH-3501]
    35  
    36  BUG FIXES:
    37  
    38    * post-processor/shell-local: Do not set execute bit on artifact file [GH-3505]
    39    * post-processor/vsphere: Fix upload failures with vsphere [GH-3321]
    40    * provisioner/ansible: Properly set host key checking even when a custom ENV
    41      is specified [GH-3568]
    42    * builder/azure: check for empty resource group [GH-3606]
    43    * builder/azure: fix token validity test [GH-3609]
    44  
    45  ## 0.10.1 (May 7, 2016)
    46  
    47  FEATURES:
    48  
    49    * `azure-arm` builder: Can now build Windows images, and supports additional
    50      configuration. Please refer to the documentation for details.
    51  
    52  IMPROVEMENTS:
    53  
    54    * core: Added support for `ATLAS_CAFILE` and `ATLAS_CAPATH` [GH-3494]
    55    * builder/azure: Improved build cancellation and cleanup of partially-
    56      provisioned resources [GH-3461]
    57    * builder/azure: Improved logging [GH-3461]
    58    * builder/azure: Added support for US Government and China clouds [GH-3461]
    59    * builder/azure: Users may now specify an image version [GH-3461]
    60    * builder/azure: Added device login [GH-3461]
    61    * builder/docker: Added `privileged` build option [GH-3475]
    62    * builder/google: Packer now identifies its version to the service [GH-3465]
    63    * provisioner/shell: Added `remote_folder` and `remote_file` options
    64      [GH-3462]
    65    * post-processor/compress: Added support for `bgzf` format and added
    66      `format` option [GH-3501]
    67  
    68  BUG FIXES:
    69  
    70    * core: Fix hang after pressing enter key in `-debug` mode [GH-3346]
    71    * provisioner/chef: Use custom values for remote validation key path
    72      [GH-3468]
    73  
    74  ## 0.10.0 (March 14, 2016)
    75  
    76  BACKWARDS INCOMPATIBILITIES:
    77  
    78    * Building Packer now requires go >= 1.5 (>= 1.6 is recommended). If you want
    79      to continue building with go 1.4 you can remove the `azurearmbuilder` line
    80      from `command/plugin.go`.
    81  
    82  FEATURES:
    83  
    84    * **New `azure-arm` builder**: Build virtual machines in Azure Resource
    85      Manager
    86  
    87  IMPROVEMENTS:
    88  
    89    * builder/google: Added support for `disk_type` [GH-2830]
    90    * builder/openstack: Added support for retrieving the Administrator password
    91      when using WinRM if no `winrm_password` is set [GH-3209]
    92    * provisioner/ansible: Added the `empty_groups` parameter [GH-3232]
    93    * provisioner/ansible: Added the `user` parameter [GH-3276]
    94    * provisioner/ansible: Don't use deprecated ssh option with Ansible 2.0
    95      [GH-3291]
    96    * provisioner/puppet-masterless: Add `ignore_exit_codes` parameter [GH-3349]
    97  
    98  BUG FIXES:
    99  
   100    * builders/parallels: Handle `output_directory` containing `.` and `..`
   101      [GH-3239]
   102    * provisioner/ansible: os.Environ() should always be passed to the ansible
   103      command. [GH-3274]
   104  
   105  ## 0.9.0 (February 19, 2016)
   106  
   107  BACKWARDS INCOMPATIBILITIES:
   108  
   109    * Packer now ships as a single binary, including plugins. If you install
   110      packer 0.9.0 over a previous packer installation, **you must delete all of
   111      the packer-* plugin files** or packer will load out-of-date plugins from
   112      disk.
   113    * Release binaries are now provided via <https://releases.hashicorp.com>.
   114    * Packer 0.9.0 is now built with Go 1.6.
   115    * core: Plugins that implement the Communicator interface must now implement
   116      a DownloadDir method [GH-2618]
   117    * builder/amazon: Inline `user_data` for EC2 is now base64 encoded
   118      automatically [GH-2539]
   119    * builder/parallels: `parallels_tools_host_path` and `guest_os_distribution`
   120      have been replaced by `guest_os_type`; use `packer fix` to update your
   121      templates [GH-2751]
   122  
   123  FEATURES:
   124  
   125    * **Chef on Windows**: The chef provisioner now has native support for
   126      Windows using Powershell and WinRM [GH-1215]
   127    * **New `vmware-esxi` feature**: Packer can now export images from vCloud or
   128      vSphere during the build [GH-1921]
   129    * **New Ansible Provisioner**: `ansible` provisioner supports remote
   130      provisioning to keep your build image cleaner [GH-1969]
   131    * **New Amazon Import post-processor**: `amazon-import` allows you to upload an OVA-based VM to Amazon EC2 [GH-2962]
   132    * **Shell Local post-processor**: `shell-local` allows you to run shell
   133      commands on the host after a build has completed for custom packaging or
   134      publishing of your artifacts [GH-2706]
   135    * **Artifice post-processor**: Override packer artifacts during post-
   136      processing. This allows you to extract artifacts from a packer builder and
   137      use them with other post-processors like compress, docker, and Atlas.
   138  
   139  IMPROVEMENTS:
   140  
   141    * core: Packer plugins are now compiled into the main binary, reducing file
   142      size and build times, and making packer easier to install. The overall
   143      plugin architecture has not changed and third-party plugins can still be
   144      loaded from disk. Please make sure your plugins are up-to-date! [GH-2854]
   145    * core: Packer now indicates line numbers for template parse errors [GH-2742]
   146    * core: Scripts are executed via `/usr/bin/env bash` instead of `/bin/bash`
   147      for broader compatibility. [GH-2913]
   148    * core: `target_path` for builder downloads can now be specified. [GH-2600]
   149    * core: WinRM communicator now supports HTTPS protocol [GH-3061]
   150    * core: Template syntax errors now show line, column, offset [GH-3180]
   151    * core: SSH communicator now supports downloading directories [GH-2618]
   152    * builder/amazon: Add support for `ebs_optimized` [GH-2806]
   153    * builder/amazon: You can now specify `0` for `spot_price` to switch to on
   154      demand instances [GH-2845]
   155    * builder/amazon: Added `ap-northeast-2` (Seoul) [GH-3056]
   156    * builder/amazon: packer will try to derive the AZ if only a subnet is
   157      specified [GH-3037]
   158    * builder/digitalocean: doubled instance wait timeouts to power off or
   159      shutdown (now 4 minutes) and to complete a snapshot (now 20 minutes)
   160      [GH-2939]
   161    * builder/google: `account_file` can now be provided as a JSON string
   162      [GH-2811]
   163    * builder/google: added support for `preemptible` instances [GH-2982]
   164    * builder/google: added support for static external IPs via `address` option
   165      [GH-3030]
   166    * builder/openstack: added retry on WaitForImage 404 [GH-3009]
   167    * builder/openstack: Can specify `source_image_name` instead of the ID
   168      [GH-2577]
   169    * builder/openstack: added support for SSH over IPv6 [GH-3197]
   170    * builder/parallels: Improve support for Parallels 11 [GH-2662]
   171    * builder/parallels: Parallels disks are now compacted by default [GH-2731]
   172    * builder/parallels: Packer will look for Parallels in
   173      `/Applications/Parallels Desktop.app` if it is not detected automatically
   174      [GH-2839]
   175    * builder/qemu: qcow2 images are now compacted by default [GH-2748]
   176    * builder/qemu: qcow2 images can now be compressed [GH-2748]
   177    * builder/qemu: Now specifies `virtio-scsi` by default [GH-2422]
   178    * builder/qemu: Now checks for version-specific options [GH-2376]
   179    * builder/qemu: Can now bypass disk cache using `iso_skip_cache` [GH-3105]
   180    * builder/qemu: `<wait>` in `boot_command` now accepts an arbitrary duration
   181      like <wait1m30s> [GH-3129]
   182    * builder/qemu: Expose `{{ .SSHHostPort }}` in templates [GH-2884]
   183    * builder/virtualbox: Added VRDP for debugging [GH-3188]
   184    * builder/vmware-esxi: Added private key auth for remote builds via
   185      `remote_private_key_file` [GH-2912]
   186    * post-processor/atlas: Added support for compile ID. [GH-2775]
   187    * post-processor/docker-import: Can now import Artifice artifacts [GH-2718]
   188    * provisioner/chef: Added `encrypted_data_bag_secret_path` option [GH-2653]
   189    * provisioner/puppet: Added the `extra_arguments` parameter [GH-2635]
   190    * provisioner/salt: Added `no_exit_on_failure`, `log_level`, and improvements
   191      to salt command invocation [GH-2660]
   192  
   193  BUG FIXES:
   194  
   195    * core: Random number generator is now seeded. [GH-2640]
   196    * core: Packer should now have a lot less race conditions [GH-2824]
   197    * builder/amazon: The `no_device` option for block device mappings is now handled correctly [GH-2398]
   198    * builder/amazon: AMI name validation now matches Amazon's spec [GH-2774]
   199    * builder/amazon: Use snapshot size when volume size is unspecified [GH-2480]
   200    * builder/amazon: Pass AccessKey and SecretKey when uploading bundles for
   201      instance-backed AMIs [GH-2596]
   202    * builder/parallels: Added interpolation in `prlctl_post` [GH-2828]
   203    * builder/vmware: `format` option is now read correctly [GH-2892]
   204    * builder/vmware-esxi: Correct endless loop in destroy validation logic
   205      [GH-2911]
   206    * provisioner/shell: No longer leaves temp scripts behind [GH-1536]
   207    * provisioner/winrm: Now waits for reboot to complete before continuing with provisioning [GH-2568]
   208    * post-processor/artifice: Fix truncation of files downloaded from Docker. [GH-2793]
   209  
   210  
   211  ## 0.8.6 (Aug 22, 2015)
   212  
   213  IMPROVEMENTS:
   214  
   215    * builder/docker: Now supports Download so it can be used with the file
   216        provisioner to download a file from a container. [GH-2585]
   217    * builder/docker: Now verifies that the artifact will be used before the build
   218        starts, unless the `discard` option is specified. This prevent failures
   219        after the build completes. [GH-2626]
   220    * post-processor/artifice: Now supports glob-like syntax for filenames [GH-2619]
   221    * post-processor/vagrant: Like the compress post-processor, vagrant now uses a
   222        parallel gzip algorithm to compress vagrant boxes. [GH-2590]
   223  
   224  BUG FIXES:
   225  
   226    * core: When `iso_url` is a local file and the checksum is invalid, the local
   227        file will no longer be deleted. [GH-2603]
   228    * builder/parallels: Fix interpolation in `parallels_tools_guest_path` [GH-2543]
   229  
   230  ## 0.8.5 (Aug 10, 2015)
   231  
   232  FEATURES:
   233  
   234    * **[Beta]** Artifice post-processor: Override packer artifacts during post-
   235        processing. This allows you to extract artifacts from a packer builder
   236        and use them with other post-processors like compress, docker, and Atlas.
   237  
   238  IMPROVEMENTS:
   239  
   240    * Many docs have been updated and corrected; big thanks to our contributors!
   241    * builder/openstack: Add debug logging for IP addresses used for SSH [GH-2513]
   242    * builder/openstack: Add option to use existing SSH keypair [GH-2512]
   243    * builder/openstack: Add support for Glance metadata [GH-2434]
   244    * builder/qemu and builder/vmware: Packer's VNC connection no longer asks for
   245        an exclusive connection [GH-2522]
   246    * provisioner/salt-masterless: Can now customize salt remote directories [GH-2519]
   247  
   248  BUG FIXES:
   249  
   250    * builder/amazon: Improve instance cleanup by storing id sooner [GH-2404]
   251    * builder/amazon: Only fetch windows password when using WinRM communicator [GH-2538]
   252    * builder/openstack: Support IPv6 SSH address [GH-2450]
   253    * builder/openstack: Track new IP address discovered during RackConnect [GH-2514]
   254    * builder/qemu: Add 100ms delay between VNC key events. [GH-2415]
   255    * post-processor/atlas: atlas_url configuration option works now [GH-2478]
   256    * post-processor/compress: Now supports interpolation in output config [GH-2414]
   257    * provisioner/powershell: Elevated runs now receive environment variables [GH-2378]
   258    * provisioner/salt-masterless: Clarify error messages when we can't create or
   259        write to the temp directory [GH-2518]
   260    * provisioner/salt-masterless: Copy state even if /srv/salt exists already [GH-1699]
   261    * provisioner/salt-masterless: Make sure /etc/salt exists before writing to it [GH-2520]
   262    * provisioner/winrm: Connect to the correct port when using NAT with
   263        VirtualBox / VMware [GH-2399]
   264  
   265  Note: 0.8.3 was pulled and 0.8.4 was skipped.
   266  
   267  ## 0.8.2 (July 17, 2015)
   268  
   269  IMPROVEMENTS:
   270  
   271    * builder/docker: Add option to use a Pty [GH-2425]
   272  
   273  BUG FIXES:
   274  
   275    * core: Fix crash when `min_packer_version` is specified in a template. [GH-2385]
   276    * builder/amazon: Fix EC2 devices being included in EBS mappings [GH-2459]
   277    * builder/googlecompute: Fix default name for GCE images [GH-2400]
   278    * builder/null: Fix error message with missing ssh_host [GH-2407]
   279    * builder/virtualbox: Use --portcount on VirtualBox 5.x [GH-2438]
   280    * provisioner/puppet: Packer now correctly handles a directory for manifest_file [GH-2463]
   281    * provisioner/winrm: Fix potential crash with WinRM [GH-2416]
   282  
   283  ## 0.8.1 (July 2, 2015)
   284  
   285  IMPROVEMENTS:
   286  
   287    * builder/amazon: When debug mode is enabled, the Windows administrator
   288        password for Windows instances will be shown [GH-2351]
   289  
   290  BUG FIXES:
   291  
   292    * core: `min_packer_version`  field in configs work [GH-2356]
   293    * core: The `build_name` and `build_type` functions work in provisioners [GH-2367]
   294    * core: Handle timeout in SSH handshake [GH-2333]
   295    * command/build: Fix reading configuration from stdin [GH-2366]
   296    * builder/amazon: Fix issue with sharing AMIs when using `ami_users` [GH-2308]
   297    * builder/amazon: Fix issue when using multiple Security Groups [GH-2381]
   298    * builder/amazon: Fix for tag creation when creating new ec2 instance [GH-2317]
   299    * builder/amazon: Fix issue with creating AMIs with multiple device mappings [GH-2320]
   300    * builder/amazon: Fix failing AMI snapshot tagging when copying to other
   301        regions [GH-2316]
   302    * builder/amazon: Fix setting AMI launch permissions [GH-2348]
   303    * builder/amazon: Fix spot instance cleanup to remove the correct request [GH-2327]
   304    * builder/amazon: Fix `bundle_prefix` not interpolating `timestamp` [GH-2352]
   305    * builder/amazon-instance: Fix issue with creating AMIs without specifying a
   306        virtualization type [GH-2330]
   307    * builder/digitalocean: Fix builder using private IP instead of public IP [GH-2339]
   308    * builder/google: Set default communicator settings properly [GH-2353]
   309    * builder/vmware-iso: Setting `checksum_type` to `none` for ESX builds
   310        now works [GH-2323]
   311    * provisioner/chef: Use knife config file vs command-line params to
   312        clean up nodes so full set of features can be used [GH-2306]
   313    * post-processor/compress: Fixed crash in compress post-processor plugin [GH-2311]
   314  
   315  ## 0.8.0 (June 23, 2015)
   316  
   317  BACKWARDS INCOMPATIBILITIES:
   318  
   319    * core: SSH connection will no longer request a PTY by default. This
   320        can be enabled per builder.
   321    * builder/digitalocean: no longer supports the v1 API which has been
   322        deprecated for some time. Most configurations should continue to
   323        work as long as you use the `api_token` field for auth.
   324    * builder/digitalocean: `image`, `region`, and `size` are now required.
   325    * builder/openstack: auth parameters have been changed to better
   326        reflect OS terminology. Existing environment variables still work.
   327  
   328  FEATURES:
   329  
   330    * **WinRM:** You can now connect via WinRM with almost every builder.
   331        See the docs for more info. [GH-2239]
   332    * **Windows AWS Support:** Windows AMIs can now be built without any
   333        external plugins: Packer will start a Windows instance, get the
   334        admin password, and can use WinRM (above) to connect through. [GH-2240]
   335    * **Disable SSH:** Set `communicator` to "none" in any builder to disable SSH
   336        connections. Note that provisioners won't work if this is done. [GH-1591]
   337    * **SSH Agent Forwarding:** SSH Agent Forwarding will now be enabled
   338        to allow access to remote servers such as private git repos. [GH-1066]
   339    * **SSH Bastion Hosts:** You can now specify a bastion host for
   340        SSH access (works with all builders). [GH-387]
   341    * **OpenStack v3 Identity:** The OpenStack builder now supports the
   342        v3 identity API.
   343    * **Docker builder supports SSH**: The Docker builder now supports containers
   344        with SSH, just set `communicator` to "ssh" [GH-2244]
   345    * **File provisioner can download**: The file provisioner can now download
   346        files out of the build process. [GH-1909]
   347    * **New config function: `build_name`**: The name of the currently running
   348        build. [GH-2232]
   349    * **New config function: `build_type`**: The type of the currently running
   350        builder. This is useful for provisioners. [GH-2232]
   351    * **New config function: `template_dir`**: The directory to the template
   352        being built. This should be used for template-relative paths. [GH-54]
   353    * **New provisioner: shell-local**: Runs a local shell script. [GH-770]
   354    * **New provisioner: powershell**: Provision Windows machines
   355        with PowerShell scripts. [GH-2243]
   356    * **New provisioner: windows-shell**: Provision Windows machines with
   357        batch files. [GH-2243]
   358    * **New provisioner: windows-restart**: Restart a Windows machines and
   359        wait for it to come back online. [GH-2243]
   360    * **Compress post-processor supports multiple algorithms:** The compress
   361        post-processor now supports lz4 compression and compresses gzip in
   362        parallel for much faster throughput.
   363  
   364  IMPROVEMENTS:
   365  
   366    * core: Interrupt handling for SIGTERM signal as well. [GH-1858]
   367    * core: HTTP downloads support resuming [GH-2106]
   368    * builder/*: Add `ssh_handshake_attempts` to configure the number of
   369        handshake attempts done before failure [GH-2237]
   370    * builder/amazon: Add `force_deregister` option for automatic AMI
   371        deregistration [GH-2221]
   372    * builder/amazon: Now applies tags to EBS snapshots [GH-2212]
   373    * builder/amazon: Clean up orphaned volumes from Source AMIs [GH-1783]
   374    * builder/amazon: Support custom keypairs [GH-1837]
   375    * builder/amazon-chroot: Can now resize the root volume of the resulting
   376        AMI with the `root_volume_size` option [GH-2289]
   377    * builder/amazon-chroot: Add `mount_options` configuration option for providing
   378        options to the `mount` command [GH-2296]
   379    * builder/digitalocean: Save SSH key to pwd if debug mode is on. [GH-1829]
   380    * builder/digitalocean: User data support [GH-2113]
   381    * builder/googlecompute: Option to use internal IP for connections. [GH-2152]
   382    * builder/parallels: Support Parallels Desktop 11 [GH-2199]
   383    * builder/openstack: Add `rackconnect_wait` for Rackspace customers to wait for
   384        RackConnect data to appear
   385    * buidler/openstack: Add `ssh_interface` option for rackconnect for users that
   386        have prohibitive firewalls
   387    * builder/openstack: Flavor names can be used as well as refs
   388    * builder/openstack: Add `availability_zone` [GH-2016]
   389    * builder/openstack: Machine will be stopped prior to imaging if the
   390        cluster supports the `startstop` extension. [GH-2223]
   391    * builder/openstack: Support for user data [GH-2224]
   392    * builder/qemu: Default accelerator to "tcg" on Windows [GH-2291]
   393    * builder/virtualbox: Added option: `ssh_skip_nat_mapping` to skip the
   394        automatic port forward for SSH and to use the guest port directly. [GH-1078]
   395    * builder/virtualbox: Added SCSI support
   396    * builder/vmware: Support for additional disks [GH-1382]
   397    * builder/vmware: Can now customize the template used for adding disks [GH-2254]
   398    * command/fix: After fixing, the template is validated [GH-2228]
   399    * command/push: Add `-name` flag for specifying name from CLI [GH-2042]
   400    * command/push: Push configuration in templates supports variables [GH-1861]
   401    * post-processor/docker-save: Can be chained [GH-2179]
   402    * post-processor/docker-tag: Support `force` option [GH-2055]
   403    * post-processor/docker-tag: Can be chained [GH-2179]
   404    * post-processor/vsphere: Make more fields optional, support empty
   405        resource pools. [GH-1868]
   406    * provisioner/puppet-masterless: `working_directory` option [GH-1831]
   407    * provisioner/puppet-masterless: `packer_build_name` and
   408        `packer_build_type` are default facts. [GH-1878]
   409    * provisioner/puppet-server: `ignore_exit_codes` option added [GH-2280]
   410  
   411  BUG FIXES:
   412  
   413    * core: Fix potential panic for post-processor plugin exits [GH-2098]
   414    * core: `PACKER_CONFIG` may point to a non-existent file [GH-2226]
   415    * builder/amazon: Allow spaces in AMI names when using `clean_ami_name` [GH-2182]
   416    * builder/amazon: Remove deprecated ec2-upload-bundle paramger [GH-1931]
   417    * builder/amazon: Use IAM Profile to upload bundle if provided [GH-1985]
   418    * builder/amazon: Use correct exit code after SSH authentication failed [GH-2004]
   419    * builder/amazon: Retry finding created instance for eventual
   420        consistency. [GH-2129]
   421    * builder/amazon: If no AZ is specified, use AZ chosen automatically by
   422        AWS for spot instance. [GH-2017]
   423    * builder/amazon: Private key file (only available in debug mode)
   424        is deleted on cleanup. [GH-1801]
   425    * builder/amazon: AMI copy won't copy to the source region [GH-2123]
   426    * builder/amazon: Validate AMI doesn't exist with name prior to build [GH-1774]
   427    * builder/amazon: Improved retry logic around waiting for instances. [GH-1764]
   428    * builder/amazon: Fix issues with creating Block Devices. [GH-2195]
   429    * builder/amazon/chroot: Retry waiting for disk attachments [GH-2046]
   430    * builder/amazon/chroot: Only unmount path if it is mounted [GH-2054]
   431    * builder/amazon/instance: Use `-i` in sudo commands so PATH is inherited. [GH-1930]
   432    * builder/amazon/instance: Use `--region` flag for bundle upload command. [GH-1931]
   433    * builder/digitalocean: Wait for droplet to unlock before changing state,
   434        should lower the "pending event" errors.
   435    * builder/digitalocean: Ignore invalid fields from the ever-changing v2 API
   436    * builder/digitalocean: Private images can be used as a source [GH-1792]
   437    * builder/docker: Fixed hang on prompt while copying script
   438    * builder/docker: Use `docker exec` for newer versions of Docker for
   439        running scripts [GH-1993]
   440    * builder/docker: Fix crash that could occur at certain timed ctrl-c [GH-1838]
   441    * builder/docker: validate that `export_path` is not a directory [GH-2105]
   442    * builder/google: `ssh_timeout` is respected [GH-1781]
   443    * builder/openstack: `ssh_interface` can be used to specify the interface
   444        to retrieve the SSH IP from. [GH-2220]
   445    * builder/qemu: Add `disk_discard` option [GH-2120]
   446    * builder/qemu: Use proper SSH port, not hardcoded to 22. [GH-2236]
   447    * builder/qemu: Find unused SSH port if SSH port is taken. [GH-2032]
   448    * builder/virtualbox: Bind HTTP server to IPv4, which is more compatible with
   449        OS installers. [GH-1709]
   450    * builder/virtualbox: Remove the floppy controller in addition to the
   451        floppy disk. [GH-1879]
   452    * builder/virtualbox: Fixed regression where downloading ISO without a
   453        ".iso" extension didn't work. [GH-1839]
   454    * builder/virtualbox: Output dir is verified at runtime, not template
   455        validation time. [GH-2233]
   456    * builder/virtualbox: Find unused SSH port if SSH port is taken. [GH-2032]
   457    * builder/vmware: Add 100ms delay between keystrokes to avoid subtle
   458        timing issues in most cases. [GH-1663]
   459    * builder/vmware: Bind HTTP server to IPv4, which is more compatible with
   460        OS installers. [GH-1709]
   461    * builder/vmware: Case-insensitive match of MAC address to find IP [GH-1989]
   462    * builder/vmware: More robust IP parsing from ifconfig output [GH-1999]
   463    * builder/vmware: Nested output directories for ESXi work [GH-2174]
   464    * builder/vmware: Output dir is verified at runtime, not template
   465        validation time. [GH-2233]
   466    * command/fix: For the `virtualbox` to `virtualbox-iso` builder rename,
   467        provisioner overrides are now also fixed [GH-2231]
   468    * command/validate: don't crash for invalid builds [GH-2139]
   469    * post-processor/atlas: Find common archive prefix for Windows [GH-1874]
   470    * post-processor/atlas: Fix index out of range panic [GH-1959]
   471    * post-processor/vagrant-cloud: Fixed failing on response
   472    * post-processor/vagrant-cloud: Don't delete version on error [GH-2014]
   473    * post-processor/vagrant-cloud: Retry failed uploads a few times
   474    * provisioner/chef-client: Fix permissions issues on default dir [GH-2255]
   475    * provisioner/chef-client: Node cleanup works now. [GH-2257]
   476    * provisioner/puppet-masterless: Allow manifest_file to be a directory
   477    * provisioner/salt-masterless: Add `--retcode-passthrough` to salt-call
   478    * provisioner/shell: chmod executable script to 0755, not 0777 [GH-1708]
   479    * provisioner/shell: inline commands failing will fail the provisioner [GH-2069]
   480    * provisioner/shell: single quotes in env vars are escaped [GH-2229]
   481    * provisioner/shell: Temporary file is deleted after run [GH-2259]
   482    * provisioner/shell: Randomize default script name to avoid strange
   483        race issues from Windows. [GH-2270]
   484  
   485  ## 0.7.5 (December 9, 2014)
   486  
   487  FEATURES:
   488  
   489    * **New command: `packer push`**: Push template and files to HashiCorp's
   490        Atlas for building your templates automatically.
   491    * **New post-processor: `atlas`**: Send artifact to HashiCorp's Atlas for
   492        versioning and storing artifacts. These artifacts can then be queried
   493        using the API, Terraform, etc.
   494  
   495  IMPROVEMENTS:
   496  
   497    * builder/googlecompute: Support for ubuntu-os-cloud project
   498    * builder/googlecompute: Support for OAuth2 to avoid client secrets file
   499    * builder/googlecompute: GCE image from persistant disk instead of tarball
   500    * builder/qemu: Checksum type "none" can be used
   501    * provisioner/chef: Generate a node name if none available
   502    * provisioner/chef: Added ssl_verify_mode configuration
   503  
   504  BUG FIXES:
   505  
   506    * builder/parallels: Fixed attachment of ISO to cdrom device
   507    * builder/parallels: Fixed boot load ordering
   508    * builder/digitalocean: Fixed decoding of size
   509    * builder/digitalocean: Fixed missing content-type header in request
   510    * builder/digitalocean: Fixed use of private IP
   511    * builder/digitalocean: Fixed the artifact ID generation
   512    * builder/vsphere: Fixed credential escaping
   513    * builder/qemu: Fixed use of CDROM with disk_image
   514    * builder/aws: Fixed IP address for SSH in VPC
   515    * builder/aws: Fixed issue with multiple block devices
   516    * builder/vmware: Upload VMX to ESX5 after editing
   517    * communicator/docker: Fix handling of symlinks during upload
   518    * provisioner/chef: Fixed use of sudo in some cases
   519    * core: Fixed build name interpolation
   520    * postprocessor/vagrant: Fixed check for Vagrantfile template
   521  
   522  ## 0.7.2 (October 28, 2014)
   523  
   524  FEATURES:
   525  
   526    * builder/digitalocean: API V2 support. [GH-1463]
   527    * builder/parallels: Don't depend on _prl-utils_ [GH-1499]
   528  
   529  IMPROVEMENTS:
   530  
   531    * builder/amazon/all: Support new AWS Frankfurt region.
   532    * builder/docker: Allow remote `DOCKER_HOST`, which works as long as
   533        volumes work. [GH-1594]
   534    * builder/qemu: Can set cache mode for main disk. [GH-1558]
   535    * builder/qemu: Can build from pre-existing disk. [GH-1342]
   536    * builder/vmware: Can specify path to Fusion installation with environmental
   537        variable `FUSION_APP_PATH`. [GH-1552]
   538    * builder/vmware: Can specify the HW version for the VMX. [GH-1530]
   539    * builder/vmware/esxi: Will now cache ISOs/floppies remotely. [GH-1479]
   540    * builder/vmware/vmx: Source VMX can have a disk connected via SATA. [GH-1604]
   541    * post-processors/vagrant: Support Qemu (libvirt) boxes. [GH-1330]
   542    * post-processors/vagrantcloud: Support self-hosted box URLs.
   543  
   544  BUG FIXES:
   545  
   546    * core: Fix loading plugins from pwd. [GH-1521]
   547    * builder/amazon: Prefer token in config if given. [GH-1544]
   548    * builder/amazon/all: Extended timeout for waiting for AMI. [GH-1533]
   549    * builder/virtualbox: Can read VirtualBox version on FreeBSD. [GH-1570]
   550    * builder/virtualbox: More robust reading of guest additions URL. [GH-1509]
   551    * builder/vmware: Always remove floppies/drives. [GH-1504]
   552    * builder/vmware: Wait some time so that post-VMX update aren't
   553        overwritten. [GH-1504]
   554    * builder/vmware/esxi: Retry power on if it fails. [GH-1334]
   555    * builder/vmware-vmx: Fix issue with order of boot command support [GH-1492]
   556    * builder/amazon: Extend timeout and allow user override [GH-1533]
   557    * builder/parallels: Ignore 'The fdd0 device does not exist' [GH-1501]
   558    * builder/parallels: Rely on Cleanup functions to detach devices [GH-1502]
   559    * builder/parallels: Create VM without hdd and then add it later [GH-1548]
   560    * builder/parallels: Disconnect cdrom0 [GH-1605]
   561    * builder/qemu: Don't use `-redir` flag anymore, replace with
   562        `hostfwd` options. [GH-1561]
   563    * builder/qemu: Use `pc` as default machine type instead of `pc-1.0`.
   564    * providers/aws: Ignore transient network errors. [GH-1579]
   565    * provisioner/ansible: Don't buffer output so output streams in. [GH-1585]
   566    * provisioner/ansible: Use inventory file always to avoid potentially
   567        deprecated feature. [GH-1562]
   568    * provisioner/shell: Quote environmental variables. [GH-1568]
   569    * provisioner/salt: Bootstrap over SSL. [GH-1608]
   570    * post-processors/docker-push: Work with docker-tag artifacts. [GH-1526]
   571    * post-processors/vsphere: Append "/" to object address. [GH-1615]
   572  
   573  ## 0.7.1 (September 10, 2014)
   574  
   575  FEATURES:
   576  
   577    * builder/vmware: VMware Fusion Pro 7 is now supported. [GH-1478]
   578  
   579  BUG FIXES:
   580  
   581    * core: SSH will connect slightly faster if it is ready immediately.
   582    * provisioner/file: directory uploads no longer hang. [GH-1484]
   583    * provisioner/file: fixed crash on large files. [GH-1473]
   584    * scripts: Windows executable renamed to packer.exe. [GH-1483]
   585  
   586  ## 0.7.0 (September 8, 2014)
   587  
   588  BACKWARDS INCOMPATIBILITIES:
   589  
   590    * The authentication configuration for Google Compute Engine has changed.
   591        The new method is much simpler, but is not backwards compatible.
   592        `packer fix` will _not_ fix this. Please read the updated GCE docs.
   593  
   594  FEATURES:
   595  
   596    * **New Post-Processor: `compress`** - Gzip compresses artifacts with files.
   597    * **New Post-Processor: `docker-save`** - Save an image. This is similar to
   598        export, but preserves the image hierarchy.
   599    * **New Post-Processor: `docker-tag`** - Tag a created image.
   600    * **New Template Functions: `upper`, `lower`** - See documentation for
   601        more details.
   602    * core: Plugins are automatically discovered if they're named properly.
   603        Packer will look in the PWD and the directory with `packer` for
   604        binaries named `packer-TYPE-NAME`.
   605    * core: Plugins placed in `~/.packer.d/plugins` are now automatically
   606        discovered.
   607    * builder/amazon: Spot instances can now be used to build EBS backed and
   608        instance store images. [GH-1139]
   609    * builder/docker: Images can now be committed instead of exported. [GH-1198]
   610    * builder/virtualbox-ovf: New `import_flags` setting can be used to add
   611        new command line flags to `VBoxManage import` to allow things such
   612        as EULAs to be accepted. [GH-1383]
   613    * builder/virtualbox-ovf: Boot commands and the HTTP server are supported.
   614        [GH-1169]
   615    * builder/vmware: VMware Player 6 is now supported. [GH-1168]
   616    * builder/vmware-vmx: Boot commands and the HTTP server are supported.
   617        [GH-1169]
   618  
   619  IMPROVEMENTS:
   620  
   621    * core: `isotime` function can take a format. [GH-1126]
   622    * builder/amazon/all: `AWS_SECURITY_TOKEN` is read and can also be
   623        set with the `token` configuration. [GH-1236]
   624    * builder/amazon/all: Can force SSH on the private IP address with
   625        `ssh_private_ip`. [GH-1229]
   626    * builder/amazon/all: String fields in device mappings can use variables. [GH-1090]
   627    * builder/amazon-instance: EBS AMIs can be used as a source. [GH-1453]
   628    * builder/digitalocean: Can set API URL endpoint. [GH-1448]
   629    * builder/digitalocean: Region supports variables. [GH-1452]
   630    * builder/docker: Can now specify login credentials to pull images.
   631    * builder/docker: Support mounting additional volumes. [GH-1430]
   632    * builder/parallels/all: Path to tools ISO is calculated automatically. [GH-1455]
   633    * builder/parallels-pvm: `reassign_mac` option to choose wehther or not
   634        to generate a new MAC address. [GH-1461]
   635    * builder/qemu: Can specify "none" acceleration type. [GH-1395]
   636    * builder/qemu: Can specify "tcg" acceleration type. [GH-1395]
   637    * builder/virtualbox/all: `iso_interface` option to mount ISO with SATA. [GH-1200]
   638    * builder/vmware-vmx: Proper `floppy_files` support. [GH-1057]
   639    * command/build: Add `-color=false` flag to disable color. [GH-1433]
   640    * post-processor/docker-push: Can now specify login credentials. [GH-1243]
   641    * provisioner/chef-client: Support `chef_environment`. [GH-1190]
   642  
   643  BUG FIXES:
   644  
   645    * core: nicer error message if an encrypted private key is used for
   646        SSH. [GH-1445]
   647    * core: Fix crash that could happen with a well timed double Ctrl-C.
   648        [GH-1328] [GH-1314]
   649    * core: SSH TCP keepalive period is now 5 seconds (shorter). [GH-1232]
   650    * builder/amazon-chroot: Can properly build HVM images now. [GH-1360]
   651    * builder/amazon-chroot: Fix crash in root device check. [GH-1360]
   652    * builder/amazon-chroot: Add description that Packer made the snapshot
   653        with a time. [GH-1388]
   654    * builder/amazon-ebs: AMI is deregistered if an error. [GH-1186]
   655    * builder/amazon-instance: Fix deprecation warning for `ec2-bundle-vol`
   656        [GH-1424]
   657    * builder/amazon-instance: Add `--no-filter` to the `ec2-bundle-vol`
   658        command by default to avoid corrupting data by removing package
   659        manager certs. [GH-1137]
   660    * builder/amazon/all: `delete_on_termination` set to false will work.
   661    * builder/amazon/all: Fix race condition on setting tags. [GH-1367]
   662    * builder/amazon/all: More desctriptive error messages if Amazon only
   663        sends an error code. [GH-1189]
   664    * builder/docker: Error if `DOCKER_HOST` is set.
   665    * builder/docker: Remove the container during cleanup. [GH-1206]
   666    * builder/docker: Fix case where not all output would show up from
   667        provisioners.
   668    * builder/googlecompute: add `disk_size` option. [GH-1397]
   669    * builder/googlecompute: Auth works with latest formats on Google Cloud
   670        Console. [GH-1344]
   671    * builder/openstack: Region is not required. [GH-1418]
   672    * builder/parallels-iso: ISO not removed from VM after install [GH-1338]
   673    * builder/parallels/all: Add support for Parallels Desktop 10 [GH-1438]
   674    * builder/parallels/all: Added some navigation keys [GH-1442]
   675    * builder/qemu: If headless, sdl display won't be used. [GH-1395]
   676    * builder/qemu: Use `512M` as `-m` default. [GH-1444]
   677    * builder/virtualbox/all: Search `VBOX_MSI_INSTALL_PATH` for path to
   678        `VBoxManage` on Windows. [GH-1337]
   679    * builder/virtualbox/all: Seed RNG to avoid same ports. [GH-1386]
   680    * builder/virtualbox/all: Better error if guest additions URL couldn't be
   681        detected. [GH-1439]
   682    * builder/virtualbox/all: Detect errors even when `VBoxManage` exits
   683        with a zero exit code. [GH-1119]
   684    * builder/virtualbox/iso: Append timestamp to default name for parallel
   685        builds. [GH-1365]
   686    * builder/vmware/all: No more error when Packer stops an already-stopped
   687        VM. [GH-1300]
   688    * builder/vmware/all: `ssh_host` accepts templates. [GH-1396]
   689    * builder/vmware/all: Don't remount floppy in VMX post step. [GH-1239]
   690    * builder/vmware/vmx: Do not re-add floppy disk files to VMX [GH-1361]
   691    * builder/vmware-iso: Fix crash when `vnc_port_min` and max were the
   692        same value. [GH-1288]
   693    * builder/vmware-iso: Finding an available VNC port on Windows works. [GH-1372]
   694    * builder/vmware-vmx: Nice error if Clone is not supported (not VMware
   695        Fusion Pro). [GH-787]
   696    * post-processor/vagrant: Can supply your own metadata.json. [GH-1143]
   697    * provisioner/ansible-local: Use proper path on Windows. [GH-1375]
   698    * provisioner/file: Mode will now be preserved. [GH-1064]
   699  
   700  ## 0.6.1 (July 20, 2014)
   701  
   702  FEATURES:
   703  
   704    * **New post processor:** `vagrant-cloud` - Push box files generated by
   705      vagrant post processor to Vagrant Cloud. [GH-1289]
   706    * Vagrant post-processor can now packer Hyper-V boxes.
   707  
   708  IMPROVEMENTS:
   709  
   710    * builder/amazon: Support for enhanced networking on HVM images. [GH-1228]
   711    * builder/amazon-ebs: Support encrypted EBS volumes [GH-1194]
   712    * builder/ansible: Add `playbook_dir` option. [GH-1000]
   713    * builder/openstack: Add ability to configure networks. [GH-1261]
   714    * builder/openstack: Skip certificate verification. [GH-1121]
   715    * builder/parallels/all: Add ability to select interface to connect to.
   716    * builder/parallels/pvm: Support `boot_command`. [GH-1082]
   717    * builder/virtualbox/all: Attempt to use local guest additions ISO
   718        before downloading from internet. [GH-1123]
   719    * builder/virtualbox/ovf: Supports `guest_additions_mode` [GH-1035]
   720    * builder/vmware/all: Increase cleanup timeout to 120 seconds [GH-1167]
   721    * builder/vmware/all: Add `vmx_data_post` for modifying VMX data
   722        after shutdown. [GH-1149]
   723    * builder/vmware/vmx: Supports tools uploading. [GH-1154]
   724  
   725  BUG FIXES:
   726  
   727    * core: `isotime` is the same time during the entire build. [GH-1153]
   728    * builder/amazon-common: Sort AMI strings before outputting [GH-1305]
   729    * builder/amazon: User data can use templates/variables. [GH-1343]
   730    * builder/amazon: Can now build AMIs in GovCloud.
   731    * builder/null: SSH info can use templates/variables. [GH-1343]
   732    * builder/openstack: Workaround for gophercloud.ServerById crashing [GH-1257]
   733    * builder/openstack: Force IPv4 addresses from address pools [GH-1258]
   734    * builder/parallels: Do not delete entire CDROM device. [GH-1115]
   735    * builder/parallels: Errors while creating floppy disk. [GH-1225]
   736    * builder/parallels: Errors while removing floppy drive. [GH-1226]
   737    * builder/virtualbox-ovf: Supports guest additions options. [GH-1120]
   738    * builder/vmware-iso: Fix esx5 path separator in windows. [GH-1316]
   739    * builder/vmware: Remote ESXi builder now uploads floppy. [GH-1106]
   740    * builder/vmware: Remote ESXi builder no longer re-uploads ISO every
   741        time. [GH-1244]
   742    * post-processor/vsphere: Accept DOMAIN\account usernames [GH-1178]
   743    * provisioner/chef-*: Fix remotePaths for Windows [GH-394]
   744  
   745  ## 0.6.0 (May 2, 2014)
   746  
   747  FEATURES:
   748  
   749    * **New builder:** `null` - The null builder does not produce any
   750      artifacts, but is useful for debugging provisioning scripts. [GH-970]
   751    * **New builder:** `parallels-iso` and `parallels-pvm` - These can be
   752      used to build Parallels virtual machines. [GH-1101]
   753    * **New provisioner:** `chef-client` - Provision using a the `chef-client`
   754      command, which talks to a Chef Server. [GH-855]
   755    * **New provisioner:** `puppet-server` - Provision using Puppet by
   756      communicating to a Puppet master. [GH-796]
   757    * `min_packer_version` can be specified in a Packer template to force
   758      a minimum version. [GH-487]
   759  
   760  IMPROVEMENTS:
   761  
   762    * core: RPC transport between plugins switched to MessagePack
   763    * core: Templates array values can now be comma separated strings.
   764        Most importantly, this allows for user variables to fill
   765        array configurations. [GH-950]
   766    * builder/amazon: Added `ssh_private_key_file` option [GH-971]
   767    * builder/amazon: Added `ami_virtualization_type` option [GH-1021]
   768    * builder/digitalocean: Regions, image names, and sizes can be
   769        names that are looked up for their valid ID. [GH-960]
   770    * builder/googlecompute: Configurable instance name. [GH-1065]
   771    * builder/openstack: Support for conventional OpenStack environmental
   772        variables such as `OS_USERNAME`, `OS_PASSWORD`, etc. [GH-768]
   773    * builder/openstack: Support `openstack_provider` option to automatically
   774        fill defaults for different OpenStack variants. [GH-912]
   775    * builder/openstack: Support security groups. [GH-848]
   776    * builder/qemu: User variable expansion in `ssh_key_path` [GH-918]
   777    * builder/qemu: Floppy disk files list can also include globs
   778        and directories. [GH-1086]
   779    * builder/virtualbox: Support an `export_opts` option which allows
   780        specifying arbitrary arguments when exporting the VM. [GH-945]
   781    * builder/virtualbox: Added `vboxmanage_post` option to run vboxmanage
   782        commands just before exporting [GH-664]
   783    * builder/virtualbox: Floppy disk files list can also include globs
   784        and directories. [GH-1086]
   785    * builder/vmware: Workstation 10 support for Linux. [GH-900]
   786    * builder/vmware: add cloning support on Windows [GH-824]
   787    * builder/vmware: Floppy disk files list can also include globs
   788        and directories. [GH-1086]
   789    * command/build: Added `-parallel` flag so you can disable parallelization
   790      with `-no-parallel`. [GH-924]
   791    * post-processors/vsphere: `disk_mode` option. [GH-778]
   792    * provisioner/ansible: Add `inventory_file` option [GH-1006]
   793    * provisioner/chef-client: Add `validation_client_name` option. [GH-1056]
   794  
   795  BUG FIXES:
   796  
   797    * core: Errors are properly shown when adding bad floppy files. [GH-1043]
   798    * core: Fix some URL parsing issues on Windows.
   799    * core: Create Cache directory only when it is needed. [GH-367]
   800    * builder/amazon-instance: Use S3Endpoint for ec2-upload-bundle arg,
   801        which works for every region. [GH-904]
   802    * builder/digitalocean: updated default image_id [GH-1032]
   803    * builder/googlecompute: Create persistent disk as boot disk via
   804        API v1 [GH-1001]
   805    * builder/openstack: Return proper error on invalid instance states [GH-1018]
   806    * builder/virtualbox-iso: Retry unregister a few times to deal with
   807        VBoxManage randomness. [GH-915]
   808    * provisioner/ansible: Fix paths when provisioning Linux from
   809        Windows [GH-963]
   810    * provisioner/ansible: set cwd to staging directory [GH-1016]
   811    * provisioners/chef-client: Don't chown directory with Ubuntu. [GH-939]
   812    * provisioners/chef-solo: Deeply nested JSON works properly. [GH-1076]
   813    * provisioners/shell: Env var values can have equal signs. [GH-1045]
   814    * provisioners/shell: chmod the uploaded script file to 0777. [GH-994]
   815    * post-processor/docker-push: Allow repositories with ports. [GH-923]
   816    * post-processor/vagrant: Create parent directories for `output` path [GH-1059]
   817    * post-processor/vsphere: datastore, network, and folder are no longer
   818        required. [GH-1091]
   819  
   820  ## 0.5.2 (02/21/2014)
   821  
   822  FEATURES:
   823  
   824  * **New post-processor:** `docker-import` - Import a Docker image
   825    and give it a specific repository/tag.
   826  * **New post-processor:** `docker-push` - Push an imported image to
   827    a registry.
   828  
   829  IMPROVEMENTS:
   830  
   831  * core: Most downloads made by Packer now use a custom user agent. [GH-803]
   832  * builder/googlecompute: SSH private key will be saved to disk if `-debug`
   833    is specified. [GH-867]
   834  * builder/qemu: Can specify the name of the qemu binary. [GH-854]
   835  * builder/virtualbox-ovf: Can specify import options such as "keepallmacs".
   836    [GH-883]
   837  
   838  BUG FIXES:
   839  
   840  * core: Fix crash case if blank parameters are given to Packer. [GH-832]
   841  * core: Fix crash if big file uploads are done. [GH-897]
   842  * core: Fix crash if machine-readable output is going to a closed
   843    pipe. [GH-875]
   844  * builder/docker: user variables work properly. [GH-777]
   845  * builder/qemu: reboots are now possible in provisioners. [GH-864]
   846  * builder/virtualbox,vmware: iso\_checksum is not required if the
   847    checksum type is "none"
   848  * builder/virtualbox,vmware/qemu: Support for additional scancodes for
   849    `boot_command` such as `<up>`, `<left>`, `<insert>`, etc. [GH-808]
   850  * communicator/ssh: Send TCP keep-alives on connections. [GH-872]
   851  * post-processor/vagrant: AWS/DigitalOcean keep input artifacts by
   852    default. [GH-55]
   853  * provisioners/ansible-local: Properly upload custom playbooks. [GH-829]
   854  * provisioners/ansible-local: Better error if ansible isn't installed.
   855    [GH-836]
   856  
   857  ## 0.5.1 (01/02/2014)
   858  
   859  BUG FIXES:
   860  
   861  * core: If a stream ID loops around, don't let it use stream ID 0 [GH-767]
   862  * core: Fix issue where large writes to plugins would result in stream
   863    corruption. [GH-727]
   864  * builders/virtualbox-ovf: `shutdown_timeout` config works. [GH-772]
   865  * builders/vmware-iso: Remote driver works properly again. [GH-773]
   866  
   867  ## 0.5.0 (12/30/2013)
   868  
   869  BACKWARDS INCOMPATIBILITIES:
   870  
   871  * "virtualbox" builder has been renamed to "virtualbox-iso". Running your
   872     template through `packer fix` will resolve this.
   873  * "vmware" builder has been renamed to "vmware-iso". Running your template
   874    through `packer fix` will resolve this.
   875  * post-processor/vagrant: Syntax for overriding by provider has changed.
   876    See the documentation for more information. Running your template
   877    through `packer fix` should resolve this.
   878  * post-processor/vsphere: Some available configuration options were
   879    changed. Running your template through `packer fix` should resolve
   880    this.
   881  * provisioner/puppet-masterless: The `execute_command` no longer has
   882    the `Has*` variables, since the templating language now supports
   883    comparison operations. See the Go documentation for more info:
   884    http://golang.org/pkg/text/template/
   885  
   886  FEATURES:
   887  
   888  * **New builder:** Google Compute Engine. You can now build images for
   889    use in Google Compute Engine. See the documentation for more information.
   890    [GH-715]
   891  * **New builder:** "virtualbox-ovf" can build VirtualBox images from
   892    an existing OVF or OVA. [GH-201]
   893  * **New builder:** "vmware-vmx" can build VMware images from an existing
   894    VMX. [GH-201]
   895  * Environmental variables can now be accessed as default values for
   896    user variables using the "env" function. See the documentation for more
   897    information.
   898  * "description" field in templates: write a human-readable description
   899    of what a template does. This will be shown in `packer inspect`.
   900  * Vagrant post-processor now accepts a list of files to include in the
   901    box.
   902  * All provisioners can now have a "pause\_before" parameter to wait
   903    some period of time before running that provisioner. This is useful
   904    for reboots. [GH-737]
   905  
   906  IMPROVEMENTS:
   907  
   908  * core: Plugins communicate over a single TCP connection per plugin now,
   909    instead of sometimes dozens. Performance around plugin communication
   910    dramatically increased.
   911  * core: Build names are now template processed so you can use things
   912    like user variables in them. [GH-744]
   913  * core: New "pwd" function available globally that returns the working
   914    directory. [GH-762]
   915  * builder/amazon/all: Launched EC2 instances now have a name of
   916    "Packer Builder" so that they are easily recognizable. [GH-642]
   917  * builder/amazon/all: Copying AMIs to multiple regions now happens
   918    in parallel. [GH-495]
   919  * builder/amazon/all: Ability to specify "run\_tags" to tag the instance
   920    while running. [GH-722]
   921  * builder/digitalocean: Private networking support. [GH-698]
   922  * builder/docker: A "run\_command" can be specified, configuring how
   923    the container is started. [GH-648]
   924  * builder/openstack: In debug mode, the generated SSH keypair is saved
   925    so you can SSH into the machine. [GH-746]
   926  * builder/qemu: Floppy files are supported. [GH-686]
   927  * builder/qemu: Next `run_once` option tells Qemu to run only once,
   928    which is useful for Windows installs that handle reboots for you.
   929    [GH-687]
   930  * builder/virtualbox: Nice errors if Packer can't write to
   931    the output directory.
   932  * builder/virtualbox: ISO is ejected prior to export.
   933  * builder/virtualbox: Checksum type can be "none" [GH-471]
   934  * builder/vmware: Can now specify path to the Fusion application. [GH-677]
   935  * builder/vmware: Checksum type can be "none" [GH-471]
   936  * provisioner/puppet-masterless: Can now specify a `manifest_dir` to
   937    upload manifests to the remote machine for imports. [GH-655]
   938  
   939  BUG FIXES:
   940  
   941  * core: No colored output in machine-readable output. [GH-684]
   942  * core: User variables can now be used for non-string fields. [GH-598]
   943  * core: Fix bad download paths if the download URL contained a "."
   944    before a "/" [GH-716]
   945  * core: "{{timestamp}}" values will always be the same for the entire
   946    duration of a build. [GH-744]
   947  * builder/amazon: Handle cases where security group isn't instantly
   948    available. [GH-494]
   949  * builder/virtualbox: don't download guest additions if disabled. [GH-731]
   950  * post-processor/vsphere: Uploads VM properly. [GH-694]
   951  * post-processor/vsphere: Process user variables.
   952  * provisioner/ansible-local: all configurations are processed as templates
   953    [GH-749]
   954  * provisioner/ansible-local: playbook paths are properly validated
   955    as directories, not files. [GH-710]
   956  * provisioner/chef-solo: Environments are recognized. [GH-726]
   957  
   958  ## 0.4.1 (December 7, 2013)
   959  
   960  IMPROVEMENTS:
   961  
   962  * builder/amazon/ebs: New option allows associating a public IP with
   963    non-default VPC instances. [GH-660]
   964  * builder/openstack: A "proxy\_url" setting was added to define an HTTP
   965    proxy to use when building with this builder. [GH-637]
   966  
   967  BUG FIXES:
   968  
   969  * core: Don't change background color on CLI anymore, making things look
   970    a tad nicer in some terminals.
   971  * core: multiple ISO URLs works properly in all builders. [GH-683]
   972  * builder/amazon/chroot: Block when obtaining file lock to allow
   973    parallel builds. [GH-689]
   974  * builder/amazon/instance: Add location flag to upload bundle command
   975    so that building AMIs works out of us-east-1 [GH-679]
   976  * builder/qemu: Qemu arguments are templated. [GH-688]
   977  * builder/vmware: Cleanup of VMX keys works properly so cd-rom won't
   978    get stuck with ISO. [GH-685]
   979  * builder/vmware: File cleanup is more resilient to file delete races
   980    with the operating system. [GH-675]
   981  * provisioner/puppet-masterless: Check for hiera config path existence
   982    properly. [GH-656]
   983  
   984  ## 0.4.0 (November 19, 2013)
   985  
   986  FEATURES:
   987  
   988  * Docker builder: build and export Docker containers, easily provisioned
   989    with any of the Packer built-in provisioners.
   990  * QEMU builder: builds a new VM compatible with KVM or Xen using QEMU.
   991  * Remote ESXi builder: builds a VMware VM using ESXi remotely using only
   992    SSH to an ESXi machine directly.
   993  * vSphere post-processor: Can upload VMware artifacts to vSphere
   994  * Vagrant post-processor can now make DigitalOcean provider boxes. [GH-504]
   995  
   996  IMPROVEMENTS:
   997  
   998  * builder/amazon/all: Can now specify a list of multiple security group
   999    IDs to apply. [GH-499]
  1000  * builder/amazon/all: AWS API requests are now retried when a temporary
  1001    network error occurs as well as 500 errors. [GH-559]
  1002  * builder/virtualbox: Use VBOX\_INSTALL\_PATH env var on Windows to find
  1003    VBoxManage. [GH-628]
  1004  * post-processor/vagrant: skips gzip compression when compression_level=0
  1005  * provisioner/chef-solo: Encrypted data bag support [GH-625]
  1006  
  1007  BUG FIXES:
  1008  
  1009  * builder/amazon/chroot: Copying empty directories works. [GH-588]
  1010  * builder/amazon/chroot: Chroot commands work with shell provisioners. [GH-581]
  1011  * builder/amazon/chroot: Don't choose a mount point that is a partition of
  1012    an already mounted device. [GH-635]
  1013  * builder/virtualbox: Ctrl-C interrupts during waiting for boot. [GH-618]
  1014  * builder/vmware: VMX modifications are now case-insensitive. [GH-608]
  1015  * builder/vmware: VMware Fusion won't ask for VM upgrade.
  1016  * builder/vmware: Ctrl-C interrupts during waiting for boot. [GH-618]
  1017  * provisioner/chef-solo: Output is slightly prettier and more informative.
  1018  
  1019  ## 0.3.11 (November 4, 2013)
  1020  
  1021  FEATURES:
  1022  
  1023  * builder/amazon/ebs: Ability to specify which availability zone to create
  1024    instance in. [GH-536]
  1025  
  1026  IMPROVEMENTS:
  1027  
  1028  * core: builders can now give warnings during validation. warnings won't
  1029    fail the build but may hint at potential future problems.
  1030  * builder/digitalocean: Can now specify a droplet name
  1031  * builder/virtualbox: Can now disable guest addition download entirely
  1032    by setting "guest_additions_mode" to "disable" [GH-580]
  1033  * builder/virtualbox,vmware: ISO urls can now be https [GH-587]
  1034  * builder/virtualbox,vmware: Warning if shutdown command is not specified,
  1035    since it is a common case of data loss.
  1036  
  1037  BUG FIXES:
  1038  
  1039  * core: Won't panic when writing to a bad pipe. [GH-560]
  1040  * builder/amazon/all: Properly scrub access key and secret key from logs.
  1041    [GH-554]
  1042  * builder/openstack: Properly scrub password from logs [GH-554]
  1043  * builder/virtualbox: No panic if SSH host port min/max is the same. [GH-594]
  1044  * builder/vmware: checks if `ifconfig` is in `/sbin` [GH-591]
  1045  * builder/vmware: Host IP lookup works for non-C locales. [GH-592]
  1046  * common/uuid: Use cryptographically secure PRNG when generating
  1047    UUIDs. [GH-552]
  1048  * communicator/ssh: File uploads that exceed the size of memory no longer
  1049    cause crashes. [GH-561]
  1050  
  1051  ## 0.3.10 (October 20, 2013)
  1052  
  1053  FEATURES:
  1054  
  1055  * Ansible provisioner
  1056  
  1057  IMPROVEMENTS:
  1058  
  1059  * post-processor/vagrant: support instance-store AMIs built by Packer. [GH-502]
  1060  * post-processor/vagrant: can now specify compression level to use
  1061    when creating the box. [GH-506]
  1062  
  1063  BUG FIXES:
  1064  
  1065  * builder/all: timeout waiting for SSH connection is a failure. [GH-491]
  1066  * builder/amazon: Scrub sensitive data from the logs. [GH-521]
  1067  * builder/amazon: Handle the situation where an EC2 instance might not
  1068    be immediately available. [GH-522]
  1069  * builder/amazon/chroot: Files copied into the chroot remove destination
  1070    before copy, fixing issues with dangling symlinks. [GH-500]
  1071  * builder/digitalocean: don't panic if erroneous API response doesn't
  1072    contain error message. [GH-492]
  1073  * builder/digitalocean: scrub API keys from config debug output [GH-516]
  1074  * builder/virtualbox: error if VirtualBox version cant be detected. [GH-488]
  1075  * builder/virtualbox: detect if vboxdrv isn't properly setup. [GH-488]
  1076  * builder/virtualbox: sleep a bit before export to ensure the sesssion
  1077    is unlocked. [GH-512]
  1078  * builder/virtualbox: create SATA drives properly on VirtualBox 4.3 [GH-547]
  1079  * builder/virtualbox: support user templates in SSH key path. [GH-539]
  1080  * builder/vmware: support user templates in SSH key path. [GH-539]
  1081  * communicator/ssh: Fix issue where a panic could arise from a nil
  1082    dereference. [GH-525]
  1083  * post-processor/vagrant: Fix issue with VirtualBox OVA. [GH-548]
  1084  * provisioner/salt: Move salt states to correct remote directory. [GH-513]
  1085  * provisioner/shell: Won't block on certain scripts on Windows anymore.
  1086    [GH-507]
  1087  
  1088  ## 0.3.9 (October 2, 2013)
  1089  
  1090  FEATURES:
  1091  
  1092  * The Amazon chroot builder is now able to run without any `sudo` privileges
  1093    by using the "command_wrapper" configuration. [GH-430]
  1094  * Chef provisioner supports environments. [GH-483]
  1095  
  1096  BUG FIXES:
  1097  
  1098  * core: default user variable values don't need to be strings. [GH-456]
  1099  * builder/amazon-chroot: Fix errors with waitin for state change. [GH-459]
  1100  * builder/digitalocean: Use proper error message JSON key (DO API change).
  1101  * communicator/ssh: SCP uploads now work properly when directories
  1102    contain symlinks. [GH-449]
  1103  * provisioner/chef-solo: Data bags and roles path are now properly
  1104    populated when set. [GH-470]
  1105  * provisioner/shell: Windows line endings are actually properly changed
  1106    to Unix line endings. [GH-477]
  1107  
  1108  ## 0.3.8 (September 22, 2013)
  1109  
  1110  FEATURES:
  1111  
  1112  * core: You can now specify `only` and `except` configurations on any
  1113    provisioner or post-processor to specify a list of builds that they
  1114    are valid for. [GH-438]
  1115  * builders/virtualbox: Guest additions can be attached rather than uploaded,
  1116    easier to handle for Windows guests. [GH-405]
  1117  * provisioner/chef-solo: Ability to specify a custom Chef configuration
  1118    template.
  1119  * provisioner/chef-solo: Roles and data bags support. [GH-348]
  1120  
  1121  IMPROVEMENTS:
  1122  
  1123  * core: User variables can now be used for integer, boolean, etc.
  1124    values. [GH-418]
  1125  * core: Plugins made with incompatible versions will no longer load.
  1126  * builder/amazon/all: Interrupts work while waiting for AMI to be ready.
  1127  * provisioner/shell: Script line-endings are automatically converted to
  1128    Unix-style line-endings. Can be disabled by setting "binary" to "true".
  1129    [GH-277]
  1130  
  1131  BUG FIXES:
  1132  
  1133  * core: Set TCP KeepAlives on internally created RPC connections so that
  1134    they don't die. [GH-416]
  1135  * builder/amazon/all: While waiting for AMI, will detect "failed" state.
  1136  * builder/amazon/all: Waiting for state will detect if the resource (AMI,
  1137    instance, etc.) disappears from under it.
  1138  * builder/amazon/instance: Exclude only contents of /tmp, not /tmp
  1139    itself. [GH-437]
  1140  * builder/amazon/instance: Make AccessKey/SecretKey available to bundle
  1141    command even when they come from the environment. [GH-434]
  1142  * builder/virtualbox: F1-F12 and delete scancodes now work. [GH-425]
  1143  * post-processor/vagrant: Override configurations properly work. [GH-426]
  1144  * provisioner/puppet-masterless: Fix failure case when both facter vars
  1145    are used and prevent_sudo. [GH-415]
  1146  * provisioner/puppet-masterless: User variables now work properly in
  1147    manifest file and hiera path. [GH-448]
  1148  
  1149  ## 0.3.7 (September 9, 2013)
  1150  
  1151  BACKWARDS INCOMPATIBILITIES:
  1152  
  1153  * The "event_delay" option for the DigitalOcean builder is now gone.
  1154    The builder automatically waits for events to go away. Run your templates
  1155    through `packer fix` to get rid of these.
  1156  
  1157  FEATURES:
  1158  
  1159  * **NEW PROVISIONER:** `puppet-masterless`. You can now provision with
  1160    a masterless Puppet setup. [GH-234]
  1161  * New globally available template function: `uuid`. Generates a new random
  1162    UUID.
  1163  * New globally available template function: `isotime`. Generates the
  1164    current time in ISO standard format.
  1165  * New Amazon template function: `clean_ami_name`. Substitutes '-' for
  1166    characters that are illegal to use in an AMI name.
  1167  
  1168  IMPROVEMENTS:
  1169  
  1170  * builder/amazon/all: Ability to specify the format of the temporary
  1171    keypair created. [GH-389]
  1172  * builder/amazon/all: Support the NoDevice flag for block mappings. [GH-396]
  1173  * builder/digitalocean: Retry on any pending event errors.
  1174  * builder/openstack: Can now specify a project. [GH-382]
  1175  * builder/virtualbox: Can now attach hard drive over SATA. [GH-391]
  1176  * provisioner/file: Can now upload directories. [GH-251]
  1177  
  1178  BUG FIXES:
  1179  
  1180  * core: Detect if SCP is not enabled on the other side. [GH-386]
  1181  * builder/amazon/all: When copying AMI to multiple regions, copy
  1182    the metadata (tags and attributes) as well. [GH-388]
  1183  * builder/amazon/all: Fix panic case where eventually consistent
  1184    instance state caused an index out of bounds.
  1185  * builder/virtualbox: The `vm_name` setting now properly sets the OVF
  1186    name of the output. [GH-401]
  1187  * builder/vmware: Autoanswer VMware dialogs. [GH-393]
  1188  * command/inspect: Fix weird output for default values for optional vars.
  1189  
  1190  ## 0.3.6 (September 2, 2013)
  1191  
  1192  FEATURES:
  1193  
  1194  * User variables can now be specified as "required", meaning the user
  1195    MUST specify a value. Just set the default value to "null". [GH-374]
  1196  
  1197  IMPROVEMENTS:
  1198  
  1199  * core: Much improved interrupt handling. For example, interrupts now
  1200    cancel much more quickly within provisioners.
  1201  * builder/amazon: In `-debug` mode, the keypair used will be saved to
  1202    the current directory so you can access the machine. [GH-373]
  1203  * builder/amazon: In `-debug` mode, the DNS is outputted.
  1204  * builder/openstack: IPv6 addresses supported for SSH. [GH-379]
  1205  * communicator/ssh: Support for private keys encrypted using PKCS8. [GH-376]
  1206  * provisioner/chef-solo: You can now use user variables in the `json`
  1207    configuration for Chef. [GH-362]
  1208  
  1209  BUG FIXES:
  1210  
  1211  * core: Concurrent map access is completely gone, fixing rare issues
  1212    with runtime memory corruption. [GH-307]
  1213  * core: Fix possible panic when ctrl-C during provisioner run.
  1214  * builder/digitalocean: Retry destroy a few times because DO sometimes
  1215    gives false errors.
  1216  * builder/openstack: Properly handle the case no image is made. [GH-375]
  1217  * builder/openstack: Specifying a region is now required in a template.
  1218  * provisioners/salt-masterless: Use filepath join to properly join paths.
  1219  
  1220  ## 0.3.5 (August 28, 2013)
  1221  
  1222  FEATURES:
  1223  
  1224  * **NEW BUILDER:** `openstack`. You can now build on OpenStack. [GH-155]
  1225  * **NEW PROVISIONER:** `chef-solo`. You can now provision with Chef
  1226    using `chef-solo` from local cookbooks.
  1227  * builder/amazon: Copy AMI to multiple regions with `ami_regions`. [GH-322]
  1228  * builder/virtualbox,vmware: Can now use SSH keys as an auth mechanism for
  1229    SSH using `ssh_key_path`. [GH-70]
  1230  * builder/virtualbox,vmware: Support SHA512 as a checksum type. [GH-356]
  1231  * builder/vmware: The root hard drive type can now be specified with
  1232    "disk_type_id" for advanced users. [GH-328]
  1233  * provisioner/salt-masterless: Ability to specfy a minion config. [GH-264]
  1234  * provisioner/salt-masterless: Ability to upload pillars. [GH-353]
  1235  
  1236  IMPROVEMENTS:
  1237  
  1238  * core: Output message when Ctrl-C received that we're cleaning up. [GH-338]
  1239  * builder/amazon: Tagging now works with all amazon builder types.
  1240  * builder/vmware: Option `ssh_skip_request_pty` for not requesting a PTY
  1241    for the SSH connection. [GH-270]
  1242  * builder/vmware: Specify a `vmx_template_path` in order to customize
  1243    the generated VMX. [GH-270]
  1244  * command/build: Machine-readable output now contains build errors, if any.
  1245  * command/build: An "end" sentinel is outputted in machine-readable output
  1246    for artifact listing so it is easier to know when it is over.
  1247  
  1248  BUG FIXES:
  1249  
  1250  * core: Fixed a couple cases where a double ctrl-C could panic.
  1251  * core: Template validation fails if an override is specified for a
  1252    non-existent builder. [GH-336]
  1253  * core: The SSH connection is heartbeated so that drops can be
  1254    detected. [GH-200]
  1255  * builder/amazon/instance: Remove check for ec2-ami-tools because it
  1256    didn't allow absolute paths to work properly. [GH-330]
  1257  * builder/digitalocean: Send a soft shutdown request so that files
  1258    are properly synced before shutdown. [GH-332]
  1259  * command/build,command/validate: If a non-existent build is specified to
  1260    '-only' or '-except', it is now an error. [GH-326]
  1261  * post-processor/vagrant: Setting OutputPath with a timestamp now
  1262    always works properly. [GH-324]
  1263  * post-processor/vagrant: VirtualBox OVA formats now turn into
  1264    Vagrant boxes properly. [GH-331]
  1265  * provisioner/shell: Retry upload if start command fails, making reboot
  1266    handling much more robust.
  1267  
  1268  ## 0.3.4 (August 21, 2013)
  1269  
  1270  IMPROVEMENTS:
  1271  
  1272  * post-processor/vagrant: the file being compressed will be shown
  1273    in the UI [GH-314]
  1274  
  1275  BUG FIXES:
  1276  
  1277  * core: Avoid panics when double-interrupting Packer.
  1278  * provisioner/shell: Retry shell script uploads, making reboots more
  1279    robust if they happen to fail in this stage. [GH-282]
  1280  
  1281  ## 0.3.3 (August 19, 2013)
  1282  
  1283  FEATURES:
  1284  
  1285  * builder/virtualbox: support exporting in OVA format. [GH-309]
  1286  
  1287  IMPROVEMENTS:
  1288  
  1289  * core: All HTTP downloads across Packer now support the standard
  1290    proxy environmental variables (`HTTP_PROXY`, `NO_PROXY`, etc.) [GH-252]
  1291  * builder/amazon: API requests will use HTTP proxy if specified by
  1292    enviromental variables.
  1293  * builder/digitalocean: API requests will use HTTP proxy if specified
  1294    by environmental variables.
  1295  
  1296  BUG FIXES:
  1297  
  1298  * core: TCP connection between plugin processes will keep-alive. [GH-312]
  1299  * core: No more "unused key keep_input_artifact" for post processors [GH-310]
  1300  * post-processor/vagrant: `output_path` templates now work again.
  1301  
  1302  ## 0.3.2 (August 18, 2013)
  1303  
  1304  FEATURES:
  1305  
  1306  * New command: `packer inspect`. This command tells you the components of
  1307    a template. It respects the `-machine-readable` flag as well so you can
  1308    parse out components of a template.
  1309  * Packer will detect its own crashes (always a bug) and save a "crash.log"
  1310    file.
  1311  * builder/virtualbox: You may now specify multiple URLs for an ISO
  1312    using "iso_url" in a template. The URLs will be tried in order.
  1313  * builder/vmware: You may now specify multiple URLs for an ISO
  1314    using "iso_url" in a template. The URLs will be tried in order.
  1315  
  1316  IMPROVEMENTS:
  1317  
  1318  * core: built with Go 1.1.2
  1319  * core: packer help output now loads much faster.
  1320  * builder/virtualbox: guest_additions_url can now use the `Version`
  1321    variable to get the VirtualBox version. [GH-272]
  1322  * builder/virtualbox: Do not check for VirtualBox as part of template
  1323    validation; only check at execution.
  1324  * builder/vmware: Do not check for VMware as part of template validation;
  1325    only check at execution.
  1326  * command/build: A path of "-" will read the template from stdin.
  1327  * builder/amazon: add block device mappings [GH-90]
  1328  
  1329  BUG FIXES:
  1330  
  1331  * windows: file URLs are easier to get right as Packer
  1332    has better parsing and error handling for Windows file paths. [GH-284]
  1333  * builder/amazon/all: Modifying more than one AMI attribute type no longer
  1334    crashes.
  1335  * builder/amazon-instance: send IAM instance profile data. [GH-294]
  1336  * builder/digitalocean: API request parameters are properly URL
  1337    encoded. [GH-281]
  1338  * builder/virtualbox: dowload progress won't be shown until download
  1339    actually starts. [GH-288]
  1340  * builder/virtualbox: floppy files names of 13 characters are now properly
  1341    written to the FAT12 filesystem. [GH-285]
  1342  * builder/vmware: dowload progress won't be shown until download
  1343    actually starts. [GH-288]
  1344  * builder/vmware: interrupt works while typing commands over VNC.
  1345  * builder/virtualbox: floppy files names of 13 characters are now properly
  1346    written to the FAT12 filesystem. [GH-285]
  1347  * post-processor/vagrant: Process user variables. [GH-295]
  1348  
  1349  ## 0.3.1 (August 12, 2013)
  1350  
  1351  IMPROVEMENTS:
  1352  
  1353  * provisioner/shell: New setting `start_retry_timeout` which is the timeout
  1354    for the provisioner to attempt to _start_ the remote process. This allows
  1355    the shell provisioner to work properly with reboots. [GH-260]
  1356  
  1357  BUG FIXES:
  1358  
  1359  * core: Remote command output containing '\r' now looks much better
  1360    within the Packer output.
  1361  * builder/vmware: Fix issue with finding driver files. [GH-279]
  1362  * provisioner/salt-masterless: Uploads work properly from Windows. [GH-276]
  1363  
  1364  ## 0.3.0 (August 12, 2013)
  1365  
  1366  BACKWARDS INCOMPATIBILITIES:
  1367  
  1368  * All `{{.CreateTime}}` variables within templates (such as for AMI names)
  1369    are now replaced with `{{timestamp}}`. Run `packer fix` to fix your
  1370    templates.
  1371  
  1372  FEATURES:
  1373  
  1374  * **User Variables** allow you to specify variables within your templates
  1375    that can be replaced using the command-line, files, or environmental
  1376    variables. This dramatically improves the portability of packer templates.
  1377    See the documentation for more information.
  1378  * **Machine-readable output** can be enabled by passing the
  1379    `-machine-readable` flag to _any_ Packer command.
  1380  * All strings in a template are now processed for variables/functions,
  1381    so things like `{{timestamp}}` can be used everywhere. More features will
  1382    be added in the future.
  1383  * The `amazon` builders (all of them) can now have attributes of their
  1384    resulting AMIs modified, such as access permissions and product codes.
  1385  
  1386  IMPROVEMENTS:
  1387  
  1388  * builder/amazon/all: User data can be passed to start the instances. [GH-253]
  1389  * provisioner/salt-masterless: `local_state_tree` is no longer required,
  1390    allowing you to use shell provisioner (or others) to bring this down.
  1391    [GH-269]
  1392  
  1393  BUG FIXES:
  1394  
  1395  * builder/amazon/ebs,instance: Retry deleing security group a few times.
  1396    [GH-278]
  1397  * builder/vmware: Workstation works on Windows XP now. [GH-238]
  1398  * builder/vmware: Look for files on Windows in multiple locations
  1399    using multiple environmental variables. [GH-263]
  1400  * provisioner/salt-masterless: states aren't deleted after the run
  1401    anymore. [GH-265]
  1402  * provisioner/salt-masterless: error if any commands exit with a non-zero
  1403    exit status. [GH-266]
  1404  
  1405  ## 0.2.3 (August 7, 2013)
  1406  
  1407  IMPROVEMENTS:
  1408  
  1409  * builder/amazon/all: Added Amazon AMI tag support [GH-233]
  1410  
  1411  BUG FIXES:
  1412  
  1413  * core: Absolute/relative filepaths on Windows now work for iso_url
  1414    and other settings. [GH-240]
  1415  * builder/amazon/all: instance info is refreshed while waiting for SSH,
  1416    allowing Packer to see updated IP/DNS info. [GH-243]
  1417  
  1418  ## 0.2.2 (August 1, 2013)
  1419  
  1420  FEATURES:
  1421  
  1422  * New builder: `amazon-chroot` can create EBS-backed AMIs without launching
  1423    a new EC2 instance. This can shave minutes off of the AMI creation process.
  1424    See the docs for more info.
  1425  * New provisioner: `salt-masterless` will provision the node using Salt
  1426    without a master.
  1427  * The `vmware` builder now works with Workstation 9 on Windows. [GH-222]
  1428  * The `vmware` builder now works with Player 5 on Linux. [GH-190]
  1429  
  1430  IMPROVEMENTS:
  1431  
  1432  * core: Colors won't be outputted on Windows unless in Cygwin.
  1433  * builder/amazon/all: Added `iam_instance_profile` to launch the source
  1434    image with a given IAM profile. [GH-226]
  1435  
  1436  BUG FIXES:
  1437  
  1438  * builder/virtualbox,vmware: relative paths work properly as URL
  1439    configurations. [GH-215]
  1440  * builder/virtualbox,vmware: fix race condition in deleting the output
  1441    directory on Windows by retrying.
  1442  
  1443  ## 0.2.1 (July 26, 2013)
  1444  
  1445  FEATURES:
  1446  
  1447  * New builder: `amazon-instance` can create instance-storage backed
  1448    AMIs.
  1449  * VMware builder now works with Workstation 9 on Linux.
  1450  
  1451  IMPROVEMENTS:
  1452  
  1453  * builder/amazon/all: Ctrl-C while waiting for state change works
  1454  * builder/amazon/ebs: Can now launch instances into a VPC for added protection [GH-210]
  1455  * builder/virtualbox,vmware: Add backspace, delete, and F1-F12 keys to the boot
  1456    command.
  1457  * builder/virtualbox: massive performance improvements with big ISO files because
  1458    an expensive copy is avoided. [GH-202]
  1459  * builder/vmware: CD is removed prior to exporting final machine. [GH-198]
  1460  
  1461  BUG FIXES:
  1462  
  1463  * builder/amazon/all: Gracefully handle when AMI appears to not exist
  1464    while AWS state is propogating. [GH-207]
  1465  * builder/virtualbox: Trim carriage returns for Windows to properly
  1466    detect VM state on Windows. [GH-218]
  1467  * core: build names no longer cause invalid config errors. [GH-197]
  1468  * command/build: If any builds fail, exit with non-zero exit status.
  1469  * communicator/ssh: SCP exit codes are tested and errors are reported. [GH-195]
  1470  * communicator/ssh: Properly change slash direction for Windows hosts. [GH-218]
  1471  
  1472  ## 0.2.0 (July 16, 2013)
  1473  
  1474  BACKWARDS INCOMPATIBILITIES:
  1475  
  1476  * "iso_md5" in the virtualbox and vmware builders is replaced with
  1477    "iso_checksum" and "iso_checksum_type" (with the latter set to "md5").
  1478    See the announce below on `packer fix` to automatically fix your templates.
  1479  
  1480  FEATURES:
  1481  
  1482  * **NEW COMMAND:** `packer fix` will attempt to fix templates from older
  1483    versions of Packer that are now broken due to backwards incompatibilities.
  1484    This command will fix the backwards incompatibilities introduced in this
  1485    version.
  1486  * Amazon EBS builder can now optionally use a pre-made security group
  1487    instead of randomly generating one.
  1488  * DigitalOcean API key and client IDs can now be passed in as
  1489    environmental variables. See the documentatin for more details.
  1490  * VirtualBox and VMware can now have `floppy_files` specified to attach
  1491    floppy disks when booting. This allows for unattended Windows installs.
  1492  * `packer build` has a new `-force` flag that forces the removal of
  1493    existing artifacts if they exist. [GH-173]
  1494  * You can now log to a file (instead of just stderr) by setting the
  1495    `PACKER_LOG_FILE` environmental variable. [GH-168]
  1496  * Checksums other than MD5 can now be used. SHA1 and SHA256 can also
  1497    be used. See the documentation on `iso_checksum_type` for more info. [GH-175]
  1498  
  1499  IMPROVEMENTS:
  1500  
  1501  * core: invalid keys in configuration are now considered validation
  1502    errors. [GH-104]
  1503  * core: all builders now share a common SSH connection core, improving
  1504    SSH reliability over all the builders.
  1505  * amazon-ebs: Credentials will come from IAM role if available. [GH-160]
  1506  * amazon-ebs: Verify the source AMI is EBS-backed before launching. [GH-169]
  1507  * shell provisioner: the build name and builder type are available in
  1508    the `PACKER_BUILD_NAME` and `PACKER_BUILDER_TYPE` env vars by default,
  1509    respectively. [GH-154]
  1510  * vmware: error if shutdown command has non-zero exit status.
  1511  
  1512  BUG FIXES:
  1513  
  1514  * core: UI messages are now properly prefixed with spaces again.
  1515  * core: If SSH connection ends, re-connection attempts will take
  1516    place. [GH-152]
  1517  * virtualbox: "paused" doesn't mean the VM is stopped, improving
  1518    shutdown detection.
  1519  * vmware: error if guest IP could not be detected. [GH-189]
  1520  
  1521  ## 0.1.5 (July 7, 2013)
  1522  
  1523  FEATURES:
  1524  
  1525  * "file" uploader will upload files from the machine running Packer to the
  1526    remote machine.
  1527  * VirtualBox guest additions URL and checksum can now be specified, allowing
  1528    the VirtualBox builder to have the ability to be used completely offline.
  1529  
  1530  IMPROVEMENTS:
  1531  
  1532  * core: If SCP is not available, a more descriptive error message
  1533    is shown telling the user. [GH-127]
  1534  * shell: Scripts are now executed by default according to their shebang,
  1535    not with `/bin/sh`. [GH-105]
  1536  * shell: You can specify what interpreter you want inline scripts to
  1537    run with `inline_shebang`.
  1538  * virtualbox: Delete the packer-made SSH port forwarding prior to
  1539    exporting the VM.
  1540  
  1541  BUG FIXES:
  1542  
  1543  * core: Non-200 response codes on downloads now show proper errors.
  1544    [GH-141]
  1545  * amazon-ebs: SSH handshake is retried. [GH-130]
  1546  * vagrant: The `BuildName` template propery works properly in
  1547    the output path.
  1548  * vagrant: Properly configure the provider-specific post-processors so
  1549    things like `vagrantfile_template` work. [GH-129]
  1550  * vagrant: Close filehandles when copying files so Windows can
  1551    rename files. [GH-100]
  1552  
  1553  ## 0.1.4 (July 2, 2013)
  1554  
  1555  FEATURES:
  1556  
  1557  * virtualbox: Can now be built headless with the "Headless" option. [GH-99]
  1558  * virtualbox: <wait5> and <wait10> codes for waiting 5 and 10 seconds
  1559    during the boot sequence, respectively. [GH-97]
  1560  * vmware: Can now be built headless with the "Headless" option. [GH-99]
  1561  * vmware: <wait5> and <wait10> codes for waiting 5 and 10 seconds
  1562    during the boot sequence, respectively. [GH-97]
  1563  * vmware: Disks are defragmented and compacted at the end of the build.
  1564    This can be disabled using "skip_compaction"
  1565  
  1566  IMPROVEMENTS:
  1567  
  1568  * core: Template syntax errors now show line and character number. [GH-56]
  1569  * amazon-ebs: Access key and secret access key default to
  1570    environmental variables. [GH-40]
  1571  * virtualbox: Send password for keyboard-interactive auth [GH-121]
  1572  * vmware: Send password for keyboard-interactive auth [GH-121]
  1573  
  1574  BUG FIXES:
  1575  
  1576  * vmware: Wait until shut down cleans up properly to avoid corrupt
  1577    disk files [GH-111]
  1578  
  1579  ## 0.1.3 (July 1, 2013)
  1580  
  1581  FEATURES:
  1582  
  1583  * The VMware builder can now upload the VMware tools for you into
  1584    the VM. This is opt-in, you must specify the `tools_upload_flavor`
  1585    option. See the website for more documentation.
  1586  
  1587  IMPROVEMENTS:
  1588  
  1589  * digitalocean: Errors contain human-friendly error messages. [GH-85]
  1590  
  1591  BUG FIXES:
  1592  
  1593  * core: More plugin server fixes that avoid hangs on OS X 10.7 [GH-87]
  1594  * vagrant: AWS boxes will keep the AMI artifact around [GH-55]
  1595  * virtualbox: More robust version parsing for uploading guest additions. [GH-69]
  1596  * virtualbox: Output dir and VM name defaults depend on build name,
  1597    avoiding collisions. [GH-91]
  1598  * vmware: Output dir and VM name defaults depend on build name,
  1599    avoiding collisions. [GH-91]
  1600  
  1601  ## 0.1.2 (June 29, 2013)
  1602  
  1603  IMPROVEMENTS:
  1604  
  1605  * core: Template doesn't validate if there are no builders.
  1606  * vmware: Delete any VMware files in the VM that aren't necessary for
  1607    it to function.
  1608  
  1609  BUG FIXES:
  1610  
  1611  * core: Plugin servers consider a port in use if there is any
  1612    error listening to it. This fixes I18n issues and Windows. [GH-58]
  1613  * amazon-ebs: Sleep between checking instance state to avoid
  1614    RequestLimitExceeded [GH-50]
  1615  * vagrant: Rename VirtualBox ovf to "box.ovf" [GH-64]
  1616  * vagrant: VMware boxes have the correct provider type.
  1617  * vmware: Properly populate files in artifact so that the Vagrant
  1618    post-processor works. [GH-63]
  1619  
  1620  ## 0.1.1 (June 28, 2013)
  1621  
  1622  BUG FIXES:
  1623  
  1624  * core: plugins listen explicitly on 127.0.0.1, fixing odd hangs. [GH-37]
  1625  * core: fix race condition on verifying checksum of large ISOs which
  1626    could cause panics [GH-52]
  1627  * virtualbox: `boot_wait` defaults to "10s" rather than 0. [GH-44]
  1628  * virtualbox: if `http_port_min` and max are the same, it will no longer
  1629    panic [GH-53]
  1630  * vmware: `boot_wait` defaults to "10s" rather than 0. [GH-44]
  1631  * vmware: if `http_port_min` and max are the same, it will no longer
  1632    panic [GH-53]
  1633  
  1634  ## 0.1.0 (June 28, 2013)
  1635  
  1636  * Initial release