One of the most overlooked aspects of managing infrastructure as code is keeping track of version end-of-life dates(EOL/EOS). I once had to scramble through an emergency upgrade when a Terraform version we were running in production reached EOL. Today, let’s dive deep into Terraform’s version support policy and explore how to safely manage versions.

 

Terraform

 

 

1. What Exactly is Terraform?

Terraform is an Infrastructure as Code (IaC) platform developed by HashiCorp. Simply put, it’s a tool that lets you write and manage infrastructure components like servers, networks, and databases as code.

Instead of clicking through AWS Console or Azure Portal to create resources, Terraform defines the entire process in code. Writing infrastructure as code enables version control, easier team collaboration, and consistent deployment across multiple environments.

Terraform is an infrastructure as code software tool distributed under the BUSL-1.1 license, allowing you to codify APIs through declarative configuration files. Prior to August 2023, it was available under the Mozilla Public License 2.0, but has since switched to the Business Source License.

 

 

2. HashiCorp’s Version Support Philosophy – Core Principles You Need to Know

To understand Terraform’s version support policy, you first need to grasp HashiCorp’s overall support philosophy.

HashiCorp provides support for all GA (Generally Available) releases for up to two (2) years. This means from the moment a specific version is officially released, you can receive security patches and critical bug fixes for up to 2 years.

Here’s an important detail: Code fixes and hot-fixes are only provided via new minor releases on the latest “major release” branch, for up to two (2) releases from the most current major release. The versioning follows X.Y.Z format, where changes to X or Y are considered major releases.

For example, if the current latest version is 1.13:

  • 1.13.x → Latest version (Full Support)
  • 1.12.x → 1 release behind (Support)
  • 1.11.x → 2 releases behind (Support)
  • 1.10.x and below → Official support ended

For End of Life, HashiCorp provides customers with at least twelve (12) months’ prior written notice. This ensures sufficient time for migration planning.

 

 

3. Detailed Release and Support Information for All Terraform Versions

Here’s a comprehensive breakdown of all major Terraform versions as of October 2025.

3-1. Terraform 1.x Versions (June 2021 ~ Present)

Terraform 1.0 achieved Generally Available (GA) status in June 2021, marking a major milestone in workflow maintenance automation, upgrade simplification, and interoperability.

VersionLatest PatchRelease DateExpected EOLSupport StatusKey Features
1.131.13.3August 2025August 2027✅ ActiveStacks command, enhanced filesystem function validation
1.121.12.2May 2025May 2027✅ ActiveLinux kernel 3.2+ required, cloud integration improvements
1.111.11.4January 2025January 2027✅ ActiveModule output sensitivity improvements
1.101.10.5November 2024November 2026⚠️ LimitedPerformance optimizations, bug fixes
1.91.9.8June 2024June 2026⚠️ LimitedTest command parallel execution support
1.81.8.5April 2024April 2026⚠️ LimitedProvider-defined functions support
1.71.7.5January 2024January 2026⚠️ LimitedConfig-driven import, remove blocks
1.61.6.6October 2023October 2025⚠️ LimitedTest command GA, S3 state locking improvements
1.51.5.7June 2023June 2025⚠️ LimitedImport blocks, check blocks added
1.41.4.7March 2023March 2025⚠️ LimitedStatic evaluation improvements
1.31.3.10September 2022September 2024❌ EOLOptional attributes, function improvements
1.21.2.9May 2022May 2024❌ EOLPrecondition/Postcondition
1.11.1.9December 2021December 2023❌ EOLRefactoring blocks, moved blocks
1.01.0.11June 2021June 2023❌ EOLFirst GA version, compatibility promise begins

Legend: ✅ Active = Full support, ⚠️ Limited = Limited support (security patches only), ❌ EOL = End of Life

3-2. Terraform 0.x Versions (2014 ~ 2021)

All 0.x versions are now legacy and officially unsupported.

VersionFinal PatchRelease DateEOL StatusKey Features
0.15.x0.15.5April 2021❌ EOLImproved sensitive variable handling, console UTF-8 support
0.14.x0.14.11December 2020❌ EOLIntroduced lock file (.terraform.lock.hcl)
0.13.x0.13.7August 2020❌ EOLExplicit provider source addresses, for_each in modules
0.12.x0.12.31May 2019❌ EOLHCL2 syntax improvements, for expressions, dynamic blocks
0.11.x0.11.15November 2017❌ EOLWorkspaces introduced, module registry
0.10.x0.10.8August 2017❌ EOLProvider separation begins
0.9.x0.9.11March 2017❌ EOLState environment improvements
0.8.x0.8.8December 2016❌ EOLRemote state data source
0.7.x0.7.13August 2016❌ EOLProvider plugin architecture
0.6.x and belowBefore 2016❌ EOLInitial versions

Oracle Cloud Infrastructure Resource Manager will stop allowing creation of stacks with Terraform versions earlier than 1.5.x starting November 1, 2025.

3-3. Major Breaking Changes Summary by Version

