releases.shpreview
HashiCorp/Terraform

Terraform

Mon
Wed
Fri
JunJulAugSepOctNovDecJanFebMarAprMay
Less
More
Releases18Avg6/moVersionsv1.14.6 to v1.15.5
Init no longer crashes on empty module source

1.15.5 (May 27, 2026)

ENHANCEMENTS:

  • Support for module version evaluating to null (in the context of dynamic module sources) (#38632)

BUG FIXES:

  • Fix crash on init for modules with empty source (#38628)
Linux s390x builds now available; symlinked provider dirs handled

1.15.4 (May 20, 2026)

NEW FEATURES:

  • We now produce builds for Linux s390x (zLinux) (#38615)

BUG FIXES:

  • init: Prevent provider binaries from being installed into symlinked directories (#38611)
Provider installation crash fixed; nested module migration works

1.15.3 (May 13, 2026)

BUG FIXES:

  • stacks: Fixed a bug that prevented migrating resources under multiple layers of module nesting with implicit provider configuration. (#38528)

  • cloud backend will now forward -generate-config-out flag usage to query create request (#38539)

  • Fix crash during provider installation when there is no config (#38560)

1.15.2 (May 6, 2026)

ENHANCEMENTS:

  • stacks: add ouput values to plan component instance change description (#38360)

BUG FIXES:

  • Avoid printing warnings from 'terraform output -json' (#38530)

1.15.1 (May 1, 2026)

BUG FIXES:

  • Fixed crash when configuration has an invalid action_trigger nested block in data or ephemeral lifecycle blocks (#38402)

  • validate: Removed validation of attributes inside backend blocks due to incompatibility with workflows using the -backend-config flag. (#38466)

  • Fix non-const variable checks on init (#38470)

  • Avoid warnings in 'terraform output -raw' (#38487)

  • Ignore undeclared variable values from the cloud backend (#38490)

  • Fix panic for types modules with no expanded instances (#38491)

  • Fixed "unknown provider function" errors occurring during init (#38472)

  • init: Fixed a bug that impacted use of provider pre-releases during init (#38496)

1.15.0 (April 29, 2026)

NEW FEATURES:

  • We now produce builds for Windows ARM64 (#32719)

  • You can set a deprecated attribute on variable and output blocks to indicate that they are deprecated. This will produce warnings when passing in a value for a deprecated variable or when referencing a deprecated output. (#38001)

  • backend/s3: Support authentication via aws login (#37976)

  • validate: The validate command now checks the backend block. This ensures the backend type exists, that all required attributes are present, and that the backend's own validation logic passes. (#38021)

  • convert function, which allows for precise inline type conversions (#38160)

  • Terraform now supports variables and locals in module source and version attributes (#38217)

ENHANCEMENTS:

  • config: output blocks now can have an explicit type constraints (#36411)

  • 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 init with developer overrides and install dependencies that are not declared in the override file. (#37884)

  • Terraform Test: Allow functions within mock blocks (#34672)

  • improve detection of deprecated resource attributes / blocks (#38077)

  • Deprecation messages providers set on resources / blocks / attributes are now part of the deprecation warning (#38135)

  • Include which attribute paths are marked as sensitive in list_start JSON logs (#38197)

  • Add input variable validation for Stacks (#38240)

  • When comparing a container value to null, only top level marks are now considered for the result. (#38270)

  • As part of supporting variables in module sources, most commands now accept variable values (#38276)

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 -json when plan contains ephemeral resources with preconditions or postconditions (#37834)

  • cli: Fixed terraform init -json to properly format all backend configuration messages as JSON instead of plain text (#37911)

  • state show: The state show command will now explicitly fail and return code 1 when it fails to render the named resources state (#37933)

  • apply: Terraform will raise an explicit error if a plan file intended for one workspace is applied against another workspace (#37954)

  • lifecycle: replace_triggered_by now reports an error when given an invalid attribute reference that does not exist in the target resource (#36740)

  • backend: Fix nil pointer dereference crash during terraform init when the destination backend returns an error (#38027)

  • stacks: send progress events if the plan fails for better UI integration (#38039)

  • stacks: component instances should report no-op plan/apply. This solves a UI inconsistency with convergence destroy plans (#38049)

  • backend/http: Return conflicting lock info from HTTP backend instead of the lock that failed to be taken (#38144)

  • states: fixed a bug that caused Terraform to be unable to identify when two states had different output values. This may have caused issues in specific circumstances like backend migrations. (#38181)

  • cloud: terraform cloud and registry discovery network requests are now more resilient, making temporary network or service related errors less common (#38064)

  • Enable formatting of .tfquery.hcl files by terraform fmt (#38398)

  • Fix validate not returning JSON for some early diagnostics (#38400)

  • Fix Terraform Stacks plugin installation error (#38406)

NOTES:

  • command/init: Provider installation was refactored to enable future enhancements in the area. This results in different order of operations during init and 2 new log messages replacing one (initializing_provider_plugin_message). The change should not have any end-user impact aside from the init command output. (#38227)

UPGRADE NOTES:

  • backend/s3: The AWS_USE_FIPS_ENDPOINT and AWS_USE_DUALSTACK_ENDPOINT environment variables now only respect true or false values, aligning with the AWS SDK for Go. This replaces the previous behavior which treated any non-empty value as true. (#37601)

Previous Releases

For information on prior major and minor releases, refer to their changelogs:

1.14.9 (April 20, 2026)

BUG FIXES:

  • Fix Terraform Stacks plugin installation error (#38406)

1.14.8 (March 25, 2026)

BUG FIXES:

  • Prevent crash in the display of relevant attributes after provider upgrades (#38264)

1.14.7 (March 11, 2026)

NOTES:

  • Bump Go version to 1.25.8 to suppress security scanner false positives (#38249)

1.14.6 (February 25, 2026)

BUG FIXES:

  • terraform test: return error when provider config is invalid (#38084)

1.14.5 (February 11, 2026)

BUG FIXES:

  • Fixed an issue where terraform stacks validate was failing to resolve relative paths for modules (#38025)

1.14.4 (January 28, 2026)

BUG FIXES:

  • backend: Fix nil pointer dereference crash during terraform init when the destination backend returns an error (#38027)

  • Fixes an issue where any warning diagnostics generated during terraform query execution failed to render in the cloud backend session (#38040)

  • actions in modules without instances failed the plan graph (#38089)

1.14.3 (December 17, 2025)

BUG FIXES:

  • stacks: change absolute paths in path.module/path.root to be relative, as documented (#37982)

1.14.2 (December 11, 2025)

ENHANCEMENTS:

  • Add component registry source resolution support to Terraform Stacks (#37888)

BUG FIXES:

  • stacks: surface runtime issues with local values to user during plan (#37980)

  • resource instance apply failures should not cause the resource instance state to be empty. (#37981)

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 GenerateResourceConfig RPC (#37896)

  • actions: make after_create & after_update actions run after the resource has applied (#37936)

1.14.0 (November 19, 2025)

NEW FEATURES:

  • List Resources: List resources can be defined in *.tfquery.hcl files 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_invoke or aws_cloudfront_create_invalidation that 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 -invoke CLI 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 stacks command support for -help flag (#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 hashicorp/terraform#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:

1.13.5 (November 5, 2025)

BUG FIXES:

  • impure functions could cause templatefile to incorrectly fail consistency checks (#37807)

  • Allow filesystem functions to return inconsistent results when evaluated within provider configuration (#37854)

1.13.4 (October 15, 2025)

BUG FIXES:

  • Fix crash when showing a cloud plan without having a cloud backend (#37751)

1.13.3 (September 17, 2025)

BUG FIXES:

  • variable validation: keep sensitive and ephemeral metadata when evaluating variable conditions. (#37595)

1.13.2 (September 10, 2025)

BUG FIXES:

  • test: Fix the order of execution of cleanup nodes (#37546)

  • apply: hide sensitive inputs when values have changed between plan and apply (#37582)

Last Checked
1h ago
Latest
v1.15.5
Tracking since Jun 26, 2024