cabal icon indicating copy to clipboard operation
cabal copied to clipboard

Release checklist for 3.14.0.0

Open Kleidukos opened this issue 1 year ago • 14 comments

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)
    1. https://github.com/haskell/hackage-security/pull/319
    2. 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)
    1. https://github.com/haskell/hackage-security/pull/319
    2. 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.14
    • attention: needs-backport 3.14

Kleidukos avatar Aug 02 '24 12:08 Kleidukos

@ulysses4ever May I ask you to run the Pre-flight checks and report your findings?

Kleidukos avatar Aug 03 '24 16:08 Kleidukos

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...

ulysses4ever avatar Aug 03 '24 17:08 ulysses4ever

Actually, https://github.com/haskell/cabal/pull/10244

ulysses4ever avatar Aug 03 '24 17:08 ulysses4ever

I updated the description with the list of regressions that may need to be fixed before the release. There are two so far...

ulysses4ever avatar Aug 05 '24 12:08 ulysses4ever

A third regression, sadly: https://github.com/haskell/cabal/issues/10046

ulysses4ever avatar Aug 06 '24 16:08 ulysses4ever

Would it be possible to get a date when this release is going to be ready?

mpickering avatar Sep 02 '24 08:09 mpickering

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 avatar Sep 02 '24 11:09 Mikolaj

@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.

mpickering avatar Sep 03 '24 08:09 mpickering

@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.

Mikolaj avatar Sep 03 '24 12:09 Mikolaj

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?

Kleidukos avatar Sep 05 '24 17:09 Kleidukos

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.

ulysses4ever avatar Sep 05 '24 23:09 ulysses4ever

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.

Kleidukos avatar Oct 02 '24 13:10 Kleidukos

#10416 is an important fix for the 3.14 release.

mpickering avatar Oct 03 '24 11:10 mpickering

#10419 is also something we need fixed in the 3.14 series.

wz1000 avatar Oct 04 '24 12:10 wz1000

#10559 there's one blocker about API changes, unless I'm missing something.

ulidtko avatar Nov 20 '24 21:11 ulidtko