Upgrade PathKey ChangesDifficulty
0.11 → 0.12Major HCL syntax overhaul, first-class expressions⚠️⚠️⚠️ High
0.12 → 0.13Explicit provider source required, module for_each⚠️⚠️ Medium
0.13 → 0.14Lock file introduction, sensitive variable handling⚠️ Low
0.14 → 0.15Deprecated feature removal⚠️ Low
0.15 → 1.0Stability enhancements, minimal breaking changes✅ Very Low
1.x → 1.yCompatibility promise maintained, incremental features✅ Very Low

 

 

4. Special Support Policy for Terraform Enterprise

Terraform Enterprise users need to be aware of a slightly different support policy.

The Replicated Native Scheduler deployment method for Terraform Enterprise has its final release in March 2025 and will be supported until March 2027. This timeline differs from Terraform OSS, so Enterprise users must pay special attention.

4-1. Terraform Enterprise Key Dates

ItemDateNotes
Final Replicated ReleaseMarch 2025Migration to FDO recommended
Replicated End of Support (EOS)April 1, 2026No security patches after this date
Recommended Migration CompletionBefore November 2024Allow sufficient testing time

Enterprise users should consider migrating to Flexible Deployment Options (FDO), which support various deployment methods including Docker, Kubernetes, Podman, and Nomad.

References: Terraform Enterprise Releases | HashiCorp Support Policy

 

 

5. Terraform Support Status by Cloud Provider

Major cloud providers also maintain their own Terraform version support policies.

5-1. Minimum Supported Versions by Cloud Service

Cloud ServiceMinimum VersionRecommended VersionNotes
AWS (Terraform Cloud)1.5.x1.11.x or higherLatest AWS resources recommend 1.9+
Azure (Resource Manager)1.0.x1.10.x or higherAzureRM Provider 4.x requires 1.9+
GCP (Cloud Foundation)1.3.x1.11.x or higherGKE Autopilot recommends 1.6+
Oracle Cloud Infrastructure1.5.x1.11.x or higherVersions below 1.5 blocked from Nov 1, 2025
IBM Cloud Schematics0.13.x1.9.x or higherLegacy 0.x support phasing out

 

 

6. How to Prepare for Version Upgrades

When end of support approaches, you need to consider upgrading. Here are some practical tips.

6-1. Check Your Current Version

First, identify which version you’re currently running:

terraform version

This command displays your installed Terraform CLI version and provider versions.

6-2. Step-by-Step Upgrade Strategy

Rather than jumping multiple major versions at once, upgrade incrementally for safety:

  1. Set up test environment – Test in development before applying to production
  2. Backup state files – Always backup terraform state files before upgrading
  3. Check provider compatibility – Verify Terraform and provider version compatibility
  4. Run plan and verify – Use terraform plan to ensure no unexpected changes
  5. Progressive rollout – Upgrade in small increments

6-3. Using Version Pinning

Explicitly specifying versions in your terraform block ensures the entire team uses the same version:

terraform {
  required_version = ">= 1.11.0, < 1.14.0"
  
  required_providers {
    aws = {
      source  = "hashicorp/aws"
      version = "~> 5.0"
    }
  }
}

This prevents issues from unintended version upgrades.

6-4. Version Management in CI/CD Pipelines

In CI/CD environments, use Docker images or version management tools (tfenv, asdf, etc.) to maintain consistent Terraform versions:

# Install specific version with tfenv
tfenv install 1.13.3
tfenv use 1.13.3

 

 

7. Risks of Using Unsupported Versions

What problems can arise from continuing to use outdated versions?

Security Vulnerability Exposure Unsupported versions don’t receive patches for newly discovered security vulnerabilities. Security is critical for infrastructure management tools.

Unable to Use New Provider Features When cloud providers launch new services, the supporting providers often require the latest Terraform versions.

Reduced Community Support Finding answers to questions about old versions becomes increasingly difficult on Stack Overflow or GitHub Issues.

Increased Migration Burden The longer you delay version updates, the more work accumulates for eventual upgrades, and breaking changes compound.

 

 

8. Frequently Asked Questions (FAQ)

Q. Will upgrading Terraform affect existing infrastructure? A. While state file formats maintain backward compatibility, some providers or syntax may change. Always verify with terraform plan before proceeding.

Q. I’m using a pre-1.0 version. How should I upgrade? A. We recommend upgrading incrementally: 0.15 → 1.0 → 1.5 → 1.11. Consult each version’s Upgrade Guide.

Q. Do Terraform Cloud and Terraform Enterprise have different version policies? A. They generally follow the same policy, but Enterprise’s Replicated deployment has a separate EOL schedule.

Q. Where can I check the list of supported versions? A. endoflife.date/terraform provides real-time updated information.

Q. I’m currently using 1.3 or 1.4. How long is that okay? A. Versions 1.3 and 1.4 have already passed their 2-year support period and are officially EOL. Since you won’t receive security patches, we recommend upgrading to at least 1.11.

 

 

While Terraform’s version support policy seems straightforward, operational environments require consideration of provider compatibility, cloud provider support, and team standardization.

The key is regular monitoring and planned upgrades. Start planning your upgrade 6 months before support ends, and proceed safely with thorough testing.

Check your current Terraform version’s support status right now. If you’re running version 1.10 or below, consider upgrading to 1.11 or higher.

 


Related Resources:

 

 

Leave a Reply