Skip to content

Latest commit

 

History

History
926 lines (576 loc) · 54.2 KB

CHANGELOG.md

File metadata and controls

926 lines (576 loc) · 54.2 KB

0.31.2 (11 May 2023)

BUG FIXES:

INTERNAL:

  • Remove automated milestone closure commenting (#1266)

0.31.1 (27 April 2023)

ENHANCEMENTS:

  • Cache registry module errors to improve performance in cases of private registry, submodules or other similar situations resulting in module data unavailability (#1258)

BUG FIXES:

  • Pull in gopls v0.10.0 tsprotocol.go to fix completion labels (#1256)

INTERNAL:

  • Add PR test for copyright headers (#1241)

0.31.0 (18 April 2023)

ENHANCEMENTS:

INTERNAL:

  • Add instructions for Kate editor (#1200)
  • Add TFC usage detection (#1208)

BUG FIXES:

  • Reflect LiteralValue, Description & IsDeprecated in completion/hover (hcl-lang#253)
  • Fix crash when completing LiteralType{Type: cty.Tuple} (hcl-lang#255)
  • Display Tuple hover data on invalid element (hcl-lang#254)
  • Fix collection of implied declared targets of complex types (hcl-lang#259)
  • Collect targets w/ interpolation for Any correctly (hcl-lang#257)

0.31.0-beta (6 April 2023)

ENHANCEMENTS:

INTERNAL:

  • Add instructions for Kate editor (#1200)
  • Add TFC usage detection (#1208)
  • build(deps): bump actions/checkout from 3.3.0 to 3.4.0 (#1215)
  • build(deps): bump actions/checkout from 3.4.0 to 3.5.0 (#1228)
  • build(deps): bump actions/setup-go from 3.5.0 to 4.0.0 (#1214)
  • build(deps): bump actions/stale from 7.0.0 to 8.0.0 (#1222)
  • build(deps): bump github.com/algolia/algoliasearch-client-go/v3 from 3.26.3 to 3.26.4 (#1198)
  • build(deps): bump github.com/algolia/algoliasearch-client-go/v3 from 3.26.4 to 3.26.5 (#1230)
  • build(deps): bump github.com/algolia/algoliasearch-client-go/v3 from 3.26.5 to 3.27.0 (#1231)
  • build(deps): bump github.com/creachadair/jrpc2 from 0.44.0 to 0.45.0 (#1213)
  • build(deps): bump github.com/creachadair/jrpc2 from 0.46.0 to 1.0.0 (#1227)
  • build(deps): bump github.com/creachadair/jrpc2 to v0.46.0 (#1217)
  • build(deps): bump github.com/hashicorp/hc-install from 0.5.0 to 0.5.1 (#1232)
  • build(deps): bump github.com/hashicorp/hcl/v2 from 2.16.1 to 2.16.2 (#1205)
  • build(deps): bump github.com/hashicorp/terraform-exec from 0.18.0 to 0.18.1 (#1201)
  • build(deps): bump github.com/hashicorp/terraform-json from 0.15.0 to 0.16.0 (#1206)
  • build(deps): bump github.com/hashicorp/terraform-registry-address from 0.0.0-20220623143253-7d51757b572c to 0.1.0 (#1196)
  • build(deps): bump github.com/hashicorp/terraform-registry-address from 0.1.0 to 0.2.0 (#1226)
  • build(deps): bump github.com/otiai10/copy from 1.9.0 to 1.10.0 (#1236)
  • build(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (#1199)
  • build(deps): bump github.com/vektra/mockery/v2 from 2.20.2 to 2.21.1 (#1202)
  • build(deps): bump github.com/vektra/mockery/v2 from 2.21.1 to 2.21.4 (#1204)
  • build(deps): bump github.com/vektra/mockery/v2 from 2.21.4 to 2.21.6 (#1207)
  • build(deps): bump github.com/vektra/mockery/v2 from 2.21.6 to 2.22.1 (#1209)
  • build(deps): bump github.com/vektra/mockery/v2 from 2.22.1 to 2.23.0 (#1219)
  • build(deps): bump github.com/vektra/mockery/v2 from 2.23.0 to 2.23.1 (#1221)
  • build(deps): bump github.com/vektra/mockery/v2 from 2.23.1 to 2.23.2 (#1235)
  • build(deps): bump github.com/zclconf/go-cty from 1.12.1 to 1.13.0 (#1197)
  • build(deps): bump github.com/zclconf/go-cty from 1.13.0 to 1.13.1 (#1216)
  • build(deps): bump golang.org/x/tools from 0.6.0 to 0.7.0 (#1203)
  • build(deps): Bump hcl-lang & terraform-schema to latest revisions (#1237)

0.30.3 (22 February 2023)

BUG FIXES:

  • Enable static builds of Linux binaries (again) (#1193)

0.30.2 (15 February 2023)

NOTES / BREAKING CHANGES:

ENHANCEMENTS:

  • Parse optional() object attribute default values correctly, as introduced in Terraform v1.3 (terraform-schema#184)

BUG FIXES:

  • Ignore inaccessible files (such as emacs backup files) (terraform-ls#1172)
  • Fix crash when parsing JSON files (introduced in 0.30.0) (hcl-lang#202)

INTERNAL:

0.30.1 (1 December 2022)

BUG FIXES:

0.30.0 (24 November 2022)

ENHANCEMENTS:

  • Support count.index references in blocks with count for completion, hover documentation and semantic tokens highlighting (#860, hcl-lang#160)
  • Support each.* references in blocks with for_each for completion, hover documentation and semantic tokens highlighting (#861, hcl-lang#162)
  • Support self.* references in provisioner, connection and postcondition 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.* in provisioner, connection and postcondition blocks (#1096)
  • Remove deprecated backends in Terraform 1.3.0 (terraform-schema#159)

0.29.3 (13 October 2022)

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.

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)

0.29.2 (7 September 2022)

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)

0.29.1 (24 August 2022)

ENHANCEMENTS:

  • docs: Add link to post explaining vim plugin installation (#1044)

BUG FIXES:

  • goreleaser: Use correct ldflag (versionPrerelease) when compiling LS (#1043)
  • Fix panic on obtaining provider schemas (#1048)

INTERNAL:

  • cleanup: Remove LogHandler (#1038)

0.29.0 (11 August 2022)

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 of indexing.ignorePaths. excludeModulePaths is now ignored (#1003)
  • settings: ignoreDirectoryNames option was deprecated in favour of indexing.ignoreDirectoryNames. ignoreDirectoryNames is now ignored (#1003, #1010)
  • settings: terraformExecPath option was deprecated in favour of terraform.path. Old option is now ignored. (#1011)
  • settings: terraformExecTimeout option was deprecated in favour of terraform.timeout. Old option is now ignored. (#1011)
  • settings: terraformLogFilePath option was deprecated in favour of terraform.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-based terraform.* 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 for module.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 on required_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)

0.28.1 (9 June 2022)

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.

0.28.0 (7 June 2022)

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:

  • build(deps): bump github.com/mitchellh/cli from 1.1.2 to 1.1.3 (#886)
  • Use terraform-registry-address for parsing module sources (#891)
  • Add utm parameters to docs links in module.* commands (#923)

0.27.0 (14 April 2022)

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:

0.26.0 (17 March 2022)

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 of modification) (#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:

  • Simplify module source detection in favour of faster CI/compilation times (#783)
  • Store documents in a memdb-backed table (#771)
  • Refactor job scheduler to use memdb for jobs (#782)
  • build(deps): bump github.com/creachadair/jrpc2 from 0.35.2 to 0.37.0 (#774, #795, #809)

0.25.2 (11 January 2022)

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)

0.25.1 (6 January 2022)

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)

0.25.0 (2 December 2021)

ENHANCEMENTS:

  • Introduce module.providers command (#712)
  • Diagnostics for all known modules/files are now published automatically (as opposed to just open files) (#714)
  • Introduce go-to-variable from module input name (#700)

NOTES:

  • Diagnostics for non-autoloaded *.tfvars are no longer published, see #715 for more details (#714)

INTERNAL:

  • build(deps): bump github.com/creachadair/jrpc2 from 0.30.1 to 0.32.0 (#713, #728)
  • Avoid duplicate state entries (by avoiding symlink evaluation) (#699)

0.24.0 (10 November 2021)

BREAKING CHANGES:

  • source.formatAll.terraform-ls is renamed to source.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 and source.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:

  • build(deps): bump github.com/creachadair/jrpc2 from 0.28.0 to 0.30.0 (#683, #684, #686)

0.23.0 (14 October 2021)

ENHANCEMENTS:

  • Introduce module.calls command (#632)
  • Introduce experimental completion of required fields. You can opt in via prefillRequiredFields option (#657)
  • Ignore .terragrunt-cache when indexing initialized modules (#666)
  • Parse *.tf.json for references and symbols (#672)

INTERNAL:

  • build(deps): bump github.com/creachadair/jrpc2 from 0.25.1 to 0.28.0 (#649, #650, #662, #668, #676, #677)
  • build(deps): bump github.com/hashicorp/terraform-exec from 0.14.0 to 0.15.0 (#664)

0.22.0 (16 September 2021)

ENHANCEMENTS:

  • Support standalone (not autoloaded) *.tfvars files (#621)

BUG FIXES:

  • fix: Limit label completion items to 100 (same as limit for completion items in other contexts) (#628)
  • Recognize references in module block inputs (#623)

INTERNAL:

  • build(deps): bump github.com/mitchellh/mapstructure from 1.4.1 to 1.4.2 (#641)
  • build(deps): bump github.com/fsnotify/fsnotify from 1.4.9 to 1.5.1 (#629)
  • build(deps): bump github.com/creachadair/jrpc2 from 0.20.0 to 0.25.0 (#631, #636, #638, #640, #642)

0.21.0 (23 August 2021)

DEPRECATIONS:

  • -tf-exec (CLI flag) is deprecated in favour of LSP config option terraformExecPath. -tf-exec flag will raise warnings in future releases and will be eventually removed. (#588)
  • -tf-log-file (CLI flag) is deprecated in favour of LSP config option terraformLogFilePath. -tf-log-file flag will raise warnings in future releases and will be eventually removed. (#619)
  • tf-exec-timeout (CLI flag) is deprecated in favour of LSP config option terraformExecTimeout. tf-exec-timeout flag will raise warnings in future releases and will be eventually removed. (#619)

BUG FIXES:

  • fix: allow multiple variable validation blocks (#610)
  • fix: avoid crash on missing block label (#612)
  • fix: avoid crash when validate command returns internal error instead of diagnostics (#588)

ENHANCEMENTS:

INTERNAL:

  • Update LSP structs to gopls' 0.7.0 (#608)
  • build(deps): bump github.com/creachadair/jrpc2 from 0.19.1 to 0.20.0 (#614)
  • build(deps): bump github.com/zclconf/go-cty from 1.9.0 to 1.9.1 (#624)

0.20.1 (3 August 2021)

BUG FIXES:

  • fix: recognize references in common nested expressions (#596)
  • textDocument/publishDiagnostics: Publish any source-less warnings or errors (#601)
  • fix: avoid publishing stale 'validate' diagnostics (#603)
  • fix: avoid crash on highlighting unknown tuple element (#605)
  • fix: recognize list(object) and set(object) attributes as blocks (#607)

INTERNAL:

  • build(deps): bump github.com/creachadair/jrpc2 from 0.19.0 to 0.19.1 (#606)

0.20.0 (29 July 2021)

FEATURES:

  • Implement reference count code lens (#584)

ENHANCEMENTS:

  • Add support for module input completion/hover/highlighting (#551)
  • Add support for module output reference completion/hover/highlighting (#593)

BUG FIXES:

  • fix: recognize references in lists and other complex types (#594)

INTERNAL:

  • build(deps): bump github.com/hashicorp/hcl/v2 from 2.10.0 to 2.10.1 (#589)

0.19.1 (20 July 2021)

BUG FIXES:

  • Fix 'go to references' for resources & data sources (#587)

INTERNAL:

  • build(deps): bump github.com/creachadair/jrpc2 from 0.17.0 to 0.18.0 (#550)

0.19.0 (8 July 2021)

FEATURES:

  • Go to attribute/block from reference (#569)
  • Go to references from an attribute or a block (#572, #580)

ENHANCEMENTS:

  • Support multiple folders natively (#502)
  • Make references scope & type aware (#582)

BUG FIXES:

  • fix: avoid crash on empty file formatting (#578)

0.18.3 (2 July 2021)

BUG FIXES:

  • fix: avoid circular references to list/map/object attributes (which caused high CPU usage on copy) (#575)

0.18.2 (1 July 2021)

ENHANCEMENTS:

  • Provide (less verbose) step-based completion (#566)

BUG FIXES:

  • Mock out code lens support to avoid errors (#561)

0.18.1 (17 June 2021)

ENHANCEMENTS:

  • Support for references to variables and locals (#553)
  • tfvars: Infer variable types from default values where not explicitly specified (#554)

BUG FIXES:

  • Prevent var names from being completed in label (#555)

0.18.0 (10 June 2021)

FEATURES:

  • Add support for tfvars (variable files) (#540)

ENHANCEMENTS:

  • Add support for state backends (#544)
  • Add support for provisioners (#542)
  • Support for type declarations (variable type) (#490)
  • Support variable default (#543)

0.17.1 (26 May 2021)

BUG FIXES:

  • Reduce CPU usage via custom Copy methods instead reflection (#513)

0.17.0 (20 May 2021)

ENHANCEMENTS:

0.16.3 (13 May 2021)

ENHANCEMENTS:

  • Increase request concurrency & make it configurable via -req-concurrency flag of serve command (#489)

BUG FIXES:

  • Fix request cancellation (#314)

0.16.2 (11 May 2021)

ENHANCEMENTS:

  • Support templated paths for -cpuprofile & -memprofile flags of serve (#501)

BUG FIXES:

  • Avoid presenting stale diagnostics after document changes (#488)

0.16.1 (30 April 2021)

BUG FIXES:

  • Prevent crash for legacy provider lookups where configuration is missing terraform>required_providers block or source arguments for providers and Terraform 0.13+ is used (#481)

0.16.0 (29 April 2021)

SECURITY:

This release is signed with a new GPG key (ID 72D7468F), unlike all previous releases which were signed with (now revoked) key (ID 348FFC4C). Old releases were temporarily re-signed with the new key, but that key will be removed in coming weeks or months.

Read more about the related security event HCSEC-2021-12.

Users of the Terraform VS Code extension will need to upgrade to 2.10.1 before auto-upgrading to this LS version.

ENHANCEMENTS:

  • Allow effective utilization of multiple schema sources (local or preloaded) via cache (#454)
  • "No schema found ..." warning removed, as schema is far more likely to be available now (#454)
  • "Alternative root modules found ..." warning removed (#454)
  • Further improve support for Terraform 0.15 (#425)

BUG FIXES:

  • Fix panic caused by partially unknown map keys in configuration (#447)

0.15.0 (12 March 2021)

FEATURES:

  • Add workspace-wide symbol navigation (#427)

ENHANCEMENTS:

  • textDocument/documentSymbol: Support nested symbols (#420)
  • Add Go version, OS and architecture to version command (#407)
  • Add initial support for expressions (#411)
  • Reflect 0.15 schema changes (#436)

BUILD:

  • Provide Linux packages (#421)

0.14.0 (23 February 2021)

FEATURES:

  • Add links to documentation (Ctrl+click in supported clients + hover) (#402)

ENHANCEMENTS:

  • Improve messaging when Terraform is not found (#401)

BUG FIXES:

  • watcher: Refresh versions when plugin lockfile changes (#403)

BUILD:

  • Provide darwin/arm64 (Apple Silicon) build (#350)

0.13.0 (5 February 2021)

FEATURES:

  • watcher: Detect terraform init from scratch (#385)

ENHANCEMENTS:

  • cmd: Introduce version JSON output (#386)
  • Utilize CPU better when loading modules (#391)

BUG FIXES:

  • Fix miscalculated semantic tokens (#390)

0.12.1 (12 January 2021)

BUG FIXES:

  • Print help (and version) to stdout (#296)
  • Fix broken executable validate command (#373)

0.12.0 (6 January 2021)

FEATURES:

  • Implement textDocument/semanticTokens (semantic highlighting) (#331)
  • Implement experimental validate on save feature (#340)

ENHANCEMENTS:

  • Report progress for validate command (#336)
  • Report deprecated completion items as such (#337)
  • Preloaded schemas now include partner providers in addition to official ones (#341)

NOTES:

  • Only official (legacy) providers will be completed in provider block completion. Partner providers currently require corresponding entry in required_providers block, read hashicorp#370 to understand why and how we plan to address this inconvenient behaviour.
  • Preloaded schemas are now being generated at release time (as opposed to being committed to the repo). Therefore availability of these schemas is dependent on particular release process tracked in this repository. This may interest anyone who does not use the official builds from releases.hashicorp.com and has its own build process. Plain go get still compiles and runs server correctly, however it won't automatically generate and embed the schemas. (#341)

INTERNAL:

  • Use Go 1.15.2 (previously 1.14.9) (#348)
  • Provide package for linux/arm64 (#351)

0.11.0 (9 December 2020)

ENHANCEMENTS:

  • Ask for init if current folder is empty root module (#257)
  • Display provider versions in completion/hover detail (#329)
  • Expose terraform.validate as command for language clients (#323)
  • Expose terraform.init as command for language clients (#325)
  • Add human readable name to rootmodules command API (#332)
  • Expose server version via LSP (#318)

BUG FIXES:

  • Avoid crashing when no hover data is available for a position (#320)

INTERNAL:

  • Replace sourcegraph/go-lsp with gopls' internal/lsp/protocol (#311)

0.10.0 (19 November 2020)

FEATURES:

  • Support module wide diagnostics (#288)
  • Provide documentation on hover (#294)

ENHANCEMENTS:

  • Add support for upcoming Terraform v0.14 (#289)
  • completion: Prompt picking type of provider/data/resource automatically (#300)
  • completion/hover: Preload official providers to improve UX for uninitialized modules (#302)

BUG FIXES:

  • textDocument/completion: Fix wrong range computation near EOF (#298)
  • Avoid ignoring schema for uninitialized module (#301)
  • fix synchronization issues affecting any clients which support partial updates (#304)
  • Avoid panic by initing universal schema early (#307)

INTERNAL:

  • Bump jrpc2 (JSON-RPC library) to latest version (#309)

0.9.0 (10 November 2020)

FEATURES:

  • Support for workspace/executeCommand with new rootmodules inspection command (#274)
  • Provide version-aware schema for completion of "core" blocks (#287)
    • locals, module, output, variable and terraform
    • enrichment of data, provider and resource schemas by meta-arguments, such as count or for_each

ENHANCEMENTS:

  • Limited completion is available as soon as the server starts and is progressively enhanced as more (core or provider) schema is discovered (#281)
  • Symbols are available as soon as the server starts (#281)

BUG FIXES:

  • Prevent command collisions for clients such as VS Code with commandPrefix init option (#279)

INTERNAL:

  • Internal decoder decoupled into hashicorp/hcl-lang (#281)
  • Schema handling decoupled into hashicorp/terraform-schema (#281)

0.8.0 (9 October 2020)

FEATURES:

  • HCL diagnostics support (#269)

BUG FIXES:

  • fix: prevent crash when listing symbols in invalid config (#273)

INTERNAL:

0.7.0 (2 September 2020)

FEATURES:

  • Document Symbol support (#265)

0.6.1 (18 August 2020)

BUG FIXES:

  • Reduce logging of module loading (#259)
  • Update jrpc2 to fix cancelRequest deadlock (#260)

0.6.0 (10 August 2020)

FEATURES:

  • New command: inspect-module to help debugging root module discovery issues (#231)

ENHANCEMENTS:

  • Support 0.13 provider identities (#255)
  • settings: Support relative paths to root modules (#246)
  • settings: Expand ~ in root module paths (#247)
  • settings: Add support for excludeModulePaths (#251)
  • handlers/initialize: Skip invalid root module paths (#248)
  • Cap parallel root module loading (to reduce CPU usage) (#256)

INTERNAL:

  • internal/filesystem: Integrate spf13/afero (#249)
  • deps: Bump creachadair/jrpc2 to latest (0.10.0) (#253)

0.5.4 (22 July 2020)

BUG FIXES:

  • terraform/schema: Make schema storage version-aware (0.13 compatible) (#243)

INTERNAL:

  • Improve root module discovery error handling (#244)

0.5.3 (21 July 2020)

BUG FIXES:

  • fix: Append EOF instead of newline (prevent CPU spike) (#239)

0.5.2 (16 July 2020)

BUG FIXES:

  • fix: Prevent parsing invalid tokens which would cause CPU spike (#236)

INTERNAL:

  • rootmodule: log errors after loading is finished (#229)

0.5.1 (10 July 2020)

BUG FIXES:

  • Fixes bug which broke schema obtaining due to -no-color at unsupported position (#227)

0.5.0 (10 July 2020)

ENHANCEMENTS:

  • Introduce CPU & memory profiling (#223)
  • Pass -no-color to terraform (#208)
  • settings: Make root modules configurable (#198)

BUG FIXES:

  • terraform/rootmodule: Make walker async by default (#196)
  • refactor: asynchronous loading of root module parts (#219)
  • Enable formatting for older Terraform versions (<0.12) (#219)
  • Gate formatting capability on v0.7.7+ (#220)

0.4.1 (3 July 2020)

BUG FIXES:

  • Make volume comparison case-insensitive on Windows (#199)

0.4.0 (25 June 2020)

FEATURES:

  • Walk hierarchy to add root modules (#176)

ENHANCEMENTS:

  • terraform: Introduce experimental support for 0.13 version (#149)
  • Treat schema availability as not essential (#171)
  • Make formatting work regardless of initialization state (#178)

BUG FIXES:

  • fix detection of single file during initialization (#172)

0.3.2 (5 June 2020)

BUG FIXES:

  • fix: os.Environ() returns KEY=val, not just keys (fix of a bug that was introduced in 0.3.1) (#143)

0.3.1 (5 June 2020)

BUG FIXES:

  • terraform/exec: Pass through all environment variables (#139)

0.3.0 (4 June 2020)

FEATURES:

  • textDocument/complete: Complete first level keywords (#104)
  • Add ability to specify path to Terraform binary (#109)
  • Make Terraform exec timeout configurable (#134)

ENHANCEMENTS:

  • Improve UX of completion items (#115)
  • Add support for autocomplete based on a prefix (#119)
  • textDocument/complete: Use isIncomplete for >100 items (#132)
  • textDocument/complete: Pass TextEdit instead of static text (#133)

INTERNAL:

  • refactoring(parser): Pass around tokens instead of blocks (#125)
  • langserver: Make requests sequential (#120)
  • Support partial updates (#103)
  • Support simplified building (#98)

0.2.1 (19 May 2020)

BUG FIXES:

  • context: Refactor and fix duplicate key (#86)

INTERNAL:

  • build: Sign archives checksum (#99)
  • build: Publish artifacts to releases.hashicorp.com (#102)

0.2.0 (7 May 2020)

FEATURES:

  • Add support for formatting (via terraform fmt) (#51)
  • Add support for completing labels (#58)

BUG FIXES:

  • Fix URI parsing for Windows paths (#73)
  • terraform/exec: Make server work under non-admin users on Windows (#78)

INTERNAL:

  • MacOS and Windows binaries are now signed (#48)
  • Use Go 1.14.1 (previously 1.13.8) (#46)

0.1.0 (25 March 2020)

Initial release

FEATURES:

  • Basic text synchronization with client (didOpen, didClose, didChange)
  • Basic block body completion support for attributes and nested blocks
  • Support for standard stdio transport
  • Support for TCP transport (useful for debugging, or reducing the number of LS instances running)