cabal
cabal copied to clipboard
Release checklist for 3.14.0.0
This is the checklist of the 3.14.0.0 release, whose main highlight is Building profiled, dynamically-linked cabal projects #9900. The previous issue like this is for 3.12.
This lib:Cabal release is to help with the release of GHC 9.12, not to support its users. We are not releasing cabal-install for this release.
The 3.16 release will be the one to support GHC users using GHC 9.12.
We will not do backports of user-facing features, unless they are blocking. CI fixes may be backported in order to facilitate the release process of GHC (especially on the Windows platform).
Considering the workload required, we aim for the 17th of September for full Hackage releases.
If an item is actionable, please create a sub-list of the PRs that relate to it. It is not actionable, please write “not applicable” in parentheses on the same line.
Regressions we need to fix
-
~~#10242 (unreleased yet, only exists on
master)~~ -
~~https://github.com/haskell/cabal/issues/10046~~
- Fix in https://github.com/haskell/cabal/pull/10250
-
~~#9777~~
- conclusion: it's feature, not a bug (albeit released too early in 3.12 while it should have waited until 3.14)
- documentation patch: https://github.com/haskell/cabal/pull/10311
- ~~dup for Agda specifically #10235~~ should be fixed downstream:
- https://github.com/agda/agda/pull/7471
-
#10290
GHC concerns
We are releasing cabal-install after the GHC release, but for matters of PVP compliance, we'll integrate GHC-specific changes
- [x] New extensions since Cabal 3.12 (@ffaf1)
- -XMultilineStrings (https://github.com/haskell/cabal/pull/10245)
- -XNamedDefaults #9740
- -XOrPatterns #10339
- then backport OrPatterns manually #10339
- [x] New flags since Cabal 3.12
- @alt-romes and @geekosaur have established that no new GHC flags need to be added manually to the Cabal's codebase.
Cabal concerns
Tasks
- ❌ Additions to the cabal format v3.14 have been included in the documentation with a release year
- [x] Preflight Checks (@ulysses4ever)
- https://github.com/haskell/cabal/pull/10244
- [x] Update the SPDX license data (@ffaf1)
- #10341
- then backport #10357
- [x] cut the release branch for 3.14
- [x] hackage-security release or revision with updated bounds
- https://github.com/haskell/hackage-security/pull/319
- [x] Cut the 3.14 Branch (@fgaz)
- [x] Generate the changelogs (@ulysses4ever)
- [x] https://github.com/haskell/cabal/pull/10336
- [x] #10338
- [x] manually add changelogs from the extension PR and the SPDX pr (remove changeloglets from master)
- [x] forward port both to
master.
- [x] Bump version numbers of the libraries in the release branch (@fgaz)
- https://github.com/haskell/hackage-security/pull/319
- https://github.com/haskell/cabal/pull/10310
- [x] Bump the versions again, this time on master, to the next odd version (3.13 -> 3.15) (@ffaf1)
- https://github.com/haskell/hackage-security/pull/319
- https://github.com/haskell/cabal/pull/10309
- [x] Upload the release candidates of the libraries on Hackage
cabal-install
- [ ] Publish artifacts: See Publishing the artifacts
- [ ] Tweak things as needed, look for new issues labelled "regression in ...", merge patches that fix regressions
- [ ] Re-upload the candidates on Hackage based on the latest tag, and publish them
- [ ] party!
Backports
- https://github.com/haskell/cabal/pull/10319
- https://github.com/haskell/cabal/pull/10411
- https://github.com/haskell/cabal/pull/10422
- https://github.com/haskell/cabal/pull/10435
Side quests
- [x] Create the following labels on GitHub (@Kleidukos)
regression in 3.14attention: needs-backport 3.14
@ulysses4ever May I ask you to run the Pre-flight checks and report your findings?
I'm happy to. My turnaround time these days is not great though. I'll try to shoot for evening today but worst case it's Monday...
Actually, https://github.com/haskell/cabal/pull/10244
I updated the description with the list of regressions that may need to be fixed before the release. There are two so far...
A third regression, sadly: https://github.com/haskell/cabal/issues/10046
Would it be possible to get a date when this release is going to be ready?
Some more regressions I've found. Are they fixed/invalid/duplicate?
https://github.com/haskell/cabal/issues/10290 [edit: added to the ticket description]
~~https://github.com/haskell/cabal/issues/10235~~
https://github.com/haskell/cabal/issues/9777 [edit: added to the ticket description]
@Mikolaj Not all regressions can be fixed for every release, it doesn't seem like there has been progress on #9777 nor #10290 so they could be bumped to the next release.
@Mikolaj Not all regressions can be fixed for every release, it doesn't seem like there has been progress on #9777 nor #10290 so they could be bumped to the next release.
Makes sense, especially if this is an interim release, between GHCs, with stress on Cabal the library not the tool. Still, this needs to be an informed decision.
After today's meeting with @Mikolaj and @ulysses4ever, we have decided to reasonably aim for September 17. @mpickering does this suit the GHC release agenda?
By the way, the timeline that works for the GHC team was discussed in https://github.com/haskell/cabal/issues/10193
And same for releasing the library only versus with the tool.
For compatibility purposes, we need to integrate https://github.com/haskell/cabal/pull/10411 in our release of Cabal-syntax.
This will warrant a patch release of Cabal-syntax to go alone with the cabal-install release, but does not need to happen until mid-October.
@wz1000 will come back to us after some more testing has been done on the GHC side to confirm we can proceed with the patch release.
GHC 9.12 is expected to be released mid-November, I would like cabal-install to be readily available on ghcup by this date.
#10416 is an important fix for the 3.14 release.
#10419 is also something we need fixed in the 3.14 series.
#10559 there's one blocker about API changes, unless I'm missing something.