Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PVP breakage: Cabal-(syntax-)?3.12.1.0 #10161

Open
ffaf1 opened this issue Jun 29, 2024 · 7 comments
Open

PVP breakage: Cabal-(syntax-)?3.12.1.0 #10161

ffaf1 opened this issue Jun 29, 2024 · 7 comments
Labels
re: pvp Concerning the Haskell Package Versioning Policy type: bug

Comments

@ffaf1
Copy link
Collaborator

ffaf1 commented Jun 29, 2024

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

To Reproduce

List of offending PRs:

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 ffaf1 added re: pvp Concerning the Haskell Package Versioning Policy and removed needs triage labels Jun 29, 2024
@ffaf1 ffaf1 changed the title PVP breakage: Cabal-(Syntax-)?3.12.1.0 PVP breakage: Cabal-(syntax-)?3.12.1.0 Jun 29, 2024
@ulysses4ever
Copy link
Collaborator

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?

@ffaf1
Copy link
Collaborator Author

ffaf1 commented Jun 29, 2024

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?

@ulysses4ever
Copy link
Collaborator

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

@ulysses4ever
Copy link
Collaborator

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

@Mikolaj
Copy link
Member

Mikolaj commented Jun 29, 2024

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?

@Bodigrim
Copy link
Collaborator

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.

@geekosaur
Copy link
Collaborator

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
re: pvp Concerning the Haskell Package Versioning Policy type: bug
Projects
None yet
Development

No branches or pull requests

5 participants