megachangelog
Feature1.17.0-rc1

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.

1.17.0-rc1 (October 07, 2026)

NEW FEATURES:

  • Terraform now supports variables and locals in provider requirements (#39153)

  • A new -minimal-refresh planning option has been added, which will only refresh resources that have proposed changes. (#35290)

  • policy: Terraform Policy is now generally available. The -policies flag for plan, apply, and query no longer requires an experimental build or the -allow-experimental-features flag. Query policies evaluate resources discovered by list blocks and report human-readable or JSON results. See https://developer.hashicorp.com/terraform/policy for more information. (#38970)

ENHANCEMENTS:

  • command/init: Enrich log messages with provider versions (#38918)

  • test: Add mock_provider support for ephemeral resources (#38928)

  • command/login: display warning after successful login if user is subject to an organization's TTL policy

BUG FIXES:

  • funcs: pow and log no longer panic when result is not a number (#38912)

  • ephemeral: Terraform will now use and display diagnostics raised when renewing an ephemeral resource. This may cause warnings to appear that previously were lost. We expect that any error diagnostics that were previously lost would have caused confusing downstream errors, so we do not anticipate this change to be breaking. (#38989)

  • test: Deterministic dependency ordering in cleanup graph (#38247)

  • query: report Unknown and N/A results for policy evaluations of discovered resources (#39058)

  • query: terraform query -policies now rejects a path that is not a directory, instead of passing it on to the policy engine (#39238)

NOTES:

  • version: JSON output now includes a new format_version field, which will enable safer future changes of the command's JSON output format. It is assumed existing tooling ignores unknown fields and therefore this change should not be breaking in itself but we advice consumers to pay attention to format_version in future releases and/or use latest version of hashicorp/terraform-json & hashicorp/terraform-exec which does. (#38930)

Previous Releases

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

terraformpolicyplanningprovidersephemeral

Source: original entry ↗

More from Terraform

Follow Terraform to get its new changes in your feed and email digest.

Fix1.16.5

Terraform v1.16.5

This patch release fixes a crash when processing tainted instance state without a valid status and resolves an issue where resource identity could be nil during delete operations.

stabilityresource-statebug-fix
Announcement1.17.0-beta2

Terraform v1.17.0-beta2

This beta release introduces variables and locals support in provider requirements, a new minimal-refresh planning option to improve performance, and makes Terraform Policy generally available without requiring experimental flags. It also includes enhancements to logging, ephemeral resource handling, and policy queries, along with bug fixes for math functions and dependency ordering.

policyprovidersephemeralplanningquery
Fix1.16.4

v1.16.4 Bug Fixes

Fixed policy evaluation rendering failures with older Terraform Enterprise versions and resolved invalid deferred errors when providers return deferrals with unknown resource counts or for_each expressions.

fixpolicystacksprovidersstability
See all Terraform changes →