Change8

v1.16.0-alpha20260708

📦 terraformView on GitHub →
7 features🐛 9 fixes🔧 8 symbols

Summary

This alpha release introduces significant features like support for PlannedPrivate data, new store blocks, nested computed values for providers, and import blocks in modules. It also includes several bug fixes and enhancements to CLI output and provider initialization logic.

Migration Steps

  1. Verify the configured key when using `provisioner bastion_host_key` as it is now correctly applied.
  2. If using `terraform init` with both `-upgrade` and `-lockfile=readonly` flags, be aware that incompatibility errors are now raised earlier.

✨ New Features

  • Providers can now store PlannedPrivate data.
  • Introduced a new store block in terraform_data to handle ephemeral and sensitive values.
  • Providers can now use nested blocks as computed values.
  • Added support for import blocks inside modules.
  • Terraform now produces builds for Linux s390x (zLinux).
  • The `workspace list` command supports `-json` flag for machine-readable output.
  • Resource action triggers now support `on_failure` modes: `halt`, `taint`, or `continue`.

🐛 Bug Fixes

  • Import blocks no longer ignore provider local names.
  • Fixed a `terraform apply` panic when the plan involved a no-op change for a deposed object with `lifecycle.precondition` or `lifecycle.postcondition` defined.
  • Terraform now errors if an invalid workspace name is selected due to out-of-band actions.
  • Terraform raises a warning when a file referenced via `-filter` flag does not exist.
  • Stopped removing locks from the dependency lock file corresponding to providers configured as a `dev_override` during `init`.
  • Added warnings during `init` when unmanaged providers are in use and impact provider installation.
  • Actions are now invoked respecting all resource dependencies.
  • Returns correct error when an import target exists in state but not in configuration.
  • Merge operation no longer panics with null objects.

Affected Symbols