GHC 9.6.7 is now available
Luite Stegeman - 2025-03-24
The GHC developers are very pleased to announce the availability of GHC 9.6.7. Binary distributions, source distributions, and documentation are available on the release page.
GHC 9.6.7 brings number of fixes, including:
- GHC’s internal Unique type has been widened to 64-bits on 32-bit architectures, avoiding potential miscompilations on large projects.
- Fix a runtime crash when using the compacting GC, caused by black holes in large objects.
- Added new flags
-fspec-eval
and-fspec-eval-dictfun
to allow switching off speculative evaluation.
The following libraries have been updated since GHC 9.6.6:
- base-4.18.3.0
- filepath-1.4.301.0
- unix-2.8.6.0
- bytestring-0.11.5.4
- array-0.5.8.0
A more detailed description can be found in the release notes and a full list of changes in GHC!13841 and GHC!13891
Note about Haskell Language Server and building GHC 9.8+:
The change of Unique to 64 bit (GHC#22010)
adds the exported symbol
ghc_unique_counter64
to the RTS. Unfortunately it’s impossible to
avoid this without breaking other things. If you encounter a linker
error related to ghc_unique_counter64
when building GHC (or building a
GHC-derived package like ghc-lib-parser) with GHC 9.6.7, you probably
have to add this fix
to the program you’re building.
We would like to thank GitHub, IOG, the Zw3rk stake pool, Well-Typed, Tweag I/O, Serokell, Equinix, SimSpace, the Haskell Foundation, 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.
Please give this release a try and open a ticket if you see anything amiss.
~ Luite