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

# Glasgow Haskell Compiler User's Guide

# 4. Release notes for version 8.10.2

The significant changes to the various parts of the compiler are listed in the following sections.

Like previous releases in the 8.10 series, the `LLVM backend` of this release is to be used with LLVM 9.

## 4.1. Highlights

- A few important correctness fixes for the low-latency garbage collector. Users of `--nonmoving-gc` are strongly encouraged to upgrade promptly.

- Fixes a bug in process creation on Windows (#17926).

- Works around a Linux kernel bug in the implementation of `timerfd`s (#18033).

- Fixes a few specialiser regressions (#17810, #18120) as well introduces a variety of miscellaneous specialiser improvements (#16473, #17930, #17966)

- Fixes a potential loss of sharing due to left operator sections (#18151).

- Fix bootstrapping of GHC with the LLVM backend on x86-64 (#17920).

## 4.2. Full details

### 4.2.1. Compiler

> - A simplifier panic manifesting when DWARF debug information is enabled has been fixed (#18162, #17619)

### 4.2.2. Runtime system

> - The RTS now supports a flag, `--copying-gc`, to counter-act the effect of `--nonmoving-gc`.

> - The RTS now allows the user to specify a minimum time between idle GCs with the `-Iw ⟨seconds⟩` flag. 8.10.1 contained a users guide reference to this flag but did not include the associated implementation.

> - A memory leak in the cost-center profiler has been fixed (#18348)

> - A potential integer overflow in the compact normal form import logic has been fixed (#16992)

> - We now workaround a Linux kernel bug in the implementation of timerfd which could previously result in program crashes (#18033)

> - The cost center profiler’s JSON output backend now escapes backslashes correctly (#18438)

> - A variety of linker issues on ARM platforms have been fixed.

### 4.2.3. `base` library

- Fix a precision issue in the implementation of `log1mexp` (#17125)

### 4.2.4. Build system

> - Fix a bug wherein GHC would link against the non-thread-safe unique supply implementation when bootstrapping with an unregisterised compiler (#18024)

## 4.3. Known issues

- A long-standing bug (#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 #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.

  We expect that this issue will be fixed in the next major release of GHC.

## 4.4. 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.10.2 | The compiler itself
Cabal | 3.2.0.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.14.1.0 | Core library
binary | 0.8.8.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
exceptions | 0.10.4 | Dependency of `haskeline` library
filepath | 1.4.2.1 | Dependency of `ghc` library
ghc-boot-th | 8.10.2 | Internal compiler library
ghc-boot | 8.10.2 | Internal compiler library
ghc-compact | 0.1.0.0 | Core library
ghc-heap | 8.10.2 | GHC heap-walking library
ghc-prim | 0.6.1 | Core library
ghci | 8.10.2 | The REPL interface
haskeline | 0.8.0.1 | Dependency of `ghci` executable
hpc | 0.6.1.0 | Dependency of `hpc` executable
integer-gmp | 1.0.3.0 | Core library
libiserv | 8.10.2 | 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.9.0 | Dependency of `ghc` library
stm | 2.5.0.0 | Dependency of `haskeline` library
template-haskell | 2.16.0.0 | Core library
terminfo | 0.4.1.4 | Dependency of `haskeline` library
text | 1.2.3.2 | 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