Skip to content

Release v0.41.0

Compare
Choose a tag to compare
@gopherbot gopherbot released this 14 Feb 19:04

v0.41.0 - 14 Feb, 2024

This release introduces significant updates to the extension's UI.
We also want to share the news that the gopls v0.15 release enhances the multi-module workspace experience and improves build tag handling.

For a detailed list of changes, refer to the complete commit history.

Changes

Gopls v0.15.0 and Workspace Configuration

  • The gopls v0.15 introduces a significant change in its internal workspace data model. Known as "zero configuration" gopls, gopls can automatically determines workspace configurations such as Go module boundaries and necessary GOOS/GOARCH build tags for open Go files. This eliminates the need for users to align the VS Code workspace root folders with the Go module root folder.
  • For more details and additional feature updates, refer to the gopls v0.15.0 release notes. The extension's settings have been updated to align with gopls v0.15.0 settings.

UI Updates

  • A new language status bar is added, visible when working on Go-related files. The Go status bar, which displays the selected Go version and the gopls status, is now located at the bottom right of the window and is visible only when Go files are open.
  • The "Go" and "Go Debug" output channels are now primarily used for logging extension activities such as dependency tool installation, invocation, and debug logging. Use the "Developer: Set Log Level..." command to adjust the logging level. The go.logging.level setting is deprecated in favor of this new logging mechanism.
  • The "Go: Locate Configured Go Tools" command now opens an untitled file and dumps the tools information there, instead of printing it in the "Go" output channel. This change allows users to inspect and edit the output easily before sharing it in their issue report.

Debugging

Tools

  • For new users, the extension will automatically install important tools (gopls and an optionally selected extra lint tool such as staticcheck or golangci-lint) if they are missing, using go install commands. Any installation failures will be surfaced in the language status bar and the "Go" output channel.
  • The extension does not require dlv installation until the debug feature is invoked.
  • The extension now installs vscgo, an optional tool used to update the Go telemetry counters. This tool is installed in the extension's directory.

Telemetry

  • The Go telemetry now measures activation latency. (CL 549244)

Fixes

  • The extension now recognizes idx as a Web IDE. (CL 559895)
  • The deprecated web-request has been replaced with node-fetch@v2. (Issue 2995)

Development Process Updates

  • The repository layout has been updated with the extension code moved to the extension/ directory. See Issue 3122 for more details.
  • The extension release workflow has been moved to Google Cloud Build.