GHC 9.14.2-rc1 is now available

wz1000 - 2026-07-30

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

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

  • Fixed a CorePrep miscompilation that could project a field out of an absent dictionary, resulting in a segfault (#25924)
  • Fixed demand analysis giving an absent demand to an argument that was still used by the function’s stable unfolding, which could cause a run-time crash (#26416)
  • Numerous fixes for register allocation and Cmm register-conflict analysis bugs, preventing incorrect code generation and corruption of vector registers when spilling and reloading (#26411, #26526, #26537, #26542, #26550, #26668)
  • Many NGG fixes on AArch64: MOVK clobbering live values (#26980), register clobbering and an incorrect overflow bit in MUL2 (#27046, #27047), and incorrect sign extension (#26978) and unsigned right shift (#26979) at sub-word widths
  • Fixed several black hole handling bugs that could lead to deadlocks or crashes in multithreaded programs, showing up as hangs or “END_TSO_QUEUE object entered” errors (#26922, #26936)
  • Fixed a stack alignment bug on x86 that could cause segfaults or corrupted registers when using AVX/AVX-512 vector code (#26595, #26822)
  • Fixed an “unknown/strange object” crash in the compacting garbage collector (#27434)
  • Fixed a regression that caused overloaded functions to no longer be specialised as effectively as in previous releases, hurting runtime performance (#26831)
  • Fixed exponential-time desugaring of nested case expressions (#27383, #20251)
  • Fixes for several compiler panics, including issues with SetLevels (#26681), the type-class specialiser (#26682), mkTick (#26772, #27121) and CoreToStg (#27182, #27386)
  • Fixed cast worker/wrapper incorrectly firing on INLINE functions (#26903)
  • Fixed negative type literals causing the compiler to hang (#26861)
  • Fixed associated type family and data family instance changes not triggering recompilation (#26183, #26705)
  • Improvements to determinism of compiler output, including the order in which :info lists instances (#26846, #26858, #26877, #27532)
  • Fixed split sections support on Windows (#26696, #26494) and the LLVM backend (#26770)
  • The JavaScript backend now supports more than 128 registers, fixing runtime ReferenceError failures for functions taking very many arguments (#26558)
  • Fixes for the Wasm backend, and the RISC-V and PowerPC native code generators
  • … 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.

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 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.