Releases: hashicorp/terraform
v1.14.3
v1.14.2
1.14.2 (December 11, 2025)
ENHANCEMENTS:
- Add component registry source resolution support to Terraform Stacks (#37888)
BUG FIXES:
v1.15.0-alpha20251203
1.15.0-alpha20251203 (December 03, 2025)
NEW FEATURES:
- We now produce builds for Windows ARM64 (#32719)
ENHANCEMENTS:
-
ssh-based provisioner (file + remote-exec): Re-enable support for PowerShell (#37794)
-
terraform init log timestamps include millisecond precision (#37818)
-
init: skip dependencies declared in development override. This allows you to use
terraform initwith developer overrides and install dependencies that are not declared in the override file. (#37884)
BUG FIXES:
-
testing: File-level error diagnostics are now included in JUnit XML skipped test elements, ensuring CI/CD pipelines can detect validation failures (#37801)
-
A refresh-only plan could result in a non-zero exit code with no changes (#37406)
-
cli: Fixed crash in
terraform show -jsonwhen plan contains ephemeral resources with preconditions or postconditions (#37834) -
cli: Fixed
terraform init -jsonto properly format all backend configuration messages as JSON instead of plain text (#37911) -
state show: Thestate showcommand will now explicitly fail and return code 1 when it fails to render the named resources state (#37933)
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:
v1.14.1
1.14.1 (December 3, 2025)
BUG FIXES:
-
test: allow ephemeral outputs in root modules (#37813)
-
Combinations of replace_triggered_by and -replace could result in some instances not being replaced (#37833)
-
providers lock: include providers required by terraform test (#37851)
-
Set state information in the proto request for the
GenerateResourceConfigRPC (#37896) -
actions: make after_create & after_update actions run after the resource has applied (#37936)
v1.15.0-alpha20251119
1.15.0-alpha20251119 (November 19, 2025)
NEW FEATURES:
- We now produce builds for Windows ARM64 (#32719)
ENHANCEMENTS:
-
ssh-based provisioner (file + remote-exec): Re-enable support for PowerShell (#37794)
-
init: skip dependencies declared in development override. This allows you to use
terraform initwith developer overrides and install dependencies that are not declared in the override file. (#37884)
BUG FIXES:
-
testing: File-level error diagnostics are now included in JUnit XML skipped test elements, ensuring CI/CD pipelines can detect validation failures (#37801)
-
A refresh-only plan could result in a non-zero exit code with no changes (#37406)
-
cli: Fixed crash in
terraform show -jsonwhen plan contains ephemeral resources with preconditions or postconditions (#37834)
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:
v1.14.0
1.14.0 (November 19, 2025)
NEW FEATURES:
-
List Resources: List resources can be defined in
*.tfquery.hclfiles and allow querying and filterting existing infrastructure. -
A new Terraform command
terraform query: Executes list operations against existing infrastructure and displays the results. The command can optionally generate configuration for importing results into Terraform. -
A new GenerateResourceConfiguration RPC allows providers to create more precise configuration values during import. (#37515)
-
New top-level Actions block: Actions are provider defined and meant to codify use cases outside the normal CRUD model in your Terraform configuration. Providers can define Actions like
aws_lambda_invokeoraws_cloudfront_create_invalidationthat do something imparative outside of Terraforms normal CRUD model. You can configure such a side-effect with an action block and have actions triggered through the lifecycle of a resource or through passing the-invokeCLI flag. (#37553)
ENHANCEMENTS:
-
terraform test: expected diagnostics will be included in test output when running in verbose mode" (#37362)
-
terraform test: ignore prevent_destroy attribute during when cleaning up tests" (#37364)
-
terraform stackscommand support for-helpflag (#37645) -
query: support offline validation of query files via -query flag in the validate command (#37671)
-
Updates to support the AWS European Sovereign Cloud (#37721)
BUG FIXES:
-
Retrieve all workspace variables while doing a
terraform import, include variables inherited from variable sets but not overwritten by the workspace. (#37241) -
Fix OSS backend proxy support by adding a proxy layer for OSS backend operations. Resolves #36897. (#36897)
-
console and test: return explicit diagnostics when referencing resources that were not included in the most recent operation. (#37663)
-
query: generate unique resource identifiers for results of expanded list resources (#37681)
-
The CLI now summarizes the number of actions invoked during
terraform apply, matching the plan output. (#37689) -
Allow filesystem functions to return inconsistent results when evaluated within provider configuration (#37854)
-
query: improve error handling for missing identity schemas (#37863)
UPGRADE NOTES:
-
The parallelism of Terraform operations within container runtimes may be reduced depending on the CPU bandwidth limit setting. (#37436)
-
Building Terraform 1.14 requires macOS Monterey or later (due to being built on Go 1.25 which imposes these requirements) (#37436)
Previous Releases
For information on prior major and minor releases, refer to their changelogs:
v1.14.0-rc2
1.14.0-rc2 (November 05, 2025)
NEW FEATURES:
-
List Resources: List resources can be defined in
*.tfquery.hclfiles and allow querying and filterting existing infrastructure. -
A new Terraform command
terraform query: Executes list operations against existing infrastructure and displays the results. The command can optionally generate configuration for importing results into Terraform. -
A new GenerateResourceConfiguration RPC allows providers to create more precise configuration values during import. (#37515)
-
New top-level Actions block: Actions are provider defined and meant to codify use cases outside the normal CRUD model in your Terraform configuration. Providers can define Actions like
aws_lambda_invokeoraws_cloudfront_create_invalidationthat do something imparative outside of Terraforms normal CRUD model. You can configure such a side-effect with an action block and have actions triggered through the lifecycle of a resource or through passing the-invokeCLI flag. (#37553)
ENHANCEMENTS:
-
terraform test: expected diagnostics will be included in test output when running in verbose mode" (#37362)
-
terraform test: ignore prevent_destroy attribute during when cleaning up tests" (#37364)
-
terraform stackscommand support for-helpflag (#37645) -
query: support offline validation of query files via -query flag in the validate command (#37671)
-
Updates to support the AWS European Sovereign Cloud (#37721)
BUG FIXES:
-
Retrieve all workspace variables while doing a
terraform import, include variables inherited from variable sets but not overwritten by the workspace. (#37241) -
Fix OSS backend proxy support by adding a proxy layer for OSS backend operations. Resolves #36897. (#36897)
-
console and test: return explicit diagnostics when referencing resources that were not included in the most recent operation. (#37663)
-
query: generate unique resource identifiers for results of expanded list resources (#37681)
-
The CLI now summarizes the number of actions invoked during
terraform apply, matching the plan output. (#37689) -
Allow filesystem functions to return inconsistent results when evaluated within provider configuration (#37854)
-
query: improve error handling for missing identity schemas (#37863)
UPGRADE NOTES:
-
The parallelism of Terraform operations within container runtimes may be reduced depending on the CPU bandwidth limit setting. (#37436)
-
Building Terraform 1.14 requires macOS Monterey or later (due to being built on Go 1.25 which imposes these requirements) (#37436)
Previous Releases
For information on prior major and minor releases, refer to their changelogs:
v1.13.5
v1.14.0-rc1
1.14.0-rc1 (October 22, 2025)
NEW FEATURES:
-
List Resources: List resources can be defined in
*.tfquery.hclfiles and allow querying and filterting existing infrastructure. -
A new Terraform command
terraform query: Executes list operations against existing infrastructure and displays the results. The command can optionally generate configuration for importing results into Terraform. -
A new GenerateResourceConfiguration RPC allows providers to create more precise configuration values during import. (#37515)
-
New top-level Actions block: Actions are provider defined and meant to codify use cases outside the normal CRUD model in your Terraform configuration. Providers can define Actions like
aws_lambda_invokeoraws_cloudfront_create_invalidationthat do something imparative outside of Terraforms normal CRUD model. You can configure such a side-effect with an action block and have actions triggered through the lifecycle of a resource or through passing the-invokeCLI flag. (#37553)
ENHANCEMENTS:
-
terraform test: expected diagnostics will be included in test output when running in verbose mode" (#37362)
-
terraform test: ignore prevent_destroy attribute during when cleaning up tests" (#37364)
-
terraform stackscommand support for-helpflag (#37645) -
query: support offline validation of query files via -query flag in the validate command (#37671)
-
Updates to support the AWS European Sovereign Cloud (#37721)
BUG FIXES:
-
Retrieve all workspace variables while doing a
terraform import, include variables inherited from variable sets but not overwritten by the workspace. (#37241) -
Fix OSS backend proxy support by adding a proxy layer for OSS backend operations. Resolves #36897. (#36897)
-
console and test: return explicit diagnostics when referencing resources that were not included in the most recent operation. (#37663)
-
query: generate unique resource identifiers for results of expanded list resources (#37681)
-
The CLI now summarizes the number of actions invoked during
terraform apply, matching the plan output. (#37689)
UPGRADE NOTES:
-
The parallelism of Terraform operations within container runtimes may be reduced depending on the CPU bandwidth limit setting. (#37436)
-
Building Terraform 1.14 requires macOS Monterey or later (due to being built on Go 1.25 which imposes these requirements) (#37436)
Previous Releases
For information on prior major and minor releases, refer to their changelogs:
v1.14.0-beta3
1.14.0-beta3 (October 15, 2025)
NEW FEATURES:
-
List Resources: List resources can be defined in
*.tfquery.hclfiles and allow querying and filterting existing infrastructure. -
A new Terraform command
terraform query: Executes list operations against existing infrastructure and displays the results. The command can optionally generate configuration for importing results into Terraform. -
A new GenerateResourceConfiguration RPC allows providers to create more precise configuration values during import. (#37515)
-
New top-level Actions block: Actions are provider defined and meant to codify use cases outside the normal CRUD model in your Terraform configuration. Providers can define Actions like
aws_lambda_invokeoraws_cloudfront_create_invalidationthat do something imparative outside of Terraforms normal CRUD model. You can configure such a side-effect with an action block and have actions triggered through the lifecycle of a resource or through passing the-invokeCLI flag. (#37553)
ENHANCEMENTS:
-
terraform test: expected diagnostics will be included in test output when running in verbose mode" (#37362)
-
terraform test: ignore prevent_destroy attribute during when cleaning up tests" (#37364)
-
terraform stackscommand support for-helpflag (#37645) -
query: support offline validation of query files via -query flag in the validate command (#37671)
-
Updates to support the AWS European Sovereign Cloud (#37721)
BUG FIXES:
-
Retrieve all workspace variables while doing a
terraform import, include variables inherited from variable sets but not overwritten by the workspace. (#37241) -
Fix OSS backend proxy support by adding a proxy layer for OSS backend operations. Resolves #36897. (#36897)
-
console and test: return explicit diagnostics when referencing resources that were not included in the most recent operation. (#37663)
-
query: generate unique resource identifiers for results of expanded list resources (#37681)
-
The CLI now summarizes the number of actions invoked during
terraform apply, matching the plan output. (#37689)
UPGRADE NOTES:
-
The parallelism of Terraform operations within container runtimes may be reduced depending on the CPU bandwidth limit setting. (#37436)
-
Building Terraform 1.14 requires macOS Monterey or later (due to being built on Go 1.25 which imposes these requirements) (#37436)
Previous Releases
For information on prior major and minor releases, refer to their changelogs: