Releases: hashicorp/terraform-ls
Releases · hashicorp/terraform-ls
v0.30.0
ENHANCEMENTS:
- Support
count.index
references in blocks withcount
for completion, hover documentation and semantic tokens highlighting (#860, hcl-lang#160) - Support
each.*
references in blocks withfor_each
for completion, hover documentation and semantic tokens highlighting (#861, hcl-lang#162) - Support
self.*
references inprovisioner
,connection
andpostcondition
blocks for completion, hover documentation and semantic tokens highlighting (#859, hcl-lang#163) dynamic
block support, including label and content completion (#530, hcl-lang#154)- Go-to-definition/go-to-references for
count.index
/count
(#1093) - Go-to-definition/go-to-references for
each.*
/for_each
(#1095) - Go-to-definition/go-to-references for
self.*
inprovisioner
,connection
andpostcondition
blocks (#1096) - Remove deprecated backends in Terraform 1.3.0 (terraform-schema#159)
v0.29.3
ENHANCEMENTS:
- schemas: Lazy-load embedded provider schemas (#1071)
- Reduced runtime memory consumption from static ~572MB (representing ~220 providers) to more dynamic depending on providers in use.
For example, no configuration (no provider requirements) should consume around 10MB, indexed folder w/hashicorp/aws
requirement ~70MB. - Reduced launch time from ~ 2 seconds to 1-3 ms.
- Reduced runtime memory consumption from static ~572MB (representing ~220 providers) to more dynamic depending on providers in use.
BUG FIXES:
- fix: Enable IntelliSense for resources & data sources whose name match the provider (e.g.
data
) (#1072) - state: avoid infinite recursion (surfaced as crash with "goroutine stack exceeds 1000000000-byte limit" message) (#1084)
- decoder: fix race condition in terraform-schema (surfaced as crash with "fatal error: concurrent map read and map write" message) (#1086)
v0.29.2
BUG FIXES:
- fix: Improve IntelliSense accuracy by tracking provider schema versions (accidentally removed in 0.29.0) (#1060)
- Don't query the Terraform Registry for module sources starting with
.
(#1062) - fix race condition in schema merging (terraform-schema#137)
INTERNAL:
- Use Go 1.19 (previously 1.17) to build the server (#1046)
v0.29.1
v0.29.0
NOTES / BREAKING CHANGES:
- settings:
rootModulePaths
option was deprecated and is ignored. Users should instead leverage the workspace LSP API and add the folder to a workspace, if they wish it to be indexed (#1003) - settings:
excludeModulePaths
option was deprecated in favour ofindexing.ignorePaths
.excludeModulePaths
is now ignored (#1003) - settings:
ignoreDirectoryNames
option was deprecated in favour ofindexing.ignoreDirectoryNames
.ignoreDirectoryNames
is now ignored (#1003, #1010) - settings:
terraformExecPath
option was deprecated in favour ofterraform.path
. Old option is now ignored. (#1011) - settings:
terraformExecTimeout
option was deprecated in favour ofterraform.timeout
. Old option is now ignored. (#1011) - settings:
terraformLogFilePath
option was deprecated in favour ofterraform.logFilePath
. Old option is now ignored. (#1011) - cmd/serve: Previously deprecated
-tf-exec*
CLI flags were removed (-tf-exec
,-tf-exec-timeout
and-tf-log-file
) in favour of LSP-basedterraform.*
configuration options (#1012)
ENHANCEMENTS:
- Replace internal watcher (used for watching changes in installed plugins and modules) with LSP dynamic capability registration &
workspace/didChangeWatchedFiles
. This should leave to improved performance in most cases. (#953) - Provide completion, hover and docs links for uninitialized Registry modules (#924)
- Provide basic IntelliSense (except for diagnostics) for hidden
*.tf
files (#971) - deps: bump terraform-schema to introduce v1.1
terraform
cloud
block (terraform-schema#117) - deps: bump terraform-schema to introduce v1.1
moved
block (terraform-schema#121) - deps: bump terraform-schema to introduce v1.2
lifecycle
conditions (terraform-schema#115) - deps: bump terraform-schema to introduce v1.2
lifecycle
replace_triggered_by
(terraform-schema#123) - Use
module
declarations from parsed configuration as source of truth formodule.calls
(#987) - walker: Index uninitialized modules (#997)
- Recognize inputs and outputs of uninitialized local modules (#598)
- Enable go to module output declaration from reference (#1007)
- settings: New option
indexing.ignorePaths
was introduced (#1003, #1010) - Introduce
module.terraform
custom LSP command to expose Terraform requirements & version (#1016) - Avoid obtaining schema via Terraform CLI if the same version is already cached (based on plugin lock file) (#1014)
- Avoid getting version via
terraform version
during background indexing and pick relevant IntelliSense data based onrequired_version
constraint (#1027) - Provide 0.12 based IntelliSense for any <0.12 Terraform versions (#1027)
- Complete module source and version attributes for local and registry modules (#1024)
BUG FIXES:
- handlers/command: Return partially parsed metadata from
module.providers
(#951) - fix: Avoid ignoring hidden
*.tfvars
files (#968) - fix: Avoid crash on invalid URIs (#969)
- fix: Avoid crash on invalid provider name (#1030)
INTERNAL:
- job: introduce explicit priority for jobs (#977)
- main: allow build version metadata to be set (#945)
- deps: switch to the new minimal
terraform-registry-address
API (#949) - deps: bump LSP structs to match gopls 0.8.4 (#947)
- deps: bump github.com/hashicorp/terraform-exec from 0.16.1 to 0.17.0 (#963)
- deps: bump github.com/hashicorp/go-version from 1.5.0 to 1.6.0 (#979)
- indexer: refactor & improve/cleanup error handling (#988)
- indexer/walker: Avoid running jobs where not needed (#1006)
v0.28.1
Due to some release pipeline changes and multiple release attempts, 0.28.0
release was published with checksums mismatching the release artifacts.
This release is therefore equivalent to v0.28.0
, but published with the correct checksums.
v0.28.0
ENHANCEMENTS:
- Link to documentation from module source for registry modules (#874)
- Provide refresh mechanism for
module.providers
when providers change (#902) - Provide refresh mechanism for
module.calls
when module calls change (#909) - Add support for
workspace/didChangeWatchedFiles
notifications for*.tf
&*.tfvars
(#790) - Improve performance by reducing amount of notifications sent for any single module changes (#931)
BUG FIXES:
- Ignore duplicate document versions in
textDocument/didChange
(#940)
INTERNAL:
v0.27.0
NOTES / BREAKING CHANGES:
- langserver/handlers/command: Remove
rootmodules
command (#846) - cmd: Remove
completion
CLI command (#852)
ENHANCEMENTS:
- Provide (opt-in) custom semantic tokens & modifiers (#833)
- Enable 'go to module source' for local modules (via #849)
- Enable opening a single Terraform file (#843)
BUG FIXES:
- Avoid hanging when workspace contains >50 folders (#839)
- Make loading of parent directory after lower level directories work (#851)
- Fix corrupted diffs in formatting responses (#876)
- Fix
module.calls
command for Registry modules installed by Terraform v1.1+ (#872)
INTERNAL:
- Add job scheduler benchmarks & document expectations around performance (#840)
v0.26.0
ENHANCEMENTS:
- Introduce go-to-variable from
tfvars
files (#727) - Automatically refresh semantic tokens for more reliable highlighting (#630)
- Enhance semantic highlighting of block labels (#802)
- Enable completion, hover, go-to-definition/reference etc. for Terraform Registry modules (#808)
- Report dependent semantic highlighting modifiers as
defaultLibrary
(instead ofmodification
) (#817) - Semantically highlight type declarations in variable
type
(#827)
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 (#782)
- Fix broken validate on save (#799)
- Fix encoding of unknown semantic token types (#815)
- Fix missing references for some blocks in a separate config file (#829)
INTERNAL:
v0.26.0-beta1
ENHANCEMENTS:
- Introduce go-to-variable from
tfvars
files (#727) - Automatically refresh semantic tokens for more reliable highlighting (#630)
- Enhance semantic highlighting of block labels (#802)
- Enable completion, hover, go-to-definition/reference etc. for Terraform Registry modules (#808)
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 (#782)
- Fix broken validate on save (#799)
INTERNAL: