GHC 9.14.1 is now available

zubin - 2025-12-19

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

GHC 9.14 brings 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

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

  • Initial native code generator support for LoongArch

  • The WebAssembly backend now supports evaluation via the interpreter, allowing GHCi and TemplateHaskell evaluation, including foreign import javascript usage from within the browser

  • A new primop annotateStack# for pushing arbitrary data onto the call stack for later extraction when decoding stack traces

  • -Wincomplete-record-selectors is now part of -Wall. Libraries compiled with -Werror may need adjustment.

  • A major update of the Windows toolchain

  • Improved compatibility with macOS Tahoe

  • … and many more

A full accounting of changes can be found in the release notes. See the migration guide for guidance on migrating programs to this release.

Note that while this release makes many improvements in the specialisation optimisation, polymorphic specialisation remains disabled by default in the 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.

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 comprises this release.

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