Skip to content

Releases: golang/vscode-go

Release 0.23.1

11 Mar 20:10
Compare
Choose a tag to compare

v0.23.1 - 11th Mar, 2021

🎉   We use staticcheck as the default lint tool. We also changed to use goimports for formatting when not using gopls.

This version requires VS Code 1.52 or newer.

A list of all issues and changes can be found in the v0.23.1 milestone and the changes since v0.22.1

Enhancements

  • Changed the default lint/format tools. (Issue 189, 192)
  • Enhanced dlv-dap start logic (Issue 1270) and improved output/error message forwarding. (CL 296930)

Fixes

  • Fixed the spurious popup message about the use of goreturns. (CL 300430)
  • Fixed orphaned progress notification after restarting gopls. (Issue 1153)
  • Fixed cryptic error messages that appear when gopls commands fail. (Issue 1237)
  • Fixed incomplete folding range info issue caused by parse errors. Complete fix requires gopls v0.6.7+ (Issue 1224)

Code Health

  • Updated LSP to 3.16.0 (stable), and DAP to 1.44.0.

Release 0.23.0

05 Mar 15:42
Compare
Choose a tag to compare

v0.23.0 - 4th Mar, 2021

A list of all issues and changes can be found in the v0.23.0 milestone and the changes since v0.22.1

Enhancements

  • Improved debugging workflow of attaching to local process. (Issue 183)
    By setting processId to the command name of the process, ${command:pickProcess}, or ${command:pickGoProcess} a quick pick menu will show a list of processes to choose from.
  • Enabled access to Delve DAP again. Simplified the Delve DAP launch workflow and removed the intermediate Node.JS adapter.
    If "debugAdapter": "dlv-dap" is specified in launch.json configurations, the extension will use Delve DAP for the debug session. When using Delve DAP, install the dev version of dlv built from master (cd; GO111MODULE=on go get github.com/go-delve/delve/cmd/dlv@master) to pick up the latest bug fixes and feature improvement. (Issue 23, 822,844)
  • Added an opt-in "Always Update" setting for gopls auto-update. (Issue 1095)
  • Go: Reset Global State and Go: Reset Workspace State commands are available for easier extension state reset.
  • Enabled survey to collect feedback from users who disabled gopls.
  • Added a new setting ("go.disableConcurrentTests") that prevents concurrent go test invocation. (Issue 1089)

Fixes

  • Issue 1113: error message when debugee terminates fast.
  • Issue 179: disable stackTrace error pop-ups during debugging.
  • CL 290289: check incorrect gopls flag usage before automated gopls crash report.
  • Issue 948: show lint tool's name as the lint diagnostic collection name.
  • Issue 1252: search C:\Program Files\Go\bin, C:\Program Files (x86)\Go\bin\go.exe, the new default Go installation path in Windows.

Code Health

  • Migrated to use gts to enforce consistent coding style. (Issue 1227)
  • Preview mode features are available in both Nightly and the dev version.
  • Enabled integration test in Go module mode.
  • Enabled Delve DAP integration test.
  • Removed the latest branch.

Thanks

Thanks for your contributions, @Charliekenney23, @eneuschild, @suzmue, @stamblerre, @pjweinbgo, @polinasok!

Release 0.22.1

08 Feb 17:44
Compare
Choose a tag to compare

v0.22.1 - 8th Feb, 2021

Enhancements

  • Added error details to automated error reports. (CL 287952)
  • Used clickable links in "go.languageServerExperimentalFeatures" setting deprecation error messages. (CL 288133)

Fixes

  • Fixed a race during language client restarts. (CL 288372, CL 288352)
  • Disabled the language server when using workspace folders over ssh. (Issue 1171)
  • Added dlv to the "go.alternateTools" example value list. (CL 289231)

Code Health

  • Bumped ini to 1.3.8 to address a vulnerability report from npm audit.

Thanks

Thank you for your contribution, @stamblerre, @hyangah, @patrasap0908!

Release 0.22.0

27 Jan 14:43
Compare
Choose a tag to compare

v0.22.0 - 26th Jan, 2021

  • 🎉 The language server, gopls, is enabled by default. (Issue 1037)

Enhancements

  • Added the new Go welcome page. (Issue 949)
  • Updated documentation. (troubleshooting, customization, settings guide)
  • Updated the hardcoded latest gopls version to 0.6.4.

Thanks

Thank you for your contribution, @suzmue, @stamblerre, @findleyr, @heschik, @hyangah!

Release 0.21.1

21 Jan 23:14
Compare
Choose a tag to compare

📣   Announcement:

  • The language server, gopls, will be enabled by default in the next release. (Issue 1037). Please test and provide us your feedback on the #vscode-dev Gophers Slack channel.

  • Some workspace or folder-level settings that affect tools location will not be used by default until users explicitly opt in by running Go: Toggle Workspace Trust Flag. See Issue 1094 for more information.

v0.21.1 - 21st Jan, 2021

A list of all issues and changes can be found in the v0.21.1 milestone.

