diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,17 @@
+Darcs 2.18.5, 9 Jan 2025
+
+This release is mainly to keep up with (breaking) changes in some of our
+dependencies. A plain `cabal update && cabal install darcs` should now again
+succeed. It also includes a minor fix and an improvement for the
+check/repair commands.
+
+  * restrict upper limit on attoparsec from <0.15 to <14.4 for ghc versions <8.10
+  * exclude system-fileio-0.3.16.5 which fails to build on Windows
+  * raise upper bound on tls, data-default-class -> data-default
+  * ci: only aim to be warnings clean on one version of GHC
+  * check/repair: avoid newlines in progress messages
+  * check/repair: display patch info of repaired patches
+
 Darcs 2.18.4, 26 Oct 2024
 
   * darcs can now be built with stack against stackage lts-22.34, which is
diff --git a/darcs.cabal b/darcs.cabal
--- a/darcs.cabal
+++ b/darcs.cabal
@@ -1,6 +1,6 @@
 Cabal-Version:  2.4
 Name:           darcs
-version:        2.18.4
+version:        2.18.5
 License:        GPL-2.0-or-later
 License-file:   COPYING
 Author:         David Roundy <droundy@darcs.net>, <darcs-devel@darcs.net>
@@ -437,9 +437,14 @@
                       utf8-string       >= 1 && < 1.1,
                       vector            >= 0.11 && < 0.14,
                       tar               >= 0.5 && < 0.7,
-                      data-ordlist      == 0.4.*,
-                      attoparsec        >= 0.13.0.1 && < 0.15,
-                      zip-archive       >= 0.3 && < 0.5,
+                      data-ordlist      == 0.4.*
+
+    if impl(ghc < 8.10)
+      build-depends:  attoparsec        >= 0.13.0.1 && < 0.14.4
+    else
+      build-depends:  attoparsec        >= 0.14.4 && < 0.15
+
+    build-depends:    zip-archive       >= 0.3 && < 0.5,
                       async             >= 2.0.2 && < 2.3,
                       constraints       >= 0.11 && < 0.15,
                       unix-compat       >= 0.6 && < 0.8,
@@ -464,9 +469,9 @@
     if impl(ghc >= 9.8)
       cpp-options:    -DHAVE_CRYPTON_CONNECTION
       build-depends:  crypton-connection >= 0.4 && < 0.5,
-                      data-default-class >= 0.1.2.0 && < 0.1.3,
+                      data-default      >= 0.7.1.3 && < 0.9,
                       http-client-tls   >= 0.3.5 && < 0.4,
-                      tls               >= 2.0.6 && < 2.1
+                      tls               >= 2.0.6 && < 2.2
     else
       -- cannot use crypton-connection >= 0.4, so
       -- constraining indirect dependency to work around problems
@@ -604,7 +609,8 @@
                     monad-control              >= 0.3.2 && < 1.1,
                     process,
                     system-filepath            >= 0.4.7 && < 0.5,
-                    system-fileio              < 0.4,
+                    -- exclude 0.3.16.5 which fails to build on Windows
+                    system-fileio              < 0.3.16.5 || > 0.3.16.5 && < 0.4,
                     time,
                     transformers-base,
                     unix-compat,
diff --git a/release/distributed-context b/release/distributed-context
--- a/release/distributed-context
+++ b/release/distributed-context
@@ -1,1 +1,1 @@
-Just "\nContext:\n\n\n[TAG 2.18.4\nBen Franksen <ben.franksen@online.de>**20241026093913\n Ignore-this: ad4cc2fd8d9a9ab11ff36ddfdb8b5de208bfe44568255edfc95bcb92dedbee11e37613fd59d88f95\n] \n"
+Just "\nContext:\n\n\n[TAG 2.18.5\nBen Franksen <ben.franksen@online.de>**20250109111244\n Ignore-this: 36f2bddc159da3a5f0cfbbba1df3ad0b466282a42d11ed2c643934ebf4710029e639affd3e5aa1b4\n] \n"
diff --git a/src/Darcs/Repository/Repair.hs b/src/Darcs/Repository/Repair.hs
--- a/src/Darcs/Repository/Repair.hs
+++ b/src/Darcs/Repository/Repair.hs
@@ -28,7 +28,7 @@
 import Darcs.Patch.Witnesses.Sealed ( Sealed(..), unFreeLeft, unseal )
 import Darcs.Patch.Apply( ApplyState )
 import Darcs.Patch.Repair ( Repair(applyAndTryToFix) )
-import Darcs.Patch.Info ( displayPatchInfo )
+import Darcs.Patch.Info ( displayPatchInfo, makePatchname )
 import Darcs.Patch.Set ( Origin, PatchSet(..), Tagged(..), patchSet2FL )
 import Darcs.Patch ( RepoPatch, PrimOf, isInconsistent )
 
@@ -54,7 +54,7 @@
     )
 import Darcs.Util.Lock( withDelayedDir )
 import Darcs.Util.Path( anchorPath, toFilePath )
-import Darcs.Util.Printer ( putDocLn, text, renderString )
+import Darcs.Util.Printer ( putDocLn, text, renderString, ($$) )
 import Darcs.Util.Hash( showHash )
 import Darcs.Util.Tree( Tree, emptyTree, list, restrict, expand, itemHash, zipTrees )
 import Darcs.Util.Tree.Monad( TreeIO )
@@ -93,13 +93,13 @@
       case isInconsistent . hopefully $ p of
         Just err -> liftIO $ putDocLn err
         Nothing -> return ()
-      liftIO $ finishedOneIO k $ renderString $ displayPatchInfo $ info p
+      liftIO $ finishedOneIO k $ show $ makePatchname $ info p
       (ps', ps_ok) <- applyAndFixPatches ps
       case mp' of
         Nothing -> return (p :>: ps', ps_ok)
         Just (e, p') ->
           liftIO $ do
-            putStrLn e
+            putStrLn $ renderString $ (displayPatchInfo $ info p) $$ text e
             -- FIXME While this is okay semantically, it means we can't
             -- run darcs check in a read-only repo
             p'' <-
diff --git a/src/Darcs/Util/HTTP.hs b/src/Darcs/Util/HTTP.hs
--- a/src/Darcs/Util/HTTP.hs
+++ b/src/Darcs/Util/HTTP.hs
@@ -46,7 +46,7 @@
     )
 
 #ifdef HAVE_CRYPTON_CONNECTION
-import Data.Default.Class ( def )
+import Data.Default ( def )
 import qualified Network.Connection as NC
 import Network.HTTP.Client.TLS
     ( mkManagerSettings
