Skip to content

Releases: hashicorp/packer

nightly

10 Mar 00:30
Compare
Choose a tag to compare
nightly Pre-release
Pre-release

Nightly releases are snapshots of the development activity on the Packer project that may include new features and bug fixes scheduled for upcoming releases. These releases are made available to make it easier for users to test their existing build configurations against the latest Packer code base for potential issues or to experiment with new features, with a chance to provide feedback on ways to improve the changes before being released.

As these releases are snapshots of the latest code, you may encounter an issue compared to the latest stable release. Users are encouraged to run nightly releases in a non production environment. If you encounter an issue, please check our issue tracker to see if the issue has already been reported; if a report hasn't been made, please report it so we can review the issue and make any needed fixes.

Note: Nightly releases are only available via GitHub Releases, and artifacts are not codesigned or notarized. Distribution via other Release Channels such as the Releases Site or Homebrew is not yet supported.

v1.11.0

31 May 18:59
097c3a4
Compare
Choose a tag to compare

1.11.0 (2024-05-31)

NOTES:

  • A LICENSE.txt file has been added to the Packer release artifacts.
    GH-12931
    GH-12940

  • Breaking Change: Support for loading single-component plugins has been removed from Packer. GH-12785

  • Breaking Change: Support for loading plugin binaries following
    the naming convention of packer-plugin-name has been dropped. Packer will now only load
    plugins stored under the Packer plugin directory using the expected namespaced
    directory and CHECKSUM files. This change drops support for loading plugin
    binaries in Packer's executable directory or a template's current working
    directory. GH-12828

/Users/dev/.packer.d/plugins
└── github.com
    └── hashicorp
        └── happycloud
            ├── packer-plugin-happycloud_v0.0.1_x5.0_darwin_arm64
            └── packer-plugin-happycloud_v0.0.1_x5.0_darwin_arm64_SHA256SUM

FEATURES:

  • core: Add -ignore-prerelease-plugins flag to disable the use of development
    plugin binaries for the build and validate commands development plugin
    binaries. GH-12828
    GH-12882
  • Packer users can now track Packer version and plugin versions used for each
    build artifact in HCP Packer.
    GH-12866
  • hcl2: add textencodebase64 and textdecodebase64 funcs
    For feature parity with Terraform, and since having access to strings
    encoded in something that is not UTF-8 is required in some cases, we add
    both the textencodebase64 and textdecodebase64 functions to HCL2 templates.
    Please note these functions return base64 encoded byte slices because of how
    cty/hcl defines strings (NFC normalised, UTF-8 encoded).
    GH-12997

SECURITY:

