Releases: hashicorp/terraform
v1.12.0-alpha20250213
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 withgo-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 toterraform plan
, permitscount
andfor_each
arguments inmodule
,resource
, anddata
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
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"). Setoverride_during = plan
in the test configuration to use the overridden values during the plan phase. The default value isoverride_during = apply
. (#36227) -
terraform test
: Add newstate_key
attribute forrun
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
viaTF_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
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"). Setoverride_during = plan
in the test configuration to use the overridden values during the plan phase. The default value isoverride_during = apply
. (#36227) -
terraform test
: Add newstate_key
attribute forrun
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
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
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"). Setoverride_during = plan
in the test configuration to use the overridden values during the plan phase. The default value isoverride_during = apply
. (#36227) -
terraform test
: Add newstate_key
attribute forrun
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
v1.11.0-alpha20250107
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 withgo-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 toterraform plan
, permitscount
andfor_each
arguments inmodule
,resource
, anddata
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
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 withgo-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 toterraform plan
, permitscount
andfor_each
arguments inmodule
,resource
, anddata
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
v1.11.0-alpha20241211
1.11.0-alpha20241211 (December 11, 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)
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 withgo-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 toterraform plan
, permitscount
andfor_each
arguments inmodule
,resource
, anddata
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: