diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 2.8.0
+
+* Switch from `MonadBaseControl` to `MonadUnliftIO`
+
 ## 2.6.0
 
 * Fix upsert behavior [#613](https://github.com/yesodweb/persistent/issues/613)
diff --git a/Database/Persist/MongoDB.hs b/Database/Persist/MongoDB.hs
--- a/Database/Persist/MongoDB.hs
+++ b/Database/Persist/MongoDB.hs
@@ -152,7 +152,7 @@
 import Data.Word (Word16)
 import Data.Monoid (mappend)
 import Control.Monad.Trans.Reader (ask, runReaderT)
-import Control.Monad.Trans.Control (MonadBaseControl)
+import Control.Monad.IO.Unlift (MonadUnliftIO, withRunInIO)
 import Numeric (readHex)
 import Unsafe.Coerce (unsafeCoerce)
 
@@ -362,17 +362,21 @@
   connectionReader pool
 
 -- | run a pool created with 'createMongoDBPipePool'
-runMongoDBPipePool :: (Trans.MonadIO m, MonadBaseControl IO m) => DB.AccessMode -> Database -> DB.Action m a -> PipePool -> m a
+runMongoDBPipePool :: MonadUnliftIO m => DB.AccessMode -> Database -> DB.Action m a -> PipePool -> m a
 runMongoDBPipePool accessMode db action pool =
-  Pool.withResource pool $ \pipe -> DB.access pipe accessMode db action
+  withRunInIO $ \run ->
+  Pool.withResource pool $ \pipe ->
+  run $ DB.access pipe accessMode db action
 
-runMongoDBPool :: (Trans.MonadIO m, MonadBaseControl IO m) => DB.AccessMode  -> DB.Action m a -> ConnectionPool -> m a
+runMongoDBPool :: MonadUnliftIO m => DB.AccessMode  -> DB.Action m a -> ConnectionPool -> m a
 runMongoDBPool accessMode action pool =
-  Pool.withResource pool $ \(Connection pipe db) -> DB.access pipe accessMode db action
+  withRunInIO $ \run ->
+  Pool.withResource pool $ \(Connection pipe db) ->
+  run $ DB.access pipe accessMode db action
 
 
 -- | use default 'AccessMode'
-runMongoDBPoolDef :: (Trans.MonadIO m, MonadBaseControl IO m) => DB.Action m a -> ConnectionPool -> m a
+runMongoDBPoolDef :: MonadUnliftIO m => DB.Action m a -> ConnectionPool -> m a
 runMongoDBPoolDef = runMongoDBPool defaultAccessMode
 
 queryByKey :: (PersistEntity record, PersistEntityBackend record ~ DB.MongoContext)
diff --git a/persistent-mongoDB.cabal b/persistent-mongoDB.cabal
--- a/persistent-mongoDB.cabal
+++ b/persistent-mongoDB.cabal
@@ -1,5 +1,5 @@
 name:            persistent-mongoDB
-version:         2.6.0
+version:         2.8.0
 license:         MIT
 license-file:    LICENSE
 author:          Greg Weber <greg@gregweber.info>
@@ -19,8 +19,8 @@
    Default: False
 
 library
-    build-depends:   base               >= 4.6 && < 5
-                   , persistent         >= 2.5   && < 3
+    build-depends:   base               >= 4.8 && < 5
+                   , persistent         >= 2.8   && < 3
                    , text               >= 0.8
                    , transformers       >= 0.2.1
                    , containers         >= 0.2
@@ -33,12 +33,12 @@
                    , cereal             >= 0.3.0.0
                    , path-pieces        >= 0.1
                    , http-api-data      >= 0.2       && < 0.4
-                   , monad-control      >= 0.3
                    , aeson              >= 0.6.2
                    , attoparsec
                    , time
                    , bytestring
                    , resource-pool      < 0.3
+                   , unliftio-core
 
     exposed-modules: Database.Persist.MongoDB
     ghc-options:     -Wall
