The GHC developers are very pleased to announce the availability of the second alpha prerelease of GHC 9.14.1. Binary distributions, source distributions, and documentation are available at downloads.haskell.org.
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 improvements in the GHCi debugger
Record fields can be defined to be non-linear when LinearTypes is enabled.
RequiredTypeArgments 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 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.
Observant readers of these prerelease announcements will note that polymorphic specialisation has been dropped from alpha 2. This measure was taken out of an abundance of caution after finding a miscompilation during testing of alpha 1. While this bug will be fixed in the next alpha, we expect to keep polymorphic specialisation disabled by default in the final release. 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.
This is the second of three expected alpha prereleases. We expect the next (third) alpha will come 23 Sept. 2025, with the release candidate coming 7 Oct. 2025.
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.
Add a setup-info dictionary to a configuration file with the applicable entry for your operating system. For example, on Windows, a stack.yaml:
snapshot: nightly-2025-09-13 # GHC 9.12.2
compiler: ghc-9.14.0.20250908
compiler-check: match-exact # Anticipate future alpha releases
# Only required before the GHC version has been installed:
setup-info:
ghc:
windows64:
9.14.0.20250908:
url: https://downloads.haskell.org/ghc/9.14.1-alpha2/ghc-9.14.0.20250908-x86_64-unknown-mingw32.tar.xz
# Can be extended with SHA protections etc: see https://docs.haskellstack.org/en/stable/yaml_configuration/#setup-info
To avoid irritating warnings about Stack not being able to parse GHC 9.14’s *.hi files, upgrade to the master branch version of Stack. (My plan is to release the next update of Stack once GHC 9.14.1 is released.)
If you tried Alpha 1 with Stack and now want to tidy up, delete its folder and *.installed file in the platform folder of Stack’s programs folder (see stack path --programs).
If you think it is a bug, I’ll raise a ticket but I note that the User Guide 2.1.12 Included libraries does not list the following GHC 9.14.1-alpha2 boot packages as such: