GHC 9.4.4 is now available!

The GHC developers are happy to announce the availability of GHC 9.4.4. Binary
distributions, source distributions, and documentation are available at

This release is primarily a bugfix release. Bugs fixed include:

  • An issue where the wrong labels were used in the eventlog for events emitted
    when using info table profiling which was broken in 9.4.3 (#22452)
  • Fix a long standing bug where invalid eventlogs would be produced with long
    command-lines (#20221)
  • Fix a regression in eta-expansion which resulted in serious performance
    regressions in 9.4.3 (#22424)
  • Fix the -fdefer-diagnostics flag (#22391)
  • Fixes to several subtle compiler panics. (#22491, #22416, #22549, #22475, #22039)
  • Add necessary write barriers to IORef operations, avoiding potential
    soundness issues on architectures with weakly-ordered memory models

Note that, as GHC 9.4 is the first release series where the release artifacts
are all generated by our new Hadrian build system, it is possible that there
will be packaging issues. If you enounter trouble while using a binary
distribution, please open a ticket. Likewise, if you are a downstream
packager, do consider migrating to Hadrian to run your build; the Hadrian
build system can be built using cabal-install, stack, or the in-tree
bootstrap script. See the accompanying blog post for details on
migrating packaging to Hadrian.

We would also like to emphasize that GHC 9.4 must be used in conjunction with
Cabal-3.8 or later. This is particularly important for Windows users due to
changes in GHC’s Windows toolchain.

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 Haskelling,

  • Ben

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


@mpilgrem there are Fedora 27 bindists, but for some reason they did not make it to the downloads folder: Artifacts · release-x86_64-linux-fedora27-release (#1276673) · Jobs · Glasgow Haskell Compiler / GHC · GitLab

I’m considering to change the bindist mapping, although it’s kind of disruptive to mutate existing mappings.

I’ve asked at GHC issue #22268 if the ‘Fedora 27’ version of GHC 9.4.4 might be added manually to the usual places.

1 Like

I have updated the Fedora ghc9.4 package to 9.4.4: native packages are stable now (for current Fedora releases and EPEL 9)

1 Like

A ‘Fedora 27’ version of GHC 9.4.4’s binary distribution has been made available at Index of /ghc/9.4.4/. I’ve updated Stack’s default setup-info dictionary to prefer that version to ‘Fedora 33’ or ‘Debian 10’.

Stack will only fetch a version of GHC if it thinks it does not already have access to it. If you are using Stack (rather than GHCup) to manage versions of GHC and if you want to replace a version of GHC 9.4.4 that Stack has already fetched with this version, then you have to go into Stack’s ‘programs’ directory (eg stack path --programs) and delete the existing ghc-9.4.4.installed file and the folder ghc-9.4.4.. Stack will then seek to reinstall.

1 Like