Terraform 0.15.0-rc2 released

We’ve released Terraform 0.15.0-rc2, as an additional release during this which prerelease testing period for Terraform v0.15.

While we didn’t discover release blocking issues, the entire Terraform team, including HashiCorp’s dedicated provider teams have provided some feedback and defect reports we wanted to address in order to deliver the best possible product for our customers.

We’d be very grateful if you could help test the release for any unusual behavior.

We do not recommend using the release candidates in production. While this release has seen some testing, this will be the first exposure of some code to use-cases the Terraform team didn’t anticipate during initial testing. There may well be bugs lurking which we’ll aim to address during the beta period.

Terraform 0.15 is a largely a housekeeping release to prepare for Terraform 1.0. A number of deprecations have been completed with removals and/or errors. Please see the changelog to review how these changes might affect your workflows.

0.15 delivers a number of general quality-of-life improvements including:

  • Improved virtual terminal & utf-8 support across all platforms, including Windows.
  • Windows support now includes better HCL diagnostic messages.
  • We’ve also touched logging, adding structured logging levels beyond “TRACE” for both the CLI and providers (which will themselves need to be updated to support these levels.)
  • Values in files for undeclared variables (ex. tfvars) are no longer deprecated, but will continue to produce a warning.
  • New sensitive and nonsensitive functions allow module authors to explicitly override Terraform’s default infererence of value sensitivity for situations where it’s too conservative or not conservative enough.
  • New -lockfile=readonly flag, which suppresses writing changes to the dependency lock file.
  • Provider-defined sensitive attributes redaction is no longer experimental, but default behavior

One key breaking change is an improvement to modules, where provider aliases can be defined using the configuration_aliases argument within the required_providers block. Empty provider configuration blocks should be removed. Read more about these changes here.

The draft upgrade guide is here.

Download Terraform 0.15.0-rc2

 
We’ve locked this forum topic because we’d like to keep the feedback discussion attached to individual functions (or areas) , so that the discussions are easier to follow. However, if you have any general feedback that isn’t covered by one of these topics we always welcome that via issues in our GitHub repository.