Skip to content

Latest commit

 

History

History
356 lines (207 loc) · 15.7 KB

CHANGELOG.md

File metadata and controls

356 lines (207 loc) · 15.7 KB

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 #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)