IMPROVEMENTS:

  • core: Bump github.com/hashicorp/hcp-sdk-go from 0.90.0 to 0.96.0.
    GH-12935
    GH-12942
    GH-12960
    GH-12979
  • core: Bump github.com/hashicorp/packer-plugin-sdk from 0.5.2 to 0.5.3
    GH-12932
  • core: Bump go-getter/v2 from 2.2.1 to v2.2.2
    GH-12988
  • datasource/http: don't error on 2xx code
    Previous versions of Packer only supported 200 as a success case for the http
    datasource. This change makes any status code from 200 to 299 successful.
    GH-12989
  • core: Move to predictable plugin loading schema - Packer will now only load
    plugins stored under the Packer plugin directory using the expected namespaced
    directory and CHECKSUM files.
    GH-12828
  • core: Remove support loading single-component plugins.
    GH-12785
  • core: Rename internal packer plugin command to packer execute to avoid user confusion with
    the plugins subcommand.
    GH-12865
  • core: Packer now considers development binaries when evaluating plugin
    version constraints. This work allows users to use binaries with versions
    reported as "x.y.z-dev" to be used with the Packer required_plugins
    block. GH-12828
  • core: Packer now supports local paths to plugins for the packer plugins remove
    command. This addition makes it possible to pipe commands like
    packer plugins installed with it for speedy cleanup of installed plugins.
    GH-12886
  • core: Relax Packer source address URIs within the required_plugins block to
    support the installation of local plugin binary using a custom or internal
    source address (e.g. mycompany.com/plugins/happyorg/happycloud). Remote
    installation using packer init or packer plugins install does not
    support non-GitHub source URIs. Users using alternative hosts must
    install plugins manually using packer plugins install --path.
    GH-12911, [GH-12962] (#12962)
  • core: Remote plugins installed containing an internal version number that
    differs from the version number within the binary name can lead to
    confusion when tracking Packer plugin version information. To help track
    such discrepancies in the plugin version, packer init and packer plugin install have been updated to reject installation of such plugins.
    1.0.0-dev). Users are encouraged to notify plugin maintainers of any
    version mismatches.
    GH-12915, GH-12953, GH-12972
  • core: don't load plugins with metadata in name
    To avoid confusion with multiple plugins that report the same effective version,
    plugins installed need to have no metadata in their name.
    When installed through Packer commands, the metadata is scrubbed from the name of the
    installed plugin binary, but manually it may still be possible, so we enforce
    that scrubbing at load-time as well.
    GH-12980
  • core: Error when multiple paths are specified for PACKER_PLUGIN_PATH
    Since Packer 1.11 removed the capability for PACKER_PLUGIN_PATH to specify
    multiple directories separated by : or ; (depending on the platform), we
    are explicitly erroring when this is discovered, with suggestions as to how
    to fix the problem.
    GH-12967
  • core: Version metadata support for plugins. Plugins may now formally have metadata
    in their versions, Packer supports it, and applies the semver recommendations on
    them, i.e. they are ignored for comparison/sorting purposes, but allowed for
    adding extra information about a plugin.
    GH-12888

Given the specified version constraint only versions greater than or equal to 1.1.0 will be considered.

amazon = {
  source = "github.com/hashicorp/amazon"
  version = ">= 1.1.0"
}

If a development binary is installed, Packer will use it if:

  1. It is the highest compatible version installed.
  2. There is no final plugin version with the same version number installed alongside it.
/Users/dev/.packer.d/plugins
└─ github.com
   └─ hashicorp
    	└── amazon
          ├── packer-plugin-amazon_v1.1.0_x5.0_darwin_arm64
          ├── packer-plugin-amazon_v1.1.0_x5.0_darwin_arm64_SHA256SUM
          ├── packer-plugin-amazon_v1.1.1-dev_x5.0_darwin_arm64
          └── packer-plugin-amazon_v1.1.1-dev_x5.0_darwin_arm64_SHA256SUM

Version 1.1.1-dev of the Amazon plugin will match the specified version constraint and be used for executing the Packer build.

If, however, a 1.1.1 release version of the plugin is available, it will have precedence over the development binary.

/Users/dev/.packer.d/plugins
└─ github.com
   └─ hashicorp
    	└── amazon
          ├── packer-plugin-amazon_v1.1.1-dev_x5.0_darwin_arm64
          ├── packer-plugin-amazon_v1.1.1-dev_x5.0_darwin_arm64_SHA256SUM
          ├── packer-plugin-amazon_v1.1.1_x5.0_darwin_arm64
          └── packer-plugin-amazon_v1.1.1_x5.0_darwin_arm64_SHA256SUM

BUG FIXES:

  • core: fix plugin version ordering to not be lexicographic. This fixes an issue
    with how plugins are discovered by Packer, and ensures proper version ordering.
    This means that with this change, versions that are semantically greater,
    but lexicographically inferior will be loaded.
    Ex: 1.0.9 vs. 1.0.10; 1.0.9 > 1.0.10 lexicographically, but semantically
    1.0.10 > 1.0.9
  • core/hcp: fix potential race condition when storing plugin details to the HCP
    Packer metadata storage map.
    GH-12936
  • core: fix plugin listing on Windows
    This fix addresses bugs present in the alpha releases of 1.11, where
    the discovery of Windows binaries were not matching against the
    filename extension (.exe).
    GH-12981

v1.11.0-beta

v1.11.0-beta Pre-release
Pre-release
version: tag version as 1.11.0-beta

v1.10.3

22 Apr 19:13
Compare
Choose a tag to compare

1.10.3 (April 22, 2024)

NOTES

  • A LICENSE.txt file has been added to the Packer release artifacts.
    12981

FEATURES

SECURITY

BUG FIXES

  • cmd/fmt: Display information error when Packer fmt fails due to HCL2
    parsing error. GH-12870

v1.11.0-alpha2

v1.11.0-alpha2 Pre-release
Pre-release
version: bump to v1.11.0-alpha2

v1.11.0-alpha

v1.11.0-alpha Pre-release
Pre-release
Bump github.com/go-jose/go-jose/v3 to address CVE-2024-28180

v1.10.2

06 Mar 20:15
a33082a
Compare
Choose a tag to compare

1.10.2 (March 6, 2024)

NOTES:

  • Continuing the work in in Packer v1.10.0 we introduced the ability to install
    a locally sourced plugin using packer plugins install --path, this
    release extends support to development plugin binaries - binaries that
    report "dev" as part of their plugin version. Instead of manually placing a
    downloaded binary into the executable or current working directory we
    encourage you to run the command packer plugins install –path <path-to- downloaded-extracted-binary> github.com/hashicorp/happycloud to install
    the binary into a Packer compatible path.
    GH-12855

IMPROVEMENTS:

  • cmd/plugins: Add support for installing local development binaries to packer plugins install.
    GH-12855
  • core: Validate bucket name when using hcp_packer_registry block.
    GH-12820
  • core: Update github.com/hashicorp/hcp-sdk-go from 0.83.0 to 0.85.0.
    GH-12850
    GH-12827

BUG FIXES:

  • core/hcp: HCP Packer build failures properly distinguish between incompatible
    plugins and general publishing errors.
    GH-12854
    GH-12835

v1.10.1

30 Jan 14:13
Compare
Choose a tag to compare

1.10.1 (January 30, 2024)

NOTES:

  • HCP Packer has been updated to follow an artifact-agnostic approach for
    publishing and consuming built artifacts. To best support the new approach, HCP Packer components within Packer have
    been updated to use the v2 nomenclature when publishing build metadata to
    HCP Packer. These changes include data source components for consuming HCP
    Packer stored artifacts. The data source components hcp-packer-version
    and hcp-packer-artifact respectively replace, the now deprecated,
    hcp-packer-iteration
    and hcp-packer-image
    component data sources. The added changes are compatible with all existing HCP Packer workflows and do not warrant any
    immediate template changes by the user. However, we encourage all HCP Packer users to visit the updated
    HCP Packer CHANGELOG to familiarize themselves with the nomenclature changes.
    GH-12794 GH-12799
  • The hcp-packer-image data source has been deprecated, please use HCP Packer
    Artifact data source instead.
    GH-12794
  • The hcp-packer-iteration data source has been deprecated, please use HCP
    Packer Version data source instead.
    GH-12794
  • The contextual variable packer.iterationID has been deprecated, please use
    the new contextual variable packer.versionFingerprint. The iterationID
    represents the HCP Packer iteration that build metadata has been publish
    to, with this release an Iteration is now referred to as a Version and the
    ID has been replaced by the Version Fingerprint.
    GH-12803

FEATURES:

  • New Data source hcp-packer-artifact The HCP Packer Artifact Data Source
    retrieves information about an artifact from the HCP Packer Registry.
    GH-12794
  • New Data source hcp-packer-version The HCP Packer Version Data Source
    retrieves information about HCP Packer Version from the HCP Packer.
    Registry. GH-12794

SECURITY:

