Skip to content

Releases: hashicorp/packer

v1.9.3

17 Aug 16:42
Compare
Choose a tag to compare

1.9.3 (August 17, 2023)

NOTES:

  • New Docker Image: As part of the bundled plugin removal effort, a new
    Docker target called release-full has been added to the Packer release
    artifacts. The release-full image includes Packer and all the official
    plugins pre-installed in its environment. This image is being offered as an
    alternative option for those users who may still be relying on the plugin
    versions bundled into the Packer binary.
    GH-12532

IMPROVEMENTS:

  • core/docs: Clarify the expected usage of the packer init command for HCL2
    template builds.GH-12535
  • core/hcp: Add support for project-level service principals. A user connecting
    with a project level service principals must provide a valid HCP_PROJECT_ID
    in order to connect.
    GH-12520
    GH-12576
  • core: A new Docker image packer:release-full has been added for all
    supported architectures. The release-full image includes Packer and all the
    official plugins pre-installed in its environment.
    GH-12532
  • core: Add enhanced support to Packer telemetry for bundle plugins usage.
    GH-12536

BUG FIXES:

  • core: Bump golang.org/x/net to v0.13.0 to address CVE GO-2023-1988. Packer
    itself is not vulnerable to the CVE as we don't render web pages, but
    security checks do point it as an issue that needs to be addressed.
    GH-12561
  • core: Fix custom plugin loading in current working directory regression.
    GH-12544

v1.9.2

19 Jul 21:03
Compare
Choose a tag to compare

1.9.2 (July 19, 2023)

NOTES:

  • Vendored plugins within Packer have not been updated. Plugin releases occur on
    a regular basis to address issues and feature requests.
    Please note that in an upcoming version of Packer, we will remove the last
    bundled plugins from Packer.
    Users are encouraged to use packer init for HCL2 templates or
    packer plugins install with legacy JSON templates for installing external
    plugins.

  • Packer will now warn when using bundled plugins. This feature will be removed in
    a future version of the tool, so this warning is meant to bring awareness of the
    upcoming change, and to help users update their environment/templates to be
    ready for this.
    GH-12495

BUG FIXES:

  • Fixed a bug with how Packer was discovering plugins: in order to load
    plugins, Packer would recursively scan all the known directories in which
    we could have installed plugins. This caused unnecessary directory
    walks and slowdowns upon invocation. Packer will now only check
    for nested plugins within the directories used by commands such as packer init, or packer plugins install, or as defined in PACKER_PLUGIN_PATH.
    Refer to
    Packer's plugin directory documentation
    for details on how loading works.
    GH-12414

  • The packer init subcommand now bundles all the missing installed plugins into one
    condensed warning, as opposed to one warning per missing plugin.
    GH-12506

PLUGINS:

  • packer-plugin-parallels: The Parallels plugin has been handed over to the Parallels
    team. New releases for this plugin are available at
    https://github.com/parallels/packer-plugin-parallels. This plugin is is no longer
    being bundled in the Packer binary release. Existing references to the
    plugin will continue to work but users are advised to update the
    required_plugins block to use the new plugin source address.
    GH-12476
     required_plugins {
       parallels = {
         source  =  "github.com/parallels/parallels"
         version =  "~> 1"
        }
    }
    

IMPROVEMENTS:

  • The hcl2_upgrade subcommand will now add required_plugins to the template
    generated from JSON for all our officially supported plugins.
    GH-12504

v1.9.1

01 Jun 20:48
Compare
Choose a tag to compare

1.9.1 (June 1, 2023)

BUG FIXES:

  • On May 16th 2023, HCP introduced multi-project support to the platform.
    In order to use multiple projects in your organization, you will need to update Packer
    to version 1.9.1 or above. Starting with 1.9.1, you may specify a project ID to push
    builds to with the HCP_PROJECT_ID environment variable. If no project ID is specified,
    Packer will pick the project with the oldest creation date. Older versions of Packer are
    incompatible with multi-project support on HCP, and builds will fail for HCP
    organizations with multiple projects on versions before 1.9.1.
    GH-12453

v1.9.0

31 May 17:03
Compare
Choose a tag to compare

1.9.0 (May 31, 2023)

NOTES:

  • Breaking Change: Iteration fingerprints used to be computed from the Git SHA of the
    repository where the template is located when running packer build. This
    changes with this release, and now fingerprints are automatically generated
    as a ULID. This implies that continuing an existing iteration will require
    users to define the fingerprint in the environment manually in order to
    adopt this behaviour, otherwise, by default, a new iteration will be
    created. This does not impact workflows where the fingerprint was defined
    through the HCP_PACKER_ITERATION_FINGERPRINT environment variable, and
    these builds will work exactly as they did before.
    GH-12172

  • Breaking Change: Community-maintained plugins bundled with the Packer binary have been removed.
    These external plugin components are released independently of Packer core and can be installed
    directly by the user. Users relying on the external plugin components listed below should refer
    to the packer plugins sub-command and, if using HCL2, a required_plugins block to define a
    list of plugins for building a template.

PLUGINS

Users relying on these external plugin components should refer to the packer plugins sub-command and,
if using HCL2, a required_plugins block to define a list of plugins to use for building a template.

IMPROVEMENTS:

  • core/hcp: Now, fingerprints used by HCP Packer are randomly generated ULIDs
    instead of a Git SHA, and a new one is always generated, unless one is
    specified in the environment.
    GH-12172

BUG FIXES:

  • Fix LDFLAGS for release pipelines: Between Packer 1.8.5 and Packer 1.8.7, changes
    to the LDFLAGS in use for building the binaries for Packer had mistakenly
    removed some compilation flags, leading to the final binaries not being stripped.
    This change raised the size of the built binaries by as much as 45%.
    In this release, we fixed the LDFLAGS during compilation, yielding leaner binaries.

  • Bumped gopsutil to v3. This fixes a macOS intermittent crash reported by the community
    GH-12430

v1.8.7

04 May 23:31
Compare
Choose a tag to compare

1.8.7 (May 4, 2023)

Warning
The version/version.go file tagged in this release refers to 1.8.6. If you are building Packer from source
please make sure to set the version information using ldflags at build time.

LD_FLAGS="-X github.com/hashicorp/packer/version.Version=1.8.7 -X github.com/hashicorp/packer/version.VersionPrerelease="
go build -o "$BIN_PATH"  --ldflags=$LD_FLAGS

NOTES:

  • Vendored plugins within Packer have not been updated. Plugin releases occur on
    a regular basis to address issues and feature requests. Users are encouraged
    to use packer init for HCL2 templates or packer plugins install with
    legacy JSON templates for installing external plugins.

  • packer-plugin-digitalocean: The Digital Ocean Packer plugin has been handed
    over to the Digital Ocean team. New releases for this plugin are available
    at https://github.com/digitalocean/packer-plugin-digitalocean.

     required_plugins {
     	digitalocean = {
     	 source =  "github.com/digitalocean/digitalocean"
     	 version = ">=1.1.1"
     	}
     }
    
  • packer-plugin-linode: The Linode plugin has been handed over to the Linode
    team. New releases for this plugin are available at
    https://github.com/linode/packer-plugin-linode. This plugin is is no longer
    being bundled in the Packer binary release. Existing references to the
    plugin will continue to work but users are advised to update the
    required_plugins block to use the new plugin source address.
    GH-12329

     required_plugins {
       linode = {
         source  =  "github.com/linode/linode"
         version = ">=1.0.5"
        }
    }
    
  • packer-plugin-ucloud: The UCloud plugin has been handed over to the UCloud
    team. New releases for this plugin are available at
    https://github.com/ucloud/packer-plugin-ucloud. This plugin is is no longer
    being bundled in the Packer binary release. Existing references to the
    plugin will continue to work but users are advised to update the
    required_plugins block to use the new plugin source address.
    GH-12335

     required_plugins {
        ucloud = {
         source  =  "github.com/ucloud/ucloud"
         version = ">=1.0.8"
        }
    }
    
  • packer-plugin-profitbricks: The Profitbricks plugin has been removed as a
    bundled plugin in Packer. New releases for this plugin are available at
    https://github.com/hashicorp/packer-plugin-profitbricks. This plugin is is
    no longer being bundled in the Packer binary release. Existing references
    to the plugin will continue to work but users are advised to update the
    required_plugins block to use the new plugin source address.
    GH-12385

     required_plugins {
        ucloud = {
         source  =  "github.com/hashicorp/profitbricks"
         version = ">=1.0.2"
        }
    }
    

