From 650c34ab4e1cefb521209b143ecd75367ec03ee1 Mon Sep 17 00:00:00 2001
From: Zubin Duggal <zubin.duggal@gmail.com>
Date: Wed, 10 Apr 2024 18:16:56 +0530
Subject: [PATCH] Prepare release 9.6.5

Metric Increase:
    MultiLayerModulesTH_Make

Metric Decrease:
    MultiLayerModulesTH_Make
---
 configure.ac                                  |   2 +-
 docs/users_guide/9.6.3-notes.rst              |  39 ------
 docs/users_guide/9.6.4-notes.rst              |  39 ------
 docs/users_guide/9.6.5-notes.rst              | 111 ++++++++++++++++++
 docs/users_guide/release-notes.rst            |   1 +
 libraries/base/base.cabal                     |   2 +-
 libraries/base/changelog.md                   |   3 +
 .../cabal/bkpcabal02/bkpcabal02.stdout        |   2 +-
 testsuite/tests/cabal/t18567/T18567.stderr    |   2 +-
 9 files changed, 119 insertions(+), 82 deletions(-)
 create mode 100644 docs/users_guide/9.6.5-notes.rst

diff --git a/configure.ac b/configure.ac
index c47db816f30b..41f9e9b74731 100644
--- a/configure.ac
+++ b/configure.ac
@@ -13,7 +13,7 @@ dnl
 # see what flags are available. (Better yet, read the documentation!)
 #
 
-AC_INIT([The Glorious Glasgow Haskell Compilation System], [9.6.4], [glasgow-haskell-bugs@haskell.org], [ghc-AC_PACKAGE_VERSION])
+AC_INIT([The Glorious Glasgow Haskell Compilation System], [9.6.5], [glasgow-haskell-bugs@haskell.org], [ghc-AC_PACKAGE_VERSION])
     # Version on master must be X.Y (not X.Y.Z) for ProjectVersionMunged variable
     # to be useful (cf #19058). However, the version must have three components
     # (X.Y.Z) on stable branches (e.g. ghc-9.2) to ensure that pre-releases are
