diff --git a/.github/workflows/bootstrap.yml b/.github/workflows/bootstrap.yml
index 1165e6a138cde7ec46cbd4bd808232083461c481..97d66a8ccda73e9e3668516932aa7327256c72f2 100644
--- a/.github/workflows/bootstrap.yml
+++ b/.github/workflows/bootstrap.yml
@@ -19,10 +19,10 @@ jobs:
     strategy:
       matrix:
         os: [ubuntu-latest]
-        ghc: ["8.10.7", "9.0.2", "9.2.6", "9.4.4"]
+        ghc: ["8.10.7", "9.0.2", "9.2.8", "9.4.5"]
         include:
           - os: macos-latest
-            ghc: "9.2.6"
+            ghc: "9.2.8"
     name: Bootstrap ${{ matrix.os }} ghc-${{ matrix.ghc }}
     runs-on: ${{ matrix.os }}
     steps:
diff --git a/.github/workflows/validate.yml b/.github/workflows/validate.yml
index 29380501a5c092a18a505908f51c0dfcdbdfc4e2..252dc742e5f1e09385f88a3dfa71fc06878d4313 100644
--- a/.github/workflows/validate.yml
+++ b/.github/workflows/validate.yml
@@ -23,10 +23,10 @@ on:
 env:
   # We choose a stable ghc version across all os's
   # which will be used to do the next release
-  GHC_FOR_RELEASE: '9.2.3'
+  GHC_FOR_RELEASE: '9.2.8'
   # Ideally we should use the version about to be released for hackage tests and benchmarks
-  GHC_FOR_SOLVER_BENCHMARKS: '9.2.3'
-  GHC_FOR_COMPLETE_HACKAGE_TESTS: '9.2.3'
+  GHC_FOR_SOLVER_BENCHMARKS: '9.2.8'
+  GHC_FOR_COMPLETE_HACKAGE_TESTS: '9.2.8'
   COMMON_FLAGS: '-j 2 -v'
 
 jobs:
@@ -38,7 +38,7 @@ jobs:
     strategy:
       matrix:
         os: ["ubuntu-20.04", "macos-latest", "windows-latest"]
-        ghc: ["9.4.2", "9.2.3", "9.0.2", "8.10.7", "8.8.4", "8.6.5", "8.4.4"]
+        ghc: ["9.4.5", "9.2.8", "9.0.2", "8.10.7", "8.8.4", "8.6.5", "8.4.4"]
         exclude:
           # corrupts GHA cache or the fabric of reality itself, see https://github.com/haskell/cabal/issues/8356
           - os: "windows-latest"
@@ -71,7 +71,7 @@ jobs:
         id: setup-haskell
         with:
           ghc-version: ${{ matrix.ghc }}
-          cabal-version: '3.8.1.0'
+          cabal-version: '3.10.1.0'
 
       #  See the following link for a breakdown of the following step
       #  https://github.com/haskell/actions/issues/7#issuecomment-745697160
@@ -360,7 +360,7 @@ jobs:
         id: setup-haskell
         with:
           ghc-version: ${{ matrix.ghc }}
-          cabal-version: '3.8.1.0'
+          cabal-version: '3.10.1.0'
 
       # As we are reusing the cached build dir from the previous step
       # the generated artifacts are available here,
diff --git a/.github/workflows/whitespace.yml b/.github/workflows/whitespace.yml
index 1254f7ccc4e643fda0dbcc968de78e1c3f478889..9c759ee3e35a7a51e1d175a7f34569348b86323f 100644
--- a/.github/workflows/whitespace.yml
+++ b/.github/workflows/whitespace.yml
@@ -49,7 +49,7 @@ jobs:
     - name: Install fix-whitespace
       if: ${{ !steps.cache.outputs.cache-hit }}
       run: |
-        cabal install --ignore-project --install-method=copy --installdir=$HOME/.local/bin fix-whitespace-${{ env.fix-whitespace-ver }}
+        cabal install --constraint=aeson==2.1.2.1 --ignore-project --install-method=copy --installdir=$HOME/.local/bin fix-whitespace-${{ env.fix-whitespace-ver }}
         strip $HOME/.local/bin/fix-whitespace
 
     - name: Check the whitespace issue
diff --git a/Cabal-syntax/Cabal-syntax.cabal b/Cabal-syntax/Cabal-syntax.cabal
index d4039a55fb6fc93cf13b6f1198d5c046c8d05c6d..f74b827e34b75244661a6b4c3a2d2b46c9e6de4a 100644
--- a/Cabal-syntax/Cabal-syntax.cabal
+++ b/Cabal-syntax/Cabal-syntax.cabal
@@ -1,6 +1,6 @@
 cabal-version: 2.2
 name:          Cabal-syntax
-version:       3.10.1.0
+version:       3.10.2.0
 copyright:     2003-2023, Cabal Development Team (see AUTHORS file)
 license:       BSD-3-Clause
 license-file:  LICENSE
@@ -33,7 +33,7 @@ library
     binary     >= 0.7      && < 0.9,
     bytestring >= 0.10.0.0 && < 0.12,
     containers >= 0.5.0.0  && < 0.7,
-    deepseq    >= 1.3.0.1  && < 1.5,
+    deepseq    >= 1.3.0.1  && < 1.6,
     directory  >= 1.2      && < 1.4,
     filepath   >= 1.3.0.1  && < 1.5,
     mtl        >= 2.1      && < 2.4,
diff --git a/Cabal-syntax/src/Distribution/Compat/Prelude.hs b/Cabal-syntax/src/Distribution/Compat/Prelude.hs
index 954714dc8ab64026af0ca2882af16a13f2f12d5f..4c820e73c690717557af8b907f9fe2d5c6e8551b 100644
--- a/Cabal-syntax/src/Distribution/Compat/Prelude.hs
+++ b/Cabal-syntax/src/Distribution/Compat/Prelude.hs
@@ -186,7 +186,7 @@ import Data.Word                     (Word, Word16, Word32, Word64, Word8)
 import Distribution.Compat.Binary    (Binary (..))
 import Distribution.Compat.Semigroup (Semigroup (..), gmappend, gmempty)
 import Distribution.Compat.Typeable  (TypeRep, Typeable, typeRep)
-import GHC.Generics                  ((:*:) ((:*:)), (:+:) (L1, R1), Generic, K1 (unK1), M1 (unM1), Rep (..), U1 (U1), V1)
+import GHC.Generics                  (Generic (..), K1 (unK1), M1 (unM1), U1 (U1), V1, (:*:) ((:*:)), (:+:) (L1, R1))
 import System.Exit                   (ExitCode (..), exitFailure, exitSuccess, exitWith)
 import Text.Read                     (readMaybe)
 
diff --git a/Cabal/Cabal.cabal b/Cabal/Cabal.cabal
index bbe963f26d5837fbdca0eaf8aa033797c11f5657..da42b926e07b570900d2973acddef436947f03d7 100644
--- a/Cabal/Cabal.cabal
+++ b/Cabal/Cabal.cabal
@@ -1,6 +1,6 @@
 cabal-version: 2.2
 name:          Cabal
-version:       3.10.1.0
+version:       3.10.2.0
 copyright:     2003-2023, Cabal Development Team (see AUTHORS file)
 license:       BSD-3-Clause
 license-file:  LICENSE
@@ -39,7 +39,7 @@ library
     base       >= 4.9      && < 5,
     bytestring >= 0.10.0.0 && < 0.12,
     containers >= 0.5.0.0  && < 0.7,
-    deepseq    >= 1.3.0.1  && < 1.5,
+    deepseq    >= 1.3.0.1  && < 1.6,
     directory  >= 1.2      && < 1.4,
     filepath   >= 1.3.0.1  && < 1.5,
     pretty     >= 1.1.1    && < 1.2,
diff --git a/Cabal/Makefile b/Cabal/Makefile
index 8515826802fdcfe6265a700c72fcb2fedc4374ed..a76edf6206eda27e583b2bc75c5f6c6da649ec5a 100644
--- a/Cabal/Makefile
+++ b/Cabal/Makefile
@@ -1,4 +1,4 @@
-VERSION=3.10.1.0
+VERSION=3.10.2.0
 
 #KIND=devel
 KIND=rc
diff --git a/Cabal/src/Distribution/PackageDescription/Check.hs b/Cabal/src/Distribution/PackageDescription/Check.hs
index 4c14a6999b330cf457a679f3a2aa67413f13f2a8..9a79fb4f683fc6f439811660078ac0c243a5316d 100644
--- a/Cabal/src/Distribution/PackageDescription/Check.hs
+++ b/Cabal/src/Distribution/PackageDescription/Check.hs
@@ -1932,7 +1932,7 @@ checkConditionals pkg =
       PackageDistInexcusable (UnknownCompiler unknownImpls)
   ]
   where
-    unknownOSs    = [ os   | OS   (OtherOS os)           <- conditions ]
+    unknownOSs    = [ os   | OS   (OtherOS os)           <- conditions, os /= "haiku" ]
     unknownArches = [ arch | Arch (OtherArch arch)       <- conditions ]
     unknownImpls  = [ impl | Impl (OtherCompiler impl) _ <- conditions ]
     conditions = concatMap fvs (maybeToList (condLibrary pkg))
diff --git a/Cabal/src/Distribution/Simple/Haddock.hs b/Cabal/src/Distribution/Simple/Haddock.hs
index aa616ec0249d35389fdcb0c1b5af5dc4d92be09b..bc5c79f4e826d579152c76f2ace060a3789d6dac 100644
--- a/Cabal/src/Distribution/Simple/Haddock.hs
+++ b/Cabal/src/Distribution/Simple/Haddock.hs
@@ -709,7 +709,7 @@ renderPureArgs version comp platform args = concat
     , [ "--since-qual=external" | isVersion 2 20 ]
 
     , [ "--quickjump" | isVersion 2 19
-                      , _ <- flagToList . argQuickJump $ args ]
+                      , True <- flagToList . argQuickJump $ args ]
 
     , [ "--hyperlinked-source" | isVersion 2 17
                                , True <- flagToList . argLinkedSource $ args ]
diff --git a/Makefile b/Makefile
index 192f0696eb27eadddaddb22edd13db36421f67ce..c95c3274b0fd82cdd0ca0e2dbfce9c350cf07def 100644
--- a/Makefile
+++ b/Makefile
@@ -195,7 +195,7 @@ bootstrap-json-%: phony
 	cd bootstrap && cabal v2-run -v0 cabal-bootstrap-gen -- linux-$*.plan.json \
 		| python3 -m json.tool > linux-$*.json
 
-BOOTSTRAP_GHC_VERSIONS := 8.10.7 9.0.2 9.2.6 9.4.4
+BOOTSTRAP_GHC_VERSIONS := 8.10.7 9.0.2 9.2.8 9.4.5
 
 bootstrap-jsons: $(BOOTSTRAP_GHC_VERSIONS:%=bootstrap-json-%)
 
diff --git a/bootstrap/cabal-bootstrap-gen.cabal b/bootstrap/cabal-bootstrap-gen.cabal
index 64c5a098f655f3856f6037f64b9d07ebe47efd6a..7fa4c3149a1c4f4aba4ce0c9efe7702d28310f71 100644
--- a/bootstrap/cabal-bootstrap-gen.cabal
+++ b/bootstrap/cabal-bootstrap-gen.cabal
@@ -11,8 +11,8 @@ executable cabal-bootstrap-gen
     , aeson                  ^>=1.5.2.0  || ^>=2.0.3.0 || ^>=2.1.0.0
     , base                   ^>=4.12.0.0 || ^>=4.13.0.0 || ^>=4.14.0.0 || ^>=4.15.0.0 || ^>=4.16.0.0 || ^>=4.17.0.0
     , bytestring             ^>=0.10.8.2 || ^>=0.11.0.0
-    , Cabal                  ^>=3.2.0.0  || ^>=3.4.1.0  || ^>=3.6.3.0 || ^>=3.8.1.0 || ^>=3.10.1.0
-    , Cabal-syntax           ^>=3.8.1.0 || ^>=3.10.1.0
+    , Cabal                  ^>=3.2.0.0  || ^>=3.4.1.0  || ^>=3.6.3.0 || ^>=3.8.1.0 || ^>=3.10.2.0
+    , Cabal-syntax           ^>=3.8.1.0 || ^>=3.10.2.0
     , cabal-install-parsers  ^>=0.3.0.1  || ^>=0.4.5 || ^>=0.6
     , cabal-plan             ^>=0.7.0.0
     , containers             ^>=0.6.0.1
diff --git a/bootstrap/linux-8.10.7.json b/bootstrap/linux-8.10.7.json
index d60690f207563bdd22b335625b9ea673e3fea2f6..87d0aeb21a5dfe9b4c6e1588d3ff2036f44126c5 100644
--- a/bootstrap/linux-8.10.7.json
+++ b/bootstrap/linux-8.10.7.json
@@ -102,7 +102,7 @@
             "revision": null,
             "source": "local",
             "src_sha256": null,
