GHC 9.10.2 is now available

The GHC developers are very pleased to announce the availability
of the final release for GHC 9.10.2. Binary distributions, source
distributions, and documentation are available at downloads.haskell.org and
via GHCup.

GHC 9.10.2 is a bug-fix release fixing over 50 issues of a variety of
severities and scopes, including:

  • Significantly improved performance when dynamically loading Haskell symbols (#23415).
  • Fixing a bug where the simplifier sometimes destroyed join points during float out, which could impact performance (#24768).
  • Reduced memory fragmentation in the non-moving GC’s segment allocator, improving resident set size by up to 26% for some applications (#24150).
  • Added new flags to control speculative evaluation (-fspec-eval and -fspec-eval-dictfun) to work around performance regressions (#25606).
  • Fixed several platform-specific issues, including segfaults with FFI on PowerPC (#23034) and improved code
    generation for AArch64 with multiway branches now using jump tables (#19912)
  • 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.

We would like to thank Well-Typed, Tweag I/O, Juspay, QBayLogic, Channable,
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
comprise this release.

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

20 Likes

@mpilgrem The GHC musl multi-arch manifests glcr.b-data.ch/ghc/ghc-musl:9.10.2 and glcr.b-data.ch/ghc/ghc-musl:9.10.2-int-native (linux/amd64, linux/arm64/v8, linux/riscv64) are available now.

The manifests and images are also published on Quay and Docker Hub:

  • GMP bignum implementation[1]
    • quay.io/benz0li/ghc-musl:9.10.2
    • docker.io/benz0li/ghc-musl:9.10.2
  • Haskell-native bignum implementation[2]
    • quay.io/benz0li/ghc-musl:9.10.2-int-native
    • docker.io/benz0li/ghc-musl:9.10.2-int-native

  1. build flavour: perf+split_sections+llvm ↩︎

  2. build flavour: perf+split_sections+llvm+native_bignum ↩︎

2 Likes

I have updated Stack’s default setup-info dictionary for these binary distributions, and added GHC 9.10.2’s global hints to global-hints.yaml .

4 Likes

Stackage Nightly has moved to 9.10.2

You can see which packages were added or had to be dropped:

The largest churn was caused by text-2.1.2 now exporting show:

1 Like