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