-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
go1.24 support #5225
Comments
Go 1.24 will introduce the Does it change anything in terms of recommendations for installing |
No, it doesn't change the core of the problem, it will just increase the problems. The arguments inside the doc are even more than accurate with this new command because, for example, it will merge the dependencies of your projects with the dependencies of the tools. If you install module github.com/golangci/sandbox
go 1.22.0
toolchain go1.24rc1
tool golang.org/x/tools/cmd/stringer
require (
golang.org/x/mod v0.22.0 // indirect
golang.org/x/sync v0.10.0 // indirect
golang.org/x/tools v0.28.0 // indirect
) So it can influence golangci-lint. And the opposite is also right, your project dependencies will be influenced by the dependencies of golangci-lint. |
Is golangci-lint support go1.24?
No, and yes.
Basically, golangci-lint supports Go versions that are lower or equal to the Go version used to build it.
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.
The current binaries from the releases page and the Docker images have been built with go1.23 and will be built with go1.23 as long as go1.24 is not GA.
So those binaries/images don't support go1.24 (new elements and internal Go changes).
https://golangci-lint.run/welcome/faq/#which-go-versions-are-supported
You can follow the PR #5224 to see the progress on this topic.
https://go.dev/wiki/Go-Release-Cycle
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 should use the official binaries, or compile golangci-lint manually with the right Go version, or help these package systems to support this new Go version.
We are not responsible for package systems that don't use official binaries.
To validate the Go version used to compile:
golangci-lint version
golangci-lint
is a free and open-source project built by volunteers.If you value it, please consider donating or asking your company to do so, we appreciate it! ❤️
The text was updated successfully, but these errors were encountered: