Changes to the Packer Plugin SDK v0.5.1

Hello plugin developers,

The latest release of the Packer plugin SDK v0.5.1 contains a fix for the incompatibility with zclconf/go-cty v1.11.0 and above. The fix is not a breaking change but will require manual intervention to your plugin to resolve the issue. For details on how to upgrade to v0.5.1 please refer to the Upgrade Notes within the release CHANGELOG.

To avoid introducing a major breaking change to the plugin API, we’ve created a temporary fork of zclconf/go-cty containing support for gob encoding to use in place of the upstream go-cty package. We are asking consumers of the Packer plugin SDK to use a replace directive within their plugin’s go module file to point to a compatible version of go-cty. We understand this might not be ideal, but it mitigates an immediate breaking change that could force users to upgrade or leave future plugins incompatible with older versions of Packer.

To help with the manual intervention and future changes to the SDK, we’ve introduced a fix sub-command to apply the replace directive to your plugin with a recommended version of the fork. Refer to the cty.Value does not implement gob.GobEncoder GitHub issue for more context on how the fix works.

As always please feel free to reach out on the Packer GitHub Issue tracker if you have any questions or feedback.

1 Like

Nice! I’ll start working on getting this into our plugin ASAP and follow up with any issues.

Thanks team!