blob: 63db3115ca0a6f775a901830658e1854139e040b [file] [view]
---
title: "Gopls release v0.24.0 (expected Sep 2026)"
---
In this release:
- [commits](https://go.googlesource.com/tools/+log/refs/heads/gopls-release-branch.0.23..refs/heads/gopls-release-branch.0.24)
- [issues closed](https://github.com/golang/go/milestone/440?closed=1)
Key features are described below.
Gopls now supports [v3.18](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification) of the Language Server Protocol.
<!-- TODO: 1-line overview of release -->
## Configuration changes
The `memoryLimit` setting allows clients to set a soft memory limit on
the gopls process using
[runtime/debug.SetMemoryLimit](https://pkg.go.dev/runtime/debug#SetMemoryLimit).
This feature is experimental. It may permit users to trade more CPU
for lower steady state memory usage; but it may cause GC thrashing if
set too low.
The gopls server now enforces
[`SemanticTokensClientCapabilities`](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#semanticTokensClientCapabilities)
fields: `TokenTypes` and `TokenModifiers`. The semantic token types and
modifiers gopls returns are now limited to what these lists contain, so
it's important that clients fully list their semantic token
capabilities. The gopls UI settings
[`semanticTokenTypes`](https://go.dev/gopls/settings#semantictokentypes-mapstringbool)
and
[`semanticTokenModifiers`](https://go.dev/gopls/settings#semantictokenmodifiers-mapstringbool)
can still be used by users to further restrict these lists.
## Web-based features
## Editing features
## Analysis features
<!-- TODO Gopls is now using staticcheck [v0.8.0-rc1](https://github.com/dominikh/go-tools/releases/tag/2026.2rc1). -->
## Code transformation features