Fixes

  • Fixed the Cannot get property 'get' of undefined error. (Issue 1104)
  • Restored the "go.languageServerExperimentalFeatures" setting for users who depend on this to run custom vet analyzers. (Issue 1110)

Release 0.21.0

20 Jan 14:10
Compare
Choose a tag to compare

v0.21.0 - 20th Jan, 2021

📣   Announcement:

  • The language server, gopls, will be enabled by default in the next release. (Issue 1037). Please test and provide us your feedback on the #vscode-dev Gophers Slack channel.

  • Some workspace or folder-level settings that affect tools location will not be used by default until users explicitly opt in by running Go: Toggle Workspace Trust Flag. See Issue 1094 for more information.

A list of all issues and changes can be found in the v0.21.0 milestone.

Enhancements

  • The new dlvFlags debug attribute is available for conveniently supply extra flags to dlv. (Issue 978)
  • Stop using workspace/folder-level settings from untrusted repositories that can be used to run arbitrary binaries. (Issue 1024)
  • The extension now deduplicates diagnostics from both the language server and the linter. (Issue 142)
  • Disabled gotype-live automatically when the language server is enabled. (Issue 1021)
  • Removed the "go.languageServerExperimentalFeatures" setting. (CL 280601). The documentLink feature is replaced with gopls's ui.navigation.importShortcut setting. The diagnostics feature replacement is still under discussion. Please provide feedback in Issue 50.

Code Health

  • Experimental features that were available only in the nightly extension are enabled in the master branch, and in presubmit & CI tests running on the master branch.

Thanks

Thank you for your contribution, @hyangah, @suzmue, @pjweinbgo, @stamblerre!

Release 0.20.2

08 Jan 19:29
Compare
Choose a tag to compare

v0.20.2 - 8th Jan, 2021

Enhancement

Release 0.20.1

29 Dec 17:12
Compare
Choose a tag to compare

v0.20.1 - 29th Dec, 2020

Fixes

  • Fixed a bug that caused incorrect fallback to a common go installation path when go couldn't be found from the regular PATH (Issue 1065)

See also v0.20.0 CHANGELOG for the complete list of recently added new features and fixes.

Release 0.20.0

22 Dec 22:42
Compare
Choose a tag to compare

v0.20.0 - 22nd Dec, 2020

A list of all issues and changes can be found in the v0.20.0 milestone.

📣   Announcement: We plan to enable the language server, gopls, by default early next year. (Issue 1037)

Please test and provide us your feedback on the #vscode-dev Gophers Slack channel.

Enhancements

  • Debugging
    • The new substitutePath config property allows users to translate their symlinked directories to the actual paths, and
      the local paths to the remote paths. See Launch Configurations
      and Remote Debugging for details.
    • Quick pick menu for creating launch.json was added. (Issue 131)
    • Report that next is automatically cancelled by delve if interrupted, for example, because breakpoint is set. See Issue 787 for details. (CL 261078)
  • The new tyf snippet for type name func() was added. (Issue 1002)
  • Include the gopls settings section definition based on gopls v0.6.0. (Issue 197, CL 278355)
  • go.buildFlags and go.buildTags are propagated to gopls unless "gopls": {"buildFlags": ..} is set. (Issue 155)
  • The new go.toolsManagement.checkForUpdates setting allows users to completely disable version checks.
    This deprecates go.useGoProxyToCheckForToolUpdates. (Issue 963)

Fixes

  • Added a workaround for the VSCode PATH setup issue. When go isn't
    found from PATH, the extension will check /usr/local/bin too (Issue 971).
  • Fixed language client crashes or duplicate language features on the guest side of a VS Live Share session.
    The initial fix added in v0.19.0 for VS Live Share wasn't sufficient. (Issue 605, 1024)
  • Stop requiring to install legacy tools when the language server is used. (Issue 51)
  • Update gopls if the existing version in the system is older than the minimum required version when the extension enables gopls automatically. (Issue 938)
  • Show language server start progress and allow only one outstanding language server restart request. (Issue 1011)
  • Fixed a gocode-gomod installation bug that caused to ignore GOBIN setting. (CL 275877)
  • Marked settings that are not applicable when using the language server. (Issue 155)

Code Health

  • Deprecated unused settings such as go.overwriteGoplsMiddleware and marked deprecated settings.
  • Improved stability of debug functionality tests on windows.
  • Improve the automated gopls issue template message. It includes the extension name and version.
  • Prompt users to file an issue for feedback when they choose to opt out of gopls.
  • CI test workflow now runs vsce package to detect packaging errors early.

Thanks

Thank you for your contribution, @hyangah, @suzmue, and @programmer04!

Release 0.19.1-rc.101

17 Dec 21:46
Compare
Choose a tag to compare
Release 0.19.1-rc.101 Pre-release
Pre-release

This is a variation of 0.19.1 built for Theia IDEs.
It's equivalent to 0.19.1 except the use of downgraded LSP and client versions.

See #1038 for details.

New features that depend on LSP 3.16 won't be available with this version.