Change8

v1.15.0-rc3

📦 terraformView on GitHub →
6 features🐛 16 fixes🔧 22 symbols

Summary

This release introduces significant new features like the `convert` function, support for variables in module sources, and enhanced backend validation. It also includes numerous bug fixes across CLI commands, state management, and provider initialization.

Migration Steps

  1. If using S3 backend, note that `AWS_USE_FIPS_ENDPOINT` and `AWS_USE_DUALSTACK_ENDPOINT` environment variables now strictly require `true` or `false` values; any other non-empty value will be treated as false.

✨ New Features

  • Production builds are now available for Windows ARM64.
  • Introduced the ability to set a `deprecated` attribute on variable and output blocks to generate warnings.
  • S3 backend now supports authentication via `aws login`.
  • The `validate` command now checks the `backend` block for type existence, required attributes, and backend-specific validation.
  • Introduction of the `convert` function for precise inline type conversions.
  • Terraform now supports using variables and locals within module source and version attributes.

🐛 Bug Fixes

  • File-level error diagnostics are now included in JUnit XML skipped test elements during testing.
  • Fixed an issue where a refresh-only plan could result in a non-zero exit code when no changes were present.
  • Fixed crash in `terraform show -json` when the plan contained ephemeral resources with preconditions or postconditions.
  • Fixed `terraform init -json` to correctly format all backend configuration messages as JSON instead of plain text.
  • The `state show` command will now explicitly fail with exit code 1 if it cannot render the named resource state.
  • Terraform now raises an explicit error if a plan file intended for one workspace is applied against a different workspace.
  • The `replace_triggered_by` lifecycle argument now correctly reports an error if given an invalid, non-existent attribute reference.
  • Fixed nil pointer dereference crash during `terraform init` when the destination backend returns an error.
  • Stacks now send progress events if the plan fails, improving UI integration.
  • Stacks component instances now correctly report no-op plan/apply status, resolving UI inconsistency with convergence destroy plans.
  • HTTP backend now returns conflicting lock information instead of the lock that failed to be taken.
  • Fixed a bug where Terraform failed to identify differences in output values between two states, potentially affecting backend migrations.
  • Terraform Cloud and registry discovery network requests are now more resilient to temporary network or service errors.
  • Enabled formatting of `.tfquery.hcl` files by `terraform fmt`.
  • Fixed `validate` command not returning JSON output for some early diagnostics.
  • Fixed Terraform Stacks plugin installation errors.

Affected Symbols