Releases: hashicorp/vscode-terraform
v2.25.2
v2.25.1
ENHANCEMENTS:
-
All past versions of the extension were backfilled into OpenVSX Registry and future versions will become available automatically (#1064)
-
Support
count.index
references in blocks withcount
for completion, hover documentation and semantic tokens highlighting (terraform-ls#860, hcl-lang#160) -
Support
each.*
references in blocks withfor_each
for completion, hover documentation and semantic tokens highlighting (terraform-ls#861, hcl-lang#162) -
Support
self.*
references inprovisioner
,connection
andpostcondition
blocks for completion, hover documentation and semantic tokens highlighting (terraform-ls#859, hcl-lang#163) -
dynamic
block support, including label and content completion (terraform-ls#530, hcl-lang#154) -
Go-to-definition/go-to-references for
count.index
/count
(terraform-ls#1093) -
Go-to-definition/go-to-references for
each.*
/for_each
(terraform-ls#1095) -
Go-to-definition/go-to-references for
self.*
inprovisioner
,connection
andpostcondition
blocks (terraform-ls#1096) -
Remove deprecated backends in Terraform 1.3.0 (terraform-schema#159)
v2.25.0
v2.24.3
ENHANCEMENTS:
- Significantly reduce the memory footprint of the language server by 85% to 98% for most users (terraform-ls#1071)
BUG FIXES:
- Fix enable terraform-ls after disabling #1238
- fix: Enable IntelliSense for resources & data sources whose name match the provider (e.g.
data
) (terraform-ls#1072) - fix: avoid infinite recursion (surfaced as crash with "goroutine stack exceeds 1000000000-byte limit" message) (terraform-ls#1084)
- fix: race condition in terraform-schema (surfaced as crash with "fatal error: concurrent map read and map write" message) (terraform-ls#1086)
INTERNAL:
- Reduce duplicate error telemetry #1230
v2.24.2
ENHANCEMENTS
- Ask user to use Remote WSL Extension when using WSL UNC Paths #1219
BUG FIXES
- fix: Improve IntelliSense accuracy by tracking provider schema versions (bug introduced in 2.24.0) (terraform-ls#1060)
- Don't query the Terraform Registry for module sources starting with
.
in completion (terraform-ls#1062) - fix race condition (panic) in schema merging (terraform-schema#137)
INTERNAL
- Improve error telemetry #1215
v2.24.1
ENHANCEMENTS:
- Add link to post explaining vim plugin installation (terraform-ls#1044)
BUG FIXES:
- Fix panic on obtaining provider schemas (terraform-ls#1048)
- Use correct ldflag (versionPrerelease) when compiling LS (terraform-ls#1043)
v2.24.0
BREAKING CHANGES:
- Raise minimum VS Code version from 1.61.1 to 1.65.2 (#1176)
- Add migration wizard to aid migrating extension settings to follow VS Code setting naming conventions and align better with the naming convention of language server settings (#1156, #1193)
- Setting
terraform.languageServer
block has been extracted out to individual settings (#1156, #1193) - Setting
terraform.languageServer.external
has been renamed toterraform.languageServer.enable
(#1156, #1193) - Setting
terraform.languageServer.pathToBinary
has been renamed toterraform.languageServer.path
(#1156, #1193) - Setting
terraform-ls.terraformExecPath
has been renamed toterraform.languageServer.terraform.path
(#1156, #1193) - Setting
terraform-ls.terraformExecTimeout
has been renamed toterraform.languageServer.terraform.timeout
(#1156, #1193) - Setting
terraform-ls.terraformExecLogFilePath
has been renamed toterraform.languageServer.terraform.logFilePath
(#1156, #1193) - Setting
terraform-ls.rootModules
has been deprecated and is ignored. Users should instead leverage the VS Code workspace functionality and add the folder to a workspace to be indexed (#1003) - Setting
terraform-ls.excludeModulePaths
has been renamed toterraform.languageServer.indexing.ignorePaths
(#1003) - Setting
terraform-ls.ignoreDirectoryNames
has been renamed toterraform.languageServer.indexing.ignoreDirectoryNames
(#1156, #1193) - Setting
terraform.experimentalFeatures
setting block has been extracted out to individual settings (#1156, #1193) - Set proper scope for machine based extension settings (#1164)
ENHANCEMENTS:
- Use dark extension icon for preview extension (#1143)
- Introduce support for extension connecting to LSP over TCP, with port configurable via
terraform.languageServer.tcp.port
(#755) - New Terraform View side bar (#1171)
- Only show language server related commands when they're relevant (#1178)
- Replace internal watcher (used for watching changes in installed plugins and modules) with LSP dynamic capability registration &
workspace/didChangeWatchedFiles
. This should lead to improved performance in most cases. (terraform-ls#953) - Provide completion, hover and docs links for uninitialized Registry modules (terraform-ls#924)
- Provide basic IntelliSense (except for diagnostics) for hidden
*.tf
files (terraform-ls#971) - Introduce v1.1
terraform
cloud
block (terraform-schema#117) - Introduce v1.1
moved
block (terraform-schema#121) - Introduce v1.2
lifecycle
conditions (terraform-schema#115) - Introduce v1.2
lifecycle
replace_triggered_by
(terraform-schema#123) - Use
module
declarations from parsed configuration as source of truth formodule.calls
(terraform-ls#987) - Index uninitialized modules (terraform-ls#997)
- Recognize inputs and outputs of uninitialized local modules (terraform-ls#598)
- Enable go to module output declaration from reference (terraform-ls#1007)
- New option
indexing.ignorePaths
was introduced (terraform-ls#1003, terraform-ls#1010) - Introduce
module.terraform
custom LSP command to expose Terraform requirements & version (terraform-ls#1016) - Avoid obtaining schema via Terraform CLI if the same version is already cached (based on plugin lock file) (terraform-ls#1014)
- Complete module source and version attributes for local and registry modules (#1024)
BUG FIXES:
- Ensure extension is installed in remote contexts automatically (#1163)
- Return partially parsed metadata from
module.providers
(terraform-ls#951) - Avoid ignoring hidden
*.tfvars
files (terraform-ls#968) - Avoid crash on invalid URIs (terraform-ls#969)
- Avoid crash on invalid provider name (terraform-ls#1030)
INTERNAL:
- Refactor Terraform Execution API #1185)
- Bump @hashicorp/js-releases from 1.5.1 to 1.6.0 (#1144)
- indexer: refactor & improve/cleanup error handling (terraform-ls#988)
- indexer/walker: Avoid running jobs where not needed (terraform-ls#1006)
- job: introduce explicit priority for jobs (terraform-ls#977)
v2.23.0
NOTES:
- Remove
terraform.languageServer.maxNumberOfProblems
. This setting is not used by the extension as of v2.0.0. (#1062)
ENHANCEMENTS:
- Link to documentation from module source for Registry modules (#673 / terraform-ls#874)
- Improve performance by reducing amount of notifications sent for any single module changes (terraform-ls#931)
- Automatically refresh Providers view when providers change in open document (#1084) / terraform-ls#902)
- Automatically refresh Module Calls view when module calls change in open document (#1088 / terraform-ls#909)
- Add Module Providers view refresh button (#1065)
- Use theme-universal icon with solid background (#1119)
- Watch
**/*.tf
&**/*.tfvars
by default such that changes outside the editor (e.g. when changing git branch) can be reflected (#1095 / terraform-ls#790)
BUG FIXES:
- Variables with no space between them break syntax highlighting (syntax#34)
- Fix parsing block with dash in name (syntax#42)
- Fix highlighting of
.0
,.*
attribute access and[*]
brackets (syntax#44)
INTERNAL:
v2.22.0
BREAKING CHANGES:
- Remove terraform.languageServer.requiredVersion (#1021)
- Remove terraform.languageServer.trace.server (#1048)
NOTES:
- Deprecate maxNumberOfProblems (#1010)
- Deprecate terraform-ls.rootmodule and terraform-ls.excludeRootModules (#1049)
ENHANCEMENTS:
- Support custom semantic tokens & modifiers (#958) / terraform-ls#833)
- Enable 'go to module source' for local modules (terraform-ls#849)
- Enable opening a single Terraform file (terraform-ls#843)/ (#1031)
- Organize extension settings into Sections (#1024)
- Prevent preview from activating when stable is enabled (#1032)
BUG FIXES:
- Add missing descriptions to semantic token types & modifiers (#1039)
- Avoid hanging when workspace contains >50 folders (terraform-ls#839)
- Make loading of parent directory after lower level directories work (terraform-ls#851)
- Fix corrupted diffs in formatting responses (terraform-ls#876)
- Fix Module View for Registry modules installed by Terraform v1.1+ (terraform-ls#872)
INTERNAL:
v2.21.0
ENHANCEMENTS:
- Introduce go-to-variable from
tfvars
files (terraform-ls#727) - Automatically refresh semantic tokens for more reliable highlighting (terraform-ls#630)
- Enhance semantic highlighting of block labels (terraform-ls#802)
- Enable completion, hover, go-to-definition/reference etc. for Terraform Registry modules (terraform-ls#808)
- Report dependent semantic highlighting modifiers as
defaultLibrary
(instead ofmodification
) (terraform-ls#817) - Semantically highlight type declarations in variable
type
(terraform-ls#827) - Decouple highlighting Terraform grammar to
hashicorp/syntax
v0.1.0
&v0.2.0
(#1004)
BUG FIXES:
- Address race conditions typically surfaced as "out of range" errors, lack of completion/hover/etc. data or data associated with wrong position within the document (terraform-ls#782)
- Fix broken validate on save (terraform-ls#799)
- Fix encoding of unknown semantic token types (terraform-ls#815)
- Fix missing references for some blocks in a separate config file (terraform-ls#829)
INTERNAL: