diff --git a/apiary-memcached.cabal b/apiary-memcached.cabal
--- a/apiary-memcached.cabal
+++ b/apiary-memcached.cabal
@@ -1,5 +1,5 @@
 name:                apiary-memcached
-version:             0.17.0.0
+version:             1.0.0
 synopsis:            memcached client for apiary web framework.
 -- description:
 license:             MIT
@@ -19,7 +19,7 @@
   exposed-modules:     Web.Apiary.Memcached
   other-modules:       
   build-depends:       base               >=4.6   && <4.8
-                     , apiary             >=0.17  && <0.18
+                     , apiary             >=1.0   && <1.1
                      , memcached-binary   >=0.1   && <0.3
                      , data-default-class >=0.0   && <0.1
                      , binary             >=0.7   && <0.8
diff --git a/src/Web/Apiary/Memcached.hs b/src/Web/Apiary/Memcached.hs
--- a/src/Web/Apiary/Memcached.hs
+++ b/src/Web/Apiary/Memcached.hs
@@ -24,10 +24,11 @@
 import Control.Applicative
 import Control.Monad.Trans.Maybe
 import Control.Monad.Trans.Control
+import Control.Monad.Apiary.Action
 
 import Data.Default.Class
 import Data.Apiary.Extension
-import Data.Apiary.Proxy
+import Data.Apiary.Compat
 import qualified Data.Binary as B
 import qualified Data.Text as T
 import qualified Data.Text.Encoding as T
@@ -94,40 +95,40 @@
     withConnection (connectInfo cfg') (\c -> run $ m (Memcached c cfg'))
 
 memcached :: (Has Memcached exts, MonadIO m)
-          => (Connection -> IO a) -> ActionT exts m a
+          => (Connection -> IO a) -> ActionT exts prms m a
 memcached q = do
     Memcached conn _ <- getExt Proxy
     liftIO $ q conn
 
 cache :: (MonadIO m, Has Memcached exts)
-      => Key -> ActionT exts m Value -> ActionT exts m Value
-cache key actn = do
+      => Key -> ActionT exts prms m Value -> ActionT exts prms m Value
+cache ky actn = do
     Memcached conn cfg <- getExt Proxy
     case cacheConfig cfg of
         Nothing -> actn
-        Just cc -> liftIO (Maybe.get_ key conn) >>= \case
+        Just cc -> liftIO (Maybe.get_ ky conn) >>= \case
             Just cr -> return cr
             Nothing -> do
                 ar <- actn
-                liftIO $ set (cacheFlags cc key)
-                    (cacheExpiry cc) key ar conn
+                liftIO $ set (cacheFlags cc ky)
+                    (cacheExpiry cc) ky ar conn
                 return ar
 
 cacheMaybe :: (MonadIO m, Has Memcached exts)
-           => Key -> ActionT exts m (Maybe Value)
-           -> ActionT exts m (Maybe Value)
-cacheMaybe key actn = do
+           => Key -> ActionT exts prms m (Maybe Value)
+           -> ActionT exts prms m (Maybe Value)
+cacheMaybe ky actn = do
     Memcached conn cfg <- getExt Proxy
     case cacheConfig cfg of
         Nothing -> actn
-        Just cc -> liftIO (Maybe.get_ key conn) >>= \case
+        Just cc -> liftIO (Maybe.get_ ky conn) >>= \case
             Just cr -> return $ B.decode cr
             Nothing -> actn >>= \case
                 Nothing -> do
-                    liftIO $ set (cacheFlags cc key)
-                        (cacheNotHitExpiry cc) key (B.encode (Nothing :: Maybe Value)) conn
+                    liftIO $ set (cacheFlags cc ky)
+                        (cacheNotHitExpiry cc) ky (B.encode (Nothing :: Maybe Value)) conn
                     return Nothing
                 Just ar -> do
-                    liftIO $ set (cacheFlags cc key)
-                        (cacheExpiry cc) key (B.encode $ Just ar) conn
+                    liftIO $ set (cacheFlags cc ky)
+                        (cacheExpiry cc) ky (B.encode $ Just ar) conn
                     return (Just ar)
