Earlier quoted context omitted.
Anyone with an older toolchain can’t build that library of anything that depends on it. Some environments might not even have the newer version available.
Anyone with an older toolchain is free to fork it on github, test with the older version, and CI to the project that tests with the older version, and submit a patch, too! This may not get the project as many users, but not everyone who writes a 50 line project is trying to figure out which versions it supports and setting up full test matrices either.
Stop picking my Go version for me
51–60 of 64 posts
Re: Stop picking my Go version for me
#52This is made even worse by the golang.org/x packages updating their minimum Go version without any other changes to the code that require that bump. It ripples through all projects that have any dependencies on those packages, and it forces everyone to choose between security updates and backward compatibility.
I've ranted about this before in my blog [1].
Re: Stop picking my Go version for me
#53Earlier quoted context omitted.
Anyone with an older toolchain is free to fork it on github, test with the older version, and CI to the project that tests with the older version, and submit a patch, too! This may not get the project as many users, but not everyone who writes a 50 line project is trying to figure out which versions it supports and setting up full test matrices either.
Not a Go dev, but I typically set up a CI with the oldest toolchains I support (usually a debian release), and only bump those versions when I really need something from the latest versions. Locally I build with the most recent tools. This ensures good enough coverage for very little work, as I notice when I start using something that's newer and can bump the toolchain accordingly.
Re: Stop picking my Go version for me
#54Earlier quoted context omitted.
Anyone with an older toolchain can’t build that library of anything that depends on it. Some environments might not even have the newer version available.
Anyone with an older toolchain is free to fork it on github, test with the older version, and CI to the project that tests with the older version, and submit a patch, too! This may not get the project as many users, but not everyone who writes a 50 line project is trying to figure out which versions it supports and setting up full test matrices either.
Re: Stop picking my Go version for me
#55Someone n another thread mentioned the `toolchain` command, maybe I should look into this again.
Re: Stop picking my Go version for me
#56Earlier quoted context omitted.
Anyone with an older toolchain is free to fork it on github, test with the older version, and CI to the project that tests with the older version, and submit a patch, too! This may not get the project as many users, but not everyone who writes a 50 line project is trying to figure out which versions it supports and setting up full test matrices either.
Are you sure you replied to the right comment? I'm not sure how this relates to the question being asked.
If you have an older tool chain, it is on you to fix the library to build with the older tool chain, that's what open source is about!
Re: Stop picking my Go version for me
#57Earlier quoted context omitted.
That part struck me as well. I agree with the premise that the field should represent the minimum supported version, but I don’t understand the argument that it shouldn’t be set to the minimum supported version that works. That’s the point of a minimum supported version field.
I'm struggling to think of a scenario where bumping the minimum Go version you support would be essential to fixing a bug though, because that would imply a massive Golang bug and AFAIK it's pretty stable. And if it was a massive Golang bug, then maybe everyone needs to upgrade anyway.
Re: Stop picking my Go version for me
#58In other ecosystems, I could see how this could be a problem, but I don’t think I’ve ever had a problem with a Go upgrade. What’re the actual, practical results of a package pushing you towards a higher go version that you wouldn’t otherwise have adopted right away? Why is this actually important to avoid beyond “don’t tell me what to do”?
One potential reason is that Go does drop support for older OSes sometimes. For example, Go 1.22 is the newest version that works with older Mac OSes. https://go.dev/doc/go1.22#darwin
Re: Stop picking my Go version for me
#59Install the latest version of Go and once you are finished with the library, downgrade the version of Go by one until you get a compilation error?
Re: Stop picking my Go version for me
#60This just got me. Datadog decided that they only support the current and last major versions of Go. So, 1.26 and 1.25. But in my cause we're still on 1.24.13 which was released by the Go team less than two months ago. Datadog won't be getting a renewal from us.
So upgrade to 1.25? What reason could you possibly have to be so far behind? I can understand staying one version behind latest, to not be exposed to brand new bugs, which do happen, but staying two versions behind is pointless.
Personally, I love all of the new Go stuff and I'm using the current version on my personal projects.