# GHC 9.2.1 released

**URL:** <https://discourse.haskell.org/t/ghc-9-2-1-released/3527>\
**Category:** Announcements\
**Created:** [October 29, 2021, 3:14pm UTC](https://discourse.haskell.org/t/ghc-9-2-1-released/3527 "2021-10-29T15:14:33Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![bgamari](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/bgamari/32/3599_2.png) [@bgamari](https://discourse.haskell.org/u/bgamari)\
**Post date:** [October 29, 2021, 3:14pm UTC](https://discourse.haskell.org/t/ghc-9-2-1-released/3527/1 "2021-10-29T15:14:33Z")

</div>

The GHC developers are very happy to at long last announce the availability of GHC  
9.2.1. Binary distributions, source distributions, and documentation are  
available at [`downloads.haskell.org`](https://downloads.haskell.org/ghc/9.2.1).

GHC 9.2 brings a number of exciting features including:

- A native code generation backend for AArch64, significantly speeding  
compilation time on ARM platforms like the Apple M1.

- Many changes in the area of records, including the new  
`RecordDotSyntax` and `NoFieldSelectors` language extensions, as well  
as Support for `DuplicateRecordFields` with `PatternSynonyms`.

- Introduction of the new `GHC2021` language extension set, giving  
users convenient access to a larger set of language extensions which  
have been long considered stable.

- Merging of `ghc-exactprint` into the GHC tree, providing  
infrastructure for source-to-source program rewriting out-of-the-box.

- Introduction of a `BoxedRep` `RuntimeRep`, allowing for polymorphism  
over levity of boxed objects (#17526)

- Implementation of the `UnliftedDataTypes` extension, allowing users  
to define types which do not admit lazy evaluation ([proposal](https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0265-unlifted-datatypes.rst))

- The new [`-hi` profiling](https://well-typed.com/blog/2021/01/first-look-at-hi-profiling-mode/) mechanism which provides significantly  
improved insight into thunk leaks.

- Support for the [`ghc-debug`](http://ghc.gitlab.haskell.org/ghc-debug/) out-of-process heap inspection library

- Significant improvements in the bytecode interpreter, allowing more  
programs to be efficently run in GHCi and Template Haskell splices.

- Support for profiling of pinned objects with the cost-centre profiler  
(#7275)

- Faster compilation and a smaller memory footprint

- Introduction of Haddock documentation support in TemplateHaskell (#5467)

Finally, thank you to Microsoft Research, GitHub, IOHK, the Zw3rk stake  
pool, Tweag I/O, Serokell, Equinix, SimSpace, and other anonymous  
contributors whose on-going financial and in-kind support has  
facilitated GHC maintenance and release management over the years.  
Moreover, this release would not have been possible without the hundreds  
of open-source contributors whose work comprise this release.

As always, do open a [ticket](https://gitlab.haskell.org/ghc/ghc/-/issues/new) if you see anything amiss.

---

<div class="post-metadata">

**Author:** ![sjakobi](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/sjakobi/32/614_2.png) [@sjakobi](https://discourse.haskell.org/u/sjakobi)\
**Post date:** [October 29, 2021, 3:50pm UTC](https://discourse.haskell.org/t/ghc-9-2-1-released/3527/2 "2021-10-29T15:50:14Z")

</div>

Finally! 🙂 I’m looking forward to the compiler perf improvements!

---

<div class="post-metadata">

**Author:** ![ocharles](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/ocharles/32/102_2.png) [@ocharles](https://discourse.haskell.org/u/ocharles)\
**Post date:** [October 29, 2021, 4:17pm UTC](https://discourse.haskell.org/t/ghc-9-2-1-released/3527/3 "2021-10-29T16:17:58Z")

</div>

Huge thank you to everyone who’s made this release possible! I can’t wait to start using a whole bunch of these features, especially the changes to records. There’s a lot to love here 🥰

---

<div class="post-metadata">

**Author:** ![myShoggoth](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/myshoggoth/32/1877_2.png) [@myShoggoth](https://discourse.haskell.org/u/myShoggoth)\
**Post date:** [October 29, 2021, 4:26pm UTC](https://discourse.haskell.org/t/ghc-9-2-1-released/3527/4 "2021-10-29T16:26:37Z")

</div>

👋

Anyone who is willing to take (as detailed as you are willing) notes on what it takes to upgrade to 9.2.1, [please email or share them with me](mailto:andrew@haskell.foundation). I’m interested in the time and difficulties in particular, but I’m also happy to consolidate and create issues to help the GHC team.

---

<div class="post-metadata">

**Author:** ![wil](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/wil/32/1980_2.png) [@wil](https://discourse.haskell.org/u/wil)\
**Post date:** [October 29, 2021, 4:55pm UTC](https://discourse.haskell.org/t/ghc-9-2-1-released/3527/5 "2021-10-29T16:55:39Z")

</div>

YAY NEW UPDATE this is super cool especially the RecordDotSyntax 🇰🇵

---

<div class="post-metadata">

**Author:** ![george.fst](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/george.fst/32/4933_2.png) [@george.fst](https://discourse.haskell.org/u/george.fst)\
**Post date:** [October 29, 2021, 9:08pm UTC](https://discourse.haskell.org/t/ghc-9-2-1-released/3527/6 "2021-10-29T21:08:36Z")

</div>

Awesome. The full release notes: [https://downloads.haskell.org/~ghc/9.2.1/docs/html/users\_guide/9.2.1-notes.html](https://downloads.haskell.org/~ghc/9.2.1/docs/html/users_guide/9.2.1-notes.html).

(presumably an oversight not to include this link in OP)

---

<div class="post-metadata">

**Author:** ![qqwy](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/qqwy/32/1983_2.png) [@qqwy](https://discourse.haskell.org/u/qqwy)\
**Post date:** [October 29, 2021, 9:52pm UTC](https://discourse.haskell.org/t/ghc-9-2-1-released/3527/7 "2021-10-29T21:52:14Z")

</div>

Congradulations, and thank you all for your hard work to make this happen!

---

<div class="post-metadata">

**Author:** ![tcard](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/tcard/32/4823_2.png) [@tcard](https://discourse.haskell.org/u/tcard)\
**Post date:** [October 29, 2021, 10:07pm UTC](https://discourse.haskell.org/t/ghc-9-2-1-released/3527/8 "2021-10-29T22:07:37Z")

</div>

Thank you to everybody who worked on this! I am really looking forward to trying out many of the new features!

I noticed that the release is not yet listed on the [haskell.org/ghc](https://www.haskell.org/ghc/) page. Perhaps it is being prepared, but I am mentioning it in case it was overlooked.

---

<div class="post-metadata">

**Author:** ![artem](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.haskell.org/artem/32/56_2.png) [@artem](https://discourse.haskell.org/u/artem)\
**Post date:** [October 30, 2021, 12:05pm UTC](https://discourse.haskell.org/t/ghc-9-2-1-released/3527/9 "2021-10-30T12:05:26Z")

</div>

Great news! Thanks everyone involved!

Particularly excited about the new implementation of `ImpredicativeTypes` (see [release notes](https://downloads.haskell.org/~ghc/9.2.1/docs/html/users_guide/9.2.1-notes.html) for details).

---

<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:** [October 31, 2021, 11:01am UTC](https://discourse.haskell.org/t/ghc-9-2-1-released/3527/10 "2021-10-31T11:01:37Z")

</div>

The [original proposal](https://github.com/ghc-proposals/ghc-proposals/pull/282) called it `RecordDotSyntax` and the release notes say

> Many changes in the area of records, including the new  
> `RecordDotSyntax`

but an extension with that name doesn’t actually seem to exist

```haskell
% ghc-9.2 test12.hs
test12.hs:1:14: error: Unsupported extension: RecordDotSyntax
  |
1 | {-# LANGUAGE RecordDotSyntax #-}
  | ^^^^^^^^^^^^^^^

```

[It seems that](https://downloads.haskell.org/ghc/9.2.1-rc1/docs/html/users_guide/exts/overloaded_record_dot.html) the extension is actually called `OverloadedRecordDot`. Is that right?

---

<div class="post-metadata">

**Author:** ![adamgundry](https://avatars.discourse-cdn.com/v4/letter/a/34f0e0/32.png) [@adamgundry](https://discourse.haskell.org/u/adamgundry)\
**Post date:** [October 31, 2021, 7:09pm UTC](https://discourse.haskell.org/t/ghc-9-2-1-released/3527/11 "2021-10-31T19:09:04Z")

</div>

Yes, see this GHC proposal for context: [https://github.com/ghc-proposals/ghc-proposals/pull/405](https://github.com/ghc-proposals/ghc-proposals/pull/405)
