diff --git a/esqueleto.cabal b/esqueleto.cabal
--- a/esqueleto.cabal
+++ b/esqueleto.cabal
@@ -1,5 +1,5 @@
 name:                esqueleto
-version:             1.3.7
+version:             1.3.8
 synopsis:            Bare bones, type-safe EDSL for SQL queries on persistent backends.
 homepage:            https://github.com/meteficha/esqueleto
 license:             BSD3
@@ -84,13 +84,14 @@
   build-depends:
       -- Library dependencies used on the tests.  No need to
       -- specify versions since they'll use the same as above.
-      base, persistent, transformers, conduit, text
+      base, persistent, transformers, resourcet, text
 
       -- Test-only dependencies
+    , conduit             >= 1.1
     , containers
     , HUnit
     , QuickCheck
-    , hspec               >= 1.3 && < 1.9
+    , hspec               >= 1.9
     , persistent-sqlite   >= 1.2 && < 1.4
     , persistent-template >= 1.2 && < 1.4
     , monad-control
diff --git a/test/Test.hs b/test/Test.hs
--- a/test/Test.hs
+++ b/test/Test.hs
@@ -35,7 +35,7 @@
 import Database.Persist.TH
 import Test.Hspec
 
-import qualified Data.Conduit as C
+import qualified Control.Monad.Trans.Resource as R
 import qualified Data.Set as S
 import qualified Data.List as L
 
@@ -808,7 +808,7 @@
 
 
 type RunDbMonad m = ( MonadBaseControl IO m, MonadIO m, MonadLogger m
-                    , C.MonadUnsafeIO m, C.MonadThrow m )
+                    , R.MonadThrow m )
 
 #if defined (WITH_POSTGRESQL) || defined (WITH_MYSQL)
 -- With SQLite and in-memory databases, a separate connection implies a
@@ -817,7 +817,7 @@
 -- TODO: there is certainly a better way...
 cleanDB
   :: (forall m. RunDbMonad m
-  => SqlPersistT (C.ResourceT m) ())
+  => SqlPersistT (R.ResourceT m) ())
 cleanDB = do
   delete $ from $ \(blogpost :: SqlExpr (Entity BlogPost))-> return ()
   delete $ from $ \(follow   :: SqlExpr (Entity Follow))  -> return ()
@@ -825,7 +825,7 @@
 #endif
 
 
-run, runSilent, runVerbose :: (forall m. RunDbMonad m => SqlPersistT (C.ResourceT m) a) -> IO a
+run, runSilent, runVerbose :: (forall m. RunDbMonad m => SqlPersistT (R.ResourceT m) a) -> IO a
 runSilent  act = runNoLoggingT     $ run_worker act
 runVerbose act = runStderrLoggingT $ run_worker act
 run =
@@ -838,9 +838,9 @@
 verbose = True
 
 
-run_worker :: RunDbMonad m => SqlPersistT (C.ResourceT m) a -> m a
+run_worker :: RunDbMonad m => SqlPersistT (R.ResourceT m) a -> m a
 run_worker act =
-  C.runResourceT .
+  R.runResourceT .
 #if defined(WITH_POSTGRESQL)
   withPostgresqlConn "host=localhost port=5432 user=test dbname=test" .
 #elif defined (WITH_MYSQL)
