github.com/emate/packer@v0.8.1-0.20150625195101-fe0fde195dc6/CHANGELOG.md (about)

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