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