Announcing HashiCorp Terraform 0.15 General Availability
Terraform 0.15 delivers a wide set of stable interfaces that practitioners, partners, and organizations can rely on.
We’re pleased to announce the release of HashiCorp Terraform 0.15. It is immediately available for download as well as for use in Terraform Cloud.
The Terraform 0.15 release marks the beginning of the pre-release period leading up to Terraform 1.0. Terraform 0.15 includes a number of improvements that solidify Terraform workflows and ensure the stability of Terraform’s feature set for the long term.
» Terraform 0.15 Highlights
» Remote State Data Source Compatibility
In order to help our practitioners adopt new versions of Terraform into their workflows without having to immediately upgrade existing Terraform codebases, we’ve relaxed the remote state data source parser requirements. (Note: This feature has been backported into the 0.14.0, 0.13.6, and 0.12.30 releases). These versions of Terraform and above will be able to access remote state data sources in versions of Terraform up to 1.0.x at the time of release.
» State File Format Stability
Announced as part of Terraform 0.14, but originally ported from our work on 0.15, Terraform state is cross-compatible between versions 0.14.x, 0.15.x, and 1.0.x (when released). This flexibility will let customers more easily move between versions of Terraform.
» Unified Console Support
Terraform 0.15 makes a significant foundational improvement by unifying the console experience across all supported platforms, bringing with it consistent UTF-8 support and a move to virtual terminal sequences on Microsoft Windows, as shown here:
» Provider-Based Sensitivity and Sensitive Functions
Terraform 0.15 extends value sensitivity to provider attributes, allowing provider developers to help protect values from being printed to the console. Terraform will redact these values wherever they appear. This release also ships with a new sensitive
function (and a matching nonsensitive
function) to further help practitioners manage Terraform’s behavior around sensitive values.
# This attribute will retain its sensitivity if referenced elsewhere
# in the configuration
resource “aws_db_instance” “mydb” {
password = value
...
}
# The sensitive function will redact the value during Terraform plan output.
# Any references to the attribute marked sensitive will also be redacted.
# It is important to note that some use cases will force the value to be
# exposed and may result in an error.
resource "example_resource" "my_resource" {
password = sensitive(data.resource.name.id)
...
}
» Structured Logging Levels
Terraform 0.15 ships with improved logging behavior. Provider developers using the latest SDK (v.2.4+) can now reliably target messages to specific log levels. Additionally, Terraform CLI and provider logging levels can both be controlled independently using TF_LOG_CORE=level
and TF_LOG_PROVIDER=level
.
For a hands-on tutorial and to learn more about error logging in Terraform, visit the Troubleshooting Terraform guide on HashiCorp Learn.
Terraform 0.15 also marks the conclusion of several ongoing deprecation cycles. This includes a number of removals, so please see the upgrade guide and changelog for more details.
» Getting Started
We have many resources available for Terraform 0.15 for new and existing users. To learn more about the new functionality of Terraform 0.15 you can:
- Review the documentation
- Try our HashiCorp Learn tutorials, including the new Troubleshooting Terraform Guide, with Terraform 0.15
- Join the Announcing Terraform 0.15 webinar on April 21
To get started using Terraform 0.15:
- Download the Terraform 0.15 release.
- If you are upgrading from a previous release, read the upgrade guide to learn about the required upgrade steps.
For more details, please see the full changelog. This release also includes a number of code contributions from the community and wouldn't have been possible without all of the great community feedback we've received via GitHub issues and elsewhere. Thank you!
HashiCorp Terraform 0.15 is the next step on our way to solidifying the Terraform ecosystem and empowering collaborative workflows at organizations of all sizes. You can download Terraform 0.15 here and sign up for a Terraform Cloud account here.
Sign up for the latest HashiCorp news
More blog posts like this one
New Terraform integrations with Crowdstrike, Datadog, JFrog, Red Hat, and more
12 new Terraform integrations from 9 partners provide more options to automate and secure cloud infrastructure management.
Terraform delivers launch-day support for Amazon S3 Tables, EKS Hybrid Nodes, and more at re:Invent
The Terraform provider for AWS now enables users to manage a variety of new services just announced at re:Invent.
HashiCorp at re:Invent 2024: Infrastructure Lifecycle Management with AWS
A recap of HashiCorp infrastructure news and developments on AWS from the past year, from a new provider launch to simplifying infrastructure provisioning and more.