Skip to content

go1.23 support #4837

Closed
Closed
@ldez

Description

@ldez

EDIT: since v1.60.0 golangci-lint supports go1.23 🎉


golangci-lint is a free and open-source project built by volunteers.

If you value it, consider supporting us, we appreciate it! ❤️

Open Collective backers and sponsors GitHub Sponsors

support-golangci-lint-HD.mp4

Video created by a human (ldez) with Inkscape, Synfig, Kdenlive.


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.

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).

https://golangci-lint.run/welcome/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 #4836 to see the progress on this topic.

Additional Notes

Some package systems (like homebrew, nix, etc.) are "slow" in propagating the new Go version.
After a new release of Go and golangci-lint, those systems can use an old Go version to compile golangci-lint resulting in a non-working binary (high memory usage, missing symbol, etc.).

In this situation, you can either use the official binaries, or compile it manually with the right Go version, or help those package systems to support this new Go version.

We are not responsible for package systems that don't use official binaries.

To see the Go version used to compile: golangci-lint version

$ golangci-lint version
golangci-lint has version 1.60.1 built with go1.23.0 from 3298c104 on 2024-08-14T01:15:05Z

  • staticcheck, gosimple, stylecheck: waiting for a release. details

Open Collective backers and sponsors GitHub Sponsors

Metadata

Metadata

Assignees

Labels

enhancementNew feature or improvement

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions