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