-            "version": "3.10.1.0"
+            "version": "3.10.2.0"
         },
         {
             "cabal_sha256": "49d8a7f372d35363011591b253cae4c8db8b9ec594590448e20b7bed7acaee98",
@@ -120,24 +120,24 @@
             "revision": null,
             "source": "local",
             "src_sha256": null,
-            "version": "3.10.1.0"
+            "version": "3.10.2.0"
         },
         {
-            "cabal_sha256": "e3d78b13db9512aeb106e44a334ab42b7aa48d26c097299084084cb8be5c5568",
+            "cabal_sha256": "d50e055f45bd09a8238200ec64ffa0f17492c32cdb5807487894388ce1c2f839",
             "flags": [
                 "-devel"
             ],
             "package": "network",
             "revision": 0,
             "source": "hackage",
-            "src_sha256": "7f7620fef1a1af3d3d6747f510e73223a5c600e7d7fd9ace073d1222bdc63d85",
-            "version": "3.1.2.7"
+            "src_sha256": "b452a2afac95d9207357eb3820c719c7c7d27871ef4b6ed7bfcd03a036b9158e",
+            "version": "3.1.4.0"
         },
         {
-            "cabal_sha256": "6ca77c4e80b4e4109e30549c269631a9cc295c8fc2431ce4123972a5f80f7bfc",
+            "cabal_sha256": "e5ae7c083ef3a22248558f8451669bb1c55ea8090f5908b86b9033743c161730",
             "flags": [],
             "package": "th-compat",
-            "revision": 0,
+            "revision": 2,
             "source": "hackage",
             "src_sha256": "d8f97ac14ab47b6b8a7b0fdb4ff95426322ec56badd01652ac15da4a44d4bab8",
             "version": "0.1.4"
@@ -152,7 +152,7 @@
             "version": "2.6.4.2"
         },
         {
-            "cabal_sha256": "b878d575c470bd1f72d37af6654d924ab2b9489d88de8a71bd74d9d5d726c013",
+            "cabal_sha256": "d9220cc1b8c1f287248d650910710b96e62e54530772e3bcd19dbdec6547f8ae",
             "flags": [
                 "-conduit10",
                 "+network-uri",
@@ -160,19 +160,19 @@
                 "-warp-tests"
             ],
             "package": "HTTP",
-            "revision": 1,
+            "revision": 2,
             "source": "hackage",
             "src_sha256": "df31d8efec775124dab856d7177ddcba31be9f9e0836ebdab03d94392f2dd453",
             "version": "4000.4.1"
         },
         {
-            "cabal_sha256": "58d5514b688ec037f53b9d60097b9d87f6b3847da68f65124987d67222c3a334",
+            "cabal_sha256": "0bdd3486d3a1bcbed0513b46af4a13ca74b395313fa5b6e0068d6b7413b76a04",
             "flags": [],
             "package": "base-orphans",
             "revision": 0,
             "source": "hackage",
-            "src_sha256": "888fd67f0dbe932778f5b170922ce80d0dcab1680ee98f1d6fcc362f20d9e447",
-            "version": "0.8.7"
+            "src_sha256": "613ed4d8241ed5a648a59ae6569a6962990bb545711d020d49fb83fa12d16e62",
+            "version": "0.9.0"
         },
         {
             "cabal_sha256": "2ef1bd3511e82ba56f7f23cd793dd2da84338a1e7c2cbea5b151417afe3baada",
@@ -184,24 +184,24 @@
             "version": "0.1.0.1"
         },
         {
-            "cabal_sha256": "02acedd7ac829b52756fe481a1d53294d8f5d42aaa56df560c62c6cec3587a14",
+            "cabal_sha256": "585792335d5541dba78fa8dfcb291a89cd5812a281825ff7a44afa296ab5d58a",
             "flags": [
                 "+integer-gmp",
                 "-random-initial-seed"
             ],
             "package": "hashable",
-            "revision": 0,
+            "revision": 1,
             "source": "hackage",
             "src_sha256": "1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8",
             "version": "1.4.2.0"
         },
         {
-            "cabal_sha256": "2b9409023536823233ce3134558565d01b3382e651fa54ac8cb8a99967e023c9",
+            "cabal_sha256": "46367dc0c8326dcbeb7b93f200b567491c2f6029bccf822b8bb26ee660397e08",
             "flags": [
                 "-bench"
             ],
             "package": "async",
-            "revision": 2,
+            "revision": 3,
             "source": "hackage",
             "src_sha256": "484df85be0e76c4fed9376451e48e1d0c6e97952ce79735b72d54297e7e0a725",
             "version": "2.2.4"
@@ -267,13 +267,13 @@
             "version": "3.10.1.0"
         },
         {
-            "cabal_sha256": "facd0c04925ef925ec05243471fd16055229fdf51f64db1a1049de0cc6c6dfc3",
+            "cabal_sha256": "72ce9095872eae653addca5f412ac8070d6282d8e1c8578c2237c33f2cbbf4bc",
             "flags": [
                 "-exe",
                 "+use-cbits"
             ],
             "package": "cryptohash-sha256",
-            "revision": 1,
+            "revision": 2,
             "source": "hackage",
             "src_sha256": "73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6",
             "version": "0.11.102.1"
@@ -290,7 +290,7 @@
             "version": "0.1.4"
         },
         {
-            "cabal_sha256": "885c9e2410e5d91a08b199897df0867fecedf818216d7329a2d43a512833dd63",
+            "cabal_sha256": "3db04d7c18b9e68ba5eef3fa7eeca05e1e248958dd182290c8e6b010c81ef73e",
             "flags": [
                 "+no-donna",
                 "+test-doctests",
@@ -298,30 +298,30 @@
                 "+test-properties"
             ],
             "package": "ed25519",
-            "revision": 6,
+            "revision": 7,
             "source": "hackage",
             "src_sha256": "d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d",
             "version": "0.0.5.0"
         },
         {
-            "cabal_sha256": "efd4c08c4df1ac3f423858a834c0e3b5b4909febda66a901d12a8e1d57bddaa8",
+            "cabal_sha256": "9ab54ee4f80bbd8a3fddd639ea142b7039ee2deb27f7df031a93de1819e34146",
             "flags": [
                 "+ofd-locking"
             ],
             "package": "lukko",
-            "revision": 3,
+            "revision": 4,
             "source": "hackage",
             "src_sha256": "a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f",
             "version": "0.1.1.3"
         },
         {
-            "cabal_sha256": "bc14969ea4adfec6eee20264decf4a07c4002b38b2aa802d58d86b1a2cf7b895",
+            "cabal_sha256": "63dbcb0f507273a8331363e4c13a1fe91f4ea0c495883cf65f314629582a2630",
             "flags": [
                 "-old-bytestring",
                 "-old-time"
             ],
             "package": "tar",
-            "revision": 5,
+            "revision": 6,
             "source": "hackage",
             "src_sha256": "b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de",
             "version": "0.5.1.1"
@@ -340,7 +340,7 @@
             "version": "0.6.3.0"
         },
         {
-            "cabal_sha256": "18405474813b37ddfc27778c88c549f444661432224999068417dfab3471281e",
+            "cabal_sha256": "5b225c2d82f0b8f4168a6124840bae353e6b462b90fd1e07c846211ae9bcb5ed",
             "flags": [
                 "+base48",
                 "+cabal-syntax",
@@ -350,7 +350,7 @@
                 "+use-network-uri"
             ],
             "package": "hackage-security",
-            "revision": 2,
+            "revision": 3,
             "source": "hackage",
             "src_sha256": "52ee0576971955571d846b8e6c09638f89f4f7881f4a95173e44ccc0d856a066",
             "version": "0.6.2.3"
@@ -376,10 +376,10 @@
             "version": "0.96.0.1"
         },
         {
-            "cabal_sha256": "61e2d98ff634b8b4b3db467772420c0f9c79c2da9ddf3d2daeb2af2417f2c535",
+            "cabal_sha256": "a1f7edb255edae85ccb9d8001b26fea760f846aee0c6302b177eb59d613214e2",
             "flags": [],
             "package": "resolv",
-            "revision": 5,
+            "revision": 6,
             "source": "hackage",
             "src_sha256": "81a2bafad484db123cf8d17a02d98bb388a127fd0f822fa022589468a0e64671",
             "version": "0.1.2.0"
@@ -403,7 +403,7 @@
             "revision": null,
             "source": "local",
             "src_sha256": null,
-            "version": "3.10.1.0"
+            "version": "3.10.2.0"
         }
     ]
 }
diff --git a/bootstrap/linux-9.0.2.json b/bootstrap/linux-9.0.2.json
index e0015b5461b15e42b38c6aa1f2e97a5adba1cd31..381044d6327cbae95e7c90968b5357b988a150e2 100644
--- a/bootstrap/linux-9.0.2.json
+++ b/bootstrap/linux-9.0.2.json
@@ -102,7 +102,7 @@
             "revision": null,
             "source": "local",
             "src_sha256": null,
