GHC 9.8.3 is now available

The GHC developers are happy to announce the availability of GHC 9.8.3. Binary
distributions, source distributions, and documentation are available on the
release page.

This release is primarily a bugfix release the 9.8 series. These
include:

  • Significantly improve performance of code loading via dynamic linking (#23415)
  • Fix a variety of miscompilations involving sub-word-size FFI arguments
    (#25018, #24314)
  • Fix a rare miscompilation by the x86 native code generator (#24507)
  • Improve runtime performance of some applications of runRW# (#25055)
  • Reduce fragmentation when using the non-moving garbage collector (#23340)
  • Fix source links in Haddock’s hyperlinked sources output (#24086)

A full accounting of changes can be found in the release notes. As
some of the fixed issues do affect correctness users are encouraged to
upgrade promptly.

We would like to thank Microsoft Azure, GitHub, IOG, the Zw3rk stake pool,
Well-Typed, Tweag I/O, Serokell, Equinix, SimSpace, 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.

Happy compiling!

  • Ben
24 Likes

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

1 Like

Thank you for the 9.8.3 release - that should un(b)lock Stackage LTS 23 :tada:

Stackage Nightly 2024-10-22 (ghc-9.8.3) :: Stackage Server is now on ghc-9.8.3

Unfortunately a few packages had to be disabled: see changes.

The main points I noticed while updating: filepath was not bumped (so 9.8.3 is behind 9.6.6) and Unit import ambiguity broke a few packages.

In other news I am also updating Fedora ghc9.8.

As a maintainer of 4 core libraries, I have to say the GHC release process is intransparent and the communication lacking.

I have no idea what versions of my packages land in which GHC release.

As GHCup maintainer, I have almost zero knowledge about GHC releases too.

If GHC HQ expects me and others to listen to mailing lists, then I’m afraid I don’t have the time.

Please start coordinating releases properly.

Could you say what this means? Sounds like something I should make a 9.8.3 breakage inventory for.

The 3 affected packages were ghc-lib-parser, dimensional, generic-arbitrary

Ah, I see, thanks. It’s because Unit became an export from Control.Deepseq 1.5.1.0.

Ah okay thanks - so that is unrelated/coincidental to 9.8.3.

(I think I was confused by the ghc-lib-parser module.)