{"id":"src_nRl7c7NAj2eo3oVTMMaIz","slug":"terraform-releases","name":"Terraform","type":"github","url":"https://github.com/hashicorp/terraform","orgId":"org_Yj55_xJFX2PSbzXjXof_V","productId":"prod_DWp-QmUGyGbcw16MefwE9","productSlug":"terraform","org":{"id":"org_Yj55_xJFX2PSbzXjXof_V","slug":"hashicorp","name":"HashiCorp"},"isPrimary":false,"isHidden":false,"discovery":"curated","metadata":"{\"evaluatedMethod\":\"github\",\"evaluatedAt\":\"2026-04-07T23:43:08.500Z\",\"changelogUrl\":\"https://github.com/hashicorp/terraform/blob/HEAD/CHANGELOG.md\",\"changelogDetectedAt\":\"2026-04-08T00:16:40.433Z\",\"wellKnownSweptAt\":\"2026-10-01T06:01:26.362Z\",\"sourceActor\":{\"nextAlarmAt\":\"2026-10-08T18:04:06.270Z\",\"lastAlarmAt\":\"2026-10-08T14:04:07.566Z\",\"managed\":true}}","notice":null,"kind":"tool","stars":49842,"starsFetchedAt":"2026-10-08T14:08:38.849Z","releaseCount":55,"releasesLast30Days":4,"avgReleasesPerWeek":0.5,"latestVersion":"v1.16.5","latestDate":"2026-10-02T13:04:00.000Z","changelogUrl":"https://github.com/hashicorp/terraform/blob/HEAD/CHANGELOG.md","hasChangelogFile":true,"lastFetchedAt":"2026-10-08T14:08:38.849Z","lastPolledAt":"2026-10-08T14:08:31.502Z","changeDetectedAt":null,"trackingSince":"2024-06-26T16:55:38.000Z","releases":[{"id":"rel_ooq6e9pTN7eUdzlrhp7wN","version":"v1.16.5","type":"feature","title":"v1.16.5","summary":"Fixed a crash when a tainted instance state is seen without a valid status, and an issue where resource identity could be nil during delete.","titleGenerated":"Terraform v1.16.5 fixes crash on tainted instance state without valid status","titleShort":"Tainted instance state no longer crashes Terraform","breaking":"none","importance":2,"content":"## 1.16.5 (September 30, 2026)\n\n\nBUG FIXES:\n\n* Fixed a crash that happens when a tainted instance state is seen without a valid status ([#39287](https://github.com/hashicorp/terraform/issues/39287))\n\n* resource-identity: fixed an issue where resource identity could be nil during delete ([#39285](https://github.com/hashicorp/terraform/issues/39285))\n\n\n","publishedAt":"2026-10-02T13:04:00.000Z","fetchedAt":"2026-10-02T15:33:22.813Z","url":"https://github.com/hashicorp/terraform/releases/tag/v1.16.5","media":[],"coverageCount":0},{"id":"rel_-ewMpmD-kIuXG7i_ZwT-i","version":"v1.16.4","type":"feature","title":"v1.16.4","summary":"Fixed an issue where Terraform fails when rendering policy evaluation outcomes for older versions of Terraform Enterprise, and an invalid deferred error in stacks triggered by a provider returning a deferral when a resource also has an unknown count or for_each.","titleGenerated":"Terraform v1.16.4 fixes policy evaluation rendering for older TFE versions","titleShort":"TFE policy outcome rendering fixed; stacks deferral error fixed","breaking":"none","importance":2,"content":"## 1.16.4 (September 23, 2026)\n\n\nBUG FIXES:\n\n* Fixed an issue where Terraform fails when rendering policy evaluation outcomes for older versions of Terraform Enterprise ([#39095](https://github.com/hashicorp/terraform/issues/39095))\n\n* stacks: Fix invalid deferred error triggered by provider returning a deferral when a resource also has an unknown count/for_each. ([#39237](https://github.com/hashicorp/terraform/issues/39237))\n\n\n","publishedAt":"2026-09-23T12:44:16.000Z","fetchedAt":"2026-09-23T15:38:10.472Z","url":"https://github.com/hashicorp/terraform/releases/tag/v1.16.4","media":[],"coverageCount":0},{"id":"rel_8RxpxM2XMZ5PQlqXk9YA2","version":"v1.16.3","type":"feature","title":"v1.16.3","summary":"Fixed destroy=false handling around create_before_destroy instances, function result comparison with multiple marks, and a marks filter bug that caused values with multiple marks to erroneously fail validations. Also fixed import provider resolution.","titleGenerated":"Terraform v1.16.3 fixes destroy=false handling around create_before_destroy","titleShort":"destroy=false handling fixed; multi-mark validations no longer fail","breaking":"none","importance":1,"content":"## 1.16.3 (September 16, 2026)\n\n\nBUG FIXES:\n\n* Fix handling of destroy=false around create_before_destroy instances ([#39169](https://github.com/hashicorp/terraform/issues/39169))\n\n* Fix function result comparison when there are multiple marks ([#39170](https://github.com/hashicorp/terraform/issues/39170))\n\n* Filter logic for marks could cause values with multiple marks to erroneously fail validations ([#39171](https://github.com/hashicorp/terraform/issues/39171))\n\n* Fix issue with import provider resolution ([#39185](https://github.com/hashicorp/terraform/issues/39185))\n\n\n","publishedAt":"2026-09-16T14:33:39.000Z","fetchedAt":"2026-09-16T16:36:07.416Z","url":"https://github.com/hashicorp/terraform/releases/tag/v1.16.3","media":[],"coverageCount":0},{"id":"rel_Plx1S8oDVmWTv1o179P2I","version":"v1.16.2","type":"feature","title":"v1.16.2","summary":"Fixed a panic that could occur during module installation when encountering invalid module calls.","titleGenerated":"Terraform v1.16.2 fixes panic on invalid module calls","titleShort":"Panic on invalid module calls fixed","breaking":"none","importance":2,"content":"## 1.16.2 (September 9, 2026)\n\n\nBUG FIXES:\n\n* Fix panic in module installation when encoutering invalid module calls ([#39129](https://github.com/hashicorp/terraform/issues/39129))\n\n\n","publishedAt":"2026-09-09T13:22:31.000Z","fetchedAt":"2026-09-09T13:29:39.513Z","url":"https://github.com/hashicorp/terraform/releases/tag/v1.16.2","media":[],"coverageCount":0},{"id":"rel_KBI3kGB_38xgvqhQdjqG8","version":"v1.16.1","type":"feature","title":"v1.16.1","summary":"Fixed a bug causing the CLI to pause indefinitely after a run task failure with pending policy evaluations. Also resolves import blocks being ignored with count/for_each, a panic on sensitive import identity, and create_before_destroy ordering issues.","titleGenerated":"Terraform v1.16.1 fixes CLI hang after run task failure","titleShort":"CLI no longer hangs after run task failure","breaking":"none","importance":2,"content":"## 1.16.1 (September 2, 2026)\n\n\nBUG FIXES:\n\n* cloud: Fixed a bug causing the CLI to pause indefinitely after a run task failure with pending policy evaluations ([#38751](https://github.com/hashicorp/terraform/issues/38751))\n\n* Support referencing modules containing dynamic sources in Terraform Test ([#38950](https://github.com/hashicorp/terraform/issues/38950))\n\n* stacks: Fixed validation to ensure the provider versions in the lock file and configuration are compatible. ([#38829](https://github.com/hashicorp/terraform/issues/38829))\n\n* Fix panic when import identity references sensitive value ([#39013](https://github.com/hashicorp/terraform/issues/39013))\n\n* import: Fixed a bug where import blocks would be ignored when multiple imports targeted different instances of a resource config using `for_each` or `count`. ([#39068](https://github.com/hashicorp/terraform/issues/39068))\n\n* state show: Fix a panic when given an attribute path instead of a resource instance address ([#39087](https://github.com/hashicorp/terraform/issues/39087))\n\n* Fix create_before_destroy ordering in some combinations of changes ([#39091](https://github.com/hashicorp/terraform/issues/39091))\n\n\n","publishedAt":"2026-09-02T14:49:32.000Z","fetchedAt":"2026-09-02T18:31:47.110Z","url":"https://github.com/hashicorp/terraform/releases/tag/v1.16.1","media":[],"coverageCount":0},{"id":"rel_hMa7aXhuWOZaecAUxDub7","version":"v1.16.0","type":"feature","title":"v1.16.0","summary":"Import blocks are now supported inside modules, and providers gain planned private data persisted across plan and apply for provider-specific state. Also adds a Linux s390x binary, on_failure action triggers, and store blocks in terraform_data.","titleGenerated":"Terraform v1.16.0 adds import blocks in modules and planned private data","titleShort":"Import blocks in modules; planned private data for providers","breaking":"minor","importance":4,"content":"## 1.16.0 (August 26, 2026)\n\n\nNEW FEATURES:\n\n* Terraform now stores planned private data for providers, allowing provider-specific state to be preserved across plan and apply. ([#37986](https://github.com/hashicorp/terraform/issues/37986))\n\n* `terraform_data`: The new `store` block can hold ephemeral and sensitive values across plan and apply. ([#38298](https://github.com/hashicorp/terraform/issues/38298))\n\n* Providers can now use nested blocks as computed values ([#38305](https://github.com/hashicorp/terraform/issues/38305))\n\n* import: `import` blocks inside modules are now supported. ([#38352](https://github.com/hashicorp/terraform/issues/38352))\n\n* Terraform is now available as a pre-built binary for Linux s390x (zLinux). ([#38384](https://github.com/hashicorp/terraform/issues/38384))\n\n* Resource action triggers can now use `on_failure` modes of `halt`, `taint`, or `continue`. ([#38722](https://github.com/hashicorp/terraform/issues/38722))\n\n\nENHANCEMENTS:\n\n* state show: The `state show` command can now produce machine-readable output when supplied with the `-json` flag ([#23940](https://github.com/hashicorp/terraform/issues/23940))\n\n* workspace: The `workspace list` command can now produce machine-readable output when supplied with the `-json` flag ([#38397](https://github.com/hashicorp/terraform/issues/38397))\n\n* test: Terraform now reports which resources were left behind when `skip_cleanup` is set. ([#38449](https://github.com/hashicorp/terraform/issues/38449))\n\n* stacks: Action configurations now have access to a `caller` symbol containing the object value of the calling resource. ([#38668](https://github.com/hashicorp/terraform/issues/38668))\n\n* Actions can now use `before_destroy` and `after_destroy` events. ([#38668](https://github.com/hashicorp/terraform/issues/38668))\n\n* cloud: Terraform now displays a summary of policy evaluation outcomes for `plan` and `apply` runs against HCP Terraform. ([#38715](https://github.com/hashicorp/terraform/issues/38715))\n\n* policy: Terraform now resolves policy plugin credentials from the configured cloud or remote backend during `init`, `plan`, and `apply`, rather than requiring the plugin to read credentials itself. ([#38716](https://github.com/hashicorp/terraform/issues/38716))\n\n* graph: The `terraform graph` command can now output graphs in Mermaid format using the `-format=mermaid` flag. ([#38719](https://github.com/hashicorp/terraform/issues/38719))\n\n* Child module outputs with unreferenced deprecated nested attributes no longer return deprecation warnings. ([#38778](https://github.com/hashicorp/terraform/issues/38778))\n\n* Resource `lifecycle` blocks now support `destroy = false` to prevent a resource from being destroyed. ([#38784](https://github.com/hashicorp/terraform/issues/38784))\n\n* The `contains()` function can now test for `null` values. ([#38792](https://github.com/hashicorp/terraform/issues/38792))\n\n* console: The `terraform console` command now accepts an optional `-scope=<module address>` flag, which can be used to evaluate expressions within the scope of a module or a specific module instance. ([#31861](https://github.com/hashicorp/terraform/issues/31861))\n\n* `-invoke` can now be combined with `-target` to specify the calling resource instance when multiple resources trigger the same action. ([#38845](https://github.com/hashicorp/terraform/issues/38845))\n\n* The `terraform stacks` command now automatically infers the target hostname from the local credentials file (`credentials.tfrc.json`) when neither `TF_STACKS_HOSTNAME` nor `TF_CLOUD_HOSTNAME` is set ([#38896](https://github.com/hashicorp/terraform/issues/38896))\n\n\nBUG FIXES:\n\n* `import` blocks now correctly respect provider local names. ([#38338](https://github.com/hashicorp/terraform/issues/38338))\n\n* `terraform apply` no longer panics when the plan contains a no-op change for a deposed resource that has `lifecycle.precondition` or `lifecycle.postcondition` blocks. ([#38586](https://github.com/hashicorp/terraform/issues/38586))\n\n* workspace: Terraform now raises an error if an invalid workspace name becomes selected due to out-of-band changes. ([#38594](https://github.com/hashicorp/terraform/issues/38594))\n\n* test: Terraform now raises a warning when a file referenced via the `-filter` flag does not exist. ([#38603](https://github.com/hashicorp/terraform/issues/38603))\n\n* init: Terraform no longer removes locks from the dependency lock file for providers configured as `dev_override`. ([#38634](https://github.com/hashicorp/terraform/issues/38634))\n\n* init: Terraform now warns when unmanaged providers are in use and may impact provider installation. ([#38656](https://github.com/hashicorp/terraform/issues/38656))\n\n* Actions are now invoked with respect to all resource dependencies. ([#38668](https://github.com/hashicorp/terraform/issues/38668))\n\n* Terraform now returns the correct error when an `import` target exists in state but has no corresponding configuration. ([#38782](https://github.com/hashicorp/terraform/issues/38782))\n\n* The `merge()` function no longer panics when passed `null` objects. ([#38792](https://github.com/hashicorp/terraform/issues/38792))\n\n* Allow underscores in provider source address namespaces, so private registry provider addresses are no longer rejected as invalid ([#38894](https://github.com/hashicorp/terraform/issues/38894))\n\n* test: Optional ephemeral values do not have to be set at plan time ([#38974](https://github.com/hashicorp/terraform/issues/38974))\n\n\nNOTES:\n\n* init: Errors due to incompatible `-upgrade` and `-lockfile=readonly` flags are now raised earlier in the init process. ([#38561](https://github.com/hashicorp/terraform/issues/38561))\n\n\nUPGRADE NOTES:\n\n* `bastion_host_key` is now correctly applied by provisioners. Review your provisioner configurations to verify the configured key is correct before upgrading. ([#38318](https://github.com/hashicorp/terraform/issues/38318))\n\n\n## Previous Releases\n\nFor information on prior major and minor releases, refer to their changelogs:\n\n- [v1.15](https://github.com/hashicorp/terraform/blob/v1.15/CHANGELOG.md)\n- [v1.14](https://github.com/hashicorp/terraform/blob/v1.14/CHANGELOG.md)\n- [v1.13](https://github.com/hashicorp/terraform/blob/v1.13/CHANGELOG.md)\n- [v1.12](https://github.com/hashicorp/terraform/blob/v1.12/CHANGELOG.md)\n- [v1.11](https://github.com/hashicorp/terraform/blob/v1.11/CHANGELOG.md)\n- [v1.10](https://github.com/hashicorp/terraform/blob/v1.10/CHANGELOG.md)\n- [v1.9](https://github.com/hashicorp/terraform/blob/v1.9/CHANGELOG.md)\n- [v1.8](https://github.com/hashicorp/terraform/blob/v1.8/CHANGELOG.md)\n- [v1.7](https://github.com/hashicorp/terraform/blob/v1.7/CHANGELOG.md)\n- [v1.6](https://github.com/hashicorp/terraform/blob/v1.6/CHANGELOG.md)\n- [v1.5](https://github.com/hashicorp/terraform/blob/v1.5/CHANGELOG.md)\n- [v1.4](https://github.com/hashicorp/terraform/blob/v1.4/CHANGELOG.md)\n- [v1.3](https://github.com/hashicorp/terraform/blob/v1.3/CHANGELOG.md)\n- [v1.2](https://github.com/hashicorp/terraform/blob/v1.2/CHANGELOG.md)\n- [v1.1](https://github.com/hashicorp/terraform/blob/v1.1/CHANGELOG.md)\n- [v1.0](https://github.com/hashicorp/terraform/blob/v1.0/CHANGELOG.md)\n- [v0.15](https://github.com/hashicorp/terraform/blob/v0.15/CHANGELOG.md)\n- [v0.14](https://github.com/hashicorp/terraform/blob/v0.14/CHANGELOG.md)\n- [v0.13](https://github.com/hashicorp/terraform/blob/v0.13/CHANGELOG.md)\n- [v0.12](https://github.com/hashicorp/terraform/blob/v0.12/CHANGELOG.md)\n- [v0.11 and earlier](https://github.com/hashicorp/terraform/blob/v0.11/CHANGELOG.md)\n","publishedAt":"2026-08-26T13:05:28.000Z","fetchedAt":"2026-08-26T15:25:17.655Z","url":"https://github.com/hashicorp/terraform/releases/tag/v1.16.0","media":[],"coverageCount":0},{"id":"rel_TjitzgKmEMC-qZaIhH1KT","version":"v1.15.9","type":"feature","title":"v1.15.9","summary":"Child module validation now correctly raises errors or warnings for invalid blocks (`list`, `import`, `backend`, `cloud`), and updating go-slug to v0.18.3 mitigates CVE-2026-14978, a Unicode normalization issue that could let files be incorrectly excluded from uploads via `.terraformignore`.","titleGenerated":"Terraform v1.15.9 fixes child module validation and mitigates Unicode issue","titleShort":"Child module validation fixed; .terraformignore Unicode issue patched","breaking":"none","importance":3,"content":"## 1.15.9 (August 19, 2026)\n\n\nBUG FIXES:\n\n* validate: Child module validation has been fixed and will now raise errors or warning diagnostics for invalid blocks. (`list`, `import`, `backend`, and `cloud`) ([#38994](https://github.com/hashicorp/terraform/issues/38994))\n\n\nNOTES:\n\n* Update go-slug to v0.18.3 to mitigate CVE-2026-14978, which is a Unicode normalization issue that could lead to files not being correctly excluded via `.terraformignore` from upload to a Terraform Enterprise or HCP Terraform during a run ([#39036](https://github.com/hashicorp/terraform/issues/39036))\n\n\n","publishedAt":"2026-08-19T14:29:32.000Z","fetchedAt":"2026-08-19T16:23:20.785Z","url":"https://github.com/hashicorp/terraform/releases/tag/v1.15.9","media":[],"coverageCount":0},{"id":"rel_abe3TFTeZpLbBBPdnA1Va","version":"v1.15.8","type":"feature","title":"v1.15.8","summary":"Fixed terraform init error when installing providers sourced from a service-discovery alias advertised by the configured backend. Provider installation order and logging were adjusted to support future enhancements, with module installation now occurring after backend initialization.","titleGenerated":"Terraform v1.15.8 fixes provider installation from service-discovery aliases","titleShort":"Provider install from service-discovery aliases fixed","breaking":"none","importance":2,"content":"## 1.15.8 (July 8, 2026)\n\n\nBUG FIXES:\n\n* Fix `terraform init` error when installing providers sourced from a service-discovery alias advertised by the configured backend (such as `localterraform.com`)\n\n\nNOTES:\n\n* command/init: Provider installation was changed to enable future enhancements in the area. This effectively reverses the log message changes from v1.15. `initializing_provider_plugin_message` is being re-introduced to replace the short-lived two message types `initializing_provider_plugin_from_config_message` & `initializing_provider_plugin_from_state_message`. The change should not have any significant end-user impact aside from the command output. ([#38838](https://github.com/hashicorp/terraform/issues/38838))\n\n* command/init: Provider installation was changed to enable future enhancements in the area. This partially reverses the init event order changes from v1.15; module installation will now occur after the backend is initialized. The change should not have any significant end-user impact aside from the command output. ([#38838](https://github.com/hashicorp/terraform/issues/38838))\n\n\n","publishedAt":"2026-07-08T17:45:09.000Z","fetchedAt":"2026-07-08T18:07:01.667Z","url":"https://github.com/hashicorp/terraform/releases/tag/v1.15.8","media":[],"coverageCount":0},{"id":"rel__Kbku3ft8F6RvkE5vC4Be","version":"v1.15.7","type":"feature","title":"v1.15.7","summary":"Fixed submodule variable validation during init and added concurrency safety to configs.Parser and SourceBundleParser.","titleGenerated":"Terraform v1.15.7 fixes submodule variable validation during init","titleShort":"Submodule variable validation fixed during init","breaking":"none","importance":null,"content":"## 1.15.7 (June 24, 2026)\n\n\nBUG FIXES:\n\n* Add concurrency safety to configs.Parser and SourceBundleParser ([#38745](https://github.com/hashicorp/terraform/issues/38745))\n\n* Fix submodule variable validation during init ([#38770](https://github.com/hashicorp/terraform/issues/38770))\n\n\n","publishedAt":"2026-06-24T16:47:12.000Z","fetchedAt":"2026-06-24T18:05:17.178Z","url":"https://github.com/hashicorp/terraform/releases/tag/v1.15.7","media":[],"coverageCount":0},{"id":"rel_uKQO4eMUPzhxo8E5vUcmX","version":"v1.15.6","type":"feature","title":"v1.15.6","summary":"Fixed an issue where resources being removed from state via removed block were incorrectly listed under planned_values in JSON plan representations, and a panic in console when evaluating expressions with deprecated values. Also fixed exit codes for plan, query, and refresh commands on variable errors, and two module installation edge cases with null and sensitive/ephemeral module sources.","titleGenerated":"Terraform v1.15.6 fixes removed resources appearing in plan JSON and console panic","titleShort":"Removed resources no longer appear in planned_values; console panic fixed","breaking":"unknown","importance":null,"content":"## 1.15.6 (June 10, 2026)\n\n\nBUG FIXES:\n\n* Fixed an issue where resources being removed from state via `removed` block were incorrectly listed under `planned_values` in json representations of the plan file. ([#38665](https://github.com/hashicorp/terraform/issues/38665))\n\n* console: Fixed a panic caused by evaluating an expression involving deprecated values ([#38676](https://github.com/hashicorp/terraform/issues/38676))\n\n* Fix exit code for plan, query, and refresh commands for variable-related errors ([#38685](https://github.com/hashicorp/terraform/issues/38685))\n\n* Fix two module installation edge cases with `null` and sensitive/ephemeral module sources ([#38704](https://github.com/hashicorp/terraform/issues/38704))\n\n\n","publishedAt":"2026-06-10T11:52:20.000Z","fetchedAt":"2026-06-10T14:05:58.486Z","url":"https://github.com/hashicorp/terraform/releases/tag/v1.15.6","media":[],"coverageCount":0},{"id":"rel_nN0bfRYlEkFMeknJwjs7h","version":"v1.15.5","type":"feature","title":"v1.15.5","summary":"Fixed a crash during terraform init when modules have an empty source. Also added support for module version evaluating to null in dynamic module sources.","titleGenerated":"Terraform v1.15.5 fixes crash on init for modules with empty source","titleShort":"Init no longer crashes on empty module source","breaking":"unknown","importance":null,"content":"## 1.15.5 (May 27, 2026)\n\n\nENHANCEMENTS:\n\n* Support for module version evaluating to `null` (in the context of dynamic module sources) ([#38632](https://github.com/hashicorp/terraform/issues/38632))\n\n\nBUG FIXES:\n\n* Fix crash on `init` for modules with empty source ([#38628](https://github.com/hashicorp/terraform/issues/38628))\n\n\n","publishedAt":"2026-05-27T14:52:52.000Z","fetchedAt":"2026-05-27T15:05:12.278Z","url":"https://github.com/hashicorp/terraform/releases/tag/v1.15.5","media":[],"coverageCount":0},{"id":"rel_G1Lrx8s3Op0OeuGsE4Q-s","version":"v1.15.4","type":"feature","title":"v1.15.4","summary":"Terraform now produces builds for Linux s390x (zLinux). Fixed provider binary installation into symlinked directories during init.","titleGenerated":"Terraform v1.15.4 adds Linux s390x support and fixes symlinked provider install","titleShort":"Linux s390x builds now available; symlinked provider dirs handled","breaking":"unknown","importance":null,"content":"## 1.15.4 (May 20, 2026)\n\n\nNEW FEATURES:\n\n* We now produce builds for Linux s390x (zLinux) ([#38615](https://github.com/hashicorp/terraform/issues/38615))\n\n\nBUG FIXES:\n\n* init: Prevent provider binaries from being installed into symlinked directories ([#38611](https://github.com/hashicorp/terraform/issues/38611))\n\n\n","publishedAt":"2026-05-20T16:52:18.000Z","fetchedAt":"2026-05-20T18:05:33.864Z","url":"https://github.com/hashicorp/terraform/releases/tag/v1.15.4","media":[],"coverageCount":0},{"id":"rel_qVbpZfPg4E0891mQSEmyG","version":"v1.15.3","type":"feature","title":"v1.15.3","summary":"Fixed a crash during provider installation when there is no config, and a bug that prevented migrating resources under multiple layers of module nesting with implicit provider configuration. Cloud backend now forwards the -generate-config-out flag to query create requests.","titleGenerated":"Terraform v1.15.3 fixes provider installation crash and module migration under nested providers","titleShort":"Provider installation crash fixed; nested module migration works","breaking":"unknown","importance":null,"content":"## 1.15.3 (May 13, 2026)\n\n\nBUG FIXES:\n\n* stacks: Fixed a bug that prevented migrating resources under multiple layers of module nesting with implicit provider configuration. ([#38528](https://github.com/hashicorp/terraform/issues/38528))\n\n* cloud backend will now forward -generate-config-out flag usage to query create request ([#38539](https://github.com/hashicorp/terraform/issues/38539))\n\n* Fix crash during provider installation when there is no config ([#38560](https://github.com/hashicorp/terraform/issues/38560))\n\n\n","publishedAt":"2026-05-13T09:58:43.000Z","fetchedAt":"2026-05-13T10:01:28.741Z","url":"https://github.com/hashicorp/terraform/releases/tag/v1.15.3","media":[],"coverageCount":0},{"id":"rel_4ZFOxfGDEfezjKLVJSYZQ","version":"v1.15.2","type":"feature","title":"v1.15.2","summary":"## 1.15.2 (May 6, 2026)\n\n\nENHANCEMENTS:\n\n* stacks: add ouput values to plan component instance change description ([#38360](https://github.com/hashico...","titleGenerated":null,"titleShort":null,"breaking":"unknown","importance":null,"content":"## 1.15.2 (May 6, 2026)\n\n\nENHANCEMENTS:\n\n* stacks: add ouput values to plan component instance change description ([#38360](https://github.com/hashicorp/terraform/issues/38360))\n\n\nBUG FIXES:\n\n* Avoid printing warnings from 'terraform output -json' ([#38530](https://github.com/hashicorp/terraform/issues/38530))\n\n\n","publishedAt":"2026-05-06T13:56:22.000Z","fetchedAt":"2026-05-06T17:00:51.819Z","url":"https://github.com/hashicorp/terraform/releases/tag/v1.15.2","media":[],"coverageCount":0},{"id":"rel_S4EwFRbKgQaSyxRw3tYZT","version":"v1.15.1","type":"feature","title":"v1.15.1","summary":"## 1.15.1 (May 1, 2026)\n\n\nBUG FIXES:\n\n* Fixed crash when configuration has an invalid `action_trigger` nested block in `data` or `ephemeral` lifecycle...","titleGenerated":null,"titleShort":null,"breaking":"unknown","importance":null,"content":"## 1.15.1 (May 1, 2026)\n\n\nBUG FIXES:\n\n* Fixed crash when configuration has an invalid `action_trigger` nested block in `data` or `ephemeral` lifecycle blocks ([#38402](https://github.com/hashicorp/terraform/issues/38402))\n\n* validate: Removed validation of attributes inside `backend` blocks due to incompatibility with workflows using the `-backend-config` flag. ([#38466](https://github.com/hashicorp/terraform/issues/38466))\n\n* Fix non-const variable checks on `init` ([#38470](https://github.com/hashicorp/terraform/issues/38470))\n\n* Avoid warnings in 'terraform output -raw' ([#38487](https://github.com/hashicorp/terraform/issues/38487))\n\n* Ignore undeclared variable values from the cloud backend ([#38490](https://github.com/hashicorp/terraform/issues/38490))\n\n* Fix panic for types modules with no expanded instances ([#38491](https://github.com/hashicorp/terraform/issues/38491))\n\n* Fixed \"unknown provider function\" errors occurring during init ([#38472](https://github.com/hashicorp/terraform/issues/38472))\n\n* init: Fixed a bug that impacted use of provider pre-releases during init ([#38496](https://github.com/hashicorp/terraform/issues/38496))\n\n\n","publishedAt":"2026-05-01T16:43:30.000Z","fetchedAt":"2026-05-01T18:00:50.309Z","url":"https://github.com/hashicorp/terraform/releases/tag/v1.15.1","media":[],"coverageCount":0},{"id":"rel_PmB_HR000yKvFIS5m-NDe","version":"v1.15.0","type":"feature","title":"v1.15.0","summary":"## 1.15.0 (April 29, 2026)\n\n\nNEW FEATURES:\n\n* We now produce builds for Windows ARM64 ([#32719](https://github.com/hashicorp/terraform/issues/32719))\n...","titleGenerated":null,"titleShort":null,"breaking":"unknown","importance":null,"content":"## 1.15.0 (April 29, 2026)\n\n\nNEW FEATURES:\n\n* We now produce builds for Windows ARM64 ([#32719](https://github.com/hashicorp/terraform/issues/32719))\n\n* 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](https://github.com/hashicorp/terraform/issues/38001))\n\n* backend/s3: Support authentication via `aws login` ([#37976](https://github.com/hashicorp/terraform/issues/37976))\n\n* 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](https://github.com/hashicorp/terraform/issues/38021))\n\n* `convert` function, which allows for precise inline type conversions ([#38160](https://github.com/hashicorp/terraform/issues/38160))\n\n* Terraform now supports variables and locals in module source and version attributes ([#38217](https://github.com/hashicorp/terraform/issues/38217))\n\n\nENHANCEMENTS:\n\n* config: `output` blocks now can have an explicit type constraints ([#36411](https://github.com/hashicorp/terraform/issues/36411))\n\n* ssh-based provisioner (file + remote-exec): Re-enable support for PowerShell ([#37794](https://github.com/hashicorp/terraform/issues/37794))\n\n* terraform init log timestamps include millisecond precision ([#37818](https://github.com/hashicorp/terraform/issues/37818))\n\n* 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](https://github.com/hashicorp/terraform/issues/37884))\n\n* Terraform Test: Allow functions within mock blocks ([#34672](https://github.com/hashicorp/terraform/issues/34672))\n\n* improve detection of deprecated resource attributes / blocks ([#38077](https://github.com/hashicorp/terraform/issues/38077))\n\n* Deprecation messages providers set on resources / blocks / attributes are now part of the deprecation warning ([#38135](https://github.com/hashicorp/terraform/issues/38135))\n\n* Include which attribute paths are marked as sensitive in list_start JSON logs ([#38197](https://github.com/hashicorp/terraform/issues/38197))\n\n* Add input variable validation for Stacks ([#38240](https://github.com/hashicorp/terraform/issues/38240))\n\n* When comparing a container value to null, only top level marks are now considered for the result. ([#38270](https://github.com/hashicorp/terraform/issues/38270))\n\n* As part of supporting variables in module sources, most commands now accept variable values ([#38276](https://github.com/hashicorp/terraform/issues/38276))\n\n\nBUG FIXES:\n\n* testing: File-level error diagnostics are now included in JUnit XML skipped test elements, ensuring CI/CD pipelines can detect validation failures ([#37801](https://github.com/hashicorp/terraform/issues/37801))\n\n* A refresh-only plan could result in a non-zero exit code with no changes ([#37406](https://github.com/hashicorp/terraform/issues/37406))\n\n* cli: Fixed crash in `terraform show -json` when plan contains ephemeral resources with preconditions or postconditions ([#37834](https://github.com/hashicorp/terraform/issues/37834))\n\n* cli: Fixed `terraform init -json` to properly format all backend configuration messages as JSON instead of plain text ([#37911](https://github.com/hashicorp/terraform/issues/37911))\n\n* `state show`: The `state show` command will now explicitly fail and return code 1 when it fails to render the named resources state ([#37933](https://github.com/hashicorp/terraform/issues/37933))\n\n* apply: Terraform will raise an explicit error if a plan file intended for one workspace is applied against another workspace ([#37954](https://github.com/hashicorp/terraform/issues/37954))\n\n* lifecycle: `replace_triggered_by` now reports an error when given an invalid attribute reference that does not exist in the target resource ([#36740](https://github.com/hashicorp/terraform/issues/36740))\n\n* backend: Fix nil pointer dereference crash during `terraform init` when the destination backend returns an error ([#38027](https://github.com/hashicorp/terraform/issues/38027))\n\n* stacks: send progress events if the plan fails for better UI integration ([#38039](https://github.com/hashicorp/terraform/issues/38039))\n\n* stacks: component instances should report no-op plan/apply. This solves a UI inconsistency with convergence destroy plans  ([#38049](https://github.com/hashicorp/terraform/issues/38049))\n\n* backend/http: Return conflicting lock info from HTTP backend instead of the lock that failed to be taken ([#38144](https://github.com/hashicorp/terraform/issues/38144))\n\n* 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](https://github.com/hashicorp/terraform/issues/38181))\n\n* cloud: terraform cloud and registry discovery network requests are now more resilient, making temporary network or service related errors less common ([#38064](https://github.com/hashicorp/terraform/issues/38064))\n\n* Enable formatting of `.tfquery.hcl` files by `terraform fmt` ([#38398](https://github.com/hashicorp/terraform/issues/38398))\n\n* Fix `validate` not returning JSON for some early diagnostics ([#38400](https://github.com/hashicorp/terraform/issues/38400))\n\n* Fix Terraform Stacks plugin installation error ([#38406](https://github.com/hashicorp/terraform/issues/38406))\n\n\nNOTES:\n\n* 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](https://github.com/hashicorp/terraform/issues/38227))\n\n\nUPGRADE NOTES:\n\n* 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](https://github.com/hashicorp/terraform/issues/37601))\n\n\n## Previous Releases\n\nFor information on prior major and minor releases, refer to their changelogs:\n\n- [v1.14](https://github.com/hashicorp/terraform/blob/v1.14/CHANGELOG.md)\n- [v1.13](https://github.com/hashicorp/terraform/blob/v1.13/CHANGELOG.md)\n- [v1.12](https://github.com/hashicorp/terraform/blob/v1.12/CHANGELOG.md)\n- [v1.11](https://github.com/hashicorp/terraform/blob/v1.11/CHANGELOG.md)\n- [v1.10](https://github.com/hashicorp/terraform/blob/v1.10/CHANGELOG.md)\n- [v1.9](https://github.com/hashicorp/terraform/blob/v1.9/CHANGELOG.md)\n- [v1.8](https://github.com/hashicorp/terraform/blob/v1.8/CHANGELOG.md)\n- [v1.7](https://github.com/hashicorp/terraform/blob/v1.7/CHANGELOG.md)\n- [v1.6](https://github.com/hashicorp/terraform/blob/v1.6/CHANGELOG.md)\n- [v1.5](https://github.com/hashicorp/terraform/blob/v1.5/CHANGELOG.md)\n- [v1.4](https://github.com/hashicorp/terraform/blob/v1.4/CHANGELOG.md)\n- [v1.3](https://github.com/hashicorp/terraform/blob/v1.3/CHANGELOG.md)\n- [v1.2](https://github.com/hashicorp/terraform/blob/v1.2/CHANGELOG.md)\n- [v1.1](https://github.com/hashicorp/terraform/blob/v1.1/CHANGELOG.md)\n- [v1.0](https://github.com/hashicorp/terraform/blob/v1.0/CHANGELOG.md)\n- [v0.15](https://github.com/hashicorp/terraform/blob/v0.15/CHANGELOG.md)\n- [v0.14](https://github.com/hashicorp/terraform/blob/v0.14/CHANGELOG.md)\n- [v0.13](https://github.com/hashicorp/terraform/blob/v0.13/CHANGELOG.md)\n- [v0.12](https://github.com/hashicorp/terraform/blob/v0.12/CHANGELOG.md)\n- [v0.11 and earlier](https://github.com/hashicorp/terraform/blob/v0.11/CHANGELOG.md)\n","publishedAt":"2026-04-29T14:05:34.000Z","fetchedAt":"2026-04-29T18:01:05.013Z","url":"https://github.com/hashicorp/terraform/releases/tag/v1.15.0","media":[],"coverageCount":0},{"id":"rel_4OLxnR2MGbuHAaTfrji9o","version":"v1.14.9","type":"feature","title":"v1.14.9","summary":"## 1.14.9 (April 20, 2026)\n\n\nBUG FIXES:\n\n* Fix Terraform Stacks plugin installation error ([#38406](https://github.com/hashicorp/terraform/issues/3840...","titleGenerated":null,"titleShort":null,"breaking":"unknown","importance":null,"content":"## 1.14.9 (April 20, 2026)\n\n\nBUG FIXES:\n\n* Fix Terraform Stacks plugin installation error ([#38406](https://github.com/hashicorp/terraform/issues/38406))\n\n\n","publishedAt":"2026-04-20T18:46:26.000Z","fetchedAt":"2026-04-20T20:04:38.049Z","url":"https://github.com/hashicorp/terraform/releases/tag/v1.14.9","media":[],"coverageCount":0},{"id":"rel_ehEeqap82eB4NvrJiGvNm","version":"v1.14.8","type":"feature","title":"v1.14.8","summary":"## 1.14.8 (March 25, 2026)\n\n\nBUG FIXES:\n\n* Prevent crash in the display of relevant attributes after provider upgrades ([#38264](https://github.com/ha...","titleGenerated":null,"titleShort":null,"breaking":"unknown","importance":null,"content":"## 1.14.8 (March 25, 2026)\n\n\nBUG FIXES:\n\n* Prevent crash in the display of relevant attributes after provider upgrades ([#38264](https://github.com/hashicorp/terraform/issues/38264))\n\n\n","publishedAt":"2026-03-25T07:56:42.000Z","fetchedAt":"2026-04-08T00:00:58.038Z","url":"https://github.com/hashicorp/terraform/releases/tag/v1.14.8","media":[],"coverageCount":0},{"id":"rel_6oZz4SEb0ssKO0io8LJsv","version":"v1.14.7","type":"feature","title":"v1.14.7","summary":"## 1.14.7 (March 11, 2026)\n\n\nNOTES:\n\n* Bump Go version to 1.25.8 to suppress security scanner false positives ([#38249](https://github.com/hashicorp/t...","titleGenerated":null,"titleShort":null,"breaking":"unknown","importance":null,"content":"## 1.14.7 (March 11, 2026)\n\n\nNOTES:\n\n* Bump Go version to 1.25.8 to suppress security scanner false positives ([#38249](https://github.com/hashicorp/terraform/issues/38249))\n\n\n","publishedAt":"2026-03-11T14:14:31.000Z","fetchedAt":"2026-04-08T00:00:58.038Z","url":"https://github.com/hashicorp/terraform/releases/tag/v1.14.7","media":[],"coverageCount":0},{"id":"rel_bX7CHgQdvh1ijIecV-gpC","version":"v1.14.6","type":"feature","title":"v1.14.6","summary":"## 1.14.6 (February 25, 2026)\n\n\nBUG FIXES:\n\n* terraform test: return error when provider config is invalid ([#38084](https://github.com/hashicorp/terr...","titleGenerated":null,"titleShort":null,"breaking":"unknown","importance":null,"content":"## 1.14.6 (February 25, 2026)\n\n\nBUG FIXES:\n\n* terraform test: return error when provider config is invalid ([#38084](https://github.com/hashicorp/terraform/issues/38084))\n\n\n","publishedAt":"2026-02-25T14:16:02.000Z","fetchedAt":"2026-04-08T00:00:58.333Z","url":"https://github.com/hashicorp/terraform/releases/tag/v1.14.6","media":[],"coverageCount":0}],"pagination":{"nextCursor":"2026-02-25T14:16:02.000Z|2026-04-08T00:00:58.333Z|rel_bX7CHgQdvh1ijIecV-gpC","limit":20},"summaries":{"rolling":null,"monthly":[]}}