PLUGINS

  • core: Migrate external Linode plugin to linode/packer-plugin-linode.
    GH-12329
  • core: Migrate external UCloud plugin to ucloud/packer-plugin-ucloud.
    GH-12335
  • core: Remove external plugin for Digital Ocean as a vendored plugin.
    GH-12376
  • core: Remove external plugins for Profitbricks and 1&1 as vendored plugins.
    GH-12385
  • docs: Add HCP Ready label to Oracle builder components.
    GH-12217

IMPROVEMENTS

  • cmd/console: Add config-type flag to command help.
    GH-12360
  • core: Add enhanced support to Packer telemetry for HCL2.
    GH-12319
  • Enhance zsh completion for the Packer command.
    GH-12356,
    GH-12366

BUG FIXES

  • cmd/hcl2_upgrade: Fix a crash when running the hcl2_upgrade command against a
    legacy JSON template containing user variables with an undefined variables
    block. GH-12257
  • core: Bump github.com/hashicorp/hcp-sdk-go to 0.36.0.
    GH-12292
  • core: Bump github.com/hashicorp/packer-plugin-sdk to 0.4.0 to address
    CVE-2023-0475, CVE-2022-41723.
    GH-12306
  • core: Bump Go module version to 1.20
    GH-12380
  • core: Fix regression introduced in 1.8.6, where legacy JSON templates with
    custom builder names are outputted to STDOUT as uninterpolated user
    variables. GH-12290

v1.8.6

15 Feb 20:44
Compare
Choose a tag to compare

1.8.6 (February 15, 2023)

NOTES:

  • core: Users will see some changes in how names are displayed during a Packer
    build for JSON templates. Previously only the builder type or the builder
    name, if it was set, would be displayed. Now for named builders
    ("name":"mybuilder") the builder's type and name will be displayed (i.e
    ".mybuilder". This does not impact the behavior of options such as
    only or except, they will continue to work as they did before.)

IMPROVEMENTS:

  • Bump bundled plugins to latest available version.
    GH-12271
  • bump github.com/hashicorp/hcp-sdk-go from 0.28.0 to 0.29.0
    GH-12163
  • Bump github.com/hashicorp/hcp-sdk-go from 0.33.0 to 0.34.0
    GH-12262
  • core/hcl2: Packer will no longer warn on excluded post-processors when using
    -only/exlude filters for running select builds.
    GH-12187

BUG FIXES:

  • cmd/hcl2_upgrade: Fix crash when variables block is undefined.
    GH-12250
  • core/hcl2: Templates with build blocks referencing an unknown source block
    would display an empty string for the template filename at line 0, which
    made it difficult to identify the broken build block. Packer has been
    updated to display the proper filename and line number where the unknown
    reference resides.
    GH-12167
  • core: Linux packages now have vendor label and set the default label to
    HashiCorp. This fix is implemented for any future releases, but will not be
    updated for historical releases.

v1.9.0-alpha

09 Feb 23:43
Compare
Choose a tag to compare
v1.9.0-alpha Pre-release
Pre-release
Bump for 1.9.0-alpha release

v1.8.5

12 Dec 23:02
Compare
Choose a tag to compare

1.8.5 (December 12, 2022)

NOTES:

  • data/packer-image-iteration has been removed. This was an undocumented and
    unusable data source that was built for experimentation but not released. It
    should not affect users in any way but is being mentioned for visibility
    purposes.
    GH-12111

FEATURES:

  • core: Metadata for capturing template types such as JSON or HCL2 has been added to the
    HCP Packer registry metadata. Upon running a packer build the type of
    template used during execution will be sent along to the registry as
    additional build metadata.GH-12132

PLUGINS:

The following external plugins have been updated and pinned to address open
issues. Please see their respective changelogs for details on plugin
specific bug fixes and improvements.

