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.work
files.- 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.work
integrationGopls now supports multi-module workspaces using
go.work
files. To use this feature, create ago.work
file that includes the modules you want to work on, and then open your editor to the directory containinggo.work
. For more information, see thego.work
reference, 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.mod
gopls now provides diagnostics for language features based on the
go
directive in the applicablego.mod
file for a package.For some errors related to incompatible language versions, gopls offers a quick-fix to update the
go.mod
Go version. (note that if thego.mod
file 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