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

Bump minimum Go version to 1.22 #1684

Merged
merged 1 commit into from
Jan 15, 2025
Merged

Bump minimum Go version to 1.22 #1684

merged 1 commit into from
Jan 15, 2025

Conversation

rockdaboot
Copy link
Contributor

No description provided.

@rockdaboot rockdaboot self-assigned this Jan 15, 2025
@rockdaboot rockdaboot requested a review from a team as a code owner January 15, 2025 11:01
@dmathieu
Copy link
Member

@florianl
Copy link
Member

From: https://github.com/elastic/apm-agent-go/blob/main/docs/supported-tech.asciidoc#go

Each major Go release is supported until there are two newer major releases. For example, Go 1.5 was supported until the Go 1.7 release, and Go 1.6 was supported until the Go 1.8 release.

As the currently most recent Go version is Go 1.23, Go 1.21 should still be supported until the release of Go 1.24.

@rockdaboot
Copy link
Contributor Author

From: https://github.com/elastic/apm-agent-go/blob/main/docs/supported-tech.asciidoc#go

Each major Go release is supported until there are two newer major releases. For example, Go 1.5 was supported until the Go 1.7 release, and Go 1.6 was supported until the Go 1.8 release.

As the currently most recent Go version is Go 1.23, Go 1.21 should still be supported until the release of Go 1.24.

I read the docs as "we support version N and N-1", so 1.23 and 1.22 as of today.
"Go 1.5 was supported until the Go 1.7 release" means "with the Go 1.7 release, support for 1.5 is dropped" - so 1.6 and 1.7 (N and N-1) is supported.

@rockdaboot rockdaboot merged commit 5950260 into main Jan 15, 2025
11 of 12 checks passed
@florianl
Copy link
Member

As a non-native speaker, my understanding of Each major Go release is supported until there are two newer major releases. might be different and would come down to N-2.

@kruskall
Copy link
Member

sorry for the confusion 🙇

the policy is the same as https://go.dev/doc/devel/release#policy, happy to improve the wording 🙂

@rockdaboot
Copy link
Contributor Author

As a non-native speaker, my understanding of Each major Go release is supported until there are two newer major releases. might be different and would come down to N-2.

I think the key is the "until" here. It means "to this point and not thereafter".
Example: 1.21 is supported until there are two higher major version. So as soon as we have two newer major versions, the support for 1.21 can be dropped. In this case it means if we have 1.22 and 1.23, the support for 1.21 can be dropped.

@dmathieu dmathieu deleted the update-go-1.22 branch January 15, 2025 13:26
@dmathieu
Copy link
Member

When we set this up, we relied on the otel-go policy, which matches the Go one.
It's as @rockdaboot describes it. N and N-1 versions are supported. So 1.21 is EOL.

@rockdaboot
Copy link
Contributor Author

rockdaboot commented Jan 15, 2025

sorry for the confusion 🙇

the policy is the same as https://go.dev/doc/devel/release#policy, happy to improve the wording 🙂

@kruskall My suggestion would be to replace

For example, Go 1.5 was supported until the Go 1.7 release, and Go 1.6 was supported until the Go 1.8 release.

with

For example, Go 1.5 was supported until the Go 1.7 release and thus became EOL with the 1.7 release.

or

For example, Go 1.5 was supported until the Go 1.7 release and thus became EOL at the 1.7 release date.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants