GHC 9.12.5-rc3 is now available

The GHC developers are very pleased to announce the availability
of the third release candidate for GHC 9.12.5, ghc-9.12.5-rc3.

The third release candidate was necessary to mitigate a critical bug on HEAD that needed to be backported. The bugfix is included in this RC.

See the backport MR.

See also the previous announcement of 9.12.5-rc2: GHC 9.12.5-rc2 is now available

Binary distributions, source distributions, and documentation are available at
downloads.haskell.org and via GHCup.

This release candidate will have a two-week testing period. If all goes well
the final release will be available the week of 13 August 2026.

GHC 9.12.5 is a bug-fix release fixing many issues of a variety of
severities and scopes, including:

  • Implement version 2 of the ghc semaphore protocol for GHC’s -jsem jobserver on Linux and other POSIX platforms (#25087, #27253)
  • several improvements to the pattern match checker (#25926, #27124)
  • several improvements to the demand analyser (#27261, #27106, #26416)
  • several fixes regarding the interaction of ticks and coercions (#27121, #26929, #26642, #26693)
  • several fixes for blackholes (#27261)

… and many more

Mind that the very important overhaul of the semaphore-compat library to v2 is included in this release and that the semaphore feature will only start working with cabal-install 3.18 again, which is sadly a breaking but necessary change.

A full accounting of these fixes can be found in the
release notes. As always, GHC’s release status, including planned future
releases, can be found on the GHC Wiki status.

GHC development is sponsored by:

We would like to thank these sponsors and other anonymous contributors
whose on-going financial and in-kind support has facilitated GHC maintenance
and release management over the years. Finally, this release would not have
been possible without the hundreds of open-source contributors whose work
comprise this release.

As always, do give this release a try and open a ticket if you see
anything amiss.

16 Likes

Disclaimer: the bindists have been available for about a week and distro maintainers already started testing the rc, but I waited for availability on ghcup before publishing this announcement, so you can start testing on your local machines right away :wink:

8 Likes

If you want to use GHC 9.12.5-rc3 with Stack:

Add a setup-info dictionary to a configuration file with the applicable entry for your operating system. For example, on Windows or macOS/AArch64, a stack.yaml:

snapshot: nightly-2026-07-31 # GHC 9.12.4
compiler: ghc-9.12.4.20260713
compiler-check: match-exact # Anticipating possible future RC releases

# Only required before the GHC version has been installed:
setup-info:
  ghc:
    windows64:
      9.12.4.20260713:
        url: https://downloads.haskell.org/ghc/9.12.5-rc3/ghc-9.12.4.20260713-x86_64-unknown-mingw32.tar.xz
        # Can be extended with SHA protections etc: see https://docs.haskellstack.org/en/stable/configure/yaml/non-project/#setup-info
    macosx-aarch64:
      9.12.4.20260713:
        url: https://downloads.haskell.org/ghc/9.12.5-rc3/ghc-9.12.4.20260713-aarch64-apple-darwin.tar.bz2
        # Can be extended with SHA protections etc: see https://docs.haskellstack.org/en/stable/configure/yaml/non-project/#setup-info
3 Likes

Thanks Magnus - I want to say you have been doing an excellent job with this minor release!

3 Likes

All I see here is this:

This screen should be a passing phenomenon. If it isn’t try a hard refresh.

1 Like

There are a few runtime crash tickets reported in GHC and marked as backport needed:9.12, and 2026-06-09: Informal GHC Release Status Update of a Sort said:

For this reason, the upcoming 9.12/9.10 release is planned to be the last one, in order to trim the number of active branches to something more manageable.

I wonder how these tickets will be handled.

1 Like

Given that the MRs were opened yesterday, I assume that testing, merging and preparing another RC will take on the order of at least one month.
Given that none of these seem to be regressions in comparison to 9.12.4 and those only occur in some configurations and not commonly, I think I will release the current RC with those as known issues.
It’s always possible that we will do another release if more issues are discovered or these issues turn out more problematic than they seem now.

3 Likes

Thanks for your reply, appreciate the hard work.