haskell / haskell/cabal

PVP breakage in Cabal releases

Open
#10,160 12 comments 2 reactions 0 assignees Claimed by @geekosaur View on GitHub
re: devx type: discussion
Dominant language
Haskell
Stars
1.7k
Forks
750
Avg merge
4d 3h
Merged PRs (30d)
28

Description

**Describe the bug**
As a dev team, we are failing in spotting PVP breakage.

**To Reproduce**
Last `Cabal` release (`3.12.1.0`) was a minor one (that is from from `3.12.0.0` to `3.12.1.0`).
This means no PVP breaking changes should have been introduced.

Alas, at least two of those breaking changes are present in the release, see PRs #9766 and #9878. Both those PRs introduce a new constructor, hence the backport actually changed the API for `Cabal`.

**Expected behavior**
We don't let breaking changes slip in minor cabal releases, be it with the help of a checklist or automated testing or anything else (suggestion welcome).

Contributor guide

Open the contributing guide

Research direction

Start by reviewing PRs #9766 and #9878 and the open linked PR #10259 to understand the reported constructor additions and current proposed approach. Then inspect the Cabal release process for where PVP compatibility is checked. Done means minor Cabal releases reliably prevent or flag breaking API changes, whether through a checklist or automated testing.

Written by the indexing model from the issue text.

Assessment

Tech stack
haskell
Domain
build-system, release
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.