diff --git a/docs/users_guide/9.6.3-notes.rst b/docs/users_guide/9.6.3-notes.rst
index 09a24aa30dc2..5f8afd002950 100644
--- a/docs/users_guide/9.6.3-notes.rst
+++ b/docs/users_guide/9.6.3-notes.rst
@@ -149,42 +149,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.
-
-.. 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
-
diff --git a/docs/users_guide/9.6.4-notes.rst b/docs/users_guide/9.6.4-notes.rst
index afc913068836..6324184fc471 100644
--- a/docs/users_guide/9.6.4-notes.rst
+++ b/docs/users_guide/9.6.4-notes.rst
@@ -87,42 +87,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.
-
-.. 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
-
diff --git a/docs/users_guide/9.6.5-notes.rst b/docs/users_guide/9.6.5-notes.rst
new file mode 100644
index 000000000000..260afd5dcb37
--- /dev/null
+++ b/docs/users_guide/9.6.5-notes.rst
@@ -0,0 +1,111 @@
+.. _release-9.6.5:
+
+Version 9.6.5
+==============
+
+The significant changes to the various parts of the compiler are listed below.
+See the `migration guide
+<https://gitlab.haskell.org/ghc/ghc/-/wikis/migration/9.6>`_ on the GHC Wiki
+for specific guidance on migrating programs to this release.
+
+The :ghc-flag:`LLVM backend <-fllvm>` of this release is to be used with LLVM
+11, 12, 13, 14 or 15.
+
+Significant Changes
+~~~~~~~~~~~~~~~~~~~~
+
+Issues fixed in this release include:
+
+Compiler
+--------
+
+- Disable ``-fasm-shortcutting`` with ``-O2`` as it leads to unsound optimisations
+  (:ghc-ticket:`24462).
+- Fix a typechecker bug resulting in ``TYPE`` and ``CONSTRAINT`` being apart
+  (:ghc-ticket:`24279`).
+- Fix a bug resulting in incorrect runtime results due to a botched simplifier
+  pass (:ghc-ticket:`24295`).
+- Assign correct source spans to nested documentation comments in the AST (:ghc-ticket:`24378`).
+- Fix a bug causing suboptimal error messages for certain invalid cyclic
+  module graphs with hs-boot files (:ghc-ticket:`24196`, :ghc-ticket:`24275`).
+- Fix a bug resulting in infix ``(~)`` and ``(@)`` operators not being usable in
+  TH quotes (:ghc-ticket:`23748`).
+- Fix a bug arising from incorrect parsing of paths containing spaces in the
+  settings file (:ghc-ticket:`24265`).
+- Allow special pragmas to desugar correctly in a few more cases (:ghc-ticket:`24370`).
+
+Runtime system
+--------------
+
+- Fix an off-by-one while writing eventlogs (:ghc-ticket:`24287`).
+- Avoid segfaults with using ``-Dn`` with the non-moving collector (:ghc-ticket:`24393`).
+
+Build system and packaging
+--------------------------
+
+- Fix a bug resulting in the distributed ``hsc2hs`` wrapper using flags from the
+  compiler build environment (:ghc-ticket:`24050`).
+- Better compatibility for newer alex versions in the configure script (:ghc-ticket:`24302`).
+- Handle autotools adding the ``-std`` flag to the ``CC``/``CXX`` variables (:ghc-ticket:`24324`).
+- Fix a typo in the configure script resulting in the target for the linker being set incorrectly
+  when configuring a cross-compiler (:ghc-ticket:`24414`).
+- Do not override existing linker flags in ``FP_LD_NO_FIXUP_CHAINS``.
+- Ensure the ``genapply`` program is built with the write constants when cross compiling (:ghc-ticket:`24347`).
+- Ensure we take ``LDFLAGS`` into account when configuring a linker (:ghc-ticket:`24565`).
+- Fix a segfault with the non-moving GC (:ghc-ticket:`24492`).
+
+Core libraries
+--------------
+
+- Bump ``base`` to 4.18.2.1
+- Bump ``filepath`` to 1.4.300.1
+- Bump ``directory`` to 1.3.8.4
+- Bump ``Cabal`` to 3.10.3.0
+- Bump ``process`` to 1.6.19.0
+- Bump ``libffi-tarballs`` to 3.4.6
+
+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
+
diff --git a/docs/users_guide/release-notes.rst b/docs/users_guide/release-notes.rst
index bcc29bcc4b3a..441b322b6076 100644
--- a/docs/users_guide/release-notes.rst
+++ b/docs/users_guide/release-notes.rst
@@ -8,3 +8,4 @@ Release notes
    9.6.2-notes
    9.6.3-notes
    9.6.4-notes
+   9.6.5-notes
diff --git a/libraries/base/base.cabal b/libraries/base/base.cabal
index f771351ba994..73875967a15b 100644
--- a/libraries/base/base.cabal
+++ b/libraries/base/base.cabal
@@ -1,6 +1,6 @@
 cabal-version:  3.0
 name:           base
-version:        4.18.2.0
+version:        4.18.2.1
 -- NOTE: Don't forget to update ./changelog.md
 
 license:        BSD-3-Clause
diff --git a/libraries/base/changelog.md b/libraries/base/changelog.md
index 50ef50722672..b9a2a6dc9df9 100644
--- a/libraries/base/changelog.md
+++ b/libraries/base/changelog.md
@@ -1,5 +1,8 @@
 # Changelog for [`base` package](http://hackage.haskell.org/package/base)
 
+## 4.18.2.1 *April 2024*
+  * Various documentation improvements
+
 ## 4.18.2.0 *January 2024*
   * Update to [Unicode 15.1.0](https://www.unicode.org/versions/Unicode15.1.0/).
   * Improve String & IsString documentation.
diff --git a/testsuite/tests/backpack/cabal/bkpcabal02/bkpcabal02.stdout b/testsuite/tests/backpack/cabal/bkpcabal02/bkpcabal02.stdout
index 0e493a27bf53..b6c9cd4cae08 100644
--- a/testsuite/tests/backpack/cabal/bkpcabal02/bkpcabal02.stdout
+++ b/testsuite/tests/backpack/cabal/bkpcabal02/bkpcabal02.stdout
@@ -4,4 +4,4 @@ for bkpcabal01-0.1.0.0..
 Preprocessing library 'q' for bkpcabal01-0.1.0.0..
 Building library 'q' instantiated with H = <H>
 for bkpcabal01-0.1.0.0..
-[2 of 2] Instantiating bkpcabal01-0.1.0.0-1lAnZxoLksL6JibM6aQmCb-p
+[2 of 2] Instantiating bkpcabal01-0.1.0.0-KBjRdbt55q65bC24wEhN1Q-p
diff --git a/testsuite/tests/cabal/t18567/T18567.stderr b/testsuite/tests/cabal/t18567/T18567.stderr
index 052319b05b64..84c8120d17d8 100644
--- a/testsuite/tests/cabal/t18567/T18567.stderr
+++ b/testsuite/tests/cabal/t18567/T18567.stderr
@@ -2,4 +2,4 @@
 <no location info>: warning: [GHC-42258] [-Wunused-packages]
     The following packages were specified via -package or -package-id flags,
     but were not needed for compilation:
-      - internal-lib-0.1.0.0 (exposed by flag -package-id internal-lib-0.1.0.0-7jHSByQDwC214cJdttV4hN-sublib-unused)
+      - internal-lib-0.1.0.0 (exposed by flag -package-id internal-lib-0.1.0.0-85MtRTf8HPX4Uo1lkUlkVq-sublib-unused)
-- 
GitLab