GHC 8.8.4 is a minor release intended to fix regressions and minor bugs in the 8.8.1, 8.8.2 and 8.8.3 releases.
Like previous releases in the 8.8 series, the LLVM backend of this release is to be used with LLVM 7.
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.
The simplifier can optimise away some applications of the touch# primop when it can prove that the touch# is unreachable due to divergence or synchronous exception, resulting in memory unsoundness. Users requiring touch# behavior are advised to only use touch# to implement continuation-passing-style primitives (e.g. in the style of withForeignPtr) bearing NOINLINE pragmas (to avoid inappropriate simplification). See Issue #17760 for details.
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.4 | 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.1 | 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.4 | Internal compiler library |
ghc-boot | 8.8.4 | Internal compiler library |
ghc-compact | 0.1.0.0 | Core library |
ghc-heap | 8.8.4 | GHC heap-walking library |
ghc-prim | 0.5.3 | Core library |
ghci | 8.8.4 | 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.4 | 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.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 |