IMPROVEMENTS:

  • cmd/hcl2_upgrade: Generate variable block for all referenced user input
    variables. GH-12136
  • cmd/validate: Add support for the -evaluate-datasources flag to evaluate
    the data sources from a template during validation time.
    GH-12106
    GH-12152
  • core/hcl2: Variable definition files containing undeclared variables within
    an HCL2 template will no longer warn during build execution. Warnings will
    be displayed to a user during template validation, which can be disabled by
    passing the -no-warn-undeclared-var flag to the validate command.
    GH-12104
    GH-12109
  • core: Docker images have been updated to include the xorriso package for
    supporting the creation of ISO files.GH-12081
  • core: Split HCP Packer publishing components into a separate internal-only
    module. GH-11
    GH-12116

BUG FIXES:

  • cmd/init: The init command will try to fallback to the next available version
    for a plugin, if the most recent version is not available or has a missing
    checksum file. This should prevent Packer from trying to install versions
    that have a GitHub tag but no actual assets.
    GH-12103
  • cmd/plugins: The plugins install sub-command will try to fallback to the
    next available version for a plugin, if the most recent version is not
    available or has a missing checksum file. This should prevent Packer from
    trying to install versions that have a GitHub tag but no actual assets.
    GH-12103
  • core: Bump Go version to 1.18.9 to address vulnerability GO-2022-1144, which
    concerns the net/http and golang.org/x/net
    packages.GH-12153
    GH-12158
  • core: Fix the registration of deleted input artifacts in HCP Packer when
    setting keep_input_artifacts to
    false.GH-11462
  • core: Using different template types when building a HCP Packer
    image iteration will now trigger a runtime build error due to the
    mixing of template types.
    GH-12132

v1.8.4

28 Oct 15:47
Compare
Choose a tag to compare

1.8.4 (October 28 2022)

NOTES:

  • Packer user documentation has been moved to the new HashiCorp developer
    documentation portal. The main Packer site (https://www.packer.io) will
    continue to be the home for Packer but all requests for general
    documentation and binary downloads will be redirected to
    https://developer.hashicorp.com/packer. Users are encouraged to visit the
    developer documentation portal for access to all Packer related
    documentation; including integrations with HCP Packer.

  • The Oracle builder and post-processor are no longer vendored with Packer
    core. Users of the Oracle plugin should use packer init to install the
    latest version of the plugin. See the Oracle Plugin
    Documentation
    for more
    information. GH-11983

  • HCP Packer environment variables: The behaviour of some HCP Packer-specific
    environment variables has changed slightly. Refer to HCP Packer
    in the Packer documentation for a full list of HCP Packer environment variables. GH-12059

    • For JSON templates, the HCP_PACKER_REGISTRY environment variable was
      previously required to enable the HCP Packer integration. In this release,
      the environment variable is now optional, and can be used for disabling the
      publishing of metadata for any HCP Packer enabled configuration template.
    • For HCL2 templates, the HCP_PACKER_REGISTRY environment variable can be used
      to disable publishing to a HCP Packer registry even if the template defines a
      hcp_packer_registry block. This can be useful for testing that a template
      works as intended prior to pushing metadata to HCP Packer.
    • The HCP_PACKER_BUCKET_NAME environment variable is now the only
      requirement to push metadata to a HCP Packer registry, in both JSON
      and HCL2 templates without a hcp_packer_registry block.

FEATURES:

  • provisioner/powershell: Add use_pwsh configuration argument to support pwsh
    in powershell provisioner. GH-11950

PLUGINS:

  • builder/oracle: Remove Oracle plugin from the list of vendored
    plugins. GH-11983

IMPROVEMENTS:

  • command/hcl2_upgrade: Has been updated to persist all possible template
    engine options that were supported by the legacy JSON templates. While the
    upgrade command copies the template engine options as is support for the
    template options may not actually work with HCL2 templates; indicated by an
    error similar to fieldname type <no value> is invalid. Before executing a
    build with the upgraded template you are encouraged to run packer validate
    against the template and fix any invalid <no value> references.
    GH-12068
  • core/hcl2: Packer will now report an error when executing a build with no
    sources selected for execution.
    GH-12016
  • core/hcp: Configuration errors for HCP Packer enabled builds have been
    consolidated into a single report to help users address all potential
    issues before retrying their build.
    GH-12031
  • core/hcp: Named builds within a legacy JSON template are now published to a
    HCP Packer registry using its full build name (e.g happycloud.windows-srv-2019),
    as opposed to just the build name field (e.g "name"="windows-srv-2019").
    Builders with no defined name will continue to publish build
    metadate using the builder type as the build name (e.g happycloud).
    GH-12059
  • core:hcl2: When a variable is set in a variables definitions file (i.e
    *.pkrvars.hcl), but isn't defined with the template files (i.e
    *.pkr.hcl), the outputted error message will now include an example of
    variable block that can be added to the build template to remedy the issue.
    GH-12020
  • core: Add ppc64le to binary releases for Linux.
    GH-11966
  • core: Bump github.com/hashicorp/packer-plugin-sdk from 0.3.1 to 0.3.2.
    GH-11981
  • core: Bump supported Go version to 1.18.
    GH-11927

