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

Consider dropping support for cabal 1.x and GHC less than 8.0 #5924

Closed
theobat opened this issue Nov 3, 2022 · 5 comments
Closed

Consider dropping support for cabal 1.x and GHC less than 8.0 #5924

theobat opened this issue Nov 3, 2022 · 5 comments

Comments

@theobat
Copy link
Contributor

theobat commented Nov 3, 2022

Considering that cabal 2.0 was released in 2017, I think it's time for stack to drop support for cabal 1.x, as there are many places where the logic is heavy because of cabal 1.x.

The same goes for GHC less than 8.0, I believe many tools in the haskell ecosystem, EDIT (unfinished sentence lol) : have already taken this decision.

Another aspect to this is, it would be a good behavior to clarify a systematic policy regarding the supported versions for both tools.

@mpilgrem
Copy link
Member

mpilgrem commented Nov 3, 2022

By way of historical context, and perhaps precedent, when Stack 2.1.1 was released on 2019-06-13, it dropped Cabal versions < 1.18.2 and, consequently, LTS < 3.0. LTS 2.22 (GHC 7.8.4, released 2014-12-23) came with Cabal-1.18.1.5, released 2014-12-15. So, the things that were then dropped were about four and half years old.

GHC 7.10.3 was released 2015-12-08. GHC 8.0.2 was released 2017-01-11. Cabal >= 2 was first shipped with GHC 8.2.1, which was released 2017-07-22. So, dropping Cabal < 2 and GHC < 8.2.1 today would be dropping things that are over five years old.

@theobat, I see you use Haskell Community (https://discourse.haskell.org/). I suggest you canvas your suggestion there, to see if there is any immediate/strong reaction against it. It will get a wider audience there than here.

@mpilgrem
Copy link
Member

mpilgrem commented Nov 3, 2022

On 'policy', looking to see what others do, the Cabal repository seems to think in terms of 'five years'.

Perhaps a policy could be put in these terms: "The most recent release of Stack will aim to support all versions of GHC and the Cabal package in Stackage snapshots published within five years."

However, that would clash with @theobat's suggestion, as it would support LTS 9.12 released on 2017-11-05 (GHC 8.0.2 and Cabal-1.24.2.0).

EDIT: However, LTS 10.0 (GHC 8.2.2) was released on 2017-12-19, so its 5 year anniversary is in less than two months time.

Dialling back to four years would support LTS 12.17 released on 2018-11-05 (GHC 8.4.4 and Cabal-2.2.0.1).

@hasufell
Copy link
Contributor

hasufell commented Nov 4, 2022

This probably needs some discussion with stackage maintainers?

@mpilgrem
Copy link
Member

I have put the 'five years' proposal to the #stack-collaborators channel of the Haskell Foundation's Slack workspace, to see if anybody objects.

@mpilgrem
Copy link
Member

Closing as it was, ultimately, overtaken by #6377.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants