Packer 1.11.0 Released

Hello, Packer community,

The Packer team is excited to announce the official release of Packer 1.11.0. This release is a continued effort to improve the management of external plugins started in Packer 1.7. We recommend users refer to the release notes and the Upgrade to v1.11 guide before testing the latest release against your production environment.

This release changes the workflows for managing and loading Packer plugins, which may affect your workflows. Users leveraging packer init for managing plugins will experience little to no change. For users relying on a manual installation process or working exclusively with legacy JSON templates, your plugin installation process may require changes before you can run a build with Packer 1.11.0.

If you are a plugin maintainer supporting one or more Packer plugins, we recommend visiting the Packer plugin scaffolding README for the new process of installing and testing development binaries.

As always, you can refer to the Packer CHANGELOG for a list of changes.

Notable Changes:

  • Packer will now only load plugins stored under PACKER_PLUGIN_PATH using the expected namespace directory and CHECKSUM files. This change drops support for loading plugin binaries in Packer’s executable directory or a template’s current working directory.

  • 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” with the Packer required_plugins block.

  • Packer source address URIs have been relaxed within the required_plugins block to support version pinning for non-GitHub source addresses (e.g. mycompany.com/plugins/org/happycloud).

  • Packer will now error on remote installation using packer init or packer plugins installed for non-GitHub source URIs. Users using alternative hosts must install plugins manually using packer plugins install --path.

Breaking Changes:

  • Support for loading legacy single-component plugins, such as packer-builder-happycloud or packer-provsioner-happycloud, has been removed from Packer.

  • Support for loading plugin binaries following the naming convention of packer-plugin-<name> installed within the root of the Packer plugin directory has been removed.

  • Support for loading plugins from the current working directory or sitting alongside the Packer executable has been removed.

  • Remote plugin releases 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. The commands packer init and packer plugin install have been updated to reject the installation of such plugins. Users are encouraged to notify plugin maintainers of such version mismatches.

Please refer to our Blog post for more information on the plugin management changes introduced in Packer 1.11 and what they mean for you.

We are excited about the release, as we believe it will provide a consistent set of workflows for working with external plugins and open the door for future plugin work.

If you run into an issue, we would like to hear from you on the Packer issue tracker.