# GHC 9.6.5 is now available

**URL:** <https://discourse.haskell.org/t/ghc-9-6-5-is-now-available/9341>\
**Category:** Uncategorized\
**Created:** [April 16, 2024, 6:42am UTC](https://discourse.haskell.org/t/ghc-9-6-5-is-now-available/9341 "2024-04-16T06:42:08Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![wz1000](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/wz1000/32/1245_2.png) [@wz1000](https://discourse.haskell.org/u/wz1000)\
**Post date:** [April 16, 2024, 6:42am UTC](https://discourse.haskell.org/t/ghc-9-6-5-is-now-available/9341/1 "2024-04-16T06:42:08Z")

</div>

The GHC developers are happy to announce the availability of GHC 9.6.5. Binary  
distributions, source distributions, and documentation are available on the  
[release page](https://www.haskell.org/ghc/download_ghc_9_6_5.html).

GHC Blog Post:  
[https://www.haskell.org/ghc/blog/20240416-ghc-9.6.5-released.html](https://www.haskell.org/ghc/blog/20240416-ghc-9.6.5-released.html)

This release is primarily a bugfix release addressing some issues  
found in the 9.6 series. These include:

- Bumping the bundled `process` library to 1.6.19.0 to avoid a potential  
[command injection vulnerability](https://github.com/haskell/security-advisories/blob/main/advisories/hackage/process/HSEC-2024-0003.md) on Windows for clients of this library. This isn’t  
known to affect GHC itself, but allows users who depend on the installed  
version of the `process` library to avoid the issue.
- Fixing a bug resulting in the distributed `hsc2hs` wrapper using flags from the  
compiler build environment (#24050).
- Disabling the `-fasm-shortcutting` optimisation with `-O2` as it is known  
to result in unsoundess and incorrect runtime results in some cases (#24507).
- Ensuring we take `LDFLAGS` into account when configuring a linker (#24565).
- Fixing a bug arising from incorrect parsing of paths containing spaces in the  
settings file (#24265).
- And many more fixes

A full accounting of changes can be found in the [release notes](https://downloads.haskell.org/~ghc/9.6.5/docs/users_guide/9.6.5-notes.html). 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](https://gitlab.haskell.org/ghc/ghc/-/issues/new) if you see  
anything amiss.

Enjoy!

-Zubin

---

<div class="post-metadata">

**Author:** ![mpilgrem](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/mpilgrem/32/2529_2.png) [@mpilgrem](https://discourse.haskell.org/u/mpilgrem)\
**Post date:** [April 16, 2024, 7:19pm UTC](https://discourse.haskell.org/t/ghc-9-6-5-is-now-available/9341/2 "2024-04-16T19:19:39Z")

</div>

I think the bump from boot package `Cabal-3.10.1.0` to `Cabal-3.10.3.0` is also important, because it fixes [the `-fplugin` bug](https://github.com/commercialhaskell/stack/issues/6251).

---

<div class="post-metadata">

**Author:** ![mpilgrem](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/mpilgrem/32/2529_2.png) [@mpilgrem](https://discourse.haskell.org/u/mpilgrem)\
**Post date:** [April 16, 2024, 8:48pm UTC](https://discourse.haskell.org/t/ghc-9-6-5-is-now-available/9341/3 "2024-04-16T20:48:48Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![benz0li](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/benz0li/32/3654_2.png) [@benz0li](https://discourse.haskell.org/u/benz0li)\
**Post date:** [April 17, 2024, 8:15am UTC](https://discourse.haskell.org/t/ghc-9-6-5-is-now-available/9341/4 "2024-04-17T08:15:30Z")

</div>

@mpilgrem The _unofficial_ multi‑arch (`linux/amd64` , `linux/arm64/v8` ) [_GHC musl_](https://github.com/benz0li/ghc-musl) image [`glcr.b-data.ch/ghc/ghc-musl:9.6.5`](https://gitlab.b-data.ch/ghc/ghc-musl/container_registry/381) is now available, too.

Also pushed to:

- Docker Hub: [`docker.io/benz0li/ghc-musl:9.6.5`](https://hub.docker.com/r/benz0li/ghc-musl)
- Quay: [`quay.io/benz0li/ghc-musl:9.6.5`](https://quay.io/repository/benz0li/ghc-musl)

---

<div class="post-metadata">

**Author:** ![hasufell](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/hasufell/32/1250_2.png) [@hasufell](https://discourse.haskell.org/u/hasufell)\
**Post date:** [April 18, 2024, 8:57am UTC](https://discourse.haskell.org/t/ghc-9-6-5-is-now-available/9341/5 "2024-04-18T08:57:08Z")

</div>

I finally found time to add 9.6.5 into ghcup proper: [Ghc 9.6.5 proper by hasufell · Pull Request #204 · haskell/ghcup-metadata · GitHub](https://github.com/haskell/ghcup-metadata/pull/204)

The main reason of the delay was:

- missing manpages in 6 bindists: [#24465: Man page missing from bindists · Issues · Glasgow Haskell Compiler / GHC · GitLab](https://gitlab.haskell.org/ghc/ghc/-/issues/24465)
- no FreeBSD bindist
- recovering from health issues

So I had to manually fix all those. The unofficial bindists are located here:

- [Index of /ghcup/unofficial-bindists/ghc/9.6.5/](https://downloads.haskell.org/~ghcup/unofficial-bindists/ghc/9.6.5/)

---

<div class="post-metadata">

**Author:** ![andreasabel](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/andreasabel/32/1764_2.png) [@andreasabel](https://discourse.haskell.org/u/andreasabel)\
**Post date:** [April 20, 2024, 6:12am UTC](https://discourse.haskell.org/t/ghc-9-6-5-is-now-available/9341/6 "2024-04-20T06:12:15Z")

</div>

I added GHC 9.6.5 to haskell-actions/setup.

---

<div class="post-metadata">

**Author:** ![janus](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/janus/32/1060_2.png) [@janus](https://discourse.haskell.org/u/janus)\
**Post date:** [April 24, 2024, 5:03pm UTC](https://discourse.haskell.org/t/ghc-9-6-5-is-now-available/9341/7 "2024-04-24T17:03:28Z")

</div>

Would it be possible to update [the ‘library versions’ page on the GHC gitlab wiki](https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/libraries/version-history)?

---

<div class="post-metadata">

**Author:** ![mpilgrem](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/mpilgrem/32/2529_2.png) [@mpilgrem](https://discourse.haskell.org/u/mpilgrem)\
**Post date:** [April 24, 2024, 8:15pm UTC](https://discourse.haskell.org/t/ghc-9-6-5-is-now-available/9341/8 "2024-04-24T20:15:16Z")

</div>

The [GHC Wiki home page](https://gitlab.haskell.org/ghc/ghc/-/wikis/home) states that “Everyone can edit this wiki. Please do so …” but I tried to follow the instructions at [Git Access · Wiki · Glasgow Haskell Compiler / GHC · GitLab](https://gitlab.haskell.org/ghc/ghc/-/wikis/git_access) and it seems to me that, actually, commit rights are needed to edit the Wiki.

---

<div class="post-metadata">

**Author:** ![wz1000](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/wz1000/32/1245_2.png) [@wz1000](https://discourse.haskell.org/u/wz1000)\
**Post date:** [April 25, 2024, 10:25am UTC](https://discourse.haskell.org/t/ghc-9-6-5-is-now-available/9341/9 "2024-04-25T10:25:53Z")

</div>

I have updated the page.

---

<div class="post-metadata">

**Author:** ![wz1000](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/wz1000/32/1245_2.png) [@wz1000](https://discourse.haskell.org/u/wz1000)\
**Post date:** [April 25, 2024, 10:29am UTC](https://discourse.haskell.org/t/ghc-9-6-5-is-now-available/9341/10 "2024-04-25T10:29:01Z")

</div>

I tried to look for the settings to configure access, but I couldn’t find anything. Perhaps @chreekat can help?

---

<div class="post-metadata">

**Author:** ![chreekat](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/chreekat/32/2669_2.png) [@chreekat](https://discourse.haskell.org/u/chreekat)\
**Post date:** [April 25, 2024, 11:17am UTC](https://discourse.haskell.org/t/ghc-9-6-5-is-now-available/9341/11 "2024-04-25T11:17:33Z")

</div>

I suspect the content on the home page probably just predates the switch to GitLab. As far as I can see, one needs to be logged in to edit the wiki.

Git access is probably possible, though, if you switch to an https url for the underlying repo. But then you’d still need an account to push changes. 😛

---

<div class="post-metadata">

**Author:** ![tomjaguarpaw](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/tomjaguarpaw/32/1230_2.png) [@tomjaguarpaw](https://discourse.haskell.org/u/tomjaguarpaw)\
**Post date:** [April 25, 2024, 11:21am UTC](https://discourse.haskell.org/t/ghc-9-6-5-is-now-available/9341/12 "2024-04-25T11:21:06Z")

</div>

> [@chreekat](#):
>
> As far as I can see, one needs to be logged in to edit the wiki.

Yeah, I think “everyone” can edit the wiki, as long as they have a user account and they are logged in.

---

<div class="post-metadata">

**Author:** ![mpilgrem](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/mpilgrem/32/2529_2.png) [@mpilgrem](https://discourse.haskell.org/u/mpilgrem)\
**Post date:** [April 25, 2024, 12:52pm UTC](https://discourse.haskell.org/t/ghc-9-6-5-is-now-available/9341/13 "2024-04-25T12:52:35Z")

</div>

I may be mistaken or missing something, but when I am logged into [Home · Wiki · Glasgow Haskell Compiler / GHC · GitLab](https://gitlab.haskell.org/ghc/ghc/-/wikis/home) I can’t see anything that would allow you to edit the Wiki. I think you may need to have a certain ‘role’: GitLab ‘proper’ says you need to have ‘at least the Developer role’: see [Wiki | GitLab](https://docs.gitlab.com/ee/user/project/wiki/#edit-a-wiki-page).

---

<div class="post-metadata">

**Author:** ![tomjaguarpaw](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/tomjaguarpaw/32/1230_2.png) [@tomjaguarpaw](https://discourse.haskell.org/u/tomjaguarpaw)\
**Post date:** [April 25, 2024, 12:58pm UTC](https://discourse.haskell.org/t/ghc-9-6-5-is-now-available/9341/14 "2024-04-25T12:58:27Z")

</div>

Ah, that’s interesting. I see “Edit” and “New page” above “Home … This is GHC’s Wiki”. I suppose I must have the developer role then, but I don’t know how to confirm that (nor how to confirm someone else’s role) and I don’t know how I was assigned that role!

---

<div class="post-metadata">

**Author:** ![mpilgrem](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/mpilgrem/32/2529_2.png) [@mpilgrem](https://discourse.haskell.org/u/mpilgrem)\
**Post date:** [April 25, 2024, 1:20pm UTC](https://discourse.haskell.org/t/ghc-9-6-5-is-now-available/9341/15 "2024-04-25T13:20:34Z")

</div>

You are indeed a Developer: [Members · Glasgow Haskell Compiler / GHC · GitLab](https://gitlab.haskell.org/ghc/ghc/-/project_members?search=Tom+Ellis)

---

<div class="post-metadata">

**Author:** ![hasufell](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/hasufell/32/1250_2.png) [@hasufell](https://discourse.haskell.org/u/hasufell)\
**Post date:** [April 25, 2024, 3:24pm UTC](https://discourse.haskell.org/t/ghc-9-6-5-is-now-available/9341/16 "2024-04-25T15:24:11Z")

</div>

I have been thinking to somehow incorporate that information into the ghcup metadata, but I don’t have a clear vision yet how to present that information. Right now, there is a special tag that denotes the base version: [ghcup-metadata/ghcup-0.0.8.yaml at 94a79c488a01bc6b84e2e724246647ba70e91f5e · haskell/ghcup-metadata · GitHub](https://github.com/haskell/ghcup-metadata/blob/94a79c488a01bc6b84e2e724246647ba70e91f5e/ghcup-0.0.8.yaml#L4229-L4231)

```haskell
    9.6.5:
      viTags:
      - base-4.18.2.1

```

Maybe the format can be extended to something like

```haskell
    9.6.5:
      viLibraries:
      - base-4.18.2.1
      - process-1.6.19.0
      - ...

```

And then a special command:

```haskell
ghcup inspect ghc libraries

```

…inspired by `docker inspect`, so it can be extended for other purposes?

Old ticket: [Show all GHC libraries versions? · Issue #122 · haskell/ghcup-hs · GitHub](https://github.com/haskell/ghcup-hs/issues/122)

---

<div class="post-metadata">

**Author:** ![Kleidukos](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/kleidukos/32/1213_2.png) [@Kleidukos](https://discourse.haskell.org/u/Kleidukos)\
**Post date:** [April 25, 2024, 5:07pm UTC](https://discourse.haskell.org/t/ghc-9-6-5-is-now-available/9341/17 "2024-04-25T17:07:44Z")

</div>

That would be very useful!

---

<div class="post-metadata">

**Author:** ![mpilgrem](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/mpilgrem/32/2529_2.png) [@mpilgrem](https://discourse.haskell.org/u/mpilgrem)\
**Post date:** [April 25, 2024, 8:44pm UTC](https://discourse.haskell.org/t/ghc-9-6-5-is-now-available/9341/18 "2024-04-25T20:44:15Z")

</div>

Stack’s global hints file ([stackage-content/stack/global-hints.yaml at master · commercialhaskell/stackage-content · GitHub](https://github.com/commercialhaskell/stackage-content/blob/master/stack/global-hints.yaml)) provides the information in YAML format.

---

<div class="post-metadata">

**Author:** ![philderbeast](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/philderbeast/32/2489_2.png) [@philderbeast](https://discourse.haskell.org/u/philderbeast)\
**Post date:** [April 25, 2024, 9:11pm UTC](https://discourse.haskell.org/t/ghc-9-6-5-is-now-available/9341/19 "2024-04-25T21:11:31Z")

</div>

A related issue is “Add GHC resolver endpoint, ghc-x.y.z/cabal.config?”, [stackage-server#322](https://github.com/commercialhaskell/stackage-server/issues/322#issuecomment-2068959199).

---

<div class="post-metadata">

**Author:** ![mpilgrem](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/mpilgrem/32/2529_2.png) [@mpilgrem](https://discourse.haskell.org/u/mpilgrem)\
**Post date:** [April 27, 2024, 11:30pm UTC](https://discourse.haskell.org/t/ghc-9-6-5-is-now-available/9341/20 "2024-04-27T23:30:01Z")

</div>

Given the demand, I’ve added the functionality to the `master` branch version of Stack:

```nohighlight
stack ls globals # List all global packages
stack list <package> # Now covers packages included indirectly in a snapshot

```

For example:

```nohighlight
> stack --snapshot ghc-9.4.5 ls globals
...
base-4.17.1.0
...

> stack --snapshot ghc-9.4.5 list Cabal
Cabal-3.8.1.0

```

[Next page](https://discourse.haskell.org/t/ghc-9-6-5-is-now-available/9341.md?page=2)
