Today we’ve released Terraform 0.14.0-beta1, which marks the start of the prerelease testing period for Terraform v0.14.
We plan to publish at least one more beta release and one release candidate before the final 0.14.0. During this period, we’d be very grateful if folks could try out the new features in this release and let us know if you see any unusual behavior.
We do not recommend using beta releases in production. While many of these features have seen some alpha testing prior to these beta releases, the betas will be the first exposure of some of this code to use-cases the Terraform team didn’t anticipate during that internal testing, and so there may well be bugs lurking which we’ll aim to address during the beta period.
The following sections describe some highlights of the 0.14 release, including links to other forum topics where you can see more details and where we invite you to share your feedback. We’ve locked this forum topic because we’d like to keep the feedback discussion attached to each individual functional area, 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.
Concise Terraform Plan Output
Terraform 0.12 included a change in the way the plan output shows the planned changes, resulting in notably more verbose output when compared to Terraform 0.11. Terraform 0.14 will ship with a new concise diff format that aims to be a compromise between the 0.11 approach and the 0.12 approach, showing enough information to understand which objects are changing but without listing out all of the unchanged values.
Sensitive Input Variables
Some Terraform modules expect input variables whose values are considered sensitive. Terraform 0.14 includes a new syntax for marking an input variable as sensitive and also includes new behaviors in expression evaluation so that values that are derived from sensitive input variables can also be considered as sensitive.
These new mechanisms are focused on keeping sensitive values out of the UI so that they won’t be compromised by inclusion saved logs of UI output from previous runs.
Provider Dependency Lock File
Terraform 0.14’s terraform init
will now generate a new file .terraform.lock.hcl
that records which provider versions were selected by the installation process, and then subsequent calls to terraform init
will make those same selections. This avoids situations where you might accidentally select a newer version of a provider and see different behavior that you can’t attribute to an intentional change.
Other Improvements
As usual, the 0.14 release includes a variety of other changes that are smaller in scope but hopefully still useful and helpful. For a full roster of changes in the 0.14 releases, refer to the 0.14 changelog.