Cabal 3.8 pre-released!

Hello! The first 3.8 series cabal release candidate is available. Install via

ghcup config add-release-channel https://raw.githubusercontent.com/haskell/ghcup-metadata/master/ghcup-prereleases-0.0.7.yaml;
ghcup install cabal 3.8.0.20220526

or manually from

Index of /cabal/cabal-install-3.8.1.0-rc1/.

We, the cabal team, are completely dependent on our invaluable contributors
and collaborators, thanks to whom this pre-release is possible.
Therefore, please test extensively and if anything critical is missing
or broken that you’d like to see fixed in 3.8.1.0-final, let us know
on the bug tracker. There is still a narrow window to change things
and the cabal team will try to guide you along and help you implement them.
The dynamic list of known grave bugs that could plausibly be solved
for 3.8 is at

https://github.com/haskell/cabal/issues?q=is%3Aopen+is%3Aissue+label%3A%22priority%3A+high+%3Afire%3A%22+milestone%3A%22Considered+for+3.8%22

At the time of writing none of the bugs on the list is blocking the final
3.8 release. Changelogs are at

The list of all authors of cabal is the git commit log. You are great.

Happy hacking,
Mikolaj

18 Likes

I don’t see this mentioned in the changelog: https://github.com/haskell/cabal/pull/7973 which at least for me is the most important fix for the new release

2 Likes

Hi @jvanbruegge,

I’m glad the change you wanted made it in. For me, git grep shows it there:

release-notes/cabal-install-3.8.0.20220526.md:- Apply local options only to local packages #7998 #7973

Where’s the disconnect?

All the best,
Mikolaj

I think the most interesting new feature is really this: https://cabal.readthedocs.io/en/latest/cabal-project.html#conditionals-and-imports

which allows to import stackage directly in cabal.project.

9 Likes

You are right. The villain behind this whole scheme (and more), Gershom Bazerman, told me importing a Stackage snapshot can be as simple as import: https://www.stackage.org/lts-18.5/cabal.config in your cabal file. Of course, this may fail horribly, which is why we need feedback from anybody brave enough to try this out.

5 Likes