4. Release notes for version 8.2.2¶
The significant changes to the various parts of the compiler are listed in the following sections. This is a patch-level release which contains numerous bug-fixes over 8.2.1.
4.1. Highlights¶
The highlights since the 8.0 release include:
Several important correctness issues fixing potential runtime crashes (Trac #13707, Trac #14346)
A correctness issue leading to undefined behavior in some programs making use of STM (Trac #14717)
A runtime system bug which may have manifested as a segmentation fault under low-memory conditions (Trac #14329)
ghc-pkg
now works correctly ihn environments with misconfigured NFS mounts (Trac #13945)GHC can now produce position-independent executables (Trac #13702)
Significantly improved type errors (Trac #11198, Trac #12373, Trac #13530, Trac #13610)
4.2. Full details¶
4.2.1. Package system¶
Various Backpack fixes (Trac #14304)
4.2.2. Language¶
Sum patterns are now considered to be non-irrefutable (Trac #14228).
-XApplicativeDo
is now able to more robustly deal withdo
blocks containing strict patterns (Trac #14163).
4.2.3. Compiler¶
- An implementation inconsistency leading to subtly typechecker panics with
-j ⟨n⟩
has been fixed.
We now always link with
libm
. This fixesld.gold
on some platforms (e.g. NixOS) which demand that we declare all link dependencies.We now link against
libpthread
instead oflibthr
on FreeBSDFix renamer bug triggered by typechecking
hs-boot
files containing orphan instances (Trac #14128)The cost-center profiler’s event-log support now also supports breakdown by closure type (
-hT
, Trac #14096)A bug resulting in Core Lint failures for some programs using
-XStaticPointers
in GHCi has been fixed (Trac #13481)The compiler now robustly handles constraint wildcards which expand to large tuple constraints (i.e. wider than 63 constraints)
We now catch more inappropriate levity polymorphism (Trac #13929)
A bug leading to data constructor fields having incorrect strictness signatures has been fixed (Trac #14290)
An incorrect strictness signature for
retry#
which may result in undefined behavior at runtime has been fixed (Trac #14171)A bug in the short-cut solver leading to an infinite in typechecking has been fixed (:ghc-tickets:`13943`)
The compiler no longer panics when faced with
ByteArray#
arguments in aforeign import
Over-zealous optimization of
Foreign.Marshal.Alloc.allocBytes[Aligned]
resulting in undefined behavior has been worked around (Trac #14346)
4.2.4. GHCi¶
GHCi now behaves correctly when Ctrl-C is pressed on Windows (Trac #14150)
GHCi now takes a
-show-mods-loaded
flag to reenable showing of names of modules loaded by:load
(Trac #14427)
4.2.5. Build system¶
configure
now probesld.gold
even ifld.lld
is found yetdetermined to be unusable (Trac #14280)
4.2.6. Runtime system¶
Compact regions now support small pointer arrays (Trac #13860)
The RTS can now load DLLs with with an empty import table on 32-bit Windows (Trac #14081)
The
-po
flag now works; previously it existed but had no function.
4.2.7. hsc2hs¶
Version number 0.68.2
4.3. Libraries¶
4.3.1. array¶
Version number 0.5.2.0 (was 0.5.2.0)
4.3.2. base¶
See changelog.md
in the base
package for full release notes.
Version number 4.10.1.0 (was 4.10.0.0)
clearBit :: Natural -> Natural
no longer bottoms (Trac #13203)The file locking primitives provided by
GHC.IO.Handle
now use Linux open file descriptor locking if available.
4.3.3. binary¶
Version number 0.8.5.1 (was 0.8.5.1)
4.3.4. bytestring¶
Version number 0.10.8.2 (was 0.10.8.2)
4.3.5. Cabal¶
Version number 2.0.1.0 (was 2.0.0.2)
4.3.6. containers¶
Version number 0.5.10.2 (was 0.5.10.2)
4.3.7. deepseq¶
Version number 1.4.3.0 (was 1.4.3.0)
4.3.8. directory¶
Version number 1.3.0.2 (was 1.3.0.0)
4.3.9. filepath¶
Version number 1.4.1.2 (was 1.4.1.2)
4.3.10. ghc¶
Version number 8.2.2
4.3.11. ghc-boot¶
This is an internal package. Use with caution.
4.3.12. ghc-compact¶
The ghc-compact
library provides an experimental API for placing immutable
data structures into a contiguous memory region. Data in these regions is not
traced during garbage collection and can be serialized to disk or over the
network.
Version number 0.1.0.0 (was 0.1.0.0)
4.3.13. ghc-prim¶
Version number 0.5.1.0 (was 0.5.1.0)
4.3.14. hoopl¶
Version number 3.10.2.2 (was 3.10.2.2)
4.3.15. hpc¶
Version number 0.6.0.3 (was 0.6.0.3)
4.3.16. integer-gmp¶
Version number 1.0.1.0 (was 1.0.0.1)
4.3.17. process¶
Version number 1.6.1.0 (was 1.6.1.0)
4.3.18. template-haskell¶
Version 2.12.0.0 (was 2.12.0.0)
4.3.19. time¶
Version number 1.8.0.2 (was 1.8.0.2)
4.3.20. unix¶
Version number 2.7.2.2 (was 2.7.2.2)
4.3.21. Win32¶
Version number 2.5.4.1 (was 2.5.4.1)
4.4. Known bugs¶
None, happily.