-            "version": "3.10.1.0"
+            "version": "3.10.2.0"
         },
         {
             "cabal_sha256": "49d8a7f372d35363011591b253cae4c8db8b9ec594590448e20b7bed7acaee98",
@@ -120,24 +120,24 @@
             "revision": null,
             "source": "local",
             "src_sha256": null,
-            "version": "3.10.1.0"
+            "version": "3.10.2.0"
         },
         {
-            "cabal_sha256": "e3d78b13db9512aeb106e44a334ab42b7aa48d26c097299084084cb8be5c5568",
+            "cabal_sha256": "d50e055f45bd09a8238200ec64ffa0f17492c32cdb5807487894388ce1c2f839",
             "flags": [
                 "-devel"
             ],
             "package": "network",
             "revision": 0,
             "source": "hackage",
-            "src_sha256": "7f7620fef1a1af3d3d6747f510e73223a5c600e7d7fd9ace073d1222bdc63d85",
-            "version": "3.1.2.7"
+            "src_sha256": "b452a2afac95d9207357eb3820c719c7c7d27871ef4b6ed7bfcd03a036b9158e",
+            "version": "3.1.4.0"
         },
         {
-            "cabal_sha256": "6ca77c4e80b4e4109e30549c269631a9cc295c8fc2431ce4123972a5f80f7bfc",
+            "cabal_sha256": "e5ae7c083ef3a22248558f8451669bb1c55ea8090f5908b86b9033743c161730",
             "flags": [],
             "package": "th-compat",
-            "revision": 0,
+            "revision": 2,
             "source": "hackage",
             "src_sha256": "d8f97ac14ab47b6b8a7b0fdb4ff95426322ec56badd01652ac15da4a44d4bab8",
             "version": "0.1.4"
@@ -152,7 +152,7 @@
             "version": "2.6.4.2"
         },
         {
-            "cabal_sha256": "b878d575c470bd1f72d37af6654d924ab2b9489d88de8a71bd74d9d5d726c013",
+            "cabal_sha256": "d9220cc1b8c1f287248d650910710b96e62e54530772e3bcd19dbdec6547f8ae",
             "flags": [
                 "-conduit10",
                 "+network-uri",
@@ -160,19 +160,19 @@
                 "-warp-tests"
             ],
             "package": "HTTP",
-            "revision": 1,
+            "revision": 2,
             "source": "hackage",
             "src_sha256": "df31d8efec775124dab856d7177ddcba31be9f9e0836ebdab03d94392f2dd453",
             "version": "4000.4.1"
         },
         {
-            "cabal_sha256": "58d5514b688ec037f53b9d60097b9d87f6b3847da68f65124987d67222c3a334",
+            "cabal_sha256": "0bdd3486d3a1bcbed0513b46af4a13ca74b395313fa5b6e0068d6b7413b76a04",
             "flags": [],
             "package": "base-orphans",
             "revision": 0,
             "source": "hackage",
-            "src_sha256": "888fd67f0dbe932778f5b170922ce80d0dcab1680ee98f1d6fcc362f20d9e447",
-            "version": "0.8.7"
+            "src_sha256": "613ed4d8241ed5a648a59ae6569a6962990bb545711d020d49fb83fa12d16e62",
+            "version": "0.9.0"
         },
         {
             "cabal_sha256": "2ef1bd3511e82ba56f7f23cd793dd2da84338a1e7c2cbea5b151417afe3baada",
@@ -184,24 +184,24 @@
             "version": "0.1.0.1"
         },
         {
-            "cabal_sha256": "02acedd7ac829b52756fe481a1d53294d8f5d42aaa56df560c62c6cec3587a14",
+            "cabal_sha256": "585792335d5541dba78fa8dfcb291a89cd5812a281825ff7a44afa296ab5d58a",
             "flags": [
                 "+integer-gmp",
                 "-random-initial-seed"
             ],
             "package": "hashable",
-            "revision": 0,
+            "revision": 1,
             "source": "hackage",
             "src_sha256": "1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8",
             "version": "1.4.2.0"
         },
         {
-            "cabal_sha256": "2b9409023536823233ce3134558565d01b3382e651fa54ac8cb8a99967e023c9",
+            "cabal_sha256": "46367dc0c8326dcbeb7b93f200b567491c2f6029bccf822b8bb26ee660397e08",
             "flags": [
                 "-bench"
             ],
             "package": "async",
-            "revision": 2,
+            "revision": 3,
             "source": "hackage",
             "src_sha256": "484df85be0e76c4fed9376451e48e1d0c6e97952ce79735b72d54297e7e0a725",
             "version": "2.2.4"
@@ -267,13 +267,13 @@
             "version": "3.10.1.0"
         },
         {
-            "cabal_sha256": "facd0c04925ef925ec05243471fd16055229fdf51f64db1a1049de0cc6c6dfc3",
+            "cabal_sha256": "72ce9095872eae653addca5f412ac8070d6282d8e1c8578c2237c33f2cbbf4bc",
             "flags": [
                 "-exe",
                 "+use-cbits"
             ],
             "package": "cryptohash-sha256",
-            "revision": 1,
+            "revision": 2,
             "source": "hackage",
             "src_sha256": "73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6",
             "version": "0.11.102.1"
@@ -290,7 +290,7 @@
             "version": "0.1.4"
         },
         {
-            "cabal_sha256": "885c9e2410e5d91a08b199897df0867fecedf818216d7329a2d43a512833dd63",
+            "cabal_sha256": "3db04d7c18b9e68ba5eef3fa7eeca05e1e248958dd182290c8e6b010c81ef73e",
             "flags": [
                 "+no-donna",
                 "+test-doctests",
@@ -298,30 +298,30 @@
                 "+test-properties"
             ],
             "package": "ed25519",
-            "revision": 6,
+            "revision": 7,
             "source": "hackage",
             "src_sha256": "d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d",
             "version": "0.0.5.0"
         },
         {
-            "cabal_sha256": "efd4c08c4df1ac3f423858a834c0e3b5b4909febda66a901d12a8e1d57bddaa8",
+            "cabal_sha256": "9ab54ee4f80bbd8a3fddd639ea142b7039ee2deb27f7df031a93de1819e34146",
             "flags": [
                 "+ofd-locking"
             ],
             "package": "lukko",
-            "revision": 3,
+            "revision": 4,
             "source": "hackage",
             "src_sha256": "a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f",
             "version": "0.1.1.3"
         },
         {
-            "cabal_sha256": "bc14969ea4adfec6eee20264decf4a07c4002b38b2aa802d58d86b1a2cf7b895",
+            "cabal_sha256": "63dbcb0f507273a8331363e4c13a1fe91f4ea0c495883cf65f314629582a2630",
             "flags": [
                 "-old-bytestring",
                 "-old-time"
             ],
             "package": "tar",
-            "revision": 5,
+            "revision": 6,
             "source": "hackage",
             "src_sha256": "b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de",
             "version": "0.5.1.1"
@@ -340,7 +340,7 @@
             "version": "0.6.3.0"
         },
         {
-            "cabal_sha256": "18405474813b37ddfc27778c88c549f444661432224999068417dfab3471281e",
+            "cabal_sha256": "5b225c2d82f0b8f4168a6124840bae353e6b462b90fd1e07c846211ae9bcb5ed",
             "flags": [
                 "+base48",
                 "+cabal-syntax",
@@ -350,7 +350,7 @@
                 "+use-network-uri"
             ],
             "package": "hackage-security",
-            "revision": 2,
+            "revision": 3,
             "source": "hackage",
             "src_sha256": "52ee0576971955571d846b8e6c09638f89f4f7881f4a95173e44ccc0d856a066",
             "version": "0.6.2.3"
@@ -376,10 +376,10 @@
             "version": "0.96.0.1"
         },
         {
-            "cabal_sha256": "61e2d98ff634b8b4b3db467772420c0f9c79c2da9ddf3d2daeb2af2417f2c535",
+            "cabal_sha256": "a1f7edb255edae85ccb9d8001b26fea760f846aee0c6302b177eb59d613214e2",
             "flags": [],
             "package": "resolv",
-            "revision": 5,
+            "revision": 6,
             "source": "hackage",
             "src_sha256": "81a2bafad484db123cf8d17a02d98bb388a127fd0f822fa022589468a0e64671",
             "version": "0.1.2.0"
@@ -403,7 +403,7 @@
             "revision": null,
             "source": "local",
             "src_sha256": null,
-            "version": "3.10.1.0"
+            "version": "3.10.2.0"
         }
     ]
 }
