The GHC developers are very pleased to announce the availability of the second release candidate for GHC 9.14.2. Binary distributions, source distributions, and documentation are available at [downloads.haskell.org][] and via [GHCup](https://www.haskell.org/ghcup/). See also the [previous announcement of 9.14.2-rc1][rc1]. The changes since the first release candidate are: * Several fixes to the specialiser and demand analyser for miscompilations causing incorrect runtime results, crashes, or hangs (#27626, #27627, #27629, #27703, #27704, #27705, #27717). * Fixes for a number of runtime system bugs: * a missing memory barrier in the parallel garbage collector, which could crash or silently corrupt the heap on weakly-ordered architectures such as AArch64 (#27477). * a use-after-free with TSOs (#26716, #26717). * an "unknown/strange object" crash in the compacting collector when collecting the large data constructors that the bytecode interpreter allocates (#27649). * a segfault when querying the label of an unlabelled thread (#27618). * a crash when capturing or resuming a delimited continuation that adjusts the asynchronous exception masking state (#27651). * stack corruption when returning large unboxed tuples in GHCi (#27633). * Further fixes to the AArch64 native code generator, addressing bugs that caused incorrect runtime results from subword operations (#27430, #27533, #27537, #27538, #27539, #27550). * `toException` for `SomeException` no longer drops the attached `ExceptionContext`, and a `catchSTM` handler no longer breaks `retry` or asynchronous exception delivery (#27455, #27657). * Reduced memory usage with multiple home units (#26423, #27308, #27500, #27748). * Fixes for panics and spurious out-of-scope errors involving type arguments in pattern synonym right-hand sides (#27440, #27583, #27586). * The pattern-match checker now recognises `considerAccessible` under ticks, and no longer emits a spurious `-Wincomplete-uni-patterns` warning under `-finfo-table-map` (#27314, #27360). * The deprecation warning for static forms, added in rc1, no longer fires on free type variables (#27664). * A fix for a regression preventing modules from being loaded into GHCi after startup (#27202, #27640). * A fix for representation-polymorphism checks producing a coercion that fails Core Lint (#27639). * Support for LLVM up to version 23 (#27764). * Updates for libffi (3.8.0), `directory` (1.3.11.0), `file-io` (0.1.6), `haskeline` (0.8.5.0) and `os-string` (2.0.10). GHC 9.14.2 is a bug-fix release fixing many issues of a variety of severities and scopes, including: * Version 2 of the [GHC Jobserver Protocol][jsem] for GHC's `-jsem` jobserver on Linux and other POSIX platforms (#25087, #27253). This is sadly a necessary breaking change: `-jsem` requires cabal-install 3.18 or later, and is otherwise ignored with a [warning][jsem-warning], falling back to sequential compilation. * A new deprecation warning for static forms that mention nested let-bound variables. This will become an error in GHC 10.0 ([GHC Proposal #732][static-forms], #26718). * A fix for a CorePrep miscompilation that could project a field out of an absent dictionary, resulting in a segfault (#25924). * A fix for demand analysis giving an absent demand to an argument that was still used by the function's stable unfolding, which could cause a runtime 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 NCG 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 subword widths. * A fix for a stack alignment bug on x86 that could cause segfaults or corrupted registers when using AVX/AVX-512 vector code (#26595, #26822). * Fixes for 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). * Fixes for many other runtime system crashes and races (#26341, #26573, #26640, #27007, #27008, #27009, #27082). * A fix for an "unknown/strange object" crash in the compacting garbage collector (#27434). * Fixes for split sections on Windows (#26696, #26494) and the LLVM backend (#26770). * Fixes for the Wasm backend (#26916, #27257), and the RISC-V (#27300, #27303, #27306) and PowerPC (#23969, #24145, #26828) native code generators. * The JavaScript backend now supports more than 128 registers, fixing runtime `ReferenceError` failures for functions taking very many arguments (#26558). * Correctness and performance improvements in the bytecode interpreter (#12953, #26287, #26946, #26995, #27001). * Fixes for several compiler panics, including issues with SetLevels (#26681), the type-class specialiser (#26682), `mkTick` (#26772, #27121), CoreToStg (#27182, #27386), the pattern-match checker (#25926, #27124), module graph reachability (#26568), and continuation trimming for bottoming functions (#27261). * Fixes for several cases where the compiler could hang or loop, including with negative type literals (#26861), deep subsumption (#26823), and when simplifying the right-hand sides of rewrite rules (#26323, #26826). * A fix for cast worker/wrapper incorrectly firing on INLINE functions (#26903). * A fix for exponential-time desugaring of nested `case` expressions (#27383, #20251). * A fix for a regression that caused overloaded functions to no longer be specialised as effectively as in previous releases, hurting runtime performance (#26831). * A fix for associated type family and data family instance changes not triggering recompilation (#26183, #26705). * Fixes for Explicit Level Imports and Template Haskell staging (#26088, #26098, #26099, #26616, #27385). * Improvements to determinism of compiler output, including the order in which `:info` lists instances (#26846, #26858, #26877, #27532). * Additions for GHCi and GHC API users: the `-fimport-loaded-targets` flag (#26866), custom external interpreter commands (#26652), `decodeStackWithIpe` and related stack-decoding helpers (#27065), an optional `SrcLoc` on `StackAnnotation` (#26806), and a `gc_sync_elapsed_ns` counter in `RTSStats` (#26944). * ... 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 1 October 2026. GHC development is sponsored by: * [Juspay](https://juspay.com/) * [QBayLogic](https://qbaylogic.com/) * [Channable](https://www.channable.com/) * [Haskell Foundation](https://haskell.foundation/) * [Serokell](https://serokell.io/) * [Well-Typed](https://well-typed.com/) * [Tweag](https://www.tweag.io/) * [Dotcom-Monitor](https://www.dotcom-monitor.com/) * [LoadView](https://www.loadview-testing.com/) * [Web Hosting Buddy](https://webhostingbuddy.com/) * [Find My Electric](https://www.findmyelectric.com/) * [Standard Chartered](https://www.sc.com) * [UpCloud](https://upcloud.com) * [Mercury](https://mercury.com) 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. [release notes]: https://gitlab.haskell.org/ghc/ghc/-/blob/ghc-9.14/docs/users_guide/9.14.2-n... [status]: https://gitlab.haskell.org/ghc/ghc/-/wikis/GHC-status [downloads.haskell.org]: https://downloads.haskell.org/ghc/9.14.2-rc2 [jsem]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0540-js... [static-forms]: https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0732-si... [jsem-warning]: https://downloads.haskell.org/ghc/9.14.2-rc2/docs/users_guide/using-warnings... [rc1]: https://www.haskell.org/ghc/blog/20260730-ghc-9.14.2-rc1-released.html [ticket]: https://gitlab.haskell.org/ghc/ghc/-/issues/new