github.com/jbronn/packer@v0.1.6-0.20140120165540-8a1364dbd817/CHANGELOG.md (about)

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