diff --git a/apiary-persistent.cabal b/apiary-persistent.cabal
--- a/apiary-persistent.cabal
+++ b/apiary-persistent.cabal
@@ -1,5 +1,5 @@
 name:                apiary-persistent
-version:             1.4.0
+version:             1.5.0
 synopsis:            persistent support for apiary web framework.
 description:
   example: <https://github.com/philopon/apiary/blob/master/examples/persistent.hs>
@@ -18,21 +18,20 @@
 
 library
   exposed-modules:     Web.Apiary.Database.Persist
-  build-depends:       base               >=4.6   && <4.8
-                     , persistent         >=2.1   && <2.2
+  build-depends:       base               >=4.7   && <5.0
+                     , persistent         >=2.1   && <2.3
 
-                     , apiary             >=1.4   && <1.5
-                     , apiary-logger      >=1.4   && <1.5
+                     , apiary             >=2.1   && <3.0
+                     , apiary-logger      >=1.5   && <1.6
 
                      , resourcet          >=1.1   && <1.2
                      , resource-pool      >=0.2   && <0.3
 
                      , monad-logger       >=0.3   && <0.4
-                     , transformers       >=0.2   && <0.5
-                     , transformers-base  >=0.4   && <0.5
+                     , transformers       >=0.2   && <0.6
+                     , transformers-base  >=0.4   && <0.6
                      , monad-control      >=0.3   && <1.1
-                     , web-routing
-                     , types-compat
+
   hs-source-dirs:      src
   ghc-options:         -O2 -Wall
   default-language:    Haskell2010
diff --git a/src/Web/Apiary/Database/Persist.hs b/src/Web/Apiary/Database/Persist.hs
--- a/src/Web/Apiary/Database/Persist.hs
+++ b/src/Web/Apiary/Database/Persist.hs
@@ -35,10 +35,10 @@
 import Web.Apiary(Html)
 import Control.Monad.Apiary.Action(ActionT, applyDict)
 import Control.Monad.Apiary.Filter(focus, Filter, Doc(DocPrecondition))
-import qualified Network.Routing.Dict as Dict
-import qualified Network.Routing as R
-import Data.Proxy.Compat(Proxy(..))
-import GHC.TypeLits.Compat(KnownSymbol)
+import qualified Data.Apiary.Routing.Dict as Dict
+import qualified Data.Apiary.Routing as R
+import Data.Proxy(Proxy(..))
+import GHC.TypeLits(KnownSymbol)
 import Data.Apiary.Extension
     (Has, Initializer, initializer, Extensions, Extension, MonadExts, getExt)
 
@@ -56,7 +56,7 @@
 
 type With c m = forall a. (c -> m a) -> m a
 
-initPersist' :: (MonadIO n, MonadBaseControl IO n, Monad m) 
+initPersist' :: (MonadIO n, MonadBaseControl IO n, Monad m)
              => (forall a. Extensions exts -> n a -> m a)
              -> With Sql.SqlBackend n -> Migrator -> Initializer m exts (Persist ': exts)
 initPersist' run with migr = initializer $ \es -> run es $
@@ -66,17 +66,17 @@
 
 -- | construct persist extension initializer with no connection pool.
 --
--- example: 
+-- example:
 --
 -- @
 -- initPersist (withSqliteConn "db.sqlite") migrateAll
 -- @
-initPersist :: (MonadIO m, MonadBaseControl IO m) 
+initPersist :: (MonadIO m, MonadBaseControl IO m)
             => With Sql.SqlBackend (LogWrapper exts m) -> Sql.Migration
             -> Initializer m exts (Persist ': exts)
 initPersist with = initPersist' runLogWrapper with . Logging
 
-initPersistNoLog :: (MonadIO m, MonadBaseControl IO m) 
+initPersistNoLog :: (MonadIO m, MonadBaseControl IO m)
                  => With Sql.SqlBackend (NoLoggingT m)
                  -> Sql.Migration -> Initializer m es (Persist ': es)
 initPersistNoLog with = initPersist' (const runNoLoggingT) with . Silent
