v1.16.0-alpha Release
Alpha release adding provider data storage for planned private values, new store block for ephemeral/sensitive values, nested block support for providers, Linux s390x builds, machine-readable workspace list output, terraform state show JSON flag, and experimental deferred actions and test cleanup features.
1.16.0-alpha20260513 (May 13, 2026)
NEW FEATURES:
-
Store PlannedPrivate data for providers (#37986)
-
New store block in terraform_data that can handle ephemeral and sensitive values (#38298)
-
Providers can now use nested blocks as computed values (#38305)
-
We now produce builds for Linux s390x (zLinux) (#38384)
-
workspace: The
workspace listcommand can now produce machine-readable output when supplied with the-jsonflag (#38397)
ENHANCEMENTS:
-
feat(cli): terraform state show accepts a -json flag (#23940)
-
Show info when resources are left behind due to skip_cleanup (#38449)
BUG FIXES:
- import blocks no longer ignore provider local names (#38338)
UPGRADE NOTES:
- Provisioner bastion_host_key is now correctly applied. Existing usage of bastion_host_key should verify the configured key is correct. (#38318)
EXPERIMENTS:
Experiments are only enabled in alpha releases of Terraform CLI. The following features are not yet available in stable releases.
- The experimental "deferred actions" feature, enabled by passing the
-allow-deferraloption toterraform plan, permitscountandfor_eacharguments inmodule,resource, anddatablocks to have unknown values and allows providers to react more flexibly to unknown values. terraform test cleanup: The experimentaltest cleanupcommand. In experimental builds of Terraform, a manifest file and state files for each failed cleanup operation during test operations are saved within the.terraformlocal directory. Thetest cleanupcommand will attempt to clean up the local state files left behind automatically, without requiring manual intervention.terraform test:backendblocks andskip_cleanupattributes:- Test authors can now specify
backendblocks withinrunblocks in Terraform Test files. Run blocks withbackendblocks will load state from the specified backend instead of starting from empty state on every execution. This allows test authors to keep long-running test infrastructure alive between test operations, saving time during regular test operations. - Test authors can now specify
skip_cleanupattributes within test files and within run blocks. Theskip_cleanupattribute tellsterraform testnot to clean up state files produced by run blocks with this attribute set to true. The state files for affected run blocks will be written to disk within the.terraformdirectory, where they can then be cleaned up manually using the also experimentalterraform test cleanupcommand.
- Test authors can now specify
Previous Releases
For information on prior major and minor releases, refer to their changelogs:
Source: original entry ↗
More from Terraform
Follow Terraform to get its new changes in your feed and email digest.
Terraform v1.17.0-rc2 release
Release candidate 1.17.0 includes support for variables and locals in provider requirements, a new -minimal-refresh planning option, general availability of Terraform Policy, and various enhancements and bug fixes for ephemeral resources, policy evaluation, and mathematical functions.
v1.16.6
Fixed cloud workspace selection with uppercase letters in tag keys and deprecated output handling in test modules. Includes HTTP/2 resource exhaustion mitigation via CVE-2026-78669.
Terraform 1.17.0-rc1 release
Release candidate 1.17.0 introduces Terraform Policy as generally available (removing experimental flags), adds support for variables and locals in provider requirements, includes a new -minimal-refresh planning option for efficiency, and fixes critical bugs in function evaluation and ephemeral resource handling.