---
# System prepended metadata

title: Cabal meeting (29/08/2024)
tags: [Cabal meetings]

---

# Cabal meeting (29/08/2024)

[Previous meeting notes](https://hackmd.io/oWbgm_eDQGmN9Ixq80CmNw?both).

## Previous meeting wrap-up


## Current affairs

* [Mikolaj] if Hecate is around, let's do a postmortem of 3.12.1.0 and discuss the scope (e.g., backporting policy) of 3.14 (but if not, let's postpone to next chat), see https://github.com/haskell/cabal/issues/10193#issuecomment-2304589970 and also https://github.com/haskell/cabal/issues/10241


## Review needed
<!-- 
  We need to take a look at these PRs and help them move on.
  Urgent, of various levels of importance
-->
* [#10259](https://github.com/haskell/cabal/pull/10259) API checking
  - probably on hold for next several weeks awaiting reviews by Matthew and Hécate
      - Artem thinks it's less invasive than the code formatter and also perhaps easier to revert or stop requiring the checks to pass if it's too costly on contributors (as opposed to on maintainers)
* [#10264](https://github.com/haskell/cabal/pull/10264) dogfood cabal-install sdist
  - needs another review, otherwise ready to go
      - no comments, let's go! let's review!
* [#10274](https://github.com/haskell/cabal/pull/10274) separate old-ghcs validation to its own workflow
  - (Brandon) I think this is pretty much dead, because the existing workflow uses the cache to avoid rebuilding the PR multiple times and we can't synchronize access to that cache from another workflow.
      - let's wait for Brandon to explain why it's dead exactly
* [#10291](https://github.com/haskell/cabal/pull/10291) CI (validate job) moving to `fail-fast: false` -- one-line change, please give it some love (i.e. a review)!
   - let's turn it on and see how it goes 
* 21 PRs have the "attention: needs-review" label

## Food for thought
<!--
  We want to start the thinking process amongst ourselves 
  for things that will take time to unfold.
  May be important, but not urgent
-->
* #10259 above highlights that we should really work out which parts of the `Cabal` and `Cabal-syntax` APIs are public and which aren't, and move the latter to internal libraries. There's a little discussion in the ticket, but we decided to punt it to future work.
    * it seems we lack a clear principle to divide real API from internal API and a way to formally specify this (visible on Hackage, clear for the users, etc.), so maybe we should start by discussing examples of potential internal API:
        * example 1: compat modules (e.g., shall we encourage tool writers to use base-compat from Hackage instead of our ancient hacks?)
        * example 2: cabal-solver API (here the problem was, it seems, enshrining that this is internal, so it suddenly became external; also there seems to be an active user)
    * (Brandon) should open a discussion ticket for this
* Artem: shout out to Javier and his several Windows-related PRs, which are mostly reviewed now, I believe. But one PR is still in need of reviews:
  *  https://github.com/haskell/cabal/pull/9570 `default-package-bounds`
* Would be great to have some timeline for the 3.14 release, ping Hécate
