cabal icon indicating copy to clipboard operation
cabal copied to clipboard

PVP breakage: `Cabal-(syntax-)?3.12.1.0`

Open ffaf1 opened this issue 1 year ago • 6 comments

Describe the bug Breakage re: PVP in 3.12.1.0. See #10160 for a broader overview.

To Reproduce

List of offending PRs:

  • #9766
  • #9878

Comment What should we do? Shall we revert those changes in 3.12.3.0? Or will that be useless or even counter-productive as codebases are being updated right now?

ffaf1 avatar Jun 29 '24 14:06 ffaf1

How hard is it to release just Cabal and Cabal-syntax without the breaking changes as 3.12.2? I don't think it's hard?

ulysses4ever avatar Jun 29 '24 15:06 ulysses4ever

How hard is it to release just Cabal and Cabal-syntax without the breaking changes as 3.12.2? I don't think it's hard?

Definitely not.

What about 3.12.1.0 (Cabal and Cabal-syntax)? Deprecate it?

ffaf1 avatar Jun 29 '24 15:06 ffaf1

Yeah, there's the standard dance: deprecate and put base<0 as a revision.

ulysses4ever avatar Jun 29 '24 15:06 ulysses4ever

Although, base<0 may screw the users of cabal-install-3.12.1.0 under custom setups. That's why I was asking for opinions: there's probably people experienced in this more than I...

ulysses4ever avatar Jun 29 '24 15:06 ulysses4ever

We should verify experimentally by reproducing #9917, but I hope custom setups can mix minor versions just fine. It was the lack of a matching major release of cabal-install that was the problem.

However, releasing only Cabal(-syntax) makes sense only if there are no PvP violations also in the cabal-install API. Let's wait and see. If only Cabal(-syntax) is affected, then the big rush of updating to Cabal 3.12 was at Cabal 3.12.0.0, so deprecating Cabal 3.12.1.0 should not be too disruptive. And the cabal-install library is not as widely used, so perhaps deprecating it is not a big deal as well, if that needs to be done.

What we could do sooner rather than later is to warn users (in particular GHC, @bgamari, @mpickering) to hold their horses regarding the move to Cabal 3.12.1.0, while encouraging the users of the cabal-install tool to switch to 3.12.0.0 ASAP. Maybe even in the release announcement on discourse and in some mailing lists?

Mikolaj avatar Jun 29 '24 22:06 Mikolaj

I would probably leave things as they stand for now. It's unlikely that anyone is really badly broken. Multiplying amount of Cabal versions floating around is not helpful either.

Check that there are @since pragmas, put a big warning in changelogs, update processes for the next time, that's it.

Bodigrim avatar Jun 29 '24 22:06 Bodigrim

We should verify experimentally by reproducing #9917

I have in fact reproduced this accidentally when incompletely switching between HEAD and various other cabal/ghc versions. I don't think I've seen it in more common use cases, though.

geekosaur avatar Aug 25 '24 20:08 geekosaur