BUG FIXES:

  • command/hcl2_upgrade: special case: Azure shared_image_gallery fix.
    GH-12087
  • core: Bump golang.org/x/sys to address CVE-2022-29526.
    GH-11953
  • core: Bump golang.org/x/text to v0.3.8.
    GH-12047
  • core: Update dependency to resolve GO-2022-0969.
    GH-12009

v1.8.3

02 Aug 18:44
Compare
Choose a tag to compare

1.8.3 (August 2, 2022)

NOTES:

  • There's been a change in the way the ssh_timeout and the
    ssh_handshake_attempts configuration arguments work together. The
    behaviour is unchanged if both or none are specified. However, if only one
    of the two is set the other won't have a default value anymore and will be
    ignored. See Packer Plugin SDK change for details

  • packer-plugin-digitalocean: The Digital Ocean Packer plugin has been handed over
    to the Digital Ocean team. New releases for this plugin are available at
    https://github.com/digitalocean/packer-plugin-digitalocean. This plugin is
    still being bundled in the Packer binary but will be removed in a future
    release. Existing references to the plugin will continue to work but
    users are advised to update the required_plugins block to use the new
    plugin source address.
    GH-11912

required_plugins {
    digitalocean = {
     source =  "github.com/digitalocean/digitalocean"
     version = ">=1.0.8"
    }
}
  • packer-plugin-outscale: The Outscale Packer plugin managed by the Outscale
    team, since Packer 1.7.9, has been removed from the Packer binary. Users are
    advised to install the latest version of the plugin by running
    packer plugins install github.com/outscale/outscale. GH-11912

  • packer-plugin-outscale: The Scaleway Packer plugin managed by the Scaleway
    team, since Packer 1.7.7, has been removed from the Packer binary. Users are
    advised to install the latest version of the plugin by running
    packer plugins install github.com/scaleway/scaleway. GH-11912

FEATURES:

  • Future Scaffolding: This release contains additional changes that allow
    Packer core to validate that a newly built image is a direct child of a HCP
    Packer registry source image. This feature is only available for HCP Packer
    enabled builds using the hcp_packer_image and hcp_packer_iteration data
    source for setting a builder's source image.
    GH-11861

PLUGINS:

The following external plugins have been updated and pinned to address open
issues. Please see their respective changelogs for details on plugin
specific bug fixes and improvements.

IMPROVEMENTS:

  • Bump packer-plugin-sdk to v0.3.1 to fix inconsistencies between ssh_timeout
    and ssh_handshake_attempts configuration arguments in the SSH
    communicator. GH-11909
  • core: During long running builds the HCP Packer registry will mark a build as
    timed out if it has not posted an update after a certain number of minutes. For HCP
    Packer enabled builds a status update will now be sent every 2 minutes to
    the registry to prevent long builds from being marked as timed
    out. GH-11846
  • data/hcp_packer_image: Add component_type configuration argument to
    support specifying an exact build image when multiple images exist in the
    same provider and region for a given HCP Packer bucket iteration.
    GH-11872
  • data/hcp_packer_image: Add support for channel as input argument to
    retrieve an image from the associated iteration. If
    using several images from a single iteration, you may prefer sourcing an
    iteration first, and referencing it for subsequent uses, as every
    hcp_packer_image with the channel set will generate a potentially
    billable HCP Packer request, but if several hcp_packer_images use a
    shared hcp_packer_iteration that will only generate one potentially
    billable request.
    GH-11865

BUG FIXES

  • core/hcl2: Fix crash when parsing malformed provisioner override blocks.
    GH-11881
  • core/hcl2: Fix crash when running packer validate on templates containing
    one or more HCP Packer data sources.
    GH-11883