4. Release notes for version 8.8.2 — Glasgow Haskell Compiler 8.8.3 User's Guide

# Glasgow Haskell Compiler User's Guide

# 4. Release notes for version 8.8.2

GHC 8.8.2 is a minor release intended to fix regressions and minor bugs in the 8.8.1.

## 4.1. Highlights

- A bug (Issue #17088) in the compacting garbage collector resulting in segmentation faults under specific circumstances. Note that this may affect user programs even if they did not explicitly request the compacting GC (using the `-c` RTS flag) since GHC may fallback to compacting collection during times of high memory pressure.
- A code generator bug (Issue #17334) resulting in GHC panics has been fixed.
- A bug in `process` causing builds using `hsc2hs` to fail non-deterministically on Windows has been fixed (Issue #17480)
- A typechecker bug (Issue #17112) resulting in GHC panicking on some programs has been fixed.
- A bug (Issue #16707) in the implementation of software transactional memory potentially resulting in hanging transactions has been fixed.
- A bug in the implementation of compact normal forms resulting in segmentation faults in some uses (Issue #17044) has been fixed.
- A bug causing GHC to incorrectly complain about incompatible LLVM versions when using LLVM 7.0.1 has been fixed (Issue #16990).

## 4.2. Known issues

- A long-standing bug (Issue #16893) which can cause some applications of `unsafeCoerce` to segmentation fault is only partially fixed in this release. This release only avoids this issue in the uses of `unsafeCoerce` in `Data.Typeable.Internal`, which was the proximate cause of Issue #16893.

  However, it is possible that this bug could manifest in user-code using `unsafeCoerce` to perform dynamic type checks. See the ticket for details.

## 4.3. Included libraries

The package database provided with this distribution also contains a number of packages other than GHC itself. See the changelogs provided with these packages for further change information.

Package | Version | Reason for inclusion
--- | --- | ---
ghc | 8.8.3 | The compiler itself
Cabal | 3.0.1.0 | Dependency of `ghc-pkg` utility
Win32 | 2.6.1.0 | Dependency of `ghc` library
array | 0.5.4.0 | Dependency of `ghc` library
base | 4.13.0.0 | Core library
binary | 0.8.7.0 | Dependency of `ghc` library
bytestring | 0.10.10.0 | Dependency of `ghc` library
containers | 0.6.2.1 | Dependency of `ghc` library
deepseq | 1.4.4.0 | Dependency of `ghc` library
directory | 1.3.6.0 | Dependency of `ghc` library
filepath | 1.4.2.1 | Dependency of `ghc` library
ghc-boot-th | 8.8.3 | Internal compiler library
ghc-boot | 8.8.3 | Internal compiler library
ghc-compact | 0.1.0.0 | Core library
ghc-heap | 8.8.3 | GHC heap-walking library
ghc-prim | 0.5.3 | Core library
ghci | 8.8.3 | The REPL interface
haskeline | 0.7.5.0 | Dependency of `ghci` executable
hpc | 0.6.0.3 | Dependency of `hpc` executable
integer-gmp | 1.0.2.0 | Core library
libiserv | 8.8.3 | Internal compiler library
mtl | 2.2.2 | Dependency of `Cabal` library
parsec | 3.1.14.0 | Dependency of `Cabal` library
pretty | 1.1.3.6 | Dependency of `ghc` library
process | 1.6.8.0 | Dependency of `ghc` library
stm | 2.5.0.0 | Dependency of `haskeline` library
template-haskell | 2.15.0.0 | Core library
terminfo | 0.4.1.4 | Dependency of `haskeline` library
text | 1.2.4.0 | Dependency of `Cabal` library
time | 1.9.3 | Dependency of `ghc` library
transformers | 0.5.6.2 | Dependency of `ghc` library
unix | 2.7.2.2 | Dependency of `ghc` library
xhtml | 3000.2.2.1 | Dependency of `haddock` executable