Change8

v1.15.0-beta1

📦 terraformView on GitHub →
6 features🐛 12 fixes🔧 15 symbols

Summary

This beta release introduces support for Windows ARM64 builds, allows marking variables/outputs as deprecated, and adds the inline `convert` function. It also enhances backend validation and allows variables/locals in module source definitions.

Migration Steps

  1. If using `AWS_USE_FIPS_ENDPOINT` or `AWS_USE_DUALSTACK_ENDPOINT` environment variables for the S3 backend, ensure they are set strictly to `"true"` or `"false"` instead of relying on any non-empty value being treated as true.

✨ New Features

  • Produce builds for Windows ARM64.
  • Support setting a `deprecated` attribute on variable and output blocks to produce warnings.
  • backend/s3: Support authentication via `aws login`.
  • The `validate` command now checks the `backend` block for type existence, required attributes, and backend validation logic.
  • Introduction of the `convert` function for precise inline type conversions.
  • Terraform now supports variables and locals in 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 with no changes.
  • Fixed crash in `terraform show -json` when plan contains ephemeral resources with preconditions or postconditions.
  • Fixed `terraform init -json` to properly format all backend configuration messages as JSON instead of plain text.
  • The `state show` command will now explicitly fail and return code 1 when it fails to render the named resources state.
  • Terraform raises an explicit error if a plan file intended for one workspace is applied against another workspace.
  • lifecycle: `replace_triggered_by` now reports an error when given an invalid attribute reference that does not exist in the target resource.
  • Fixed nil pointer dereference crash during `terraform init` when the destination backend returns an error.
  • Stacks now send progress events if the plan fails for better UI integration.
  • Stacks: component instances should report no-op plan/apply, solving a UI inconsistency with convergence destroy plans.
  • backend/http: Return conflicting lock info from HTTP backend instead of the lock that failed to be taken.
  • Fixed a bug that caused Terraform to be unable to identify when two states had different output values, potentially affecting backend migrations.

Affected Symbols