GHC 9.14.1-rc2 is now available

zubin - 2025-11-04

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

The changes from the first release candidate are:

  • Bump the exceptions submodule to 0.10.11
  • Bump the os-string submodule to 2.0.8
  • Fix a driver regression causing an infinite loop with cyclic imports

GHC 9.14 will bring a number of new features and improvements, including:

  • Significant improvements in specialisation:

    • The SPECIALISE pragma now allows use of type application syntax
    • The SPECIALISE pragma can be used to specialise for expression arguments as well as type arguments.
    • Specialisation is now considerably more reliable in the presence of newtypes
  • Significant GHCi improvements including:

    • Correctness and performance improvements in the bytecode interpreter
    • Features in the GHCi debugger
    • Support for multiple home units in GHCi
  • Implementation of the Explicit Level Imports proposal

  • RequiredTypeArguments can now be used in more contexts

  • SSE/AVX2 support in the x86 native code generator backend

  • A major update of the Windows toolchain and improved compatibility with macOS Tahoe

  • … and many more

A full accounting of changes can be found in the release notes. Given the many specialisation improvements and their potential for regression, we would very much appreciate testing and performance characterisation on downstream workloads.

Note that while this release makes many improvements in the specialisation optimisation, polymorphic specialisation will remain disabled by default in the final release due to concern over regressions of the sort identified in #26329. Users needing more aggressive specialisation can explicitly enable this feature with the -fpolymorphic-specialisation flag. Depending upon our experience with 9.14.1, we may enable this feature by default in a later minor release.

We would like to thank the Zw3rk stake pool, Well-Typed, Mercury, Channable, Tweag I/O, Serokell, 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 have made the Haskell ecosystem what it is today.

As always, do give this release a try and open a ticket if you see anything amiss.