.. _release-9-4-8: Version 9.4.8 ============== The significant changes to the various parts of the compiler are listed in the following sections. The :ghc-flag:`LLVM backend <-fllvm>` of this release is to be used with LLVM 10, 11, 12, 13, or 14. Significant Changes ~~~~~~~~~~~~~~~~~~~~ Issues fixed in this release include: Compiler -------- - Fix a recompilation checking bug where GHC may miss changes in transitive dependencies when deciding to relink a program (:ghc-ticket:`23724`). - Fix a compiler panic resulting from incorrect eta-reduction of join points (:ghc-ticket:`23922`). - Fix a code generator bug on AArch64 platforms resulting in invalid conditional jumps (:ghc-ticket:`23746`). - Improve STG code generation in certain scenarios (:ghc-ticket:`23783`). - Fix a bug where we could silently truncate 64 bit values to 32 bit on 32 bit architectures. - Fix ``-split-sections`` on Windows (:ghc-ticket:`22834`). Runtime system -------------- - Remove an assertion prone to race conditions (:ghc-ticket:`22563`). - Fix some crashes and loops with the non-moving GC (:ghc-ticket:`24042, :ghc-ticket:`23003`). - Properly escape characters when writing JSON profiles (``-pJ``) (:ghc-ticket:`23924`). Build system and packaging -------------------------- - Ensure ``-split-sections`` is enabled while building binary distributions for all platforms where this is supported (:ghc-ticket:`21135`). - Make the configure script use ``AC_PATH_TOOL`` instead of ``AC_PATH_PROG`` to detect tools, making cross-compilation easier (:ghc-ticket:`21601`). - Fix a bug where ``-DNOSMP`` wasn't being passed to the C compiler even if the target doesn't support SMP (:ghc-ticket:`24082`). Core libraries -------------- - Bump ``base`` to 4.17.2.1 - Bump ``bytestring`` to 0.11.5.3 - Bump ``process`` to 1.6.18.0 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. .. ghc-package-list:: libraries/array/array.cabal: Dependency of ``ghc`` library libraries/base/base.cabal: Core library libraries/binary/binary.cabal: Dependency of ``ghc`` library libraries/bytestring/bytestring.cabal: Dependency of ``ghc`` library libraries/Cabal/Cabal/Cabal.cabal: Dependency of ``ghc-pkg`` utility libraries/Cabal/Cabal-syntax/Cabal-syntax.cabal: Dependency of ``ghc-pkg`` utility libraries/containers/containers/containers.cabal: Dependency of ``ghc`` library libraries/deepseq/deepseq.cabal: Dependency of ``ghc`` library libraries/directory/directory.cabal: Dependency of ``ghc`` library libraries/exceptions/exceptions.cabal: Dependency of ``ghc`` and ``haskeline`` library libraries/filepath/filepath.cabal: Dependency of ``ghc`` library compiler/ghc.cabal: The compiler itself libraries/ghci/ghci.cabal: The REPL interface libraries/ghc-boot/ghc-boot.cabal: Internal compiler library libraries/ghc-boot-th/ghc-boot-th.cabal: Internal compiler library libraries/ghc-compact/ghc-compact.cabal: Core library libraries/ghc-heap/ghc-heap.cabal: GHC heap-walking library libraries/ghc-prim/ghc-prim.cabal: Core library libraries/haskeline/haskeline.cabal: Dependency of ``ghci`` executable libraries/hpc/hpc.cabal: Dependency of ``hpc`` executable libraries/integer-gmp/integer-gmp.cabal: Core library libraries/libiserv/libiserv.cabal: Internal compiler library libraries/mtl/mtl.cabal: Dependency of ``Cabal`` library libraries/parsec/parsec.cabal: Dependency of ``Cabal`` library libraries/pretty/pretty.cabal: Dependency of ``ghc`` library libraries/process/process.cabal: Dependency of ``ghc`` library libraries/stm/stm.cabal: Dependency of ``haskeline`` library libraries/template-haskell/template-haskell.cabal: Core library libraries/terminfo/terminfo.cabal: Dependency of ``haskeline`` library libraries/text/text.cabal: Dependency of ``Cabal`` library libraries/time/time.cabal: Dependency of ``ghc`` library libraries/transformers/transformers.cabal: Dependency of ``ghc`` library libraries/unix/unix.cabal: Dependency of ``ghc`` library libraries/Win32/Win32.cabal: Dependency of ``ghc`` library libraries/xhtml/xhtml.cabal: Dependency of ``haddock`` executable