Dear everyone,
the Cabal team is happy to announce the release of Cabal the library version 3.12.0.0 and the companion pre-release of cabal-install (the commandline tool; scroll down for more information).
What is new?
There are a number of new features in this release (Cabal) and pre-release (cabal-install), such as:
- Add support for
asm,cmm, andjssources in executable components. - Add
--haddock-output-dirflag tocabal haddock. - Add
--semaphoreoption to./Setup buildinterface. - Add
--promised-dependencyflag to./Setup configureinterface. - Add the ability to
--ignorespecific checks tocabal check. - Add support for
GHC2024language edition. - Add support for loading multiple components into one repl session (especially important for HLS users).
- Add
cabal pathcommand. - Add support for authentication tokens for uploading to Hackage.
- Allow more flags in the init section of config file.
- Add
--semaphoreflag to enable interaction with GHC Job Server protocol. - Adds functionality for the
--offlineflag with thebuildcommand. - Improve solver rejections in brevity and accuracy.
There is much more: for a detailed list of enhancements, changes, and bugfixes, please check the Cabal-3.12.0.0 changelog (and the cabal-install 3.12.0.0-prerelease changelog).
Authors and contributors
Cabal is a collaborative effort; these people contributed with code to this release:
aleeusgr
Adam Gundry
Andrea Bedini
Andreas Abel
Andreas Klebinger
Arjun Kathuria
Artem Pelenitsyn
BasLaa
Bas Laarakker
Ben Gamari
Bodigrim
Brandon Chinn
Brandon S. Allbery
Bryan Richter
Colton Clemmer
Csaba Hruska
cydparser
Daniel Trstenjak
David Binder
David Christiansen
Edwin Marshall
Elodie Lander
Erik de Castro Lopo
Felix Yan
Fendor
Finley
Francesco Ariis
Francesco Gazzetta
Fraser Tweedale
Gershom Bazerman
Hamish Mackenzie
Hécate Moonlight
Ikko Eltociear Ashimine
Jana Chadt
Javier Sagredo
Jean-Paul Calderone
Jens Petersen
Jessica Hamilton
John Paul Adrian Glaubitz
Josh Meredith
Julia Longtin
Julian Ospald
Kazuki Okamoto
Kleidukos
Kristen Kozak
Krzysztof Gogolewski
liamzee
Liisi Kerik
Lin Runze
malteneuss
Malte Neuss
Marcin Szamotulski
Matthew Pickering
Mel Zuser
Michael Peyton Jones
Mike Pilgrem
Mikolaj Konarski
mixphix
Oleg Grenrus
Ondřej Šebek
Patrick Augusto
Patrick Dougherty
Phil de Joux
Pierre Le Marre
Rebecca Turner
Rodrigo Mesquita
Ryan Scott
Samuel Thibault
Sander
Sebastian Tee
Sergey Vinokurov
Shae Erisson
sheaf
Simon Hengel
Siyuan Chen
Sören Tempel
Suganya Raju
Sylvain Henry
Taylor Fausak
Teo Camarasu
Tom Ellis
Tom Smeding
Torsten Schmits
Tristan Cacqueray
Troels Henriksen
Wismill
Yvan Sraka
The release could not be done without the help of the manual QA team and devops people, we thank them both. Thanks also to the many users who provided bug reports and suggestions for improvements.
A special mention to @Kleidukos, who recently stepped down from Cabal release coordination and left the process in a better, more organised shape than what was before.
How to get the cabal-install pre-release
This release is a Cabal-the-library release, but if you want to test the new features of cabal-install, you can download the pre-release of the commandline tool via GHCup. Use one of the following commands, depending on your OS:
ghcup --no-cache install cabal -u 'https://gitlab.haskell.org/haskell/cabal/-/jobs/1848320/artifacts/raw/out/cabal-install-3.11.0.0-x86_64-linux-alpine3_12.tar.xz' 3.12.0.0-prerelease
ghcup --no-cache install cabal -u 'https://gitlab.haskell.org/haskell/cabal/-/jobs/1848326/artifacts/raw/out/cabal-install-3.11.0.0-aarch64-darwin.tar.xz' 3.12.0.0-prerelease
ghcup --no-cache install cabal -u 'https://gitlab.haskell.org/haskell/cabal/-/jobs/1848327/artifacts/raw/out/cabal-install-3.11.0.0-x86_64-windows.zip' 3.12.0.0-prerelease
or an analogous command for any other of the artifacts produced by the pre-release pipeline.
How to help?
Cabal is a complex piece of software running on many different machines. Two easy ways to help the development team producing quality releases are:
- Join the manual QA team.
- Test nightly binary
cabal-installsnapshots and pre-releases (such as the 3.12.0.0 pre-release mentioned above) and report any problem you find.