IMPROVEMENTS:

  • core: Bump github.com/hashicorp/hcp-sdk-go from 0.79.0 to 0.81.0
    GH-12792
    GH-12764
  • core: Update error messaging for HCP incompatible plugin builds.
    GH-12800
  • core: Update HCP Packer integration to use HCP Packer v2 nomenclature, with
    this change HCP Packer iterations are now referred to as Versions, and
    Images are now referred to as Artifacts. The data sources for interacting
    with HCP Packer have been respectively renamed to align with the terminology
    of Version and Artifact.
    GH-12794
    GH-12799
  • core: Update spacing for flags within Help text.
    GH-12742
    GH-12743

v1.10.0

05 Dec 21:11
Compare
Choose a tag to compare

1.10.0 (December 5, 2023)

NOTES:

This release contains breaking changes for practitioner relying on plugins
previously bundled into Packer. As specified in the Bundled Plugins Removal announcement
HashiCorp maintained plugins will no longer be shipped with Packer.
Users are encouraged to use packer init or packer plugins [...] when managing required plugins
needed for executing their builds.
GH-12660

The affected plugins include:

SECURITY:

  • Bump github.com/go-jose/go-jose/v3 to address GO-2023-2334. There have been
    no reported issues with Packer but we are bumping given that it is a
    secondary
    dependency. GH-12723
  • Bump Go to 1.20.10 to Address CVE-2023-44487 / CVE-2023-39325.
    GH-12661
  • Bump Go to 1.20.11 CVE-2023-45283. There have been no reported issues with
    Packer but we are bumping given its usage of the path/filepath pkg.
    GH-12690
  • Bump Packer Plugin SDK to v0.5.2.
    GH-12717

PLUGINS:

  • Removed all HashiCorp vendored plugins from being bundled into the Packer binary.
    GH-12660, GH-12720
  • packer-plugin-hcloud: The Hetzner Cloud plugin has been handed over to the
    Hetzner integrations team. New releases for this plugin are available at
    https://github.com/hetznercloud/packer-plugin-hcloud. 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.
    required_plugins {
       parallels = {
         source  =  "github.com/hetznercloud/hcloud"
         version =  "~> 1"
       }
    }
    

IMPROVEMENTS:

  • cmd/init: Warn users running packer init on configuration templates with a
    missing required_plugins blocks.
    GH-12638
  • cmd/plugins: Add --path flag to packer plugins install subcommand to
    support installation of plugins from a local binary rather than from
    GitHub. GH-12643
  • cmd/plugins: Install SHA256SUM file with 0644 perms.
    GH-12665
  • cmd/plugins: Remove SHA256SUM file on plugin removal.
    GH-12666
  • cmd/plugins: Remove will error if it fails to find the plugin being selected
    for removal. GH-12669
  • core/hcl2: Remove empty source file reference on unset variable errors.
    GH-12712
  • core/hcl: Improve the recursive execution of data sources with other data
    source dependencies.
    GH-12608
  • core: Bump github.com/hashicorp/hcp-sdk-go from 0.73.0 to 0.74.0 -
    GH-12704
  • core: Bump Packer Plugin SDK to v0.5.2.
    GH-12717
  • core: Provide integration link as hint in error message if a plugin component
    is unknown. GH-12705
  • core: Update version output for packer -v and packer --version to match
    packer version.
    GH-12569
  • docs: Update plugin installation guides with supported methods for 1.10.0 and
    above. GH-12713

BUG FIXES:

  • cmd/plugins: Update packer plugin installed to show all installed plugin
    binaries, including any duplicate versions or binaries copied from a
    different source URI.
    GH-12731

v1.9.5

04 Dec 22:53
Compare
Choose a tag to compare

1.9.5 (December 4, 2023)

SECURITY

  • Bump github.com/go-jose/go-jose/v3 to address GO-2023-2334.
    GH-12723

BUG FIXES:

  • Add VirtualBox as known plugin prefix to prevent endless bundled plugin warning.
    GH-12719