cabal icon indicating copy to clipboard operation
cabal copied to clipboard

Release 3.10.3.0 is *not* strictly a bug-fix release

Open lyokha opened this issue 1 year ago • 4 comments

Describe the bug This is not a bug but rather a short remark. The 3.10.3.0 release was announced as strictly a bug-fix release, but, comparing to 3.10.2.1, there are changes in the interface that may affect users.

I used simpleProgram in my custom code with

import Distribution.Simple.Program.Types

The simpleProgram was previously defined in that module, but in the new release it was moved directly into Distribution.Simple.Program. Therefore, the code failed to compile after the upgrade, so I had to replace all my granular imports with the single Distribution.Simple.Program.

Btw, I agree that Distribution.Simple.Program.Types is not a proper place for simpeProgram.

lyokha avatar Apr 03 '24 23:04 lyokha

Arguably that calls for 3.10.3.1 to reexport it, since API changes like that seem wrong.

geekosaur avatar Apr 03 '24 23:04 geekosaur

Previously, it was reexported from Distribution.Simple.Program, those who used the short module directly (i believe this should be a usual case as it's more convenient) won't notice the change.

lyokha avatar Apr 04 '24 00:04 lyokha

In 3.10.3.0 simpleProgram was moved from Distribution.Simple.Program.Types to Distribution.Simple.Program.Find.

lyokha avatar Apr 04 '24 00:04 lyokha

indeed this was a pvp breaking change (https://github.com/haskell/cabal/pull/9544) and we shouldn't have let it into a minor release. i think the damage is done at this point, and wouldn't want to reintroduce the problematic module dependency that pr introduced in a further release -- however we should be more mindful in the future, perhaps with automated api-surface comparison tools.

gbaz avatar Apr 04 '24 02:04 gbaz