diff --git a/bootstrap/linux-9.2.6.json b/bootstrap/linux-9.2.8.json
similarity index 89%
rename from bootstrap/linux-9.2.6.json
rename to bootstrap/linux-9.2.8.json
index c1eab1720e79cc1def71734d490fe6a48f7fd088..f9485f85557b596089a2256e1602c835bb9bee37 100644
--- a/bootstrap/linux-9.2.6.json
+++ b/bootstrap/linux-9.2.8.json
@@ -26,7 +26,7 @@
         },
         {
             "package": "ghc-boot-th",
-            "version": "9.2.6"
+            "version": "9.2.8"
         },
         {
             "package": "pretty",
@@ -102,7 +102,7 @@
             "revision": null,
             "source": "local",
             "src_sha256": null,
-            "version": "3.10.1.0"
+            "version": "3.10.2.0"
         },
         {
             "cabal_sha256": "49d8a7f372d35363011591b253cae4c8db8b9ec594590448e20b7bed7acaee98",
@@ -120,24 +120,24 @@
             "revision": null,
             "source": "local",
             "src_sha256": null,
-            "version": "3.10.1.0"
+            "version": "3.10.2.0"
         },
         {
-            "cabal_sha256": "e3d78b13db9512aeb106e44a334ab42b7aa48d26c097299084084cb8be5c5568",
+            "cabal_sha256": "d50e055f45bd09a8238200ec64ffa0f17492c32cdb5807487894388ce1c2f839",
             "flags": [
                 "-devel"
             ],
             "package": "network",
             "revision": 0,
             "source": "hackage",
-            "src_sha256": "7f7620fef1a1af3d3d6747f510e73223a5c600e7d7fd9ace073d1222bdc63d85",
-            "version": "3.1.2.7"
+            "src_sha256": "b452a2afac95d9207357eb3820c719c7c7d27871ef4b6ed7bfcd03a036b9158e",
+            "version": "3.1.4.0"
         },
         {
-            "cabal_sha256": "6ca77c4e80b4e4109e30549c269631a9cc295c8fc2431ce4123972a5f80f7bfc",
+            "cabal_sha256": "e5ae7c083ef3a22248558f8451669bb1c55ea8090f5908b86b9033743c161730",
             "flags": [],
             "package": "th-compat",
-            "revision": 0,
+            "revision": 2,
             "source": "hackage",
             "src_sha256": "d8f97ac14ab47b6b8a7b0fdb4ff95426322ec56badd01652ac15da4a44d4bab8",
             "version": "0.1.4"
@@ -152,7 +152,7 @@
             "version": "2.6.4.2"
         },
         {
-            "cabal_sha256": "b878d575c470bd1f72d37af6654d924ab2b9489d88de8a71bd74d9d5d726c013",
+            "cabal_sha256": "d9220cc1b8c1f287248d650910710b96e62e54530772e3bcd19dbdec6547f8ae",
             "flags": [
                 "-conduit10",
                 "+network-uri",
@@ -160,7 +160,7 @@
                 "-warp-tests"
             ],
             "package": "HTTP",
-            "revision": 1,
+            "revision": 2,
             "source": "hackage",
             "src_sha256": "df31d8efec775124dab856d7177ddcba31be9f9e0836ebdab03d94392f2dd453",
             "version": "4000.4.1"
@@ -175,24 +175,24 @@
             "version": "0.1.0.1"
         },
         {
-            "cabal_sha256": "02acedd7ac829b52756fe481a1d53294d8f5d42aaa56df560c62c6cec3587a14",
+            "cabal_sha256": "585792335d5541dba78fa8dfcb291a89cd5812a281825ff7a44afa296ab5d58a",
             "flags": [
                 "+integer-gmp",
                 "-random-initial-seed"
             ],
             "package": "hashable",
-            "revision": 0,
+            "revision": 1,
             "source": "hackage",
             "src_sha256": "1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8",
             "version": "1.4.2.0"
         },
         {
-            "cabal_sha256": "2b9409023536823233ce3134558565d01b3382e651fa54ac8cb8a99967e023c9",
+            "cabal_sha256": "46367dc0c8326dcbeb7b93f200b567491c2f6029bccf822b8bb26ee660397e08",
             "flags": [
                 "-bench"
             ],
             "package": "async",
-            "revision": 2,
+            "revision": 3,
             "source": "hackage",
             "src_sha256": "484df85be0e76c4fed9376451e48e1d0c6e97952ce79735b72d54297e7e0a725",
             "version": "2.2.4"
@@ -258,13 +258,13 @@
             "version": "3.10.1.0"
         },
         {
-            "cabal_sha256": "facd0c04925ef925ec05243471fd16055229fdf51f64db1a1049de0cc6c6dfc3",
+            "cabal_sha256": "72ce9095872eae653addca5f412ac8070d6282d8e1c8578c2237c33f2cbbf4bc",
             "flags": [
                 "-exe",
                 "+use-cbits"
             ],
             "package": "cryptohash-sha256",
-            "revision": 1,
+            "revision": 2,
             "source": "hackage",
             "src_sha256": "73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6",
             "version": "0.11.102.1"
@@ -281,7 +281,7 @@
             "version": "0.1.4"
         },
         {
-            "cabal_sha256": "885c9e2410e5d91a08b199897df0867fecedf818216d7329a2d43a512833dd63",
+            "cabal_sha256": "3db04d7c18b9e68ba5eef3fa7eeca05e1e248958dd182290c8e6b010c81ef73e",
             "flags": [
                 "+no-donna",
                 "+test-doctests",
@@ -289,30 +289,30 @@
                 "+test-properties"
             ],
             "package": "ed25519",
-            "revision": 6,
+            "revision": 7,
             "source": "hackage",
             "src_sha256": "d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d",
             "version": "0.0.5.0"
         },
         {
-            "cabal_sha256": "efd4c08c4df1ac3f423858a834c0e3b5b4909febda66a901d12a8e1d57bddaa8",
+            "cabal_sha256": "9ab54ee4f80bbd8a3fddd639ea142b7039ee2deb27f7df031a93de1819e34146",
             "flags": [
                 "+ofd-locking"
             ],
             "package": "lukko",
-            "revision": 3,
+            "revision": 4,
             "source": "hackage",
             "src_sha256": "a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f",
             "version": "0.1.1.3"
         },
         {
-            "cabal_sha256": "bc14969ea4adfec6eee20264decf4a07c4002b38b2aa802d58d86b1a2cf7b895",
+            "cabal_sha256": "63dbcb0f507273a8331363e4c13a1fe91f4ea0c495883cf65f314629582a2630",
             "flags": [
                 "-old-bytestring",
                 "-old-time"
             ],
             "package": "tar",
-            "revision": 5,
+            "revision": 6,
             "source": "hackage",
             "src_sha256": "b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de",
             "version": "0.5.1.1"
@@ -331,7 +331,7 @@
             "version": "0.6.3.0"
         },
         {
-            "cabal_sha256": "18405474813b37ddfc27778c88c549f444661432224999068417dfab3471281e",
+            "cabal_sha256": "5b225c2d82f0b8f4168a6124840bae353e6b462b90fd1e07c846211ae9bcb5ed",
             "flags": [
                 "+base48",
                 "+cabal-syntax",
@@ -341,7 +341,7 @@
                 "+use-network-uri"
             ],
             "package": "hackage-security",
-            "revision": 2,
+            "revision": 3,
             "source": "hackage",
             "src_sha256": "52ee0576971955571d846b8e6c09638f89f4f7881f4a95173e44ccc0d856a066",
             "version": "0.6.2.3"
@@ -367,10 +367,10 @@
             "version": "0.96.0.1"
         },
         {
-            "cabal_sha256": "61e2d98ff634b8b4b3db467772420c0f9c79c2da9ddf3d2daeb2af2417f2c535",
+            "cabal_sha256": "a1f7edb255edae85ccb9d8001b26fea760f846aee0c6302b177eb59d613214e2",
             "flags": [],
             "package": "resolv",
-            "revision": 5,
+            "revision": 6,
             "source": "hackage",
             "src_sha256": "81a2bafad484db123cf8d17a02d98bb388a127fd0f822fa022589468a0e64671",
             "version": "0.1.2.0"
@@ -394,7 +394,7 @@
             "revision": null,
             "source": "local",
             "src_sha256": null,
-            "version": "3.10.1.0"
+            "version": "3.10.2.0"
         }
     ]
 }
