v1.16.0-rc2
📦 terraformView on GitHub →
✨ 6 features🐛 11 fixes🔧 10 symbols
Summary
This release introduces new features for provider data storage, module import support, and enhanced resource action triggers. It also includes numerous bug fixes and improvements to commands like `state show` and `terraform graph`.
Migration Steps
- Review your provisioner configurations to verify the configured `bastion_host_key` is correct before upgrading.
✨ New Features
- Terraform now stores planned private data for providers, allowing provider-specific state to be preserved across plan and apply.
- The new `store` block in `terraform_data` can hold ephemeral and sensitive values across plan and apply.
- Providers can now use nested blocks as computed values.
- `import` blocks inside modules are now supported.
- Terraform is now available as a pre-built binary for Linux s390x (zLinux).
- Resource action triggers can now use `on_failure` modes of `halt`, `taint`, or `continue`.
🐛 Bug Fixes
- `import` blocks now correctly respect provider local names.
- `terraform apply` no longer panics when the plan contains a no-op change for a deposed resource that has `lifecycle.precondition` or `lifecycle.postcondition` blocks.
- Terraform now raises an error if an invalid workspace name becomes selected due to out-of-band changes.
- Terraform now raises a warning when a file referenced via the `-filter` flag does not exist.
- Terraform no longer removes locks from the dependency lock file for providers configured as `dev_override`.
- Terraform now warns when unmanaged providers are in use and may impact provider installation.
- Actions are now invoked with respect to all resource dependencies.
- Terraform now returns the correct error when an `import` target exists in state but has no corresponding configuration.
- The `merge()` function no longer panics when passed `null` objects.
- Allow underscores in provider source address namespaces, so private registry provider addresses are no longer rejected as invalid.
- Optional ephemeral values do not have to be set at plan time for tests.