From aba7d9659642bcd025fe9e53b35a013df6e4f101 Mon Sep 17 00:00:00 2001 From: Chris Arcand Date: Fri, 24 Sep 2021 09:03:12 -0500 Subject: [PATCH] cloud: Support interop from 0.14 to 1.1 The previous conservative guarantee that we would not make backwards incompatible changes to the state file format until at least Terraform 1.1 can now be extended. Terraform 0.14 through 1.1 will be able to interoperably use state files, so we can update the remote backend version compatibility check accordingly. This is a port of https://github.com/hashicorp/terraform/pull/29645 --- internal/cloud/backend.go | 6 +++--- internal/cloud/backend_test.go | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/internal/cloud/backend.go b/internal/cloud/backend.go index 22adb98d17..0356740b09 100644 --- a/internal/cloud/backend.go +++ b/internal/cloud/backend.go @@ -940,9 +940,9 @@ func (b *Cloud) VerifyWorkspaceTerraformVersion(workspaceName string) tfdiags.Di // are aware of are: // // - 0.14.0 is guaranteed to be compatible with versions up to but not - // including 1.1.0 - v110 := version.Must(version.NewSemver("1.1.0")) - if tfversion.SemVer.LessThan(v110) && remoteVersion.LessThan(v110) { + // including 1.2.0 + v120 := version.Must(version.NewSemver("1.2.0")) + if tfversion.SemVer.LessThan(v120) && remoteVersion.LessThan(v120) { return diags } // - Any new Terraform state version will require at least minor patch diff --git a/internal/cloud/backend_test.go b/internal/cloud/backend_test.go index 9ac894467d..4c3546ec5f 100644 --- a/internal/cloud/backend_test.go +++ b/internal/cloud/backend_test.go @@ -896,7 +896,8 @@ func TestCloud_VerifyWorkspaceTerraformVersion(t *testing.T) { {"0.14.0", "0.13.5", false, false}, {"0.14.0", "0.14.1", true, false}, {"0.14.0", "1.0.99", true, false}, - {"0.14.0", "1.1.0", true, true}, + {"0.14.0", "1.1.0", true, false}, + {"0.14.0", "1.2.0", true, true}, {"1.2.0", "1.2.99", true, false}, {"1.2.0", "1.3.0", true, true}, {"0.15.0", "latest", true, false},