haskell / haskell/hackage-server

Advertise `base<0` when a package version is deprecated

Open
#1,370 6 comments 0 reactions 0 assignees View on GitHub
Dominant language
Haskell
Stars
467
Forks
225
PR merge metrics
No merged PRs in 30d

Description

Deprecation is a subtle mechanism. In particular, deprecated versions can still be picked by the solver --- to most people's surprise. It has been brought up many times (e.g. https://github.com/haskell/hackage-server/issues/1345). A more effective way to make sure that a version isn't picked is to revise it's `base` bound to `<0`, and we should advertise it more. E.g. in the UI when a user deprecates a version, we could show an instructive message about `base<0`.

The above-mentioned issue has more ideas such as changing the semantics of deprecation (e.g. to be closer to that of "don't ever pick the version", just like `base<0`) or adding a more direct way to achieve the same by introducing a new feature in the Cabal spec. Both of these seem heavy-weight, and we are likely stuck in a local minimum for now. Adding more visibility to the `base<0` trick may improve our life mid-run.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.