Skip to content
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

Stop supporting 3 releases of Go #7249

Closed
dfawley opened this issue May 21, 2024 · 4 comments · Fixed by #7250
Closed

Stop supporting 3 releases of Go #7249

dfawley opened this issue May 21, 2024 · 4 comments · Fixed by #7250
Assignees
Labels
Type: Meta Github repo, process, etc

Comments

@dfawley
Copy link
Member

dfawley commented May 21, 2024

Per https://go.dev/doc/modules/gomod-ref#go-notes:

  • At go 1.21 or higher:
    • The go line declares a required minimum version of Go to use with this module.

Because of this, any time we update our dependencies, if any of them requires Go 1.21, we either have to not update those packages (which may represent a security risk), or we cannot support Go 1.20 any longer.

I believe we need to change our support policy to only cover the last two releases of Go, which is what the Go team maintains, itself:

https://go.dev/doc/devel/release#policy

Each major Go release is supported until there are two newer major releases.

@dfawley dfawley added the Type: Meta Github repo, process, etc label May 21, 2024
@dfawley dfawley changed the title Stop supporting 3 releases of Go. Stop supporting 3 releases of Go May 21, 2024
@dfawley dfawley pinned this issue May 21, 2024
@dfawley
Copy link
Member Author

dfawley commented May 21, 2024

If we make this change, it should not affect our strategy of updating the go directive in our go.mod files(s): we should only bump it when we require a language feature of a newer version, or if required by one of our dependencies.

@aranjans aranjans assigned aranjans and dfawley and unassigned aranjans May 27, 2024
@dfawley
Copy link
Member Author

dfawley commented May 28, 2024

With no comments in this issue in 1 week, we will go forward with this plan.

@perezd
Copy link

perezd commented Jul 2, 2024

isn't this out of compliance with GCP's Go version support policy? https://cloud.google.com/go/getting-started/supported-go-versions

From my read that is 3 supported versions, no?

@dfawley
Copy link
Member Author

dfawley commented Jul 2, 2024

I'm not sure how they intend to do this, as Go's version support policy is effectively trickle-down with the recent go.mod tooling changes -- if any dependency demands it, you must upgrade your minimum supported version.

If a dependency only supports a newer version, and you don't want to upgrade, you can pin to an older release of theirs. But if they then have a CVE and address it in a newer version, then you are in a very tough position -- drop support for the older version or not address the CVE.

cc @codyoss we should probably chat about this some time?

ejona86 pushed a commit to grpc/grpc.io that referenced this issue Jul 30, 2024
Since grpc/grpc-go#7249, gRPC-Go only supports the last two versions of
Golang. Similar to Golang policy itself
dfawley pushed a commit to dfawley/grpc.io that referenced this issue Sep 10, 2024
Since grpc/grpc-go#7249, gRPC-Go only supports the last two versions of
Golang. Similar to Golang policy itself
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Meta Github repo, process, etc
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants