-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
[Proposal] Go language version support #4841
Comments
The policy used by otel-go makes sense to me, I would be happy to support the same policy for the collector/collector-contrib. |
@mx-psi I do not fully understand their wording. Can you expand here?
What does "supported" mean? Supported by whom? |
Supported by the Go team as defined in https://go.dev/doc/devel/release#policy |
We discussed this on the February 16th Collector SIG meeting, where @Aneurysm9 gave some details on opentelemetry-go's approach. I will wait until next week for approvers and other community members to voice their opinion here and open a PR then to nail down the wording and figure out if we want to do the Go bump in lockstep or not. |
I'm happy with opentelemetry-go's approach. If it turns out to not work for our case in the future, we can always tweak our policy. |
Overview
Given recent efforts to reach v1.0.0 (see #4752) and the recent move towards being more explicit about breaking changes (see #4712) I think this is a good time to consider Go language version support of the Collector code when used as a library, since this is 'sort of' a breaking change (although one commonly ignored even when following semver), and since there have been discussions in the past about the use of new Go features (e.g. generics or Go workspaces).
There are two different but related Go versions to consider here: one is the minimum Go version supported for using the Collector as a library and the other is the Go version used to build the official binaries. This can be addressed separately: Go tooling honors the Go version declared in the
go.mod
file.Questions to decide
Points to consider
Prior work
Relevant prior work includes open-telemetry/opentelemetry-go#2379, where the
opentelemetry-go
library chose to (roughly) follow Go's release policy. The precedent of #3887 is also relevant, where the version was bumped to Go 1.17 because of a security issue that was not fixed by the Go team on 1.16.Proposal
My proposal is to answer the questions as follows:
The text was updated successfully, but these errors were encountered: