GHC 9.10 release schedule and core library status

Hi all, First, apologies for the silence regarding the 9.10 fork; I was hoping to improve our communications with boot library authors in the run-up to GHC 9.10 but illness unfortunately took me largely out of commission for a first few weeks of the year. Happily, things are looking rosier now. Having had a chance to look at the 9.10 branch and the release goals, I am planning to cut the fork for GHC 9.10 around a month from today, on 23 Februrary 2024. This leaves around a month of time to merge the `ghc-internals` split and a few of the other bits of work that remain outstanding. We anticipate the first alpha release will come a week after the fork (see the Milestone [1] for further details). How does this sound to you? For organizational purposes, it would be helpful if we designated a coordinating maintainer for each of our boot packagers for the 9.10 release. My understanding is that our boot libraries have the following primary maintainers but don't hesitate to let me know if you believe this to be incorrect: | Package | Maintainer | | --------------- | -------------------------- | | Cabal | Mikolaj Konarski | | Win32 | Tamar Christina | | array | (orphaned) | | binary | Lennart Kolmodin? | | bytestring | Andrew Lelechanko | | containers | David Feuer | | deepseq | Melanie Phoenix | | directory | Phil Rufflewind | | exceptions | Ryan Scott | | filepath | Julian Ospald | | haddock | Hecate | | haskeline | Judah Jacobson | | hpc | David Binder | | mtl | Emily Pillmore | | parsec | Oleg Grenrus | | process | Michael Snoyman | | stm | Simon Marlow | | terminfo | Judah Jacobson | | text | Andrew Lelechanko | | time | Ashley Yakeley | | transformers | Ross Paterson | | unix | Julian Ospald | It would be great if each maintainer could let me know what they would like to do for the 9.10 release. In general we would love to have the set of boot libraries pinned down at least in version by the second alpha, which we are planning for the second week of March 2024. Does this sound reasonable? As always, I would encourage core library maintainers to be conservative in their plans for a GHC release and avoid introducing major features or refactorings in their release. Such changes both add risk to the release schedule and complicate the users' migration paths; consequently, they are ideally best held for releases asynchronous to the GHC release process. Thanks again for all of your work! Cheers, - Ben [1] https://gitlab.haskell.org/ghc/ghc/-/milestones/380#tab-issues

Hi Ben! For the 9.10 release I would like to cut the accompanying Haddock release from the GHC tree. Cool features will have to wait for 9.12, so that that the new team can get acquainted with the code base and the bugs. Thank you for reaching out. Cheers, Hécate Le 22/01/2024 à 17:00, Ben Gamari a écrit :
Hi all,
First, apologies for the silence regarding the 9.10 fork; I was hoping to improve our communications with boot library authors in the run-up to GHC 9.10 but illness unfortunately took me largely out of commission for a first few weeks of the year. Happily, things are looking rosier now.
Having had a chance to look at the 9.10 branch and the release goals, I am planning to cut the fork for GHC 9.10 around a month from today, on 23 Februrary 2024. This leaves around a month of time to merge the `ghc-internals` split and a few of the other bits of work that remain outstanding. We anticipate the first alpha release will come a week after the fork (see the Milestone [1] for further details).
How does this sound to you?
For organizational purposes, it would be helpful if we designated a coordinating maintainer for each of our boot packagers for the 9.10 release. My understanding is that our boot libraries have the following primary maintainers but don't hesitate to let me know if you believe this to be incorrect:
| Package | Maintainer | | --------------- | -------------------------- | | Cabal | Mikolaj Konarski | | Win32 | Tamar Christina | | array | (orphaned) | | binary | Lennart Kolmodin? | | bytestring | Andrew Lelechanko | | containers | David Feuer | | deepseq | Melanie Phoenix | | directory | Phil Rufflewind | | exceptions | Ryan Scott | | filepath | Julian Ospald | | haddock | Hecate | | haskeline | Judah Jacobson | | hpc | David Binder | | mtl | Emily Pillmore | | parsec | Oleg Grenrus | | process | Michael Snoyman | | stm | Simon Marlow | | terminfo | Judah Jacobson | | text | Andrew Lelechanko | | time | Ashley Yakeley | | transformers | Ross Paterson | | unix | Julian Ospald |
It would be great if each maintainer could let me know what they would like to do for the 9.10 release. In general we would love to have the set of boot libraries pinned down at least in version by the second alpha, which we are planning for the second week of March 2024. Does this sound reasonable?
As always, I would encourage core library maintainers to be conservative in their plans for a GHC release and avoid introducing major features or refactorings in their release. Such changes both add risk to the release schedule and complicate the users' migration paths; consequently, they are ideally best held for releases asynchronous to the GHC release process.
Thanks again for all of your work!
Cheers,
- Ben
[1] https://gitlab.haskell.org/ghc/ghc/-/milestones/380#tab-issues
-- Hécate ✨ 🐦: @TechnoEmpress IRC: Hecate WWW: https://glitchbra.in RUN: BSD

Hi, I'm unsure what the process here is. Do you expect every boot library maintainer to follow GHC issue tracker and comment there? Or to open a PR against ghc repo? I definitely won't do the latter as an unpaid volunteer (I don't want to deal with GHC MRs and CI). For 'filepath' and 'unix' (and 'os-string', which is to become a boot package) I'd prefer if you open issues on each issue tracker. If that is too cumbersome, please link me to the place where I'm supposed to comment and give me a deadline. 'filepath' just had a severe bug fixed that may need to be backported. Thanks, Julian On 1/23/24 01:44, Hécate via Libraries wrote:
Hi Ben!
For the 9.10 release I would like to cut the accompanying Haddock release from the GHC tree.
Cool features will have to wait for 9.12, so that that the new team can get acquainted with the code base and the bugs.
Thank you for reaching out.
Cheers,
Hécate
Le 22/01/2024 à 17:00, Ben Gamari a écrit :
Hi all,
First, apologies for the silence regarding the 9.10 fork; I was hoping to improve our communications with boot library authors in the run-up to GHC 9.10 but illness unfortunately took me largely out of commission for a first few weeks of the year. Happily, things are looking rosier now.
Having had a chance to look at the 9.10 branch and the release goals, I am planning to cut the fork for GHC 9.10 around a month from today, on 23 Februrary 2024. This leaves around a month of time to merge the `ghc-internals` split and a few of the other bits of work that remain outstanding. We anticipate the first alpha release will come a week after the fork (see the Milestone [1] for further details).
How does this sound to you?
For organizational purposes, it would be helpful if we designated a coordinating maintainer for each of our boot packagers for the 9.10 release. My understanding is that our boot libraries have the following primary maintainers but don't hesitate to let me know if you believe this to be incorrect:
| Package | Maintainer | | --------------- | -------------------------- | | Cabal | Mikolaj Konarski | | Win32 | Tamar Christina | | array | (orphaned) | | binary | Lennart Kolmodin? | | bytestring | Andrew Lelechanko | | containers | David Feuer | | deepseq | Melanie Phoenix | | directory | Phil Rufflewind | | exceptions | Ryan Scott | | filepath | Julian Ospald | | haddock | Hecate | | haskeline | Judah Jacobson | | hpc | David Binder | | mtl | Emily Pillmore | | parsec | Oleg Grenrus | | process | Michael Snoyman | | stm | Simon Marlow | | terminfo | Judah Jacobson | | text | Andrew Lelechanko | | time | Ashley Yakeley | | transformers | Ross Paterson | | unix | Julian Ospald |
It would be great if each maintainer could let me know what they would like to do for the 9.10 release. In general we would love to have the set of boot libraries pinned down at least in version by the second alpha, which we are planning for the second week of March 2024. Does this sound reasonable?
As always, I would encourage core library maintainers to be conservative in their plans for a GHC release and avoid introducing major features or refactorings in their release. Such changes both add risk to the release schedule and complicate the users' migration paths; consequently, they are ideally best held for releases asynchronous to the GHC release process.
Thanks again for all of your work!
Cheers,
- Ben
[1] https://gitlab.haskell.org/ghc/ghc/-/milestones/380#tab-issues

Julian Ospald
Hi,
I'm unsure what the process here is. Do you expect every boot library maintainer to follow GHC issue tracker and comment there? Or to open a PR against ghc repo? I definitely won't do the latter as an unpaid volunteer (I don't want to deal with GHC MRs and CI).
We created the `ghc-releases` mailing list for the purpose of release coordination. In the past I have also frequently created tracking tickets in submodules' upstream repositories. I have not done that this time as we have this mailing list but I would be happy to do so if this would be preferable.
For 'filepath' and 'unix' (and 'os-string', which is to become a boot package) I'd prefer if you open issues on each issue tracker. If that is too cumbersome, please link me to the place where I'm supposed to comment and give me a deadline.
Sure, I will create a pair of tracking tickets. The proposed deadline is before the second week in March. Cheers, - Ben

Hi,
Have all core/boot library maintainers been notified to join that mailing list? Where is that information? I don't see it.
The only reason I got wind of this is because Hécate CCed the library ML as well.
I remain unconvinced that this is a good way of coordinating releases across 20+ maintainers.
Information that is necessary:
- what versions do YOU need?
- what versions do maintainers want to see in the next GHC release?
- do maintainers want a "backport" of a version bump to an older GHC branch?
- relationships between core libraries (that is the case for filepath)
- deadline
This could possibly be expressed in a shared spreadsheet, so that everyone understands the current status without going through mailing lists they're not subscribed to or issue trackers with 10+ posts.
Thanks,
Julian
On February 5, 2024 2:28:16 PM UTC, Ben Gamari
Julian Ospald
writes: Hi,
I'm unsure what the process here is. Do you expect every boot library maintainer to follow GHC issue tracker and comment there? Or to open a PR against ghc repo? I definitely won't do the latter as an unpaid volunteer (I don't want to deal with GHC MRs and CI).
We created the `ghc-releases` mailing list for the purpose of release coordination. In the past I have also frequently created tracking tickets in submodules' upstream repositories. I have not done that this time as we have this mailing list but I would be happy to do so if this would be preferable.
For 'filepath' and 'unix' (and 'os-string', which is to become a boot package) I'd prefer if you open issues on each issue tracker. If that is too cumbersome, please link me to the place where I'm supposed to comment and give me a deadline.
Sure, I will create a pair of tracking tickets. The proposed deadline is before the second week in March.
Cheers,
- Ben

Julian Ospald
Hi,
Have all core/boot library maintainers been notified to join that mailing list? Where is that information? I don't see it.
The only reason I got wind of this is because Hécate CCed the library ML as well.
I remain unconvinced that this is a good way of coordinating releases across 20+ maintainers.
Information that is necessary:
- what versions do YOU need? - what versions do maintainers want to see in the next GHC release? - do maintainers want a "backport" of a version bump to an older GHC branch? - relationships between core libraries (that is the case for filepath) - deadline
This could possibly be expressed in a shared spreadsheet, so that everyone understands the current status without going through mailing lists they're not subscribed to or issue trackers with 10+ posts.
That sounds like a fine idea. I would be happy to put together such a spreadsheet if others would find this useful. Cheers, - Ben

Thanks, Ben. (I’m not subscribed to mail lists CC’d, so I expect this reply to be missing from them) CC’ng Matthew Craven on behalf of bytestring, Xia Li-yao on behalf of text, Lei Zhu, Carsten König and Miao ZhiCheng on behalf of array (it’s not orphaned). Several blockers from the top of my head: * Bump containers submodule to 0.7, long overdue. AFAIR blocked on https://github.com/judah/haskeline/pull/186 - Ben, are you able to merge it? * Bump filepath submodule to 1.5 and add os-string to boot libraries. Julian might remember better, but AFAIR there are no blockers, just someone has to upgrade several submodules at once. * GHCJS progress depends on merging outstanding PRs for bytestring and text to provide pure Haskell implementations, and I imagine Sylvain (CC’d) would wish them to be merged and released before GHC 9.10 is forked. * Mikolaj, are we looking for Cabal 3.12 or carrying on with 3.10.3+? There are at least two important features missing from Cabal 3.10: semaphores and multiple home units. Best regards, Andrew
On 22 Jan 2024, at 16:00, Ben Gamari
wrote: Hi all,
First, apologies for the silence regarding the 9.10 fork; I was hoping to improve our communications with boot library authors in the run-up to GHC 9.10 but illness unfortunately took me largely out of commission for a first few weeks of the year. Happily, things are looking rosier now.
Having had a chance to look at the 9.10 branch and the release goals, I am planning to cut the fork for GHC 9.10 around a month from today, on 23 Februrary 2024. This leaves around a month of time to merge the `ghc-internals` split and a few of the other bits of work that remain outstanding. We anticipate the first alpha release will come a week after the fork (see the Milestone [1] for further details).
How does this sound to you?
For organizational purposes, it would be helpful if we designated a coordinating maintainer for each of our boot packagers for the 9.10 release. My understanding is that our boot libraries have the following primary maintainers but don't hesitate to let me know if you believe this to be incorrect:
| Package | Maintainer | | --------------- | -------------------------- | | Cabal | Mikolaj Konarski | | Win32 | Tamar Christina | | array | (orphaned) | | binary | Lennart Kolmodin? | | bytestring | Andrew Lelechanko | | containers | David Feuer | | deepseq | Melanie Phoenix | | directory | Phil Rufflewind | | exceptions | Ryan Scott | | filepath | Julian Ospald | | haddock | Hecate | | haskeline | Judah Jacobson | | hpc | David Binder | | mtl | Emily Pillmore | | parsec | Oleg Grenrus | | process | Michael Snoyman | | stm | Simon Marlow | | terminfo | Judah Jacobson | | text | Andrew Lelechanko | | time | Ashley Yakeley | | transformers | Ross Paterson | | unix | Julian Ospald |
It would be great if each maintainer could let me know what they would like to do for the 9.10 release. In general we would love to have the set of boot libraries pinned down at least in version by the second alpha, which we are planning for the second week of March 2024. Does this sound reasonable?
As always, I would encourage core library maintainers to be conservative in their plans for a GHC release and avoid introducing major features or refactorings in their release. Such changes both add risk to the release schedule and complicate the users' migration paths; consequently, they are ideally best held for releases asynchronous to the GHC release process.
Thanks again for all of your work!
Cheers,
- Ben
[1] https://gitlab.haskell.org/ghc/ghc/-/milestones/380#tab-issues

* Mikolaj, are we looking for Cabal 3.12 or carrying on with 3.10.3+? There are at least two important features missing from Cabal 3.10: semaphores and multiple home units.
We plan to have Cabal 3.12 in time.
On Tue, Jan 23, 2024 at 12:59 AM Andrew Lelechenko
Thanks, Ben. (I’m not subscribed to mail lists CC’d, so I expect this reply to be missing from them)
CC’ng Matthew Craven on behalf of bytestring, Xia Li-yao on behalf of text, Lei Zhu, Carsten König and Miao ZhiCheng on behalf of array (it’s not orphaned).
Several blockers from the top of my head:
* Bump containers submodule to 0.7, long overdue. AFAIR blocked on https://github.com/judah/haskeline/pull/186 - Ben, are you able to merge it?
* Bump filepath submodule to 1.5 and add os-string to boot libraries. Julian might remember better, but AFAIR there are no blockers, just someone has to upgrade several submodules at once.
* GHCJS progress depends on merging outstanding PRs for bytestring and text to provide pure Haskell implementations, and I imagine Sylvain (CC’d) would wish them to be merged and released before GHC 9.10 is forked.
* Mikolaj, are we looking for Cabal 3.12 or carrying on with 3.10.3+? There are at least two important features missing from Cabal 3.10: semaphores and multiple home units.
Best regards, Andrew
On 22 Jan 2024, at 16:00, Ben Gamari
wrote: Hi all,
First, apologies for the silence regarding the 9.10 fork; I was hoping to improve our communications with boot library authors in the run-up to GHC 9.10 but illness unfortunately took me largely out of commission for a first few weeks of the year. Happily, things are looking rosier now.
Having had a chance to look at the 9.10 branch and the release goals, I am planning to cut the fork for GHC 9.10 around a month from today, on 23 Februrary 2024. This leaves around a month of time to merge the `ghc-internals` split and a few of the other bits of work that remain outstanding. We anticipate the first alpha release will come a week after the fork (see the Milestone [1] for further details).
How does this sound to you?
For organizational purposes, it would be helpful if we designated a coordinating maintainer for each of our boot packagers for the 9.10 release. My understanding is that our boot libraries have the following primary maintainers but don't hesitate to let me know if you believe this to be incorrect:
| Package | Maintainer | | --------------- | -------------------------- | | Cabal | Mikolaj Konarski | | Win32 | Tamar Christina | | array | (orphaned) | | binary | Lennart Kolmodin? | | bytestring | Andrew Lelechanko | | containers | David Feuer | | deepseq | Melanie Phoenix | | directory | Phil Rufflewind | | exceptions | Ryan Scott | | filepath | Julian Ospald | | haddock | Hecate | | haskeline | Judah Jacobson | | hpc | David Binder | | mtl | Emily Pillmore | | parsec | Oleg Grenrus | | process | Michael Snoyman | | stm | Simon Marlow | | terminfo | Judah Jacobson | | text | Andrew Lelechanko | | time | Ashley Yakeley | | transformers | Ross Paterson | | unix | Julian Ospald |
It would be great if each maintainer could let me know what they would like to do for the 9.10 release. In general we would love to have the set of boot libraries pinned down at least in version by the second alpha, which we are planning for the second week of March 2024. Does this sound reasonable?
As always, I would encourage core library maintainers to be conservative in their plans for a GHC release and avoid introducing major features or refactorings in their release. Such changes both add risk to the release schedule and complicate the users' migration paths; consequently, they are ideally best held for releases asynchronous to the GHC release process.
Thanks again for all of your work!
Cheers,
- Ben
[1] https://gitlab.haskell.org/ghc/ghc/-/milestones/380#tab-issues

Thanks, Ben, for pushing through version bumps for `filepath` and `containers`. We also released new versions of `bytestring` and `text` last week. Mikolaj, what’s the schedule for Cabal 3.12? https://gitlab.haskell.org/ghc/ghc/-/wikis/GHC-status#11-major-releases says that all major releases should be reflected as submodules in GHC source tree before GHC fork date, which is AFAIU this Friday. Best regards, Andrew
On 23 Jan 2024, at 08:32, Mikolaj Konarski
wrote: * Mikolaj, are we looking for Cabal 3.12 or carrying on with 3.10.3+? There are at least two important features missing from Cabal 3.10: semaphores and multiple home units.
We plan to have Cabal 3.12 in time.
On Tue, Jan 23, 2024 at 12:59 AM Andrew Lelechenko
wrote: Thanks, Ben. (I’m not subscribed to mail lists CC’d, so I expect this reply to be missing from them)
CC’ng Matthew Craven on behalf of bytestring, Xia Li-yao on behalf of text, Lei Zhu, Carsten König and Miao ZhiCheng on behalf of array (it’s not orphaned).
Several blockers from the top of my head:
* Bump containers submodule to 0.7, long overdue. AFAIR blocked on https://github.com/judah/haskeline/pull/186 - Ben, are you able to merge it?
* Bump filepath submodule to 1.5 and add os-string to boot libraries. Julian might remember better, but AFAIR there are no blockers, just someone has to upgrade several submodules at once.
* GHCJS progress depends on merging outstanding PRs for bytestring and text to provide pure Haskell implementations, and I imagine Sylvain (CC’d) would wish them to be merged and released before GHC 9.10 is forked.
* Mikolaj, are we looking for Cabal 3.12 or carrying on with 3.10.3+? There are at least two important features missing from Cabal 3.10: semaphores and multiple home units.
Best regards, Andrew
On 22 Jan 2024, at 16:00, Ben Gamari
wrote: Hi all,
First, apologies for the silence regarding the 9.10 fork; I was hoping to improve our communications with boot library authors in the run-up to GHC 9.10 but illness unfortunately took me largely out of commission for a first few weeks of the year. Happily, things are looking rosier now.
Having had a chance to look at the 9.10 branch and the release goals, I am planning to cut the fork for GHC 9.10 around a month from today, on 23 Februrary 2024. This leaves around a month of time to merge the `ghc-internals` split and a few of the other bits of work that remain outstanding. We anticipate the first alpha release will come a week after the fork (see the Milestone [1] for further details).
How does this sound to you?
For organizational purposes, it would be helpful if we designated a coordinating maintainer for each of our boot packagers for the 9.10 release. My understanding is that our boot libraries have the following primary maintainers but don't hesitate to let me know if you believe this to be incorrect:
| Package | Maintainer | | --------------- | -------------------------- | | Cabal | Mikolaj Konarski | | Win32 | Tamar Christina | | array | (orphaned) | | binary | Lennart Kolmodin? | | bytestring | Andrew Lelechanko | | containers | David Feuer | | deepseq | Melanie Phoenix | | directory | Phil Rufflewind | | exceptions | Ryan Scott | | filepath | Julian Ospald | | haddock | Hecate | | haskeline | Judah Jacobson | | hpc | David Binder | | mtl | Emily Pillmore | | parsec | Oleg Grenrus | | process | Michael Snoyman | | stm | Simon Marlow | | terminfo | Judah Jacobson | | text | Andrew Lelechanko | | time | Ashley Yakeley | | transformers | Ross Paterson | | unix | Julian Ospald |
It would be great if each maintainer could let me know what they would like to do for the 9.10 release. In general we would love to have the set of boot libraries pinned down at least in version by the second alpha, which we are planning for the second week of March 2024. Does this sound reasonable?
As always, I would encourage core library maintainers to be conservative in their plans for a GHC release and avoid introducing major features or refactorings in their release. Such changes both add risk to the release schedule and complicate the users' migration paths; consequently, they are ideally best held for releases asynchronous to the GHC release process.
Thanks again for all of your work!
Cheers,
- Ben
[1] https://gitlab.haskell.org/ghc/ghc/-/milestones/380#tab-issues

Mikolaj, what’s the schedule for Cabal 3.12?
The schedule is that we are looking for a release manager for 3.12.1 and waiting for the release of 3.10.3 in order not to perform two releases concurrently.
https://gitlab.haskell.org/ghc/ghc/-/wikis/GHC-status#11-major-releases says that all major releases should be reflected as submodules in GHC source tree before GHC fork date, which is AFAIU this Friday.
That means cabal is going to be late. If that helps, 3.12.1 will be forked off the current master branch and, at this time, we don't plan to remove any features or other commits before the release. Cheers, Mikolaj

Mikolaj, what’s the schedule for Cabal 3.12?
I've opened a ticket for the 9.10 cabal and GHC sync point: https://github.com/haskell/cabal/issues/9729 Whom should I assign from outside the cabal team? BTW, is the list of new GHC 9.10 language extensions finalized? How about GHC options? Would somebody like to see if the cabal's list of of GHC options is up to date (I bet it's not), and which of them require a recompilation? The same for extensions (but the list should be up to date except for the newest extensions --- are they all listed in 9.10 Release Notes this time?). PRs are welcome (one is already in the merge queue, but I'm not sure if it's for GHC 9.10: https://github.com/haskell/cabal/pull/8854).
all major releases should be reflected as submodules in GHC source tree before GHC fork date
Am I to understand that the cabal-GHC sync should proceed
differently this time and a cabal release is expected before
the GHC release? That should be fine, but the semantics
of cabal's GHC version validation would change from
"the GHC is tested and known to work fine with cabal"
to "the GHC exists". If so, maybe we should altogether remove
the spammy "unknown GHC version" cabal warning, decoupling
cabal and GHC a bit as a welcome side-effect? Are any other
changes in cabal or GHC needed to accommodate the new process?
E.g., is the GHC extension list guaranteed to never change past
the GHC fork date?
Cheers,
Mikolaj
On Tue, Feb 20, 2024 at 10:46 AM Mikolaj Konarski
Mikolaj, what’s the schedule for Cabal 3.12?
The schedule is that we are looking for a release manager for 3.12.1 and waiting for the release of 3.10.3 in order not to perform two releases concurrently.
https://gitlab.haskell.org/ghc/ghc/-/wikis/GHC-status#11-major-releases says that all major releases should be reflected as submodules in GHC source tree before GHC fork date, which is AFAIU this Friday.
That means cabal is going to be late. If that helps, 3.12.1 will be forked off the current master branch and, at this time, we don't plan to remove any features or other commits before the release.
Cheers, Mikolaj

Mikolaj Konarski
Mikolaj, what’s the schedule for Cabal 3.12?
I've opened a ticket for the 9.10 cabal and GHC sync point: https://github.com/haskell/cabal/issues/9729
Whom should I assign from outside the cabal team?
BTW, is the list of new GHC 9.10 language extensions finalized? How about GHC options? Would somebody like to see if the cabal's list of of GHC options is up to date (I bet it's not), and which of them require a recompilation? The same for extensions (but the list should be up to date except for the newest extensions --- are they all listed in 9.10 Release Notes this time?). PRs are welcome (one is already in the merge queue, but I'm not sure if it's for GHC 9.10: https://github.com/haskell/cabal/pull/8854).
The only new extension which has yet to be merged is indeed ListTuplePuns. Otherwise the T4437 test, which tests the consistency of GHC's and Cabal's respective language extension sets, doesn't indicate any new extensions in GHC.
all major releases should be reflected as submodules in GHC source tree before GHC fork date
Am I to understand that the cabal-GHC sync should proceed differently this time and a cabal release is expected before the GHC release?
To clarify, this has been the hope in the past as well. However, things rarely worked out that way.
That should be fine, but the semantics of cabal's GHC version validation would change from "the GHC is tested and known to work fine with cabal" to "the GHC exists".
The expectation is that after the fork only bug-fixes will be committed. Naturally there is always a bit more churn directly after the fork happens, but I don't expect, e.g., any major new language extensions to be introduced.
If so, maybe we should altogether remove the spammy "unknown GHC version" cabal warning, decoupling cabal and GHC a bit as a welcome side-effect?
In general I am in favor of more decoupling. However, whether the "unknown GHC version" warning should be removed is something that we should likely discuss on a ticket. Cheers, - Ben

Hi Ben,
[lots of useful information]
Good to know. Thank you.
The only new extension which has yet to be merged is indeed ListTuplePuns.
Not yet merged to GHC? Hmm, so we are supposed to release a Cabal version that supports ListTuplePuns *before* it's in the respective GHC branch and in the draft Release Notes? If so, I'm sure there is a new process in place that ensures such extensions (and GHC flags) are added to Cabal before Cabal is expected to be released? And the Cabal team is informed that this process has run its course and given a couple of weeks for the actual release? Who is the contact person this time? I'd love to learn whether we can proceed with 3.12. I will mention the new GHC release in the next cabal team meeting in a week and I hope we can expedite a quick Cabal (and Cabal-syntax)-only 3.12.0 release after the contact person gives us the green light.
In general I am in favor of more decoupling. However, whether the "unknown GHC version" warning should be removed is something that we should likely discuss on a ticket.
Yes, let's please discuss: https://github.com/haskell/cabal/issues/9734 Cheers, Mikolaj

I'm still totally ignorant of what versions of filepath, unix and os-string are going to be included.
Can the communication be improved? Where are the upstream tickets? Where do I see an overview of the status?
On February 20, 2024 1:11:09 AM UTC, Andrew Lelechenko
Thanks, Ben, for pushing through version bumps for `filepath` and `containers`. We also released new versions of `bytestring` and `text` last week.
Mikolaj, what’s the schedule for Cabal 3.12? https://gitlab.haskell.org/ghc/ghc/-/wikis/GHC-status#11-major-releases says that all major releases should be reflected as submodules in GHC source tree before GHC fork date, which is AFAIU this Friday.
Best regards, Andrew
On 23 Jan 2024, at 08:32, Mikolaj Konarski
wrote: * Mikolaj, are we looking for Cabal 3.12 or carrying on with 3.10.3+? There are at least two important features missing from Cabal 3.10: semaphores and multiple home units.
We plan to have Cabal 3.12 in time.
On Tue, Jan 23, 2024 at 12:59 AM Andrew Lelechenko
wrote: Thanks, Ben. (I’m not subscribed to mail lists CC’d, so I expect this reply to be missing from them)
CC’ng Matthew Craven on behalf of bytestring, Xia Li-yao on behalf of text, Lei Zhu, Carsten König and Miao ZhiCheng on behalf of array (it’s not orphaned).
Several blockers from the top of my head:
* Bump containers submodule to 0.7, long overdue. AFAIR blocked on https://github.com/judah/haskeline/pull/186 - Ben, are you able to merge it?
* Bump filepath submodule to 1.5 and add os-string to boot libraries. Julian might remember better, but AFAIR there are no blockers, just someone has to upgrade several submodules at once.
* GHCJS progress depends on merging outstanding PRs for bytestring and text to provide pure Haskell implementations, and I imagine Sylvain (CC’d) would wish them to be merged and released before GHC 9.10 is forked.
* Mikolaj, are we looking for Cabal 3.12 or carrying on with 3.10.3+? There are at least two important features missing from Cabal 3.10: semaphores and multiple home units.
Best regards, Andrew
On 22 Jan 2024, at 16:00, Ben Gamari
wrote: Hi all,
First, apologies for the silence regarding the 9.10 fork; I was hoping to improve our communications with boot library authors in the run-up to GHC 9.10 but illness unfortunately took me largely out of commission for a first few weeks of the year. Happily, things are looking rosier now.
Having had a chance to look at the 9.10 branch and the release goals, I am planning to cut the fork for GHC 9.10 around a month from today, on 23 Februrary 2024. This leaves around a month of time to merge the `ghc-internals` split and a few of the other bits of work that remain outstanding. We anticipate the first alpha release will come a week after the fork (see the Milestone [1] for further details).
How does this sound to you?
For organizational purposes, it would be helpful if we designated a coordinating maintainer for each of our boot packagers for the 9.10 release. My understanding is that our boot libraries have the following primary maintainers but don't hesitate to let me know if you believe this to be incorrect:
| Package | Maintainer | | --------------- | -------------------------- | | Cabal | Mikolaj Konarski | | Win32 | Tamar Christina | | array | (orphaned) | | binary | Lennart Kolmodin? | | bytestring | Andrew Lelechanko | | containers | David Feuer | | deepseq | Melanie Phoenix | | directory | Phil Rufflewind | | exceptions | Ryan Scott | | filepath | Julian Ospald | | haddock | Hecate | | haskeline | Judah Jacobson | | hpc | David Binder | | mtl | Emily Pillmore | | parsec | Oleg Grenrus | | process | Michael Snoyman | | stm | Simon Marlow | | terminfo | Judah Jacobson | | text | Andrew Lelechanko | | time | Ashley Yakeley | | transformers | Ross Paterson | | unix | Julian Ospald |
It would be great if each maintainer could let me know what they would like to do for the 9.10 release. In general we would love to have the set of boot libraries pinned down at least in version by the second alpha, which we are planning for the second week of March 2024. Does this sound reasonable?
As always, I would encourage core library maintainers to be conservative in their plans for a GHC release and avoid introducing major features or refactorings in their release. Such changes both add risk to the release schedule and complicate the users' migration paths; consequently, they are ideally best held for releases asynchronous to the GHC release process.
Thanks again for all of your work!
Cheers,
- Ben
[1] https://gitlab.haskell.org/ghc/ghc/-/milestones/380#tab-issues

Julian Ospald
I'm still totally ignorant of what versions of filepath, unix and os-string are going to be included.
Last month in response to Andrew's helpful requests I bumped GHC to point to: * filepath v1.5.0.0 * os-string v2.0.0 * unix v2.8.1.0 Naturally, I would be happy to further bump to filepath-1.5.2.0 given that 1.5.0.0 is deprecated.
Can the communication be improved? Where are the upstream tickets? Where do I see an overview of the status?
Sure; I have prepared [1] summarizing the status quo. Perhaps this provides a more convenient overview? As well, you should all be able to edit this document. If you feel something is amiss then feel free to edit it but please do leave a comment to ensure that your change is noticed. Cheers, - Ben [1]: https://docs.google.com/spreadsheets/d/19WeWjXPh8Q64qoe3fjs8AswpTHk6uLBD8WG-7R97a1U/edit#gid=0&fvid=1773005847

Yes, please use
* filepath-1.5.2.0
* os-string-2.0.2
On February 23, 2024 5:39:27 AM UTC, Ben Gamari
Julian Ospald
writes: I'm still totally ignorant of what versions of filepath, unix and os-string are going to be included.
Last month in response to Andrew's helpful requests I bumped GHC to point to:
* filepath v1.5.0.0 * os-string v2.0.0 * unix v2.8.1.0
Naturally, I would be happy to further bump to filepath-1.5.2.0 given that 1.5.0.0 is deprecated.
Can the communication be improved? Where are the upstream tickets? Where do I see an overview of the status?
Sure; I have prepared [1] summarizing the status quo. Perhaps this provides a more convenient overview?
As well, you should all be able to edit this document. If you feel something is amiss then feel free to edit it but please do leave a comment to ensure that your change is noticed.
Cheers,
- Ben

Aiming to release directory-1.3.8.3 by the end of the month to fix
https://github.com/haskell/directory/issues/170.
On Mon, Jan 22, 2024 at 8:00 AM Ben Gamari
Hi all,
First, apologies for the silence regarding the 9.10 fork; I was hoping to improve our communications with boot library authors in the run-up to GHC 9.10 but illness unfortunately took me largely out of commission for a first few weeks of the year. Happily, things are looking rosier now.
Having had a chance to look at the 9.10 branch and the release goals, I am planning to cut the fork for GHC 9.10 around a month from today, on 23 Februrary 2024. This leaves around a month of time to merge the `ghc-internals` split and a few of the other bits of work that remain outstanding. We anticipate the first alpha release will come a week after the fork (see the Milestone [1] for further details).
How does this sound to you?
For organizational purposes, it would be helpful if we designated a coordinating maintainer for each of our boot packagers for the 9.10 release. My understanding is that our boot libraries have the following primary maintainers but don't hesitate to let me know if you believe this to be incorrect:
| Package | Maintainer | | --------------- | -------------------------- | | Cabal | Mikolaj Konarski | | Win32 | Tamar Christina | | array | (orphaned) | | binary | Lennart Kolmodin? | | bytestring | Andrew Lelechanko | | containers | David Feuer | | deepseq | Melanie Phoenix | | directory | Phil Rufflewind | | exceptions | Ryan Scott | | filepath | Julian Ospald | | haddock | Hecate | | haskeline | Judah Jacobson | | hpc | David Binder | | mtl | Emily Pillmore | | parsec | Oleg Grenrus | | process | Michael Snoyman | | stm | Simon Marlow | | terminfo | Judah Jacobson | | text | Andrew Lelechanko | | time | Ashley Yakeley | | transformers | Ross Paterson | | unix | Julian Ospald |
It would be great if each maintainer could let me know what they would like to do for the 9.10 release. In general we would love to have the set of boot libraries pinned down at least in version by the second alpha, which we are planning for the second week of March 2024. Does this sound reasonable?
As always, I would encourage core library maintainers to be conservative in their plans for a GHC release and avoid introducing major features or refactorings in their release. Such changes both add risk to the release schedule and complicate the users' migration paths; consequently, they are ideally best held for releases asynchronous to the GHC release process.
Thanks again for all of your work!
Cheers,
- Ben
[1] https://gitlab.haskell.org/ghc/ghc/-/milestones/380#tab-issues
participants (7)
-
Andrew Lelechenko
-
Ben Gamari
-
Hécate
-
Julian Ospald
-
Julian Ospald
-
Mikolaj Konarski
-
Phil Ruffwind