Basically, golangci-lint supports Go versions lower or equal to the Go version used to build it.
Go version (build)
Supported Go versions (code)
Not supported Go versions (code)
go1.21
<= go1.21 (go1.21, go1.20, etc.)
> go1.21 (go1.22, go1.23, etc.)
go1.20
<= go1.20 (go1.20, go1.19, etc.)
> go1.20 (go1.21, go1.22, etc.)
The current binaries from the releases page and the Docker images have been built with go1.22 and will be built with go1.22 as long as go1.23 is not GA.
So those binaries/images don't support go1.23 (new elements and internal Go changes).
In addition, of the Go version used to build it, some linters could need to be updated to support newer versions of Go, and internal pieces of golangci-lint could also need to be updated.
Is golangci-lint support go1.23?
No, and yes.
Basically, golangci-lint supports Go versions lower or equal to the Go version used to build it.
The current binaries from the releases page and the Docker images have been built with go1.22 and will be built with go1.22 as long as go1.23 is not GA. So those binaries/images don't support go1.23 (new elements and internal Go changes).
https://golangci-lint.run/usage/faq/#which-go-versions-are-supported
In addition, of the Go version used to build it, some linters could need to be updated to support newer versions of Go, and internal pieces of golangci-lint could also need to be updated.
You can follow the PR https://github.com/golangci/golangci-lint/pull/4836 to see the progress on this topic.
golangci-lint
is a free and open-source project built by volunteers.If you value it, consider supporting us, we appreciate it! :heart:
https://github.com/golangci/golangci-lint/assets/5674651/95bcfd16-cc12-413d-a964-91f6d47ded87
Video created by a human (ldez) with Inkscape, Synfig, Kdenlive.