Skip to content

Releases: hashicorp/terraform

v1.12.0-alpha20250213

13 Feb 12:27
f868f0d
Compare
Choose a tag to compare
v1.12.0-alpha20250213 Pre-release
Pre-release

1.12.0-alpha20250213 (February 13, 2025)

EXPERIMENTS:

Experiments are only enabled in alpha releases of Terraform CLI. The following features are not yet available in stable releases.

  • The new command terraform rpcapi exposes some Terraform Core functionality through an RPC interface compatible with go-plugin. The exact RPC API exposed here is currently subject to change at any time, because it's here primarily as a vehicle to support the Terraform Stacks private preview and so will be broken if necessary to respond to feedback from private preview participants, or possibly for other reasons. Do not use this mechanism yet outside of Terraform Stacks private preview.
  • The experimental "deferred actions" feature, enabled by passing the -allow-deferral option to terraform plan, permits count and for_each arguments in module, resource, and data blocks to have unknown values and allows providers to react more flexibly to unknown values. This experiment is under active development, and so it's not yet useful to participate in this experiment

Previous Releases

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

v1.11.0-rc1

12 Feb 13:15
4c33a0b
Compare
Choose a tag to compare
v1.11.0-rc1 Pre-release
Pre-release

1.11.0-rc1 (February 12, 2025)