diff --git a/bootstrap/linux-9.4.4.json b/bootstrap/linux-9.4.5.json
similarity index 86%
rename from bootstrap/linux-9.4.4.json
rename to bootstrap/linux-9.4.5.json
index 33c80f8b8213ca805ca47010a18e2b354cca3f41..dc533481ea93cd2865dc94a220ad4cc35730bd16 100644
--- a/bootstrap/linux-9.4.4.json
+++ b/bootstrap/linux-9.4.5.json
@@ -14,7 +14,7 @@
         },
         {
             "package": "base",
-            "version": "4.17.0.0"
+            "version": "4.17.1.0"
         },
         {
             "package": "array",
@@ -26,7 +26,7 @@
         },
         {
             "package": "ghc-boot-th",
-            "version": "9.4.4"
+            "version": "9.4.5"
         },
         {
             "package": "pretty",
@@ -38,11 +38,11 @@
         },
         {
             "package": "bytestring",
-            "version": "0.11.3.1"
+            "version": "0.11.4.0"
         },
         {
             "package": "containers",
-            "version": "0.6.6"
+            "version": "0.6.7"
         },
         {
             "package": "binary",
@@ -74,11 +74,11 @@
         },
         {
             "package": "text",
-            "version": "2.0.1"
+            "version": "2.0.2"
         },
         {
             "package": "parsec",
-            "version": "3.1.15.0"
+            "version": "3.1.16.1"
         },
         {
             "package": "process",
@@ -101,7 +101,7 @@
             "revision": null,
             "source": "local",
             "src_sha256": null,
-            "version": "3.10.1.0"
+            "version": "3.10.2.0"
         },
         {
             "cabal_sha256": null,
@@ -110,24 +110,24 @@
             "revision": null,
             "source": "local",
             "src_sha256": null,
-            "version": "3.10.1.0"
+            "version": "3.10.2.0"
         },
         {
-            "cabal_sha256": "e3d78b13db9512aeb106e44a334ab42b7aa48d26c097299084084cb8be5c5568",
+            "cabal_sha256": "d50e055f45bd09a8238200ec64ffa0f17492c32cdb5807487894388ce1c2f839",
             "flags": [
                 "-devel"
             ],
             "package": "network",
             "revision": 0,
             "source": "hackage",
-            "src_sha256": "7f7620fef1a1af3d3d6747f510e73223a5c600e7d7fd9ace073d1222bdc63d85",
-            "version": "3.1.2.7"
+            "src_sha256": "b452a2afac95d9207357eb3820c719c7c7d27871ef4b6ed7bfcd03a036b9158e",
+            "version": "3.1.4.0"
         },
         {
-            "cabal_sha256": "6ca77c4e80b4e4109e30549c269631a9cc295c8fc2431ce4123972a5f80f7bfc",
+            "cabal_sha256": "e5ae7c083ef3a22248558f8451669bb1c55ea8090f5908b86b9033743c161730",
             "flags": [],
             "package": "th-compat",
-            "revision": 0,
+            "revision": 2,
             "source": "hackage",
             "src_sha256": "d8f97ac14ab47b6b8a7b0fdb4ff95426322ec56badd01652ac15da4a44d4bab8",
             "version": "0.1.4"
@@ -142,7 +142,7 @@
             "version": "2.6.4.2"
         },
         {
-            "cabal_sha256": "b878d575c470bd1f72d37af6654d924ab2b9489d88de8a71bd74d9d5d726c013",
+            "cabal_sha256": "d9220cc1b8c1f287248d650910710b96e62e54530772e3bcd19dbdec6547f8ae",
             "flags": [
                 "-conduit10",
                 "+network-uri",
@@ -150,30 +150,30 @@
                 "-warp-tests"
             ],
             "package": "HTTP",
-            "revision": 1,
+            "revision": 2,
             "source": "hackage",
             "src_sha256": "df31d8efec775124dab856d7177ddcba31be9f9e0836ebdab03d94392f2dd453",
             "version": "4000.4.1"
         },
         {
-            "cabal_sha256": "02acedd7ac829b52756fe481a1d53294d8f5d42aaa56df560c62c6cec3587a14",
+            "cabal_sha256": "585792335d5541dba78fa8dfcb291a89cd5812a281825ff7a44afa296ab5d58a",
             "flags": [
                 "+integer-gmp",
                 "-random-initial-seed"
             ],
             "package": "hashable",
-            "revision": 0,
+            "revision": 1,
             "source": "hackage",
             "src_sha256": "1b4000ea82b81f69d46d0af4152c10c6303873510738e24cfc4767760d30e3f8",
             "version": "1.4.2.0"
         },
         {
-            "cabal_sha256": "2b9409023536823233ce3134558565d01b3382e651fa54ac8cb8a99967e023c9",
+            "cabal_sha256": "46367dc0c8326dcbeb7b93f200b567491c2f6029bccf822b8bb26ee660397e08",
             "flags": [
                 "-bench"
             ],
             "package": "async",
-            "revision": 2,
+            "revision": 3,
             "source": "hackage",
             "src_sha256": "484df85be0e76c4fed9376451e48e1d0c6e97952ce79735b72d54297e7e0a725",
             "version": "2.2.4"
@@ -239,13 +239,13 @@
             "version": "3.10.1.0"
         },
         {
-            "cabal_sha256": "facd0c04925ef925ec05243471fd16055229fdf51f64db1a1049de0cc6c6dfc3",
+            "cabal_sha256": "72ce9095872eae653addca5f412ac8070d6282d8e1c8578c2237c33f2cbbf4bc",
             "flags": [
                 "-exe",
                 "+use-cbits"
             ],
             "package": "cryptohash-sha256",
-            "revision": 1,
+            "revision": 2,
             "source": "hackage",
             "src_sha256": "73a7dc7163871a80837495039a099967b11f5c4fe70a118277842f7a713c6bf6",
             "version": "0.11.102.1"
@@ -262,7 +262,7 @@
             "version": "0.1.4"
         },
         {
-            "cabal_sha256": "885c9e2410e5d91a08b199897df0867fecedf818216d7329a2d43a512833dd63",
+            "cabal_sha256": "3db04d7c18b9e68ba5eef3fa7eeca05e1e248958dd182290c8e6b010c81ef73e",
             "flags": [
                 "+no-donna",
                 "+test-doctests",
@@ -270,30 +270,30 @@
                 "+test-properties"
             ],
             "package": "ed25519",
-            "revision": 6,
+            "revision": 7,
             "source": "hackage",
             "src_sha256": "d8a5958ebfa9309790efade64275dc5c441b568645c45ceed1b0c6ff36d6156d",
             "version": "0.0.5.0"
         },
         {
-            "cabal_sha256": "efd4c08c4df1ac3f423858a834c0e3b5b4909febda66a901d12a8e1d57bddaa8",
+            "cabal_sha256": "9ab54ee4f80bbd8a3fddd639ea142b7039ee2deb27f7df031a93de1819e34146",
             "flags": [
                 "+ofd-locking"
             ],
             "package": "lukko",
-            "revision": 3,
+            "revision": 4,
             "source": "hackage",
             "src_sha256": "a80efb60cfa3dae18682c01980d76d5f7e413e191cd186992e1bf7388d48ab1f",
             "version": "0.1.1.3"
         },
         {
-            "cabal_sha256": "bc14969ea4adfec6eee20264decf4a07c4002b38b2aa802d58d86b1a2cf7b895",
+            "cabal_sha256": "63dbcb0f507273a8331363e4c13a1fe91f4ea0c495883cf65f314629582a2630",
             "flags": [
                 "-old-bytestring",
                 "-old-time"
             ],
             "package": "tar",
-            "revision": 5,
+            "revision": 6,
             "source": "hackage",
             "src_sha256": "b384449f62b2b0aa3e6d2cb1004b8060b01f21ec93e7b63e7af6d8fad8a9f1de",
             "version": "0.5.1.1"
@@ -312,7 +312,7 @@
             "version": "0.6.3.0"
         },
         {
-            "cabal_sha256": "18405474813b37ddfc27778c88c549f444661432224999068417dfab3471281e",
+            "cabal_sha256": "5b225c2d82f0b8f4168a6124840bae353e6b462b90fd1e07c846211ae9bcb5ed",
             "flags": [
                 "+base48",
                 "+cabal-syntax",
@@ -322,7 +322,7 @@
                 "+use-network-uri"
             ],
             "package": "hackage-security",
-            "revision": 2,
+            "revision": 3,
             "source": "hackage",
             "src_sha256": "52ee0576971955571d846b8e6c09638f89f4f7881f4a95173e44ccc0d856a066",
             "version": "0.6.2.3"
@@ -348,10 +348,10 @@
             "version": "0.96.0.1"
         },
         {
-            "cabal_sha256": "61e2d98ff634b8b4b3db467772420c0f9c79c2da9ddf3d2daeb2af2417f2c535",
+            "cabal_sha256": "a1f7edb255edae85ccb9d8001b26fea760f846aee0c6302b177eb59d613214e2",
             "flags": [],
             "package": "resolv",
-            "revision": 5,
+            "revision": 6,
             "source": "hackage",
             "src_sha256": "81a2bafad484db123cf8d17a02d98bb388a127fd0f822fa022589468a0e64671",
             "version": "0.1.2.0"
@@ -375,7 +375,7 @@
             "revision": null,
             "source": "local",
             "src_sha256": null,
-            "version": "3.10.1.0"
+            "version": "3.10.2.0"
         }
     ]
 }
diff --git a/cabal-install/cabal-install.cabal b/cabal-install/cabal-install.cabal
index c9f7f98223d0382698a5b0a80a37f0330cbc53ab..2cae6726b2a81e1580331fc97712768a0b2e0e80 100644
--- a/cabal-install/cabal-install.cabal
+++ b/cabal-install/cabal-install.cabal
@@ -1,7 +1,7 @@
 Cabal-Version:      2.2
 
 Name:               cabal-install
-Version:            3.10.1.0
+Version:            3.10.2.0
 Synopsis:           The command-line interface for Cabal and Hackage.
 Description:
     The \'cabal\' command-line program simplifies the process of managing
@@ -237,7 +237,7 @@ library
       if os(windows)
         build-depends: windns      >= 0.1.0 && < 0.2
       else
