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-pkgnow 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).
-XApplicativeDois now able to more robustly deal withdoblocks 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.goldon some platforms (e.g. NixOS) which demand that we declare all link dependencies.We now link against
libpthreadinstead oflibthron FreeBSDFix renamer bug triggered by typechecking
hs-bootfiles 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
-XStaticPointersin 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 importOver-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-Cis pressed on Windows (Trac #14150) - GHCi now takes a
-show-mods-loadedflag to reenable showing of names of modules loaded by:load(Trac #14427)
4.2.5. Build system¶
configurenow probesld.goldeven ifld.lldis 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
-poflag 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 -> Naturalno longer bottoms (Trac #13203)- The file locking primitives provided by
GHC.IO.Handlenow 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.