The GHC developers are happy to announce the availability of GHC 9.6.3. Binary distributions, source distributions, and documentation are available on the release page.
This release is primarily a bugfix release addressing a few issues found in the 9.6 series. These include:
Disable Polymorphic Specialisation (a performance optimisation) by default. It was discovered that Polymorphic Specialisation as currently implemented in GHC can lead to hard to diagnose bugs resulting in incorrect runtime results. Users wishing to use this optimisation despite the caveats will now have to explicitly enable the new -fpolymorphic-specialisation flag. For more details see #23469 as well as #23109, #21229, #23445.
Improve compile time and code generation performance when -finfo-table-map is enabled (#23103).
Make the recompilation check more robust when code generation flags are changed (#23369).
Addition of memory barriers that improve soundness on platforms with weak memory ordering.
And dozens of other fixes.
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 GHC ticket if you see anything amiss.
On a personal note, this was my first time executing the rather lengthy and finicky GHC release process. I took a ton of notes and hopefully I will be able to smooth off a lot of the rough edges before the next release cycle.
Many thanks, but is ghc-9.6.3-x86_64-apple-darwin.tar.bz2 really meant to be only 43,139,072 bytes in size? That is much smaller than the archive files for other binary distributions and the corresponding archive file for GHC 9.6.2. EDIT: I tried to look inside with 7-Zip and for the *.tar it reported ‘unexpected end of data’.
I’ve downloaded ghc-9.6.3-x86_64-unknown-mingw32-int_native.tar.xz yesterday to check on something that I thought was wrong with what I got with the Stack Nightly resolver installation in 9.6.2.
Unpacked, there’s the doc/html folder.
In it, there’s index.html.
index.html links to the users_guide as it always did – But the users guide is missing from the archive.
Did something go wrong there? I depend on offline documentation, and this looks like a mistake during packaging to me.
Hm! From poking around, it looks like none of the 9.6 releases have included the user’s guide. What’s more, it’s not available as a separate tarball, either.
I have to say that’s a change from before my time, so maybe @bgamari or @wz1000 can say more.
Regarding the directory, I didn’t want to have to use a crawler.
Ow, why is the users guide not distributed on Windows anymore? It’s extremely useful to have in there, and as said, the index page does link to it normally. o_o