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:
MOVKclobbering live values (#26980), register
clobbering and an incorrect overflow bit inMUL2(#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
caseexpressions (#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
:infolists 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
ReferenceErrorfailures 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:
- Juspay
- QBayLogic
- Channable
- Haskell Foundation
- Serokell
- Well-Typed
- Tweag
- Dotcom-Monitor
- LoadView
- Web Hosting Buddy
- Find My Electric
- Standard Chartered
- UpCloud
- Mercury
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.