diff --git a/.changes/unreleased/BUG FIXES-20241015-153342.yaml b/.changes/unreleased/BUG FIXES-20241015-153342.yaml deleted file mode 100644 index ce843bc529..0000000000 --- a/.changes/unreleased/BUG FIXES-20241015-153342.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: BUG FIXES -body: Add `removed` block to Stack tests -time: 2024-10-15T15:33:42.052847+02:00 -custom: - Issue: "1861" - Repository: vscode-terraform diff --git a/.changes/unreleased/INTERNAL-20241011-095553.yaml b/.changes/unreleased/INTERNAL-20241011-095553.yaml deleted file mode 100644 index a082870cdf..0000000000 --- a/.changes/unreleased/INTERNAL-20241011-095553.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: INTERNAL -body: Ensure date ordering for changie entries -time: 2024-10-11T09:55:53.169097-04:00 -custom: - Issue: "1860" - Repository: vscode-terraform diff --git a/.changes/unreleased/INTERNAL-20241015-143216.yaml b/.changes/unreleased/INTERNAL-20241015-143216.yaml deleted file mode 100644 index be3b8f8bf2..0000000000 --- a/.changes/unreleased/INTERNAL-20241015-143216.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: INTERNAL -body: Upgrade eslint to v9 -time: 2024-10-15T14:32:16.914035-04:00 -custom: - Issue: "1863" - Repository: vscode-terraform diff --git a/.changes/unreleased/INTERNAL-20241016-132945.yaml b/.changes/unreleased/INTERNAL-20241016-132945.yaml deleted file mode 100644 index 8e53e4d6c3..0000000000 --- a/.changes/unreleased/INTERNAL-20241016-132945.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: INTERNAL -body: Enable integration tests for Stacks feature -time: 2024-10-16T13:29:45.578502+02:00 -custom: - Issue: "1864" - Repository: vscode-terraform diff --git a/.changes/unreleased/INTERNAL-20241023-112037.yaml b/.changes/unreleased/INTERNAL-20241023-112037.yaml deleted file mode 100644 index 7a83c374f5..0000000000 --- a/.changes/unreleased/INTERNAL-20241023-112037.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: INTERNAL -body: Bump nodejs from 18 to 20 -time: 2024-10-23T11:20:37.725009-04:00 -custom: - Issue: "1867" - Repository: vscode-terraform diff --git a/.changes/unreleased/INTERNAL-20241115-115811.yaml b/.changes/unreleased/INTERNAL-20241115-115811.yaml deleted file mode 100644 index cf75ef2ef3..0000000000 --- a/.changes/unreleased/INTERNAL-20241115-115811.yaml +++ /dev/null @@ -1,6 +0,0 @@ -kind: INTERNAL -body: Remove webpack extension recommendation -time: 2024-11-15T11:58:11.543329-05:00 -custom: - Issue: "1880" - Repository: vscode-terraform diff --git a/.changes/v2.34.0.md b/.changes/v2.34.0.md new file mode 100644 index 0000000000..975cbdb26a --- /dev/null +++ b/.changes/v2.34.0.md @@ -0,0 +1,34 @@ +## 2.34.0 (2024-11-15) + +ENHANCEMENTS: + +* Add `category` to Stacks Deployment store blocks ([terraform-ls#1852](https://github.com/hashicorp/terraform-ls/issues/1852)) +* Support terraform.applying built-in reference starting at TF 1.10 ([terraform-ls#1854](https://github.com/hashicorp/terraform-ls/issues/1854)) +* Raise HCL Diagnostics during early validation ([terraform-ls#1850](https://github.com/hashicorp/terraform-ls/issues/1850)) +* backend/s3: Reflect use_lockfile (v1.10) ([terraform-schema#419](https://github.com/hashicorp/terraform-schema/issues/419)) +* backend/s3: Remove deprecated assume role attributes (v1.10) ([terraform-schema#420](https://github.com/hashicorp/terraform-schema/issues/420)) + +BUG FIXES: + +* Improve performance by avoiding copying constraints for attribute schemas ([hcl-lang#426](https://github.com/hashicorp/hcl-lang/issues/426)) +* Use a provider's stable version when bundling schemas ([terraform-ls#1860](https://github.com/hashicorp/terraform-ls/issues/1860)) +* Add `removed` block to Stack tests ([#1861](https://github.com/hashicorp/vscode-terraform/issues/1861)) + +INTERNAL: + +* Ensure date ordering for changie entries ([#1860](https://github.com/hashicorp/vscode-terraform/issues/1860)) +* Upgrade eslint to v9 ([#1863](https://github.com/hashicorp/vscode-terraform/issues/1863)) +* Enable integration tests for Stacks feature ([#1864](https://github.com/hashicorp/vscode-terraform/issues/1864)) +* Bump nodejs from 18 to 20 ([#1867](https://github.com/hashicorp/vscode-terraform/issues/1867)) +* Remove webpack extension recommendation ([#1880](https://github.com/hashicorp/vscode-terraform/issues/1880)) + +## 2.34.2024101517 (2024-10-15) + +NOTES: + +This is a release to bring the prerelease channel to parity with stable. + +This release adds support for Terraform Stack and Deployment files. This provides intelligent completion for Terraform Stacks blocks and attributes in Stack and Deployment files, including suggesting only valid completions for variables in component and deployment blocks. Hover documentation for all Stack and Deploy blocks, with helpful type and usage information. Early Validation has been extended to produce diagnostics along with syntax validation for Stack and Deployment files. Reference support allows code navigation in and between Stack and Deploy files. This also provides formatting support for both Stack and Deploy files. + +This release also adds support for Terraform Test and Mock files. This provides syntax highlighting, completion for blocks and attributes, hover documentation and formatting support. + diff --git a/.changes/v2.34.2024101517.md b/.changes/v2.34.2024101517.md deleted file mode 100644 index 73f2ba804c..0000000000 --- a/.changes/v2.34.2024101517.md +++ /dev/null @@ -1,10 +0,0 @@ -## 2.34.2024101517 (2024-10-15) - -NOTES: - -This is a release to bring the prerelease channel to parity with stable. - -This release adds support for Terraform Stack and Deployment files. This provides intelligent completion for Terraform Stacks blocks and attributes in Stack and Deployment files, including suggesting only valid completions for variables in component and deployment blocks. Hover documentation for all Stack and Deploy blocks, with helpful type and usage information. Early Validation has been extended to produce diagnostics along with syntax validation for Stack and Deployment files. Reference support allows code navigation in and between Stack and Deploy files. This also provides formatting support for both Stack and Deploy files. - -This release also adds support for Terraform Test and Mock files. This provides syntax highlighting, completion for blocks and attributes, hover documentation and formatting support. - diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index dcc3f4c81b..079003c280 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -61,7 +61,7 @@ jobs: uses: hashicorp/setup-terraform@v3 with: terraform_wrapper: false - terraform_version: '~1.7' + terraform_version: '~1.9' - name: Terraform version run: terraform version - name: Clean Install Dependencies diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b8c9e291d..0d6afe06b3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,29 @@ # Changelog +## 2.34.0 (2024-11-15) + +ENHANCEMENTS: + +* Add `category` to Stacks Deployment store blocks ([terraform-ls#1852](https://github.com/hashicorp/terraform-ls/issues/1852)) +* Support terraform.applying built-in reference starting at TF 1.10 ([terraform-ls#1854](https://github.com/hashicorp/terraform-ls/issues/1854)) +* Raise HCL Diagnostics during early validation ([terraform-ls#1850](https://github.com/hashicorp/terraform-ls/issues/1850)) +* backend/s3: Reflect use_lockfile (v1.10) ([terraform-schema#419](https://github.com/hashicorp/terraform-schema/issues/419)) +* backend/s3: Remove deprecated assume role attributes (v1.10) ([terraform-schema#420](https://github.com/hashicorp/terraform-schema/issues/420)) + +BUG FIXES: + +* Improve performance by avoiding copying constraints for attribute schemas ([hcl-lang#426](https://github.com/hashicorp/hcl-lang/issues/426)) +* Use a provider's stable version when bundling schemas ([terraform-ls#1860](https://github.com/hashicorp/terraform-ls/issues/1860)) +* Add `removed` block to Stack tests ([#1861](https://github.com/hashicorp/vscode-terraform/issues/1861)) + +INTERNAL: + +* Ensure date ordering for changie entries ([#1860](https://github.com/hashicorp/vscode-terraform/issues/1860)) +* Upgrade eslint to v9 ([#1863](https://github.com/hashicorp/vscode-terraform/issues/1863)) +* Enable integration tests for Stacks feature ([#1864](https://github.com/hashicorp/vscode-terraform/issues/1864)) +* Bump nodejs from 18 to 20 ([#1867](https://github.com/hashicorp/vscode-terraform/issues/1867)) +* Remove webpack extension recommendation ([#1880](https://github.com/hashicorp/vscode-terraform/issues/1880)) + ## 2.34.2024101517 (2024-10-15) NOTES: diff --git a/package-lock.json b/package-lock.json index 48946116b9..8e718a21a2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "terraform", - "version": "2.34.2024101517", + "version": "2.34.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "terraform", - "version": "2.34.2024101517", + "version": "2.34.0", "license": "MPL-2.0", "dependencies": { "@vscode/extension-telemetry": "^0.4.9", diff --git a/package.json b/package.json index 1d02ef9fd6..7a7023f1fb 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "name": "terraform", "displayName": "HashiCorp Terraform", "description": "Syntax highlighting and autocompletion for Terraform", - "version": "2.34.2024101517", + "version": "2.34.0", "publisher": "hashicorp", "appInsightsKey": "885372d2-6f3c-499f-9d25-b8b219983a52", "license": "MPL-2.0", @@ -18,7 +18,7 @@ "vscode": "^1.92.2" }, "langServer": { - "version": "0.35.0" + "version": "0.36.0" }, "syntax": { "version": "0.7.1" diff --git a/src/test/integration/basics/completion.test.ts b/src/test/integration/basics/completion.test.ts index f0c2f253a7..9dba694a0d 100644 --- a/src/test/integration/basics/completion.test.ts +++ b/src/test/integration/basics/completion.test.ts @@ -29,6 +29,7 @@ suite('completion', () => { const expected = [ new vscode.CompletionItem('check', vscode.CompletionItemKind.Class), new vscode.CompletionItem('data', vscode.CompletionItemKind.Class), + new vscode.CompletionItem('ephemeral', vscode.CompletionItemKind.Class), new vscode.CompletionItem('import', vscode.CompletionItemKind.Class), new vscode.CompletionItem('locals', vscode.CompletionItemKind.Class), new vscode.CompletionItem('module', vscode.CompletionItemKind.Class), diff --git a/src/test/integration/stacks/deployment.test.ts b/src/test/integration/stacks/deployment.test.ts index 9585cb02a7..cde8e2e203 100644 --- a/src/test/integration/stacks/deployment.test.ts +++ b/src/test/integration/stacks/deployment.test.ts @@ -146,7 +146,7 @@ deployment "test" { }); }); - test('completes context', async () => { + test.skip('completes context', async () => { const generateSubChanges = (label: string) => [ new vscode.CompletionItem(label, vscode.CompletionItemKind.Variable), new vscode.CompletionItem(`${label}.add`, vscode.CompletionItemKind.Variable),