diff --git a/ridley.cabal b/ridley.cabal
--- a/ridley.cabal
+++ b/ridley.cabal
@@ -1,5 +1,5 @@
 name:                ridley
-version:             0.3.2.0
+version:             0.3.2.1
 synopsis:            Quick metrics to grow your app strong.
 description:         Please see README.md
 homepage:            https://github.com/iconnect/ridley#README
@@ -33,7 +33,7 @@
   build-depends:       async < 3.0.0,
                        base >= 4.7 && < 5,
                        containers < 0.7.0.0,
-                       katip < 0.8.0.0,
+                       katip < 0.9.0.0,
                        wai-middleware-metrics < 0.3.0.0,
                        template-haskell,
                        ekg-core,
@@ -42,7 +42,7 @@
                        mtl,
                        shelly,
                        transformers,
-                       prometheus > 0.5.0 && < 2.2.1,
+                       prometheus > 0.5.0 && < 2.3.0,
                        raw-strings-qq,
                        microlens,
                        microlens-th,
diff --git a/src/System/Metrics/Prometheus/Ridley.hs b/src/System/Metrics/Prometheus/Ridley.hs
--- a/src/System/Metrics/Prometheus/Ridley.hs
+++ b/src/System/Metrics/Prometheus/Ridley.hs
@@ -26,7 +26,7 @@
 import           Control.Concurrent.Async
 import           Control.Concurrent.MVar
 import           Control.Monad (foldM)
-import           Control.Monad.IO.Class (liftIO)
+import           Control.Monad.IO.Class (liftIO, MonadIO)
 import           Control.Monad.Reader (ask)
 import           Control.Monad.Trans.Class (lift)
 import           Data.IORef
@@ -49,6 +49,7 @@
 #endif
 import           System.Metrics.Prometheus.Metric.Counter (add)
 import qualified System.Metrics.Prometheus.RegistryT as P
+import           System.Metrics.Prometheus.Registry (RegistrySample)
 import           System.Metrics.Prometheus.Ridley.Metrics.CPU
 import           System.Metrics.Prometheus.Ridley.Metrics.DiskUsage
 import           System.Metrics.Prometheus.Ridley.Metrics.Memory
@@ -154,7 +155,7 @@
           updateLoop <- async $ handlersLoop lastUpdate handlers
           putMVar x updateLoop
 
-        lift $ P.sample >>= P.serveHttpTextMetrics port path
+        lift $ P.sample >>= serveMetrics port path
 
       ul  <- takeMVar x
       link2 serverLoop ul
@@ -181,6 +182,13 @@
       threadDelay (freq * 10^6)
       updateHandlers (List.map (\x -> x { flush = mustFlush }) handlers)
       handlersLoop lastUpdateRef handlers
+
+serveMetrics :: MonadIO m => Int -> P.Path -> IO RegistrySample -> m ()
+#if (MIN_VERSION_prometheus(2,2,2))
+serveMetrics = P.serveMetrics
+#else
+serveMetrics = P.serveHttpTextMetrics
+#endif
 
 --------------------------------------------------------------------------------
 updateHandlers :: [RidleyMetricHandler] -> IO ()
