From fa-ml at ariis.it Wed May 8 15:17:15 2024 From: fa-ml at ariis.it (Francesco Ariis) Date: Wed, 8 May 2024 17:17:15 +0200 Subject: [ANN] Cabal 3.12 released Message-ID: Dear cafe, 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`, and `js` sources in executable components. - Add `--haddock-output-dir` flag to `cabal haddock`. - Add `--semaphore` option to `./Setup build` interface. - Add `--promised-dependency` flag to `./Setup configure` interface. - Add the ability to `--ignore` specific checks to `cabal 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 the `build` 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 [1] (and the cabal-install 3.12.0.0-prerelease changelog [2]. [1] https://github.com/haskell/cabal/blob/master/release-notes/Cabal-3.12.0.0.md [2] https://github.com/haskell/cabal/blob/master/release-notes/WIP-cabal-install-3.12.x.0.md ## 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 Hécate, 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](https://gitlab.haskell.org/haskell/cabal/-/pipelines/93759). ## How to help? Cabal is a complex piece of software running on many different machine. 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. [3] https://discourse.haskell.org/t/manual-qa-for-cabal-install/6225