diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -4,6 +4,12 @@
 The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
 and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
 
+## [1.2.0] - 2026-08-12
+
+### Changed
+
+- Upstream changes on multiple libraries.
+
 ## [1.1.4] - 2025-05-08
 
 ### Changed
diff --git a/haskoin-node.cabal b/haskoin-node.cabal
--- a/haskoin-node.cabal
+++ b/haskoin-node.cabal
@@ -1,13 +1,11 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.38.0.
+-- This file has been generated from package.yaml by hpack version 0.39.6.
 --
 -- see: https://github.com/sol/hpack
---
--- hash: 0ae2d590b665e1063c502d7cb80a6eb8a01540512190560089f88f2642aa8a7d
 
 name:           haskoin-node
-version:        1.1.4
+version:        1.2.0
 synopsis:       P2P library for Bitcoin and Bitcoin Cash
 description:    Please see the README on GitHub at <https://github.com/jprupp/haskoin-node#readme>
 category:       Bitcoin, Finance, Network
@@ -45,15 +43,15 @@
     , containers
     , data-default
     , hashable
-    , haskoin-core >=1.0.0
+    , haskoin-core >=1.3.0
     , monad-logger
     , mtl
     , network
     , nqe >=0.6.3
     , random
     , resourcet
-    , rocksdb-haskell-jprupp >=2.1.2
-    , rocksdb-query >=0.4.2
+    , rocksdb-haskell-jprupp >=2.2.0
+    , rocksdb-query >=0.5.0
     , string-conversions
     , text
     , time
@@ -81,7 +79,7 @@
     , containers
     , data-default
     , hashable
-    , haskoin-core >=1.0.0
+    , haskoin-core >=1.3.0
     , haskoin-node
     , hspec
     , monad-logger
@@ -90,8 +88,8 @@
     , nqe >=0.6.3
     , random
     , resourcet
-    , rocksdb-haskell-jprupp >=2.1.2
-    , rocksdb-query >=0.4.2
+    , rocksdb-haskell-jprupp >=2.2.0
+    , rocksdb-query >=0.5.0
     , safe
     , string-conversions
     , text
diff --git a/src/Haskoin/Node/Chain.hs b/src/Haskoin/Node/Chain.hs
--- a/src/Haskoin/Node/Chain.hs
+++ b/src/Haskoin/Node/Chain.hs
@@ -477,16 +477,16 @@
     R.iterSeek it $ B.singleton 0x90
     recurse_delete it db mcf
   where
-    f db Nothing = R.withIter db
-    f db (Just cf) = R.withIterCF db cf
+    f db Nothing = liftIO . R.withIter db
+    f db (Just cf) = liftIO . R.withIterCF db cf
     recurse_delete it db mcf =
-      R.iterKey it >>= \case
+      liftIO (R.iterKey it) >>= \case
         Just k
           | B.head k == 0x90 || B.head k == 0x91 -> do
               case mcf of
-                Nothing -> R.delete db k
-                Just cf -> R.deleteCF db cf k
-              R.iterNext it
+                Nothing -> liftIO $ R.delete db k
+                Just cf -> liftIO $ R.deleteCF db cf k
+              liftIO $ R.iterNext it
               (R.Del k :) <$> recurse_delete it db mcf
         _ -> return []
 
diff --git a/src/Haskoin/Node/PeerMgr.hs b/src/Haskoin/Node/PeerMgr.hs
--- a/src/Haskoin/Node/PeerMgr.hs
+++ b/src/Haskoin/Node/PeerMgr.hs
@@ -387,7 +387,7 @@
     "Housekeeping for peer " <> p.label
   checkPeer p
 
-ticklePeer :: ( MonadLoggerIO m) => PeerMgr -> Peer -> m ()
+ticklePeer :: (MonadLoggerIO m) => PeerMgr -> Peer -> m ()
 ticklePeer m p = do
   $(logDebugS) "PeerMgr" $ "Tickle peer " <> p.label
   t <- liftIO getCurrentTime
