Skip to content

gopls/v0.8.4

Compare
Choose a tag to compare
@findleyr findleyr released this 19 May 14:55
· 2152 commits to master since this release

This release contains fixes for a few crashes, minor performance improvements, and a couple of small new features. See below for details.

See "What's Next" for a preview of what the team is working on.

New Features

New analyzer for //go:embed comments

Gopls now includes an analyzer for go:embed comment directives. At the moment, this analyzer checks that the "embed" import is present, but more analyses are planned for the future. See golang/go#50262 for more information.
image

Improved hover for imports

Hovering over an imported path now gives you the full package doc.
image

Final support for Go 1.13

Per our support window, gopls v0.8.4 will be the final gopls release to support being built with Go 1.13. See golang/go#52982 for details.

Bugfixes and Performance improvements

  • Faster symbol indexing. Gopls builds a symbol index the first time symbol search is invoked. That indexing should be 3-4x faster with this release.
  • Improved metadata invalidation (AKA fewer restarts). v0.8.4 fixes a couple of bugs that lead to gopls getting confused about packages and needing to be restarted. We're aware of more bugs of this nature, but are working on eliminating the need to ever restart gopls.

A full list of all issues fixed can be found in the gopls/v0.8.4 milestone.
To report a new problem, please file a new issue at https://go.dev/issues/new.

Thank you to our contributors!

Thank you for your contributions, @alandonovan, @ansaba, @findleyr, @hyangah, @marwan-at-work, @muirdm, @suzmue, and @dle8!

What's next?

The next planned gopls release is v0.9.0. We're excited about features and improvements on the horizon. For example:

  • improved go.work support. With go.work files, Go 1.18 fundamentally changed the way we define workspaces. We're working on expanding our support to better integrate with the GOWORK environment variable, vendoring, and the directoryFilters setting, and to help users better understand how to configure their workspace.
  • performance improvements. Performance continues to be a major pain point for our users. We're working on reducing CPU usage while editing. We're also laying the foundation for better indexing to reduce our memory footprint.
  • package renaming. We're working on golang/go#41567, to support renaming a package via the textDocument/rename request.

As always, thank you for filing issues and feature requests. Your feedback helps us improve!