<div dir="ltr"><div class="gmail_quote"><div dir="ltr"><div><p>Dear all,<br></p><p>The cabal release team brings you the release of the <code>cabal-install</code> tool, version 3.12.1.0. This is the first release of the tool in the 3.12 series, and, hence, the first <code>cabal-install</code> supporting Cabal 3.12 packaged with GHC 9.10.1. We also update the three main libraries.</p>
<ul><li><a href="https://hackage.haskell.org/package/cabal-install-3.12.1.0" rel="noopener nofollow ugc" target="_blank">cabal-install: The command-line interface for Cabal and Hackage.</a></li><li><a href="https://hackage.haskell.org/package/Cabal-3.12.1.0" rel="noopener nofollow ugc" target="_blank">Cabal: A framework for packaging Haskell software</a></li><li><a href="https://hackage.haskell.org/package/Cabal-syntax-3.12.1.0" rel="noopener nofollow ugc" target="_blank">Cabal-syntax: A library for working with .cabal files</a></li><li><a href="https://hackage.haskell.org/package/cabal-install-solver-3.12.1.0" rel="noopener nofollow ugc" target="_blank">cabal-install-solver: The command-line interface for Cabal and Hackage.</a></li></ul>
<p>The binaries for <code>cabal-install</code> are available <a href="https://downloads.haskell.org/cabal/cabal-install-3.12.1.0/" rel="noopener nofollow ugc" target="_blank">on our website</a> and can be installed via GHCup manually, e.g.:</p>
<ul><li>Linux x86_64 (static, alpine3_18):<pre><code><span>ghcup</span> <span>--no-cache install cabal -u '<a href="https://downloads.haskell.org/cabal/cabal-install-3.12.1.0/cabal-install-3.12.1.0-x86_64-linux-alpine3_18.tar.xz" target="_blank">https://downloads.haskell.org/cabal/cabal-install-3.12.1.0/cabal-install-3.12.1.0-x86_64-linux-alpine3_18.tar.xz</a>' 3.12.1.0</span>
</code></pre>
</li><li>MacOS AArch64:<pre><code><span>ghcup</span> <span>--no-cache install cabal -u '<a href="https://downloads.haskell.org/cabal/cabal-install-3.12.1.0/cabal-install-3.12.1.0-aarch64-darwin.tar.xz" target="_blank">https://downloads.haskell.org/cabal/cabal-install-3.12.1.0/cabal-install-3.12.1.0-aarch64-darwin.tar.xz</a>' 3.12.1.0</span>
</code></pre>
</li><li>Windows:<pre><code><span>ghcup</span> <span>--no-cache install cabal -u '<a href="https://downloads.haskell.org/cabal/cabal-install-3.12.1.0/cabal-install-3.12.1.0-x86_64-windows.zip" target="_blank">https://downloads.haskell.org/cabal/cabal-install-3.12.1.0/cabal-install-3.12.1.0-x86_64-windows.zip</a>' 3.12.1.0</span>
</code></pre>
</li><li>or a similar command for your platform using the binaries provided on the website</li><li>as usual, <code>cabal update && cabal install cabal-install-3.12.1.0</code> is an option too.</li></ul>
<p>We expect the official GHCup channel to be updated with the 3.12.1.0 binaries soon.</p>
<h2>
<a name="m_1611320607851557716_what-is-new-1" href="https://discourse.haskell.org/t/cabal-install-3-12-1-0-and-accompanying-libraries-released/9830#what-is-new-1" target="_blank"></a>What is new</h2>
<p><b>Performance</b></p>
<ul><li>Significant speedups during cabal startup due to use of the latest <code>tar</code>
</li></ul>
<p><b>Project Organization</b></p>
<ul><li>Support for asm, cmm, and js sources in executable components</li><li>Support for per-component builds when coverage is enabled</li><li>Haskell files in explicit source directories take precedence over autogenerated Haskell files</li><li>Fix precedence for <code>PATH</code> for <code>build-tools-depends</code> (executables from <code>PATH</code> don’t shadow executables from <code>build-tool-depends</code> anymore)</li></ul>
<p><b>UX</b></p>
<ul><li>Errors now have error codes, which will be documented on <a href="https://errors.haskell.org" rel="noopener nofollow ugc" target="_blank">https://errors.haskell.org</a>
</li><li>A new subcommand, <code>cabal path</code>, which can be used to get information about the paths cabal will use within a project</li><li>Support for authentication tokens for uploading to Hackage</li><li>
<code>--(test-)show-details=direct</code> is now the default</li><li>Shorten solver rejection messages by removing repetition</li><li>Show provenance of project constraints</li></ul>
<p><b>Interaction with GHC</b></p>
<ul><li>Support for loading multiple components into one repl session</li><li>Support for the <code>--semaphore</code> flag to enable interaction with GHC Job Server protocol</li><li>Support for <code>GHC2024</code>
</li><li>Support for language extensions <code>ExtendedLiterals</code>¸ <code>ListTuplePuns</code>, and <code>TypeAbstractions</code>
</li></ul>
<p><b>Other Compilers</b></p>
<ul><li>Micro Haskell (MHS) has been added as a known compiler. We don’t have support for driving it yet, though.</li></ul>
<p>See <a href="https://github.com/haskell/cabal/blob/master/release-notes/cabal-install-3.12.1.0.md" rel="noopener nofollow ugc" target="_blank">the release notes</a> for more details and other changes.</p>
<h2>
<a name="m_1611320607851557716_contributors-2" href="https://discourse.haskell.org/t/cabal-install-3-12-1-0-and-accompanying-libraries-released/9830#contributors-2" target="_blank"></a>Contributors</h2>
<p>50^2, Adam Gundry, Andrea Bedini, Andreas Abel, Andreas Klebinger,
Arjun Kathuria, Artem Pelenitsyn, BasLaa, Bas Laarakker, Ben Gamari,
Bodigrim, Brandon Chinn, brandon s allbery kf8nh, 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, Kristen Kozak,
Krzysztof Gogolewski, liamzee, Liisi Kerik, Lin Runze, Malte Neuss,
malteneuss, Marcin Szamotulski, Matthew Pickering, Mel Zuser, Michael
Peyton Jones, Mike Pilgrem, Mikolaj Konarski, mixphix, Oleg Grenrus,
Ondřej Šebek, Patrick Augusto, Patrick Dougherty, Peter Becich, 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, SuganyaAK, Suganya Raju,
Sylvain Henry, Taylor Fausak, Teo Camarasu, Tom Ellis, tomjaguarpaw,
Tommy Bidne, Tom Smeding, Torsten Schmits, Tristan Cacqueray, Troels
Henriksen, Wismill, Yvan Sraka, Zoe Zuser</p>
<p>We thank all contributors as well as our reviewers, QA testers,
devops, and others without whom this release wouldn’t be possible.</p>
<h2>
<a name="m_1611320607851557716_feedback-3" href="https://discourse.haskell.org/t/cabal-install-3-12-1-0-and-accompanying-libraries-released/9830#feedback-3" target="_blank"></a>Feedback</h2>
<p>Please, report any issues you notice with the 3.12.1.0 release on our GitHub: <a href="https://github.com/haskell/cabal" rel="noopener nofollow ugc" target="_blank">https://github.com/haskell/cabal</a></p>
<p>— cabal release team (Artem, Brandon, Francesco, Gershom, Hécate, Mikołaj)</p></div></div>
</div></div>