diff --git a/hasql-transaction-io.cabal b/hasql-transaction-io.cabal
--- a/hasql-transaction-io.cabal
+++ b/hasql-transaction-io.cabal
@@ -1,6 +1,6 @@
 cabal-version: 2.4
 name:          hasql-transaction-io
-version:       0.2.7.0
+version:       0.2.8.0
 license:       MIT
 license-file:  LICENSE
 copyright:     (c) 2022, 2024 Andre Marianiello
@@ -48,11 +48,11 @@
 
   other-extensions:   OverloadedStrings
   build-depends:
-    , base                     >=4.14 && <4.20
-    , bytestring               >=0.10 && <0.12
+    , base                     >=4.14 && <5
+    , bytestring               >=0.10 && <0.13
     , bytestring-tree-builder  ^>=0.2
     , exceptions               ^>=0.10
-    , hasql                    ^>=1.6
+    , hasql                    >=1.7 && <1.9
     , mtl                      ^>=2.3
     , resourcet                ^>=1.3
     , safe-exceptions          ^>=0.1
diff --git a/library/Hasql/Private/CursorTransactionIO.hs b/library/Hasql/Private/CursorTransactionIO.hs
--- a/library/Hasql/Private/CursorTransactionIO.hs
+++ b/library/Hasql/Private/CursorTransactionIO.hs
@@ -55,7 +55,7 @@
 statement :: params -> Statement params result -> CursorTransactionIO s result
 statement params stmt = CursorTransactionIO . lift . lift $ TransactionIO.statement params stmt
 
-ignoreFailedTransactionError :: MonadError QueryError m => m () -> m ()
+ignoreFailedTransactionError :: MonadError SessionError m => m () -> m ()
 ignoreFailedTransactionError sess =
   catchError sess $ \qe -> case qe of
     QueryError _ _ (ResultError (ServerError "25P02" _ _ _ _)) -> pure ()
diff --git a/library/Hasql/Private/TransactionIO.hs b/library/Hasql/Private/TransactionIO.hs
--- a/library/Hasql/Private/TransactionIO.hs
+++ b/library/Hasql/Private/TransactionIO.hs
@@ -41,7 +41,7 @@
 
 -- | A mixture of Hasql statements and arbitrary IO that is all performed during a single transaction
 newtype TransactionIO a = TransactionIO (ReaderT Transaction Session a)
-  deriving (Functor, Applicative, Monad, MonadIO, MonadError QueryError, MonadUnliftIO, MonadThrow)
+  deriving (Functor, Applicative, Monad, MonadIO, MonadError SessionError, MonadUnliftIO, MonadThrow)
 
 data Transaction = Transaction
 
