Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(deps): renovate: dependency hashicorp/terraform to v1.10.0 #13

Closed
wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Nov 1, 2024

This PR contains the following updates:

Package Update Change
hashicorp/terraform minor 1.8.5 -> 1.10.0

Release Notes

hashicorp/terraform (hashicorp/terraform)

v1.10.0

Compare Source

v1.10.0-rc3

Compare Source

1.10.0-rc3 (November 25, 2024)

NEW FEATURES:

  • Ephemeral resources: Ephemeral resources are read anew during each phase of Terraform evaluation, and cannot be persisted to state storage. Ephemeral resources always produce ephemeral values.
  • Ephemeral values: Input variables and outputs can now be defined as ephemeral. Ephemeral values may only be used in certain contexts in Terraform configuration, and are not persisted to the plan or state files.
    • ephemeralasnull function: a function takes a value of any type and returns a similar value of the same type with any ephemeral values replaced with non-ephemeral null values and all non-ephemeral values preserved.

BUG FIXES:

  • The secret_suffix in the kubernetes backend now includes validation to prevent errors when the secret_suffix ends with a number (#​35666).
  • The error message for an invalid default value for an input variable now indicates when the problem is with a nested value in a complex data type. (#​35465)
  • Sensitive marks could be incorrectly transferred to nested resource values, causing erroneous changes during a plan (#​35501)
  • Allow unknown error_message values to pass the core validate step, so variable validation can be completed later during plan
    (#​35537)
  • Unencoded slashes within GitHub module source refs were being truncated and incorrectly used as subdirectories in the request path (#​35552)
  • Terraform refresh-only plans with output only changes are now applyable. (#​35812)
  • Postconditions referencing self with many instances could encounter an error during evaluation (#​35895)
  • The plantimestamp() function would return an invalid date during validation (#​35902)
  • Updates to resources which were forced to use create_before_destroy could lose that flag in the state temporarily and cause cycles if immediately removed from the configuration (#​35966)
  • backend/cloud: Prefer KV tags, even when tags are defined as set (#​35937)
  • Simplify config generation (plan -generate-config-out) for string attributes that contain primitive types (e.g. numbers or booleans) (#​35984)
  • config: issensitive could incorrectly assert that an unknown value was not sensitive during plan, but later became sensitive during apply, causing failures where changes did not match the planned result (#​36012)
  • config: The evaluation of conditional expressions and for expression in HCL could lose marks with certain combinations of unknown values (#​36017)

ENHANCEMENTS:

  • The element function now accepts negative indices (#​35501)
  • Import block validation has been improved to provide more useful errors and catch more invalid cases during terraform validate (#​35543)
  • Performance enhancements for resource evaluation, especially when large numbers of resource instances are involved (#​35558)
  • The plan, apply, and refresh commands now produce a deprecated warning when using the -state flag. Instead use the path attribute within the local backend to modify the state file. (#​35660)
  • backend/cos: Add new auth for Tencent Cloud backend (#​35888)

UPGRADE NOTES:

  • backend/s3: Removes deprecated attributes for assuming IAM role. Must use the assume_role block (#​35721)
  • backend/s3: The s3 backend now supports S3 native state locking. When used with DynamoDB-based locking, locks will be acquired from both sources. In a future minor release of Terraform the DynamoDB locking mechanism and associated arguments will be deprecated. (#​35661)
  • moved: Moved blocks now respect reserved keywords when parsing resource addresses. Configurations that reference resources with type names that match top level blocks and keywords from moved blocks will need to prepend the resource. identifier to these references. (#​35850)
  • config: In order to ensure consistency in results from HCL conditional expressions, marks must be combined from all values within the expression to avoid losing mark information. This typically improves accuracy when validating configuration, but users may see sensitive results where they were lost previously.

Previous Releases

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

v1.10.0-rc2

Compare Source

1.10.0-rc2 (November 20, 2024)

NEW FEATURES:

  • Ephemeral resources: Ephemeral resources are read anew during each phase of Terraform evaluation, and cannot be persisted to state storage. Ephemeral resources always produce ephemeral values.
  • Ephemeral values: Input variables and outputs can now be defined as ephemeral. Ephemeral values may only be used in certain contexts in Terraform configuration, and are not persisted to the plan or state files.
    • ephemeralasnull function: a function takes a value of any type and returns a similar value of the same type with any ephemeral values replaced with non-ephemeral null values and all non-ephemeral values preserved.

BUG FIXES:

  • The secret_suffix in the kubernetes backend now includes validation to prevent errors when the secret_suffix ends with a number (#​35666).
  • The error message for an invalid default value for an input variable now indicates when the problem is with a nested value in a complex data type. (#​35465)
  • Sensitive marks could be incorrectly transferred to nested resource values, causing erroneous changes during a plan (#​35501)
  • Allow unknown error_message values to pass the core validate step, so variable validation can be completed later during plan
    (#​35537)
  • Unencoded slashes within GitHub module source refs were being truncated and incorrectly used as subdirectories in the request path (#​35552)
  • Terraform refresh-only plans with output only changes are now applyable. (#​35812)
  • Postconditions referencing self with many instances could encounter an error during evaluation (#​35895)
  • The plantimestamp() function would return an invalid date during validation (#​35902)
  • Updates to resources which were forced to use create_before_destroy could lose that flag in the state temporarily and cause cycles if immediately removed from the configuration (#​35966)
  • backend/cloud: Prefer KV tags, even when tags are defined as set (#​35937)
  • Simplify config generation (plan -generate-config-out) for string attributes that contain primitive types (e.g. numbers or booleans) (#​35984)
  • config: issensitive could incorrectly assert that an unknown value was not sensitive during plan, but later became sensitive during apply, causing failures where changes did not match the planned result (#​36012)
  • config: The evaluation of conditional expressions and for expression in HCL could lose marks with certain combinations of unknown values (#​36017)

ENHANCEMENTS:

  • The element function now accepts negative indices (#​35501)
  • Import block validation has been improved to provide more useful errors and catch more invalid cases during terraform validate (#​35543)
  • Performance enhancements for resource evaluation, especially when large numbers of resource instances are involved (#​35558)
  • The plan, apply, and refresh commands now produce a deprecated warning when using the -state flag. Instead use the path attribute within the local backend to modify the state file. (#​35660)
  • backend/cos: Add new auth for Tencent Cloud backend (#​35888)

UPGRADE NOTES:

  • backend/s3: Removes deprecated attributes for assuming IAM role. Must use the assume_role block (#​35721)
  • backend/s3: The s3 backend now supports S3 native state locking. When used with DynamoDB-based locking, locks will be acquired from both sources. In a future minor release of Terraform the DynamoDB locking mechanism and associated arguments will be deprecated. (#​35661)
  • moved: Moved blocks now respect reserved keywords when parsing resource addresses. Configurations that reference resources with type names that match top level blocks and keywords from moved blocks will need to prepend the resource. identifier to these references. (#​35850)
  • config: In order to ensure consistency in results from HCL conditional expressions, marks must be combined from all values within the expression to avoid losing mark information. This typically improves accuracy when validating configuration, but users may see sensitive results where they were lost previously.

Previous Releases

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

v1.10.0-rc1

Compare Source

1.10.0-rc1 (November 13, 2024)

NEW FEATURES:

  • Ephemeral resources: Ephemeral resources are read anew during each phase of Terraform evaluation, and cannot be persisted to state storage. Ephemeral resources always produce ephemeral values.
  • Ephemeral values: Input variables and outputs can now be defined as ephemeral. Ephemeral values may only be used in certain contexts in Terraform configuration, and are not persisted to the plan or state files.
    • ephemeralasnull function: a function takes a value of any type and returns a similar value of the same type with any ephemeral values replaced with non-ephemeral null values and all non-ephemeral values preserved.

BUG FIXES:

  • The secret_suffix in the kubernetes backend now includes validation to prevent errors when the secret_suffix ends with a number (#​35666).
  • The error message for an invalid default value for an input variable now indicates when the problem is with a nested value in a complex data type. (#​35465)
  • Sensitive marks could be incorrectly transferred to nested resource values, causing erroneous changes during a plan (#​35501)
  • Allow unknown error_message values to pass the core validate step, so variable validation can be completed later during plan
    (#​35537)
  • Unencoded slashes within GitHub module source refs were being truncated and incorrectly used as subdirectories in the request path (#​35552)
  • Terraform refresh-only plans with output only changes are now applyable. (#​35812)
  • Postconditions referencing self with many instances could encounter an error during evaluation (#​35895)
  • The plantimestamp() function would return an invalid date during validation (#​35902)
  • Updates to resources which were forced to use create_before_destroy could lose that flag in the state temporarily and cause cycles if immediately removed from the configuration (#​35966)
  • backend/cloud: Prefer KV tags, even when tags are defined as set (#​35937)
  • Simplify config generation (plan -generate-config-out) for string attributes that contain primitive types (e.g. numbers or booleans) (#​35984)

ENHANCEMENTS:

  • The element function now accepts negative indices (#​35501)
  • Import block validation has been improved to provide more useful errors and catch more invalid cases during terraform validate (#​35543)
  • Performance enhancements for resource evaluation, especially when large numbers of resource instances are involved (#​35558)
  • The plan, apply, and refresh commands now produce a deprecated warning when using the -state flag. Instead use the path attribute within the local backend to modify the state file. (#​35660)
  • backend/cos: Add new auth for Tencent Cloud backend (#​35888)

UPGRADE NOTES:

  • backend/s3: Removes deprecated attributes for assuming IAM role. Must use the assume_role block (#​35721)
  • backend/s3: The s3 backend now supports S3 native state locking. When used with DynamoDB-based locking, locks will be acquired from both sources. In a future minor release of Terraform the DynamoDB locking mechanism and associated arguments will be deprecated. (#​35661)
  • moved: Moved blocks now respect reserved keywords when parsing resource addresses. Configurations that reference resources with type names that match top level blocks and keywords from moved blocks will need to prepend the resource. identifier to these references. (#​35850)

Previous Releases

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

v1.10.0-beta1

Compare Source

1.10.0-beta1 (October 31, 2024)

NEW FEATURES:

  • Ephemeral resources: Ephemeral resources are read anew during each phase of Terraform evaluation, and cannot be persisted to state storage. Ephemeral resources always produce ephemeral values.
  • Ephemeral values: Input variables and outputs can now be defined as ephemeral. Ephemeral values may only be used in certain contexts in Terraform configuration, and are not persisted to the plan or state files.
    • terraform output -json now displays ephemeral outputs. The value of an ephemeral output is always null unless a plan or apply is being run. Note that terraform output (without the -json) flag does not yet display ephemeral outputs.
    • ephemeralasnull function: a function takes a value of any type and returns a similar value of the same type with any ephemeral values replaced with non-ephemeral null values and all non-ephemeral values preserved.

BUG FIXES:

  • The secret_suffix in the kubernetes backend now includes validation to prevent errors when the secret_suffix ends with a number (#​35666).
  • The error message for an invalid default value for an input variable now indicates when the problem is with a nested value in a complex data type. (#​35465)
  • Sensitive marks could be incorrectly transferred to nested resource values, causing erroneous changes during a plan (#​35501)
  • Allow unknown error_message values to pass the core validate step, so variable validation can be completed later during plan
    (#​35537)
  • Unencoded slashes within GitHub module source refs were being truncated and incorrectly used as subdirectories in the request path (#​35552)
  • Terraform refresh-only plans with output only changes are now applyable. (#​35812)
  • Postconditions referencing self with many instances could encounter an error during evaluation (#​35895)
  • The plantimestamp() function would return an invalid date during validation (#​35902)

ENHANCEMENTS:

  • The element function now accepts negative indices (#​35501)
  • Import block validation has been improved to provide more useful errors and catch more invalid cases during terraform validate (#​35543)
  • Performance enhancements for resource evaluation, especially when large numbers of resource instances are involved (#​35558)
  • The plan, apply, and refresh commands now produce a deprecated warning when using the -state flag. Instead use the path attribute within the local backend to modify the state file. (#​35660)

UPGRADE NOTES:

  • backend/s3: Removes deprecated attributes for assuming IAM role. Must use the assume_role block (#​35721)
  • backend/s3: The s3 backend now supports S3 native state locking. When used with DynamoDB-based locking, locks will be acquired from both sources. In a future minor release of Terraform the DynamoDB locking mechanism and associated arguments will be deprecated. (#​35661)
  • moved: Moved blocks now respect reserved keywords when parsing resource addresses. Configurations that reference resources with type names that match top level blocks and keywords from moved blocks will need to prepend the resource. identifier to these references. (#​35850)

Previous Releases

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

v1.10.0-alpha20241023

Compare Source

1.10.0-alpha20241023 (October 23, 2024)

NEW FEATURES:

  • Ephemeral resources: Ephemeral resources are read anew during each phase of Terraform evaluation, and cannot be persisted to state storage. Ephemeral resources always produce ephemeral values.
  • Ephemeral values: Input variables and outputs can now be defined as ephemeral. Ephemeral values may only be used in certain contexts in Terraform configuration, and are not persisted to the plan or state files.
    • terraform output -json now displays ephemeral outputs. The value of an ephemeral output is always null unless a plan or apply is being run. Note that terraform output (without the -json) flag does not yet display ephemeral outputs.
    • ephemeralasnull function: a function takes a value of any type and returns a similar value of the same type with any ephemeral values replaced with non-ephemeral null values and all non-ephemeral values preserved.

BUG FIXES:

  • The secret_suffix in the kubernetes backend now includes validation to prevent errors when the secret_suffix ends with a number (#​35666).
  • The error message for an invalid default value for an input variable now indicates when the problem is with a nested value in a complex data type. (#​35465)
  • Sensitive marks could be incorrectly transferred to nested resource values, causing erroneous changes during a plan (#​35501)
  • Allow unknown error_message values to pass the core validate step, so variable validation can be completed later during plan
    (#​35537)
  • Unencoded slashes within GitHub module source refs were being truncated and incorrectly used as subdirectories in the request path (#​35552)

ENHANCEMENTS:

  • The element function now accepts negative indices (#​35501)
  • Import block validation has been improved to provide more useful errors and catch more invalid cases during terraform validate (#​35543)
  • Performance enhancements for resource evaluation, especially when large numbers of resource instances are involved (#​35558)
  • The plan, apply, and refresh commands now produce a deprecated warning when using the -state flag. Instead use the path attribute within the local backend to modify the state file. (#​35660)

UPGRADE NOTES:

  • backend/s3: Removes deprecated attributes for assuming IAM role. Must use the assume_role block (#​35721)
  • backend/s3: The s3 backend now supports S3 native state locking. When used with DynamoDB-based locking, locks will be acquired from both sources. In a future minor release of Terraform the DynamoDB locking mechanism and associated arguments will be deprecated. (#​35661)
  • moved: Moved blocks now respect reserved keywords when parsing resource addresses. Configurations that reference resources with type names that match top level blocks and keywords from moved blocks will need to prepend the resource. identifier to these references. (#​35850)

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.0-alpha20241009

Compare Source

1.10.0-alpha20241009 (October 9, 2024)

NEW FEATURES:

  • Ephemeral resources: Ephemeral resources are read anew during each phase of Terraform evaluation, and cannot be persisted to state storage. Ephemeral resources always produce ephemeral values.
  • Ephemeral values: Input variables and outputs can now be defined as ephemeral. Ephemeral values may only be used in certain contexts in Terraform configuration, and are not persisted to the plan or state files.
    • terraform output -json now displays ephemeral outputs. The value of an ephemeral output is always null unless a plan or apply is being run. Note that terraform output (without the -json) flag does not yet display ephemeral outputs.
    • ephemeralasnull function: a function takes a value of any type and returns a similar value of the same type with any ephemeral values replaced with non-ephemeral null values and all non-ephemeral values preserved.

BUG FIXES:

  • The error message for an invalid default value for an input variable now indicates when the problem is with a nested value in a complex data type. (#​35465)
  • Sensitive marks could be incorrectly transferred to nested resource values, causing erroneous changes during a plan (#​35501)
  • Allow unknown error_message values to pass the core validate step, so variable validation can be completed later during plan
    (#​35537)
  • Unencoded slashes within GitHub module source refs were being truncated and incorrectly used as subdirectories in the request path (#​35552)

ENHANCEMENTS:

  • The element function now accepts negative indices (#​35501)
  • Import block validation has been improved to provide more useful errors and catch more invalid cases during terraform validate (#​35543)
  • Performance enhancements for resource evaluation, especially when large numbers of resource instances are involved (#​35558)
  • The plan, apply, and refresh commands now produce a deprecated warning when using the -state flag. Instead use the path attribute within the local backend to modify the state file. (#​35660)

UPGRADE NOTES:

  • backend/s3: Removes deprecated attributes for assuming IAM role. Must use the assume_role block (#​35721)

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.0-alpha20240926

Compare Source

1.10.0-alpha20240926 (September 26, 2024)

NEW FEATURES:

  • Ephemeral values: Input variables and outputs can now be defined as ephemeral. Ephemeral values may only be used in certain contexts in Terraform configuration, and are not persisted to the plan or state files.
    • terraform output -json now displays ephemeral outputs. The value of an ephemeral output is always null unless a plan or apply is being run. Note that terraform output (without the -json) flag does not yet display ephemeral outputs.
    • ephemeralasnull function: a function takes a value of any type and returns a similar value of the same type with any ephemeral values replaced with non-ephemeral null values and all non-ephemeral values preserved.

BUG FIXES:

  • The error message for an invalid default value for an input variable now indicates when the problem is with a nested value in a complex data type. (#​35465)
  • Sensitive marks could be incorrectly transferred to nested resource values, causing erroneous changes during a plan (#​35501)
  • Allow unknown error_message values to pass the core validate step, so variable validation can be completed later during plan
    (#​35537)
  • Unencoded slashes within GitHub module source refs were being truncated and incorrectly used as subdirectories in the request path (#​35552)

ENHANCEMENTS:

  • The element function now accepts negative indices (#​35501)
  • Import block validation has been improved to provide more useful errors and catch more invalid cases during terraform validate (#​35543)
  • Performance enhancements for resource evaluation, especially when large numbers of resource instances are involved (#​35558)
  • The plan, apply, and refresh commands now produce a deprecated warning when using the -state flag. Instead use the path attribute within the local backend to modify the state file. (#​35660)
  • backend/s3: Adds support for IAM role chaining. The backend attribute assume_role now accepts multiple elements (#​35720)

UPGRADE NOTES:

  • backend/s3: Removes deprecated attributes for assuming IAM role. Must use the assume_role block (#​35721)

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.0-alpha20240918

Compare Source

1.10.0-alpha20240918 (September 18, 2024)

NEW FEATURES:

  • Ephemeral values: Input variables and outputs can now be defined as ephemeral. Ephemeral values may only be used in certain contexts in Terraform configuration, and are not persisted to the plan or state files.
    • terraform output -json now displays ephemeral outputs. The value of an ephemeral output is always null unless a plan or apply is being run. Note that terraform output (without the -json) flag does not yet display ephemeral outputs.
    • ephemeralasnull function: a function takes a value of any type and returns a similar value of the same type with any ephemeral values replaced with non-ephemeral null values and all non-ephemeral values preserved.

BUG FIXES:

  • The error message for an invalid default value for an input variable now indicates when the problem is with a nested value in a complex data type. (#​35465)
  • Sensitive marks could be incorrectly transferred to nested resource values, causing erroneous changes during a plan (#​35501)
  • Allow unknown error_message values to pass the core validate step, so variable validation can be completed later during plan
    (#​35537)
  • Unencoded slashes within GitHub module source refs were being truncated and incorrectly used as subdirectories in the request path (#​35552)

ENHANCEMENTS:

  • The element function now accepts negative indices (#​35501)
  • Import block validation has been improved to provide more useful errors and catch more invalid cases during terraform validate (#​35543)
  • Performance enhancements for resource evaluation, especially when large numbers of resource instances are involved (#​35558)
  • The plan, apply, and refresh commands now produce a deprecated warning when using the -state flag. Instead use the path attribute within the local backend to modify the state file. (#​35660)

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.0-alpha20240911

Compare Source

1.10.0-alpha20240911 (September 11, 2024)

NEW FEATURES:

  • Ephemeral values: Input variables and outputs can now be defined as ephemeral. Ephemeral values may only be used in certain contexts in Terraform configuration, and are not persisted to the plan or state files.
    • terraform output -json now displays ephemeral outputs. The value of an ephemeral output is always null unless a plan or apply is being run. Note that terraform output (without the -json) flag does not yet display ephemeral outputs.
    • ephemeralasnull function: a function takes a value of any type and returns a similar value of the same type with any ephemeral values replaced with non-ephemeral null values and all non-ephemeral values preserved.

BUG FIXES:

  • The error message for an invalid default value for an input variable now indicates when the problem is with a nested value in a complex data type. (#​35465)
  • Sensitive marks could be incorrectly transferred to nested resource values, causing erroneous changes during a plan (#​35501)
  • Allow unknown error_message values to pass the core validate step, so variable validation can be completed later during plan
    (#​35537)
  • Unencoded slashes within GitHub module source refs were being truncated and incorrectly used as subdirectories in the request path (#​35552)

ENHANCEMENTS:

  • The element function now accepts negative indices (#​35501)
  • Import block validation has been improved to provide more useful errors and catch more invalid cases during terraform validate (#​35543)
  • Performance enhancements for resource evaluation, especially when large numbers of resource instances are involved (#​35558)
  • The plan, apply, and refresh commands now produce a deprecated warning when using the -state flag. Instead use the path attribute within the local backend to modify the state file. (#​35660)

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.0-alpha20240828

Compare Source

1.10.0-alpha20240828 (Aug 28, 2024)

BUG FIXES:

  • The error message for an invalid default value for an input variable now indicates when the problem is with a nested value in a complex data type. (#​35465)
  • Sensitive marks could be incorrectly transferred to nested resource values, causing erroneous changes during a plan (#​35501)
  • Allow unknown error_message values to pass the core validate step, so variable validation can be completed later during plan
    (#​35537)
  • Unencoded slashes within GitHub module source refs were being truncated and incorrectly used as subdirectories in the request path (#​35552)

ENHANCEMENTS:

  • The element function now accepts negative indices (#​35501)
  • Import block validation has been improved to provide more useful errors and catch more invalid cases during terraform validate (#​35543)
  • Performance enhancements for resource evaluation, especially when large numbers of resource instances are involved (#​35558)

EXPERIMENTS:

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


Configuration

📅 Schedule: Branch creation - "before 4am on the first day of the month" (UTC), Automerge - "every weekday" (UTC).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot requested a review from a team as a code owner November 1, 2024 02:48
@renovate renovate bot added the renovate label Nov 1, 2024
@renovate renovate bot force-pushed the renovate/terraform-monorepo branch from e737687 to 992234d Compare November 27, 2024 10:26
@renovate renovate bot changed the title chore(deps): renovate: dependency hashicorp/terraform to v1.9.8 chore(deps): renovate: dependency hashicorp/terraform to v1.10.0 Nov 27, 2024
@cdkharris cdkharris closed this Nov 27, 2024
Copy link
Contributor Author

renovate bot commented Nov 27, 2024

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update (1.10.0). You will get a PR once a newer version is released. To ignore this dependency forever, add it to the ignoreDeps array of your Renovate config.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

@renovate renovate bot deleted the renovate/terraform-monorepo branch November 27, 2024 11:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant