1.6.0-alpha20230719 (Unreleased)
NEW FEATURES:
-
terraform test
: The previously experimentalterraform test
command has been moved out of experimental. This comes with a significant change in how Terraform tests are written and executed.Terraform tests are now written within
.tftest
files, controlled by a series ofrun
blocks. Eachrun
block will execute a Terraform plan or apply command against the Terraform configuration under test and can execute conditions against the resultant plan and state.
ENHANCEMENTS:
- config: Terraform can now track some additional detail about values that won't be known until the apply step, such as the range of possible lengths for a collection or whether an unknown value can possibly be null. When this information is available, Terraform can potentially generate known results for some operations on unknown values. This doesn't mean that Terraform can immediately track that detail in all cases, but the type system now contains the facility for that and so over time we will improve the level of detail generated by built-in functions, language operators, Terraform providers, etc. [GH-33234]
- jsonplan: Added
errored
field to JSON plan output, indicating whether a plan errored. [GH-33372]
BUG FIXES:
- The upstream dependency that Terraform uses for service discovery of Terraform-native services such as Terraform Cloud/Enterprise state storage was previously not concurrency-safe, but Terraform was treating it as if it was in situations like when a configuration has multiple
terraform_remote_state
blocks all using the "remote" backend. Terraform is now using a newer version of that library which updates its internal caches in a concurrency-safe way. [GH-33364] - Transitive dependencies were lost during apply when the referenced resource expanded into zero instances [GH-33403]
Previous Releases
For information on prior major and minor releases, see their changelogs: