Releases: hashicorp/terraform-ls
Releases · hashicorp/terraform-ls
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:
v0.25.2
BUG FIXES:
- fix: avoid sending empty diagnostics (#756)
- fix: avoid code lens updates when disabled (#757)
- fix: Catch OS agnostic interrupt signal (#755)
- fix: Return correct target selection range for definition/declaration (#759)
- telemetry: Only send requests if data has changed (#758)
INTERNAL:
- Switch to hc-install from tfinstall (#737)
v0.25.1
BUG FIXES:
- Reduce parallelism for background operations to flatten CPU spikes triggered by workspaces with many modules on machines w/ >2 CPUs (which would previously had higher parallelism) (#752)
INTERNAL:
- build(deps): bump github.com/creachadair/jrpc2 from 0.32.0 to 0.35.2 (#748)
- build(deps): bump github.com/spf13/afero from 1.6.0 to 1.8.0 (#747, #754)
- build(deps): bump github.com/mitchellh/mapstructure from 1.4.2 to 1.4.3 (#732)
- build(deps): bump github.com/hashicorp/hcl/v2 from 2.10.1 to 2.11.1 (#731)
v0.25.0
v0.24.0
BREAKING CHANGES:
source.formatAll.terraform-ls
is renamed tosource.formatAll.terraform
to follow other similar existing actions in the wild (#680)
ENHANCEMENTS:
- Implement opt-in telemetry (documented in
docs/telemetry.md
) (#681) - Provide workspace-wide symbols for variables in
*.tfvars
(#658) - Go-to-definition now highlights just the definition of a block/attribute instead of the whole attribute/block (#689)
- Add configuration option allowing to exclude directories from being indexed upon initialization (#696)
- Parse
*.tfvars.json
for workspace-wide symbols and diagnostics (#697)
BUG FIXES:
- The server announces just a single formatting code action, other actions
source
,source.fixAll
andsource.formatAll
are removed which helps avoid running the same action multiple times and better follows conventions (#680) - Requesting
Only: []
code actions is now no-op (#680) - Fix indexing of references in dependent modules (#698)
- Fix workspace folder removal/addition at runtime (#707)
INTERNAL: