Releases: hashicorp/vscode-terraform
v2.26.0
BUG FIXES:
- When completing
LiteralValue
do not ignoreDescription
&IsDeprecated
fields (hcl-lang#253) - Provide completion for
Tuple
attribute types and values (hcl-lang#255) - Display
Tuple
hover data on invalid elements (hcl-lang#254) - Display fully inferred type of List, Set, Tuple, Map and Object complex types (hcl-lang#259)
- Collect targets w/ interpolation for
Any
correctly (hcl-lang#257) - Fix remote backend usage in (terraform-ls#1218)
- Display completion label details even if empty by updating to gopls v0.10.0 tsprotocol.go to (#1256)
ENHANCEMENTS:
- Improve editor performance in cases where Terraform module information is unavailable due to private registries, submodules, no network, or other similiar situations (terraform-ls#1258)
- Add completion, hover, semantic highlighting and go-to-* support for nested expressions within objects, maps, lists, sets and tuples (terraform-ls#1237, hcl-lang#232, hcl-lang#203, hcl-lang#199, hcl-lang#186, hcl-lang#185, hcl-lang#184)
- Add completion, hover and semantic highlighting for nested types in type declarations within
variable
type
(hcl-lang#183) - Add support for function signature completion, hover and more (terraform-ls#1077)
- Recognise new semantic token types for function names (#1371, terraform-ls#1233)
INTERNAL:
v2.25.4
BUG FIXES:
- Bundle static builds of Linux binaries (again) (terraform-ls#1193)
v2.25.3
BUG FIXES:
- Ignore inaccessible files (such as emacs backup files) (terraform-ls#1172)
- Fix crash when parsing JSON files (introduced in 2.25.0) (hcl-lang#202)
- Fix spelling of preview in readme (#1329)
ENHANCEMENTS:
- Show detected Terraform Version in status bar (#1325)
- Improve error handling on initialization (#1327)
- Parse
optional()
object attribute default values correctly, as introduced in Terraform v1.3 (terraform-schema#184)
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)