Please revise the release policy
See also
- Haskell discourse thread about this ticket
- #25496 more predictable release cycles
- Tick-tock release cycle proposal (May 22)
I know this has been debated before, but the policy of releasing major versions every 6 months simply doesn't work at the moment. Let's look at the facts (dates are based on https://gitlab.haskell.org/ghc/ghc/-/wikis/GHC%20Status, I'm assuming they're accurate):
- Semi-officially (i.e. by ghcup) recommended GHC version is the 9.6 series, which was first released over 2 years ago.
- In the meantime the 9.8 series was released and it's already abandoned.
- 9.10.1 was released on 10 May 2024. 9.10.2 was released on 3 May 2025, a YEAR (!) later. It still has at least one regression that alters runtime results and makes it (at least for me) not suitable for serious use.
- 9.12.1 was released on 15 November 2024. 9.12.2 was released on 14 March 2025, 4 months after. 2/3rd of the time between major version releases took to make another bugfix release.
- According to labeling there's tons of outstanding bugfix MRs for 9.10 (37) and for 9.12 (75!). I'm pretty sure backporting these will take tons of time (and frustration if there are conflicts).
- Apparently 9.14.1 is scheduled to release in July 2025. Will there be then 3 active series to port bugfix MRs into?
Can someone explain to me how it makes sense to:
- Release major versions every 6 months while a bugfix release (9.10.1 -> 9.10.2) takes a year or 4 months (9.12.1 -> 9.12.2)?
- Have 2 (soon 3) active series and having to double (soon triple) the effort of backporting bug fixes.
Because I don't think it does. Most software releases major versions once in a while and then makes bugfix releases often while working on the next major version (and perhaps backports critical bugfixes to older major versions once in a blue moon). This simplifies the process for both developers (only one branch to backport to) and users (there's less major versions to choose from and bugfix releases are made often, so new major versions stabilize quickly for most people to move over).
GHC does it backwards. Why?