NEW FEATURES:
terraform stacks exposes some stack operations through the cli. The available subcommands depend on the stacks plugin implementation. Use terraform stacks -help to see available commands. (#36931)ENHANCEMENTS:
Filesystem functions are now checked for consistent results to catch invalid data during apply (#37001)
Allow successful init when provider constraint matches at least one valid version (#37137)
Performance fix for evaluating high cardinality resources (#26355)
TF Test: Allow parallel execution of teardown operations (#37169)
terraform test: Test authors can now specify definitions for external variables that are referenced within test files directly within the test file itself. (#37195)
terraform test: File-level variable blocks can now reference run outputs and other variables." (#37205)
skip redundant comparisons when comparing planned set changes (#37280)
BUG FIXES:
Added a missing warning diagnostic that alerts users when child module contains an ignored cloud block. (#37180)
Nested module outputs could lose sensitivity, even when marked as such in the configuration (#37212)
workspace: Updated validation to reject workspaces named "" (#37267)
workspace: Updated the workspace delete command to reject "" as an invalid workspace name (#37275)
Test run Parallelism of 1 should not result in deadlock (#37292)
NOTES:
terraform rpcapi is now generally available. It is not intended for public consumption, but exposes certain Terraform operations through an RPC interface compatible with go-plugin. (#37067)UPGRADE NOTES:
terraform test: External variables referenced within test files should now be accompanied by a variable definition block within the test file. This is optional, but users with complex external variables may see error diagnostics without the additional variable definition. (#37195)EXPERIMENTS:
Experiments are only enabled in alpha releases of Terraform CLI. The following features are not yet available in stable releases.
-allow-deferral option to terraform plan, permits count and for_each arguments in module, resource, and data blocks to have unknown values and allows providers to react more flexibly to unknown values.For information on prior major and minor releases, refer to their changelogs:
NEW FEATURES:
terraform stacks exposes some stack operations through the cli. The available subcommands depend on the stacks plugin implementation. Use terraform stacks -help to see available commands. (#36931)ENHANCEMENTS:
Filesystem functions are now checked for consistent results to catch invalid data during apply (#37001)
Allow successful init when provider constraint matches at least one valid version (#37137)
Performance fix for evaluating high cardinality resources (#26355)
TF Test: Allow parallel execution of teardown operations (#37169)
terraform test: Test authors can now specify definitions for external variables that are referenced within test files directly within the test file itself. (#37195)
terraform test: File-level variable blocks can now reference run outputs and other variables." (#37205)
skip redundant comparisons when comparing planned set changes (#37280)
BUG FIXES:
Added a missing warning diagnostic that alerts users when child module contains an ignored cloud block. (#37180)
Nested module outputs could lose sensitivity, even when marked as such in the configuration (#37212)
workspace: Updated validation to reject workspaces named "" (#37267)
workspace: Updated the workspace delete command to reject "" as an invalid workspace name (#37275)
NOTES:
terraform rpcapi is now generally available. It is not intended for public consumption, but exposes certain Terraform operations through an RPC interface compatible with go-plugin. (#37067)UPGRADE NOTES:
terraform test: External variables referenced within test files should now be accompanied by a variable definition block within the test file. This is optional, but users with complex external variables may see error diagnostics without the additional variable definition. (#37195)EXPERIMENTS:
Experiments are only enabled in alpha releases of Terraform CLI. The following features are not yet available in stable releases.
-allow-deferral option to terraform plan, permits count and for_each arguments in module, resource, and data blocks to have unknown values and allows providers to react more flexibly to unknown values.For information on prior major and minor releases, refer to their changelogs:
NEW FEATURES:
terraform stacks exposes some stack operations through the cli. The available subcommands depend on the stacks plugin implementation. Use terraform stacks -help to see available commands. (#36931)ENHANCEMENTS:
Filesystem functions are now checked for consistent results to catch invalid data during apply (#37001)
Allow successful init when provider constraint matches at least one valid version (#37137)
Performance fix for evaluating high cardinality resources (#26355)
TF Test: Allow parallel execution of teardown operations (#37169)
terraform test: Test authors can now specify definitions for external variables that are referenced within test files directly within the test file itself. (#37195)
terraform test: File-level variable blocks can now reference run outputs and other variables." (#37205)
BUG FIXES:
Added a missing warning diagnostic that alerts users when child module contains an ignored cloud block. (#37180)
Nested module outputs could lose sensitivity, even when marked as such in the configuration (#37212)
NOTES:
terraform rpcapi is now generally available. It is not intended for public consumption, but exposes certain Terraform operations through an RPC interface compatible with go-plugin. (#37067)UPGRADE NOTES:
terraform test: External variables referenced within test files should now be accompanied by a variable definition block within the test file. This is optional, but users with complex external variables may see error diagnostics without the additional variable definition. (#37195)EXPERIMENTS:
Experiments are only enabled in alpha releases of Terraform CLI. The following features are not yet available in stable releases.
-allow-deferral option to terraform plan, permits count and for_each arguments in module, resource, and data blocks to have unknown values and allows providers to react more flexibly to unknown values.For information on prior major and minor releases, refer to their changelogs:
BUG FIXES:
NEW FEATURES:
terraform stacks exposes some stack operations through the cli. The available subcommands depend on the stacks plugin implementation. Use terraform stacks -help to see available commands. (#36931)ENHANCEMENTS:
Filesystem functions are now checked for consistent results to catch invalid data during apply (#37001)
Allow successful init when provider constraint matches at least one valid version (#37137)
Performance fix for evaluating high cardinality resources (#26355)
terraform test: Test authors can now specify definitions for external variables that are referenced within test files directly within the test file itself. (#37195)
BUG FIXES:
cloud block. (#37180)NOTES:
terraform rpcapi is now generally available. It is not intended for public consumption, but exposes certain Terraform operations through an RPC interface compatible with go-plugin. (#37067)UPGRADE NOTES:
terraform test: External variables referenced within test files should now be accompanied by a variable definition block within the test file. This is optional, but users with complex external variables may see error diagnostics without the additional variable definition. (#37195)EXPERIMENTS:
Experiments are only enabled in alpha releases of Terraform CLI. The following features are not yet available in stable releases.
-allow-deferral option to terraform plan, permits count and for_each arguments in module, resource, and data blocks to have unknown values and allows providers to react more flexibly to unknown values.For information on prior major and minor releases, refer to their changelogs:
NEW FEATURES:
The new command terraform stacks exposes some stack operations through the cli. The available subcommands depend on the stacks plugin implementation. Use terraform stacks -help to see available commands. (#36931)
Deferred actions: The plan, apply, and refresh commands now support the -allow-deferral flag. The flag enables Terraform and Terraform Providers to defer changes with unresolvable unknown values to future plans instead of failing the entire plan. (#37067)
ENHANCEMENTS:
Filesystem functions are now checked for consistent results to catch invalid data during apply (#37001)
Allow successful init when provider constraint matches at least one valid version (#37137)
NOTES:
terraform rpcapi is now generally available. It is not intended for public consumption, but exposes certain Terraform operations through an RPC interface compatible with go-plugin. (#37067)For information on prior major and minor releases, refer to their changelogs:
NEW FEATURES:
ENHANCEMENTS:
Terraform Test command now accepts a -parallelism=n option, which sets the number of parallel operations in a test run's plan/apply operation. (#34237)
Logical binary operators can now short-circuit (#36224)
Terraform Test: Runs can now be annotated for possible parallel execution. (#34180)
Allow terraform init when tests are present but no configuration files are directly inside the current directory (#35040)
Terraform Test: Continue subsequent test execution when an expected failure is not encountered. (#34969)
Produce detailed diagnostic objects when test run assertions fail (#34428)
backend/oss: Supports more standard environment variables to keep same with provider setting (#36581)
Improved elapsed time display in UI Hook to show minutes and seconds in mm:ss format. (#36368)
Update legacy term used in error messages. (Terraform Cloud agent => HCP Terraform Agent) (#36706)
import blocks: Now support importing a resource via a new identity attribute. This is mutually exclusive with the id attribute (#36703)
BUG FIXES:
Refreshed state was not used in the plan for orphaned resource instances (#36394)
Fixes malformed Terraform version error when the remote backend reads a remote workspace that specifies a Terraform version constraint. (#36356)
Changes to the order of sensitive attributes in the state format would erroneously indicate a plan contained changes when there were none. (#36465)
Avoid reporting duplicate attribute-associated diagnostics, such as "Available Write-only Attribute Alternative" (#36579)
for_each expressions in import blocks should not be able to reference the import target (#36801)
UPGRADE NOTES:
For information on prior major and minor releases, refer to their changelogs:
NEW FEATURES:
ENHANCEMENTS:
Terraform Test command now accepts a -parallelism=n option, which sets the number of parallel operations in a test run's plan/apply operation. (#34237)
Logical binary operators can now short-circuit (#36224)
Terraform Test: Runs can now be annotated for possible parallel execution. (#34180)
Allow terraform init when tests are present but no configuration files are directly inside the current directory (#35040)
Terraform Test: Continue subsequent test execution when an expected failure is not encountered. (#34969)
Produce detailed diagnostic objects when test run assertions fail (#34428)
backend/oss: Supports more standard environment variables to keep same with provider setting (#36581)
Improved elapsed time display in UI Hook to show minutes and seconds in mm:ss format. (#36368)
Update legacy term used in error messages. (Terraform Cloud agent => HCP Terraform Agent) (#36706)
import blocks: Now support importing a resource via a new identity attribute. This is mutually exclusive with the id attribute (#36703)
BUG FIXES:
Refreshed state was not used in the plan for orphaned resource instances (#36394)
Fixes malformed Terraform version error when the remote backend reads a remote workspace that specifies a Terraform version constraint. (#36356)
Changes to the order of sensitive attributes in the state format would erroneously indicate a plan contained changes when there were none. (#36465)
Avoid reporting duplicate attribute-associated diagnostics, such as "Available Write-only Attribute Alternative" (#36579)
for_each expressions in import blocks should not be able to reference the import target (#36801)
UPGRADE NOTES:
For information on prior major and minor releases, refer to their changelogs:
NEW FEATURES:
ENHANCEMENTS:
Terraform Test command now accepts a -parallelism=n option, which sets the number of parallel operations in a test run's plan/apply operation. (#34237)
Logical binary operators can now short-circuit (#36224)
Terraform Test: Runs can now be annotated for possible parallel execution. (#34180)
Allow terraform init when tests are present but no configuration files are directly inside the current directory (#35040)
Terraform Test: Continue subsequent test execution when an expected failure is not encountered. (#34969)
Produce detailed diagnostic objects when test run assertions fail (#34428)
backend/oss: Supports more standard environment variables to keep same with provider setting (#36581)
Improved elapsed time display in UI Hook to show minutes and seconds in mm:ss format. (#36368)
Update legacy term used in error messages. (Terraform Cloud agent => HCP Terraform Agent) (#36706)
import blocks: Now support importing a resource via a new identity attribute. This is mutually exclusive with the id attribute (#36703)
BUG FIXES:
Refreshed state was not used in the plan for orphaned resource instances (#36394)
Fixes malformed Terraform version error when the remote backend reads a remote workspace that specifies a Terraform version constraint. (#36356)
Changes to the order of sensitive attributes in the state format would erroneously indicate a plan contained changes when there were none. (#36465)
Avoid reporting duplicate attribute-associated diagnostics, such as "Available Write-only Attribute Alternative" (#36579)
for_each expressions in import blocks should not be able to reference the import target (#36801)
UPGRADE NOTES:
For information on prior major and minor releases, refer to their changelogs:
NEW FEATURES:
ENHANCEMENTS:
Terraform Test command now accepts a -parallelism=n option, which sets the number of parallel operations in a test run's plan/apply operation. (#34237)
Logical binary operators can now short-circuit (#36224)
Terraform Test: Runs can now be annotated for possible parallel execution. (#34180)
Allow terraform init when tests are present but no configuration files are directly inside the current directory (#35040)
Terraform Test: Continue subsequent test execution when an expected failure is not encountered. (#34969)
Produce detailed diagnostic objects when test run assertions fail (#34428)
backend/oss: Supports more standard environment variables to keep same with provider setting (#36581)
Improved elapsed time display in UI Hook to show minutes and seconds in mm:ss format. (#36368)
Update legacy term used in error messages. (Terraform Cloud agent => HCP Terraform Agent) (#36706)
BUG FIXES:
Refreshed state was not used in the plan for orphaned resource instances (#36394)
Fixes malformed Terraform version error when the remote backend reads a remote workspace that specifies a Terraform version constraint. (#36356)
Changes to the order of sensitive attributes in the state format would erroneously indicate a plan contained changes when there were none. (#36465)
Avoid reporting duplicate attribute-associated diagnostics, such as "Available Write-only Attribute Alternative" (#36579)
for_each expressions in import blocks should not be able to reference the import target (#36801)
UPGRADE NOTES:
For information on prior major and minor releases, refer to their changelogs:
ENHANCEMENTS:
Terraform Test command now accepts a -parallelism=n option, which sets the number of parallel operations in a test run's plan/apply operation. (#34237)
Logical binary operators can now short-circuit (#36224)
Terraform Test: Runs can now be annotated for possible parallel execution. (#34180)
Allow terraform init when tests are present but no configuration files are directly inside the current directory (#35040)
Terraform Test: Continue subsequent test execution when an expected failure is not encountered. (#34969)
Produce detailed diagnostic objects when test run assertions fail (#34428)
backend/oss: Supports more standard environment variables to keep same with provider setting (#36581)
Improved elapsed time display in UI Hook to show minutes and seconds in mm:ss format. (#36368)
Update legacy term used in error messages. (Terraform Cloud agent => HCP Terraform Agent) (#36706)
BUG FIXES:
Refreshed state was not used in the plan for orphaned resource instances (#36394)
Fixes malformed Terraform version error when the remote backend reads a remote workspace that specifies a Terraform version constraint. (#36356)
Changes to the order of sensitive attributes in the state format would erroneously indicate a plan contained changes when there were none. (#36465)
Avoid reporting duplicate attribute-associated diagnostics, such as "Available Write-only Attribute Alternative" (#36579)
for_each expressions in import blocks should not be able to reference the import target (#36801)
UPGRADE NOTES:
For information on prior major and minor releases, refer to their changelogs:
ENHANCEMENTS:
Terraform Test command now accepts a -parallelism=n option, which sets the number of parallel operations in a test run's plan/apply operation. (#34237)
Logical binary operators can now short-circuit (#36224)
Terraform Test: Runs can now be annotated for possible parallel execution. (#34180)
Allow terraform init when tests are present but no configuration files are directly inside the current directory (#35040)
Terraform Test: Continue subsequent test execution when an expected failure is not encountered. (#34969)
Produce detailed diagnostic objects when test run assertions fail (#34428)
Improved elapsed time display in UI Hook to show minutes and seconds in mm:ss format. (#36368)
Update legacy term used in error messages. (Terraform Cloud agent => HCP Terraform Agent) (#36706)
BUG FIXES:
Refreshed state was not used in the plan for orphaned resource instances (#36394)
Fixes malformed Terraform version error when the remote backend reads a remote workspace that specifies a Terraform version constraint. (#36356)
Changes to the order of sensitive attributes in the state format would erroneously indicate a plan contained changes when there were none. (#36465)
Avoid reporting duplicate attribute-associated diagnostics, such as "Available Write-only Attribute Alternative" (#36579)
for_each expressions in import blocks should not be able to reference the import target (#36801)
UPGRADE NOTES:
For information on prior major and minor releases, refer to their changelogs:
ENHANCEMENTS:
Terraform Test command now accepts a -parallelism=n option, which sets the number of parallel operations in a test run's plan/apply operation. (#34237)
Logical binary operators can now short-circuit (#36224)
Terraform Test: Runs can now be annotated for possible parallel execution. (#34180)
Allow terraform init when tests are present but no configuration files are directly inside the current directory (#35040)
Terraform Test: Continue subsequent test execution when an expected failure is not encountered. (#34969)
Produce detailed diagnostic objects when test run assertions fail (#34428)
Improved elapsed time display in UI Hook to show minutes and seconds in mm:ss format. (#36368)
BUG FIXES:
Refreshed state was not used in the plan for orphaned resource instances (#36394)
Fixes malformed Terraform version error when the remote backend reads a remote workspace that specifies a Terraform version constraint. (#36356)
Changes to the order of sensitive attributes in the state format would erroneously indicate a plan contained changes when there were none. (#36465)
Avoid reporting duplicate attribute-associated diagnostics, such as "Available Write-only Attribute Alternative" (#36579)
UPGRADE NOTES:
EXPERIMENTS:
Experiments are only enabled in alpha releases of Terraform CLI. The following features are not yet available in stable releases.
terraform rpcapi exposes some Terraform Core functionality through an RPC interface compatible with go-plugin. The exact RPC API exposed here is currently subject to change at any time, because it's here primarily as a vehicle to support the Terraform Stacks private preview and so will be broken if necessary to respond to feedback from private preview participants, or possibly for other reasons. Do not use this mechanism yet outside of Terraform Stacks private preview.-allow-deferral option to terraform plan, permits count and for_each arguments in module, resource, and data blocks to have unknown values and allows providers to react more flexibly to unknown values. This experiment is under active development, and so it's not yet useful to participate in this experimentFor information on prior major and minor releases, refer to their changelogs:
ENHANCEMENTS:
Terraform Test command now accepts a -parallelism=n option, which sets the number of parallel operations in a test run's plan/apply operation. (#34237)
Logical binary operators can now short-circuit (#36224)
Terraform Test: Runs can now be annotated for possible parallel execution. (#34180)
Allow terraform init when tests are present but no configuration files are directly inside the current directory (#35040)
Terraform Test: Continue subsequent test execution when an expected failure is not encountered. (#34969)
Produce detailed diagnostic objects when test run assertions fail (#34428)
Improved elapsed time display in UI Hook to show minutes and seconds in mm:ss format. (#36368)
BUG FIXES:
Refreshed state was not used in the plan for orphaned resource instances (#36394)
Fixes malformed Terraform version error when the remote backend reads a remote workspace that specifies a Terraform version constraint. (#36356)
Changes to the order of sensitive attributes in the state format would erroneously indicate a plan contained changes when there were none. (#36465)
Avoid reporting duplicate attribute-associated diagnostics, such as "Available Write-only Attribute Alternative" (#36579)
Fixes unintended exit of CLI when using the remote backend and applying with post-plan tasks configured in HCP Terraform (#36655)
UPGRADE NOTES:
EXPERIMENTS:
Experiments are only enabled in alpha releases of Terraform CLI. The following features are not yet available in stable releases.
terraform rpcapi exposes some Terraform Core functionality through an RPC interface compatible with go-plugin. The exact RPC API exposed here is currently subject to change at any time, because it's here primarily as a vehicle to support the Terraform Stacks private preview and so will be broken if necessary to respond to feedback from private preview participants, or possibly for other reasons. Do not use this mechanism yet outside of Terraform Stacks private preview.-allow-deferral option to terraform plan, permits count and for_each arguments in module, resource, and data blocks to have unknown values and allows providers to react more flexibly to unknown values. This experiment is under active development, and so it's not yet useful to participate in this experimentFor information on prior major and minor releases, refer to their changelogs:
ENHANCEMENTS:
oidc_request_url, oidc_request_token and (the new) ado_pipeline_service_connection_id. (#36458)BUG FIXES:
Return error when the templatestring function contains only a single interpolation that evaluates to a null value (#36652)
Backend/azure: subscription_id be optional & skip unnecessary management plane API call in some setup (#36595)
NOTES:
BUG FIXES:
Temporarily revert updated Windows symlink handling until we can account for known existing configurations using non-symlink junctions. (#36575)
terraform test: Fix crash when a run block attempts to cleanup after a non-applyable plan. (#36582)
Updated dependency golang.org/x/oauth2 from v0.23.0 => v0.27.0 to integrate latest changes (fix for CVE-2025-22868) (#36584)
lang/funcs/transpose: Avoid crash due to map with null values (#36611)
Combining ephemeral and sensitive marks could fail when serializing planned changes (#36619)
NEW FEATURES:
Add write-only attributes to resources. Providers can specify that certain attributes are write-only. They are not persisted in state. You can use ephemeral values in write-only attributes. (#36031)
terraform test: The -junit-xml option for the terraform test command is now generally available. This option allows the command to create a test report in JUnit XML format. Feedback during the experimental phase helped map terraform test concepts to the JUnit XML format, and new additons may happen in future releases. (#36324)
S3 native state locking is now generally available. The use_lockfile argument enables users to adopt the S3-native mechanism for state locking. As part of this change, we've deprecated the DynamoDB-related arguments in favor of this new locking mechanism. While you can still use DynamoDB alongside S3-native state locking for migration purposes, we encourage migrating to the new state locking mechanism. (#36338)
ENHANCEMENTS:
init: Provider installation will utilise credentials configured in a .netrc file for the download and shasum URLs returned by provider registries. (#35843)
terraform test: Test runs now support using mocked or overridden values during unit test runs (e.g., with command = "plan"). Set override_during = plan in the test configuration to use the overridden values during the plan phase. The default value is override_during = apply. (#36227)
terraform test: Add new state_key attribute for run blocks, allowing test authors control over which internal state file should be used for the current test run. (#36185)
Updates the azure backend authentication to match the terraform-provider-azurermprovider authentication, in several ways:
Include ca-certificates package in our official Docker image to help with certificate handling by downstream (#36486)
BUG FIXES:
ephemeral values: correct error message when ephemeral values are included in provisioner output (#36427)
Attempting to override a variable during apply via TF_VAR_ environment variable will now yield warning instead of misleading error. (#36435)
backends: Fix crash when interrupting during interactive prompt for values (#36448)
Fixes hanging behavior seen when applying a saved plan with -auto-approve using the cloud backend (#36453)
For information on prior major and minor releases, refer to their changelogs: