---
title: "Gopls release v0.22.0 (forthcoming)"
---

## Configuration changes
## Navigation features
<!-- golang/go#75810 -->

- Asking for references while hovering over the name of a required module in a `go.mod` file
  will show all the imports of that module in the main module (the go.mod's module).
## Web-based features
## Editing features
## Analysis features

### `atomictypes` analyzer
<!-- golang/go#77352 -->

The new atomictypes analyzer suggests replacing the primitive `sync/atomic` functions with
the strongly typed atomic wrapper types introduced in Go1.19 (e.g.
atomic.Int32). It refactors declarations like `var x int32` to
`var x atomic.Int32` and updates all corresponding call sites from
`atomic.AddInt32(&x, 1)` to method calls like `x.Add(1)`.

### `fieldassignment` analyzer
<!-- golang/go#76237 -->
The fieldassignment analyzer, which reports diagnostics about memory layout and
was disabled in v0.17.0, has been restored. It is disabled by default.


### `writestring` analyzer
<!-- golang/go#77369 -->

The new writestring analyzer detects inefficient string concatenation in uses of WriteString,
of the form WriteString(a+b), and offers to replace them with WriteString(a); WriteString(b).

### `waitgroup` modernizer renamed to `waitgroupgo`
<!-- golang/go#77560 -->

Previously there were two analyzers named `waitgroup`: an analyzer that checks
for misuses of `sync.WaitGroup`, and a modernizer that simplifies goroutine
management with `sync.WaitGroup`. We have renamed the modernizer to `waitgroupgo`.

## Code transformation features

### $feature

https://go.dev/issue#xxxxx
