The awkward timing of Fedora and Go releases
I just upgraded my office and home desktops to Fedora 35 (I know I'm late to the party, but). Afterward, I noticed something about the Go version:
I guess [the reason] that Fedora 35 (still) has Go 1.16, not Go 1.17, is that 1.17 came out too close to the release freeze. It looks like Fedora 35 branched from Rawhide a week before 1.17, and presumably no one specifically pushed 1.17 into the Fedora 35 branch.
It turns out that Go and Fedora currently have awkward timing such that Fedora is probably always going to be one Go release behind, despite looking like they shouldn't.
Both Go and Fedora aim to release new significant versions twice a year, which means roughly every six months. The Go release cycle aims to release in August and February (in theory at the start, in practice this slips, and Go 1.18 just came out in March). Meanwhile, the Fedora release schedule (via) aims for April and October releases.
On the surface, this sounds like plenty of time to get a new Go release into the next Fedora release (ignoring situations like Go 1.18's March release). However, this is deceptive. Like most big projects (including Go), Fedora tries to freeze itself well before release; for example, Fedora 35 was released November 2nd 2021, but the Beta release freeze was August 24th, and Fedora 35 branched from Rawhide and started to freeze on August 10th. Meanwhile, Go 1.17 was released August 16th. This is after the initial Fedora freeze and barely a week before the Beta freeze. Would Fedora have accepted a week-old Go release into Beta even if someone had been willing to try to sprint through the QA work and the software rebuilds? Maybe, but probably not, since it's a potentially risky last minute update for something that probably isn't seen as critical.
At one level this probably isn't important. If you care about Go (as I do), it's easy to use the latest release (either in a binary distribution from the Go project or building your own from source (as I do)). Otherwise, the next most recent version of Go is a perfectly good version, and there probably won't be any issues in it that concern you if you're just building the odd Go program with it.
(If you do have to care about Go security issues and are using the Fedora Go, you may have a problem. The upstream Go project only supports the current Go version and the previous one, which right now is Go 1.17 and Go 1.18. It's up to Fedora to support Go 1.16 on its own.)
Go is probably not the only software project that interacts with Fedora's timing this way. But it is the one that I've noticed.
(For reasons beyond the scope of this entry, it's not a good idea for Fedora to update to new Go releases within a single Fedora release. Some things Fedora has no choice but to handle that way, like Firefox, but otherwise stability is better.)