Sourced from golang.org/x/tools's releases.
gopls/v0.8.0
Go version support
Support for Go 1.18
Version 0.8.0 of gopls supports features added to Go 1.18, specifically:
- Support for multi-module workspaces using
go.workfiles.- Diagnostics for Fuzz tests.
- Improved support for generics.
To use these features, gopls must be installed using Go 1.18. See go.dev/dl for the latest status of Go 1.18 -- as of writing Go 1.18 is not yet released, but Go 1.18 RC1 may be used.
Dropped support for Go 1.12
Version 0.8.0 of gopls no longer supports building at Go 1.12. See golang/go#50827 for more details.
New Features
go.workintegrationGopls now supports multi-module workspaces using
go.workfiles. To use this feature, create ago.workfile that includes the modules you want to work on, and then open your editor to the directory containinggo.work. For more information, see thego.workreference, or the gopls documentation for multi-module workspaces.Diagnostics for Fuzz tests
When writing Fuzz tests, gopls provides diagnostics for invalid arguments to
Fuzz.Improved support for generics
Honor the language version configured in
go.modgopls now provides diagnostics for language features based on the
godirective in the applicablego.modfile for a package.For some errors related to incompatible language versions, gopls offers a quick-fix to update the
go.modGo version. (note that if thego.modfile is open, it may need to be saved in order for language version changes to take effect)Improved completion with type parameters
Gopls autocompletion is improved in several contexts when using generic types.
New code action to add missing method stubs
Gopls now provides a code action to implement missing methods.
Improved performance and accuracy for workspace symbol requests
... (truncated)
5ef3193 gopls/internal/lsp/source/typerefs: reexpress tests wrt ExternalRefsc5f768a go.mod: update golang.org/x dependencies7c33a56 gopls/internal/lsp/source: show both the original declaration and the value o...4d205d8 gopls/doc: add instructions for using go.work with the Go distributiond5076cc gopls/internal/lsp/cache: don't trace a region for MetadataForFilef796361 gopls/internal/lsp: add tracing instrumentation for all Server methodse104501 gopls/internal/astutil: TestPurgeFuncBodies requires source code for std6520870 gopls/internal/lsp/source/typerefs: allow for duplicate decls902fdca gopls/internal/lsp/source/typerefs: purge func bodies before parsing58c9a63 go/packages/internal/nodecount: count ast.Node frequency