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
, andjs
sources in executable components. - Add
--haddock-output-dir
flag tocabal haddock
. - Add
--semaphore
option to./Setup build
interface. - Add
--promised-dependency
flag to./Setup configure
interface. - Add the ability to
--ignore
specific checks tocabal check
. - Add support for
GHC2024
language edition. - Add support for loading multiple components into one repl session (especially important for HLS users).
- Add
cabal path
command. - Add support for authentication tokens for uploading to Hackage.
- Allow more flags in the init section of config file.
- Add
--semaphore
flag to enable interaction with GHC Job Server protocol. - Adds functionality for the
--offline
flag with thebuild
command. - 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-install
snapshots and pre-releases (such as the 3.12.0.0 pre-release mentioned above) and report any problem you find.