-        build-depends: resolv      >= 0.1.1 && < 0.2
+        build-depends: resolv      >= 0.1.1 && < 0.3
 
     if os(windows)
       -- newer directory for symlinks
diff --git a/cabal-testsuite/PackageTests/CustomPreProcess/cabal.test.hs b/cabal-testsuite/PackageTests/CustomPreProcess/cabal.test.hs
index b492140b4ed55f630a29e8637d571e52fa70f1a8..93588d88c3f9b9efca7be9632d51d8325892c992 100644
--- a/cabal-testsuite/PackageTests/CustomPreProcess/cabal.test.hs
+++ b/cabal-testsuite/PackageTests/CustomPreProcess/cabal.test.hs
@@ -1,9 +1,6 @@
 import Test.Cabal.Prelude
 -- Test internal custom preprocessor
 main = cabalTest $ do
-  isWin <- isWindows
-  ghc94 <- isGhcVersion "== 9.4.*"
-  expectBrokenIf (isWin && ghc94) 8451 $ do
     skipUnless "no Cabal for GHC" =<< hasCabalForGhc
 
     -- old Cabal's ./Setup.hs output is difficult to normalise
diff --git a/cabal-testsuite/PackageTests/FFI/ForeignOptsC/cabal.test.hs b/cabal-testsuite/PackageTests/FFI/ForeignOptsC/cabal.test.hs
index 377b4a014665646b900df97ea750bc627e6660d5..7d5d4f0aff957886b388cc829ada0ccb1436c9a8 100644
--- a/cabal-testsuite/PackageTests/FFI/ForeignOptsC/cabal.test.hs
+++ b/cabal-testsuite/PackageTests/FFI/ForeignOptsC/cabal.test.hs
@@ -1,7 +1,4 @@
 import Test.Cabal.Prelude
 main = cabalTest $ do
-  isWin <- isWindows
-  ghc94 <- isGhcVersion "== 9.4.*"
-  expectBrokenIf (isWin && ghc94) 8451 $ do
     cabal "v2-build" ["foreign-opts-c-exe"]
     withPlan $ runPlanExe "foreign-opts-c" "foreign-opts-c-exe" []
diff --git a/cabal-testsuite/PackageTests/FFI/ForeignOptsCxx/cabal.test.hs b/cabal-testsuite/PackageTests/FFI/ForeignOptsCxx/cabal.test.hs
index 83177d702e36912f469b8770bba9661d6cc184ee..10024955a781aee573a3ff90d0a337423675f38f 100644
--- a/cabal-testsuite/PackageTests/FFI/ForeignOptsCxx/cabal.test.hs
+++ b/cabal-testsuite/PackageTests/FFI/ForeignOptsCxx/cabal.test.hs
@@ -1,7 +1,4 @@
 import Test.Cabal.Prelude
 main = cabalTest $ do
-  isWin <- isWindows
-  ghc94 <- isGhcVersion "== 9.4.*"
-  expectBrokenIf (isWin && ghc94) 8451 $ do
     cabal "v2-build" ["foreign-opts-cxx-exe"]
     withPlan $ runPlanExe "foreign-opts-cxx" "foreign-opts-cxx-exe" []
diff --git a/cabal-testsuite/PackageTests/NewBuild/CmdBench/OptionsFlag/cabal.test.hs b/cabal-testsuite/PackageTests/NewBuild/CmdBench/OptionsFlag/cabal.test.hs
index 055979ea65cd6475559271f86f7cd79fb3efdd58..9174ba94a6cefdfb932ee6b68fafa2ce1d13e153 100644
--- a/cabal-testsuite/PackageTests/NewBuild/CmdBench/OptionsFlag/cabal.test.hs
+++ b/cabal-testsuite/PackageTests/NewBuild/CmdBench/OptionsFlag/cabal.test.hs
@@ -1,9 +1,6 @@
 import Test.Cabal.Prelude
 
 main = cabalTest $ do
