GHC 9.12.4 is now available

wz1000 - 2026-03-27

The GHC developers are very pleased to announce the release of GHC 9.12.4. Binary distributions, source distributions, and documentation are available at downloads.haskell.org and via GHCup.

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

  • Fixed a critical code generation regression where sub-word division produced incorrect results (#26711, #26668), similar to the bug fixed in 9.12.2

  • Numerous fixes for register allocation bugs, preventing data corruption when spilling and reloading registers (#26411, #26526, #26537, #26542, #26550)

  • Fixes for several compiler crashes, including issues with CSE (#25468), and the simplifier(#26681), implicit parameters (#26451), and the type-class specialiser (#26682)

  • Fixed cast worker/wrapper incorrectly firing on INLINE functions (#26903)

  • Fixed LLVM backend miscompilation of bit manipulation operations (#20645, #26065, #26109)

  • Fixed associated type family and data family instance changes not triggering recompilation (#26183, #26705)

  • Fixed negative type literals causing the compiler to hang (#26861)

  • Improvements to determinism of compiler output (#26846, #26858)

  • Fixes for eventlog shutdown deadlocks (#26573) and lost wakeups in the RTS (#26324)

  • Fixed split sections support on Windows (#26696, #26494) and the LLVM backend (#26770)

  • Fixes for the bytecode compiler, PPC native code generator, and Wasm backend

  • The runtime linker now supports COMMON symbols (#6107)

  • Improved backtrace support: backtraces for error exceptions are now evaluated at throw time

  • NamedDefaults now correctly requires the class to be standard or have an in-scope default declaration, and handles poly-kinded classes (#25775, #25778, #25882)

  • … and many more

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.