6. Release notes for version 8.8.4¶
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.
6.1. Highlights¶
Fixes a bug in process creation on Windows (Issue #17926).
Works around a Linux kernel bug in the implementation of
timerfd
s (Issue #18033).Fixes a few linking issues affecting ARM
Fixes “missing interface file” error triggered by some uses of
Ordering
(Issue #18185)Fixes an integer overflow in the compact-normal-form import implementation (Issue #16992)
configure
now accepts--enable-numa
flag to enable/disablenumactl
support on Linux.Fixes potentially lost sharing due to the desugaring of left operator sections (Issue #18151).
Fixes a build-system bug resulting in potential miscompilation by unregisteised compilers (Issue #18024)
6.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 ofunsafeCoerce
inData.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 thetouch#
is unreachable due to divergence or synchronous exception, resulting in memory unsoundness. Users requiringtouch#
behavior are advised to only usetouch#
to implement continuation-passing-style primitives (e.g. in the style ofwithForeignPtr
) bearingNOINLINE
pragmas (to avoid inappropriate simplification). See Issue #17760 for details.
6.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.4 | The compiler itself |
Cabal |
3.0.1.0 | Dependency of |
Win32 |
2.6.1.0 | Dependency of |
array |
0.5.4.0 | Dependency of |
base |
4.13.0.0 | Core library |
binary |
0.8.7.0 | Dependency of |
bytestring |
0.10.10.1 | Dependency of |
containers |
0.6.2.1 | Dependency of |
deepseq |
1.4.4.0 | Dependency of |
directory |
1.3.6.0 | Dependency of |
filepath |
1.4.2.1 | Dependency of |
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 |
hpc |
0.6.0.3 | Dependency of |
integer-gmp |
1.0.2.0 | Core library |
libiserv |
8.8.4 | Internal compiler library |
mtl |
2.2.2 | Dependency of |
parsec |
3.1.14.0 | Dependency of |
pretty |
1.1.3.6 | Dependency of |
process |
1.6.9.0 | Dependency of |
stm |
2.5.0.0 | Dependency of |
template-haskell |
2.15.0.0 | Core library |
terminfo |
0.4.1.4 | Dependency of |
text |
1.2.4.0 | Dependency of |
time |
1.9.3 | Dependency of |
transformers |
0.5.6.2 | Dependency of |
unix |
2.7.2.2 | Dependency of |
xhtml |
3000.2.2.1 | Dependency of |