NEW FEATURES:

  • Add write-only attributes to resources. Providers can specify that certain attributes are write-only. They are not persisted in state. You can use ephemeral values in write-only attributes. (#36031)

  • terraform test: The -junit-xml option for the terraform test command is now generally available. This option allows the command to create a test report in JUnit XML format. Feedback during the experimental phase helped map terraform test concepts to the JUnit XML format, and new additons may happen in future releases. (#36324)

  • S3 native state locking is now generally available. The use_lockfile argument enables users to adopt the S3-native mechanism for state locking. As part of this change, we've deprecated the DynamoDB-related arguments in favor of this new locking mechanism. While you can still use DynamoDB alongside S3-native state locking for migration purposes, we encourage migrating to the new state locking mechanism. (#36338)

ENHANCEMENTS:

  • init: Provider installation will utilise credentials configured in a .netrc file for the download and shasum URLs returned by provider registries. (#35843)

  • New command modules -json: Displays a full list of all installed modules in a working directory, including whether each module is currently referenced by the working directory's configuration. (#35884)

  • terraform test: Test runs now support using mocked or overridden values during unit test runs (e.g., with command = "plan"). Set override_during = plan in the test configuration to use the overridden values during the plan phase. The default value is override_during = apply. (#36227)

  • terraform test: Add new state_key attribute for run blocks, allowing test authors control over which internal state file should be used for the current test run. (#36185)

  • Include ca-certificates package in our official Docker image to help with certificate handling by downstream (#36471)

BUG FIXES:

  • ephemeral values: correct error message when ephemeral values are included in provisioner output (#36427)

  • Attempting to override a variable during apply via TF_VAR_ environment variable will now yield warning instead of misleading error. (#36435)

  • backends: Fix crash when interrupting during interactive prompt for values (#36448)

Previous Releases

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

v1.11.0-beta2

05 Feb 11:07
f16cc9f
Compare
Choose a tag to compare
v1.11.0-beta2 Pre-release
Pre-release

1.11.0-beta2 (February 05, 2025)

NEW FEATURES:

  • Add write-only attributes to resources. Providers can specify that certain attributes are write-only. They are not persisted in state. You can use ephemeral values in write-only attributes. (#36031)

  • terraform test: The -junit-xml option for the terraform test command is now generally available. This option allows the command to create a test report in JUnit XML format. Feedback during the experimental phase helped map terraform test concepts to the JUnit XML format, and new additons may happen in future releases. (#36324)

  • S3 native state locking is now generally available. The use_lockfile argument enables users to adopt the S3-native mechanism for state locking. As part of this change, we've deprecated the DynamoDB-related arguments in favor of this new locking mechanism. While you can still use DynamoDB alongside S3-native state locking for migration purposes, we encourage migrating to the new state locking mechanism. (#36338)

ENHANCEMENTS:

  • init: Provider installation will utilise credentials configured in a .netrc file for the download and shasum URLs returned by provider registries. (#35843)

  • New command modules -json: Displays a full list of all installed modules in a working directory, including whether each module is currently referenced by the working directory's configuration. (#35884)

  • terraform test: Test runs now support using mocked or overridden values during unit test runs (e.g., with command = "plan"). Set override_during = plan in the test configuration to use the overridden values during the plan phase. The default value is override_during = apply. (#36227)

  • terraform test: Add new state_key attribute for run blocks, allowing test authors control over which internal state file should be used for the current test run. (#36185)

BUG FIXES:

  • ephemeral values: correct error message when ephemeral values are included in provisioner output (#36427)

Previous Releases

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

v1.10.5

22 Jan 18:40
898e397
Compare
Choose a tag to compare

1.10.5 (January 22, 2025)

BUG FIXES:

  • element(...): no longer crashes when asked for a negative index into a tuple. (#36376)

  • Updated dependency github.com/hashicorp/go-slug v0.16.0 => v0.16.3 to integrate latest changes (fix for CVE-2025-0377) (#36273)

  • jsondecode(...): improved error message when objects contain duplicate keys (#36376)

v1.11.0-beta1

16 Jan 15:36
24e181d
Compare
Choose a tag to compare
v1.11.0-beta1 Pre-release
Pre-release

1.11.0-beta1 (January 16, 2025)

NEW FEATURES:

  • Add write-only attributes to resources. Providers can specify that certain attributes are write-only. They are not persisted in state. You can use ephemeral values in write-only attributes. (#36031)

  • terraform test: The -junit-xml option for the terraform test command is now generally available. This option allows the command to create a test report in JUnit XML format. Feedback during the experimental phase helped map terraform test concepts to the JUnit XML format, and new additons may happen in future releases. (#36324)

  • S3 native state locking is now generally available. The use_lockfile argument enables users to adopt the S3-native mechanism for state locking. As part of this change, we've deprecated the DynamoDB-related arguments in favor of this new locking mechanism. While you can still use DynamoDB alongside S3-native state locking for migration purposes, we encourage migrating to the new state locking mechanism.

ENHANCEMENTS:

  • init: Provider installation will utilise credentials configured in a .netrc file for the download and shasum URLs returned by provider registries. (#35843)

  • terraform test: Test runs now support using mocked or overridden values during unit test runs (e.g., with command = "plan"). Set override_during = plan in the test configuration to use the overridden values during the plan phase. The default value is override_during = apply. (#36227)

  • terraform test: Add new state_key attribute for run blocks, allowing test authors control over which internal state file should be used for the current test run. (#36185)

BUG FIXES:

  • Updated dependency github.com/hashicorp/go-slug v0.16.0 => v0.16.3 to integrate latest changes (fix for CVE-2025-0377) (#36273)

Previous Releases

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

v1.10.4

08 Jan 11:24
369495a
Compare
Choose a tag to compare

1.10.4 (January 8, 2025)

BUG FIXES:

  • type conversion: Empty map conversions now return correct type information (#36262)

  • terraform console: Fix crash when printing ephemeral values (#36267)

v1.11.0-alpha20250107

07 Jan 12:23
2e23650
Compare
Choose a tag to compare
v1.11.0-alpha20250107 Pre-release
Pre-release

1.11.0-alpha20250107 (January 7, 2025)

ENHANCEMENTS:

  • init: Provider installation will utilise credentials configured in a .netrc file for the download and shasum URLs returned by provider registries. (https://github.com/hashicorp/terraform/pull/35843)
  • New command modules -json: Displays a full list of all installed modules in a working directory, including whether each module is currently referenced by the working directory's configuration. (#35884, #36062)

EXPERIMENTS:

Experiments are only enabled in alpha releases of Terraform CLI. The following features are not yet available in stable releases.

  • terraform test accepts a new option -junit-xml=FILENAME. If specified, and if the test configuration is valid enough to begin executing, then Terraform writes a JUnit XML test result report to the given filename, describing similar information as included in the normal test output. (#34291)
  • The new command terraform rpcapi exposes some Terraform Core functionality through an RPC interface compatible with go-plugin. The exact RPC API exposed here is currently subject to change at any time, because it's here primarily as a vehicle to support the Terraform Stacks private preview and so will be broken if necessary to respond to feedback from private preview participants, or possibly for other reasons. Do not use this mechanism yet outside of Terraform Stacks private preview.
  • The experimental "deferred actions" feature, enabled by passing the -allow-deferral option to terraform plan, permits count and for_each arguments in module, resource, and data blocks to have unknown values and allows providers to react more flexibly to unknown values. This experiment is under active development, and so it's not yet useful to participate in this experiment

Previous Releases

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

v1.11.0-alpha20241218

18 Dec 13:42
8f3f2cc
Compare
Choose a tag to compare
v1.11.0-alpha20241218 Pre-release
Pre-release

1.11.0-alpha20241218 (December 18, 2024)

ENHANCEMENTS:

  • init: Provider installation will utilise credentials configured in a .netrc file for the download and shasum URLs returned by provider registries. (https://github.com/hashicorp/terraform/pull/35843)
  • New command modules -json: Displays a full list of all installed modules in a working directory, including whether each module is currently referenced by the working directory's configuration. (#35884, #36062)

EXPERIMENTS:

Experiments are only enabled in alpha releases of Terraform CLI. The following features are not yet available in stable releases.

  • terraform test accepts a new option -junit-xml=FILENAME. If specified, and if the test configuration is valid enough to begin executing, then Terraform writes a JUnit XML test result report to the given filename, describing similar information as included in the normal test output. (#34291)
  • The new command terraform rpcapi exposes some Terraform Core functionality through an RPC interface compatible with go-plugin. The exact RPC API exposed here is currently subject to change at any time, because it's here primarily as a vehicle to support the Terraform Stacks private preview and so will be broken if necessary to respond to feedback from private preview participants, or possibly for other reasons. Do not use this mechanism yet outside of Terraform Stacks private preview.
  • The experimental "deferred actions" feature, enabled by passing the -allow-deferral option to terraform plan, permits count and for_each arguments in module, resource, and data blocks to have unknown values and allows providers to react more flexibly to unknown values. This experiment is under active development, and so it's not yet useful to participate in this experiment

Previous Releases

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

v1.10.3

18 Dec 12:34
7f205bc
Compare
Choose a tag to compare

1.10.3 (December 18, 2024)

BUG FIXES:

  • Terraform could panic when encountering an error during plan encoding (#36212)

v1.11.0-alpha20241211

11 Dec 11:55
108f99c
Compare
Choose a tag to compare
v1.11.0-alpha20241211 Pre-release
Pre-release

1.11.0-alpha20241211 (December 11, 2024)

ENHANCEMENTS:

EXPERIMENTS:

Experiments are only enabled in alpha releases of Terraform CLI. The following features are not yet available in stable releases.

  • terraform test accepts a new option -junit-xml=FILENAME. If specified, and if the test configuration is valid enough to begin executing, then Terraform writes a JUnit XML test result report to the given filename, describing similar information as included in the normal test output. (#34291)
  • The new command terraform rpcapi exposes some Terraform Core functionality through an RPC interface compatible with go-plugin. The exact RPC API exposed here is currently subject to change at any time, because it's here primarily as a vehicle to support the Terraform Stacks private preview and so will be broken if necessary to respond to feedback from private preview participants, or possibly for other reasons. Do not use this mechanism yet outside of Terraform Stacks private preview.
  • The experimental "deferred actions" feature, enabled by passing the -allow-deferral option to terraform plan, permits count and for_each arguments in module, resource, and data blocks to have unknown values and allows providers to react more flexibly to unknown values. This experiment is under active development, and so it's not yet useful to participate in this experiment

Previous Releases

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