-  isWin <- isWindows
-  ghc94 <- isGhcVersion "== 9.4.*"
-  expectBrokenIf (isWin && ghc94) 8451 $ do
     cabal "v2-bench"
       [ "--benchmark-option=1"
       , "--benchmark-options=\"2 3\""
diff --git a/cabal-testsuite/PackageTests/NewBuild/CmdBuild/ScriptBuildRepl/cabal.test.hs b/cabal-testsuite/PackageTests/NewBuild/CmdBuild/ScriptBuildRepl/cabal.test.hs
index f09f7f8a4fa834fa82d2dfbe8d4ea61fd7019420..9c0f021da5dd65010d30fae2835fcea859989b80 100644
--- a/cabal-testsuite/PackageTests/NewBuild/CmdBuild/ScriptBuildRepl/cabal.test.hs
+++ b/cabal-testsuite/PackageTests/NewBuild/CmdBuild/ScriptBuildRepl/cabal.test.hs
@@ -1,8 +1,5 @@
 import Test.Cabal.Prelude
 
 main = cabalTest . void $ do
-  isWin <- isWindows
-  ghc94 <- isGhcVersion "== 9.4.*"
-  expectBrokenIf (isWin && ghc94) 8451 $ do
     cabal' "v2-build" ["script.hs"]
     cabalWithStdin "v2-repl" ["script.hs"] ""
diff --git a/cabal-testsuite/PackageTests/NewBuild/CmdBuild/ScriptBuildRun/cabal.test.hs b/cabal-testsuite/PackageTests/NewBuild/CmdBuild/ScriptBuildRun/cabal.test.hs
index 23d49e3f73f360ace0a4db09b231e4efbce264eb..e46b56d4afd22fa296993b4116503c7b99f5a51d 100644
--- a/cabal-testsuite/PackageTests/NewBuild/CmdBuild/ScriptBuildRun/cabal.test.hs
+++ b/cabal-testsuite/PackageTests/NewBuild/CmdBuild/ScriptBuildRun/cabal.test.hs
@@ -1,8 +1,5 @@
 import Test.Cabal.Prelude
 
 main = cabalTest . void $ do
-  isWin <- isWindows
-  ghc94 <- isGhcVersion "== 9.4.*"
-  expectBrokenIf (isWin && ghc94) 8451 $ do
     cabal' "v2-build" ["script.hs"]
     cabal' "v2-run" ["script.hs"]
diff --git a/cabal-testsuite/PackageTests/NewBuild/CmdRun/ScriptLiterate/cabal.test.hs b/cabal-testsuite/PackageTests/NewBuild/CmdRun/ScriptLiterate/cabal.test.hs
index 1754c7cb4a559054e2510fe9577e7bc499cc31bc..64c858e8d0da597c7884dbfadc658e9ce172a3a3 100644
--- a/cabal-testsuite/PackageTests/NewBuild/CmdRun/ScriptLiterate/cabal.test.hs
+++ b/cabal-testsuite/PackageTests/NewBuild/CmdRun/ScriptLiterate/cabal.test.hs
@@ -1,8 +1,5 @@
 import Test.Cabal.Prelude
 
 main = cabalTest $ do
-  isWin <- isWindows
-  ghc94 <- isGhcVersion "== 9.4.*"
-  expectBrokenIf (isWin && ghc94) 8451 $ do
     res <- cabal' "v2-run" ["script.lhs"]
     assertOutputContains "Hello World" res
diff --git a/cabal-testsuite/PackageTests/NewBuild/CmdRun/ScriptNoExtension/cabal.test.hs b/cabal-testsuite/PackageTests/NewBuild/CmdRun/ScriptNoExtension/cabal.test.hs
index e010ea6ec05ce4a8cad9e592345ea170e374a598..b78a6941a798ced23314e755f94fa9ef17173ded 100644
--- a/cabal-testsuite/PackageTests/NewBuild/CmdRun/ScriptNoExtension/cabal.test.hs
+++ b/cabal-testsuite/PackageTests/NewBuild/CmdRun/ScriptNoExtension/cabal.test.hs
@@ -1,7 +1,4 @@
 import Test.Cabal.Prelude
 
 main = cabalTest . void $ do
-  isWin <- isWindows
-  ghc94 <- isGhcVersion "== 9.4.*"
-  expectBrokenIf (isWin && ghc94) 8451 $ do
     cabal' "v2-run" ["with sp"] >>= assertOutputContains "Hello World"
diff --git a/cabal-testsuite/PackageTests/NewBuild/CmdRun/ScriptWithProjectBlock/cabal.test.hs b/cabal-testsuite/PackageTests/NewBuild/CmdRun/ScriptWithProjectBlock/cabal.test.hs
index 731fb7182da4fba0ad0b677a39e9418ca4956daa..8c92079136ba39f44b70c959426b17a0b833bc48 100644
--- a/cabal-testsuite/PackageTests/NewBuild/CmdRun/ScriptWithProjectBlock/cabal.test.hs
+++ b/cabal-testsuite/PackageTests/NewBuild/CmdRun/ScriptWithProjectBlock/cabal.test.hs
@@ -1,9 +1,6 @@
 import Test.Cabal.Prelude
 
 main = cabalTest $ do
-  isWin <- isWindows
-  ghc94 <- isGhcVersion "== 9.4.*"
-  expectBrokenIf (isWin && ghc94) 8451 $ do
     -- script is called "s.hs" to avoid Windows long path issue in CI
     res <- cabal' "v2-run" ["s.hs"]
     assertOutputContains "Hello World" res
diff --git a/cabal-testsuite/PackageTests/NewBuild/CmdTest/OptionsFlag/cabal.test.hs b/cabal-testsuite/PackageTests/NewBuild/CmdTest/OptionsFlag/cabal.test.hs
index c0493cf462968f7e134466c37c8b1f7010be6c6c..e9b8f5b6c124fe6992354f0d20f7dc2e0f5c32f4 100644
--- a/cabal-testsuite/PackageTests/NewBuild/CmdTest/OptionsFlag/cabal.test.hs
+++ b/cabal-testsuite/PackageTests/NewBuild/CmdTest/OptionsFlag/cabal.test.hs
@@ -1,9 +1,6 @@
 import Test.Cabal.Prelude
 
 main = cabalTest $ do
-  isWin <- isWindows
-  ghc94 <- isGhcVersion "== 9.4.*"
-  expectBrokenIf (isWin && ghc94) 8451 $ do
     cabal "v2-test"
       [ "--test-option=1"
       , "--test-options=\"2 3\""
diff --git a/cabal-testsuite/PackageTests/NewUpdate/UpdateIndexState/update-index-state.out b/cabal-testsuite/PackageTests/NewUpdate/UpdateIndexState/update-index-state.out
index cee2a5a19deb0e48c8ab4c8302b2eea93de0d699..d63c65ec921d3f629a8cbeee233da0602ac77e99 100644
--- a/cabal-testsuite/PackageTests/NewUpdate/UpdateIndexState/update-index-state.out
+++ b/cabal-testsuite/PackageTests/NewUpdate/UpdateIndexState/update-index-state.out
@@ -1,10 +1,4 @@
 # cabal update
-Warning: Caught exception during _mirrors lookup:user error (res_query(3) failed)
-Warning: No mirrors found for http://localhost:8000/
-Downloading the latest package list from repository.localhost
-Package list of repository.localhost has been updated.
-The index-state is set to 2022-01-28T02:36:41Z.
-# cabal update
 Downloading the latest package list from repository.localhost
 Package list of repository.localhost is up to date.
 The index-state is set to 2016-09-24T17:47:48Z.
diff --git a/cabal-testsuite/PackageTests/NewUpdate/UpdateIndexState/update-index-state.test.hs b/cabal-testsuite/PackageTests/NewUpdate/UpdateIndexState/update-index-state.test.hs
index 047d70b29c10a4cd83c47987f37f88c46f20567b..2be563c6becc67ec9194ce53005ead4c81079d21 100644
--- a/cabal-testsuite/PackageTests/NewUpdate/UpdateIndexState/update-index-state.test.hs
+++ b/cabal-testsuite/PackageTests/NewUpdate/UpdateIndexState/update-index-state.test.hs
@@ -1,9 +1,12 @@
 import Test.Cabal.Prelude
 
 main = cabalTest $ withRemoteRepo "repo" $ do
-  -- This test causes a warning about missing mirrors, the warning is
-  -- included in the expected output to make the test pass but it's not
-  -- part of the test expectations.
-  cabal "update" ["repository.localhost,2022-01-28T02:36:41Z"]
+  -- The _first_ update call causes a warning about missing mirrors, the warning
+  -- is platform-dependent and it's not part of the test expectations, so we
+  -- check the output manually.
+  res <- recordMode DoNotRecord $
+           cabal' "update" ["repository.localhost,2022-01-28T02:36:41Z"]
+  assertOutputContains "The index-state is set to 2022-01-28T02:36:41Z" res
+  assertOutputDoesNotContain "revert" res
   cabal "update" ["repository.localhost,2016-09-24T17:47:48Z"]
   cabal "update" ["repository.localhost,2022-01-28T02:36:41Z"]
diff --git a/cabal-testsuite/cabal-testsuite.cabal b/cabal-testsuite/cabal-testsuite.cabal
index 095a51b54cc083795094cb84dc928222346869e8..4b9a9f6eea6b1535b5bb7771f8555e9324bfb6a9 100644
--- a/cabal-testsuite/cabal-testsuite.cabal
+++ b/cabal-testsuite/cabal-testsuite.cabal
@@ -28,8 +28,8 @@ common shared
   build-depends:
     , base >= 4.9 && <4.19
     -- this needs to match the in-tree lib:Cabal version
-    , Cabal ^>= 3.10.0.0
-    , Cabal-syntax ^>= 3.10.0.0
+    , Cabal ^>= 3.10.2.0
+    , Cabal-syntax ^>= 3.10.2.0
 
   ghc-options: -Wall -fwarn-tabs -fwarn-incomplete-uni-patterns
 
@@ -115,6 +115,6 @@ custom-setup
   -- and due to Custom complexity and ConstraintSetupCabalMaxVersion
   -- it has to be the latest release version plus
   -- you have to use the latest cabal-install release
-  setup-depends: Cabal == 3.8.*,
-                 Cabal-syntax == 3.8.*,
+  setup-depends: Cabal == 3.10.2.0,
+                 Cabal-syntax == 3.10.2.0,
                  base, filepath, directory
diff --git a/changelog.d/pr-9049 b/changelog.d/pr-9049
new file mode 100644
index 0000000000000000000000000000000000000000..41fcd0a5bb73bda167c899596ffb3397785c89c2
--- /dev/null
+++ b/changelog.d/pr-9049
@@ -0,0 +1,13 @@
+synopsis: Do not always pass --quickjump to haddock #9049
+packages: Cabal
+prs: #9049
+issues: #9060
+description: {
+
+6d8adf13101 caused `cabal` to always pass the `--quickjump` flag to Haddock.
+Not only does this waste memory for a service that user hasn't asked for,
+but also leads to a failure with Haddocks shipped with GHC 9.0 and 9.2,
+which had a separate bug (fixed in later versions but not backported) when
+Haddock does not pass `--quickjump` recursively to the package dependencies.
+
+}
diff --git a/doc/cabal-commands.rst b/doc/cabal-commands.rst
index c1dbaa780bcb2f3c7d25e3a0586d6a28c4c58a87..b10d28787b5bfb7a93914a1d21ef2fe3f2cecf30 100644
--- a/doc/cabal-commands.rst
+++ b/doc/cabal-commands.rst
@@ -191,7 +191,7 @@ Target Forms
 
 A cabal command target can take any of the following forms:
 
--  A package target: ``package``, which specifies that all enabled
+-  A package target: ``[pkg:]package``, which specifies that all enabled
    components of a package to be built. By default, test suites and
    benchmarks are *not* enabled, unless they are explicitly requested
    (e.g., via ``--enable-tests``.)
diff --git a/doc/conf.py b/doc/conf.py
index ef955125486391394699fb1cb5025a4116feb9a5..2fc7bfe269413472fafd634a8ce70d1f1f2f36b7 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -13,7 +13,7 @@ import sphinx_rtd_theme
 sys.path.insert(0, os.path.abspath('.'))
 import cabaldomain
 
-version = "3.10.1.0"
+version = "3.10.2.0"
 
 extensions = [
     'sphinx.ext.extlinks',