Hello Packer Community,
The Packer team is excited to announce the release of Packer 1.8.0.
This release contains new features for working with external plugins and some notable enhancements for HCL2 support. Please note that there are some current and upcoming backward-incompatibilities associated with this release, so it's worth reading this email.
Packer Plugins Command
In Packer 1.7.0 the packer init command was introduced as part of enabling the plugin community. That command worked exclusively with HCL2 templates for automatically installing plugins defined within Packer's required_plugin block. In 1.8.0 we are thrilled to announce the packer plugins command, which is dedicated to the management of external plugins. The new command will allow users to install, list, and remove external plugins from their system without relying on a build template.
For example, running packer plugins install github.com/hashicorp/ansible v1.0.1 will automatically download and install version 1.0.1 of the Ansible provisioner plugin and make it available to use with Packer. Full documentation for the command can be found here.
Packer Plugin Check Command (Breaking Change)
In 1.7.0 the packer-plugins-check command was added to Packer to assist in verifying a plugin against the plugin SDK. This command worked well but would sometimes fail because of a dependency in Packer core that had nothing to do with the command itself. In 1.8.0 the packer-plugins-check command was removed from Packer core, and replaced by the packer-sdc plugin-check command for verifying a plugin against the plugin SDK. Plugin maintainers who may be using the packer-plugin-check as part of their release pipeline are encouraged to move to the packer-sdc command. As an alternative, maintainers can continue to use the packer-plugin-check command by pinning the version to 1.7.10.
Packer Binary Releases
Packer has been updated to use a new release pipeline that brings forward a consistent set of tools used by HashiCorp products. Included with the 1.8.0 release users will find the following added binaries.
Docker images for all supported architectures that the linux binaries are built for including arm, arm64, 386, and amd64
Linux packages for all supported linux architectures including arm, arm64, 386, and amd64
The Docker image hashicorp/packer:full has been deprecated with the 1.8.0 release. Please use hashicorp/packer:latest instead.
Notable Bug Fixes and Enhancements
HCL2 Variables: A data loss issue when merging an empty-object map to a non-empty map variable has been resolved. See GH-11551
DNS Resolution on macOS: Packer darwin binaries now use the macOS system DNS resolver for resolving hostnames. See GH-9710
HCP Packer Build Labels: An issue causing HCP Packer build_labels to be duplicated across all images created from a multi-build template has been resolved.
Env Provisioner Argument: An env argument has been added to provisioner blocks for setting a map of key/value pairs to inject prior to the execute_command. The env argument is an alternative to using environment_vars for setting environment variables, which has the added ability to read from Packer datasources. See Shell, Powershell for more details.
For a full list of changes please take a look at the changelog for more details about other updates bundled into this release.
The Packer team