1.4.0 (Unreleased)
BUG FIXES:
- The module installer will now record in its manifest a correct module source URL after normalization when the URL given as input contains both a query string portion and a subdirectory portion. Terraform itself doesn't currently make use of this information and so this is just a cosmetic fix to make the recorded metadata more correct. (#31636)
ENHANCEMENTS:
terraform init
will now ignore entries in the optional global provider cache directory unless they match a checksum already tracked in the current configuration's dependency lock file. This therefore avoids the long-standing problem that when installing a new provider for the first time from the cache we can't determine the full set of checksums to include in the lock file. Once the lock file has been updated to include a checksum covering the item in the global cache, Terraform will then use the cache entry for subsequent installation of the same provider package. (#32129)- The "Failed to install provider" error message now includes the reason a provider could not be installed. (#31898)
- backend/gcs: Add
kms_encryption_key
argument, to allow encryption of state files using Cloud KMS keys. (#24967) - backend/gcs: Add
storage_custom_endpoint
argument, to allow communication with the backend via a Private Service Connect endpoint. (#28856) - backend/gcs: Update documentation for usage of
gcs
withterraform_remote_state
(#32065)
EXPERIMENTS:
-
Since its introduction the
yamlencode
function's documentation carried a warning that it was experimental. This predated our more formalized idea of language experiments and so wasn't guarded by an explicit opt-in, but the intention was to allow for small adjustments to its behavior if we learned it was producing invalid YAML in some cases, due to the relative complexity of the YAML specification.From Terraform v1.4 onwards,
yamlencode
is no longer documented as experimental and is now subject to the Terraform v1.x Compatibility Promises. There are no changes to its previous behavior in v1.3 and so no special action is required when upgrading.