diff --git a/raven-haskell-scotty.cabal b/raven-haskell-scotty.cabal
--- a/raven-haskell-scotty.cabal
+++ b/raven-haskell-scotty.cabal
@@ -1,5 +1,5 @@
 name:                raven-haskell-scotty
-version:             0.1.0.3
+version:             0.1.1.0
 synopsis:            Sentry http interface for Scotty web server.
 description:         Utilities to log errors in Scotty actions using raven-haskell.
 homepage:            http://bitbucket.org/dpwiz/raven-haskell
@@ -10,16 +10,20 @@
 -- copyright:           
 category:            Web
 build-type:          Simple
-cabal-version:       >=1.8
+cabal-version:       >=1.10
 
 library
   hs-source-dirs: src/
   exposed-modules:
     System.Log.Raven.Scotty
   build-depends:
-    base ==4.*,
+    base >= 4.14 && < 5,
     raven-haskell,
-    scotty, wai, case-insensitive,
-    bytestring, text,
-    mtl
-  extensions: CPP
+    bytestring,
+    case-insensitive,
+    mtl,
+    scotty >= 0.12,
+    text,
+    wai
+  default-extensions: CPP
+  default-language: Haskell2010
diff --git a/src/System/Log/Raven/Scotty.hs b/src/System/Log/Raven/Scotty.hs
--- a/src/System/Log/Raven/Scotty.hs
+++ b/src/System/Log/Raven/Scotty.hs
@@ -1,3 +1,5 @@
+{-# LANGUAGE CPP #-}
+{-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 
 -- | Utilities to log errors in Scotty actions using raven-haskell.
@@ -29,20 +31,23 @@
     , scottyHttpInterface
     ) where
 
-import Web.Scotty (ActionM, request, reqHeader, params)
+import Web.Scotty (ActionM, Param, request, params)
 
 import System.Log.Raven as Raven
 import System.Log.Raven.Types as Raven
-import System.Log.Raven.Transport.HttpConduit (sendRecord)
 import qualified System.Log.Raven.Interfaces as SI
 import Network.Wai(Request(..))
 
 import qualified Data.ByteString.Char8 as BS
 import qualified Data.Text.Lazy as TL
+#if MIN_VERSION_scotty(0,21,0)
+import qualified Data.Text as T
+#endif
 import qualified Data.CaseInsensitive as CI
 
 import Control.Monad.Trans (liftIO)
 import Control.Exception (try, throw, SomeException)
+import Web.Scotty (header)
 
 -- | A liftIO alternative that logs unhandled exceptions.
 --   The function itself is verbose in arguments and designed to be curried and reused.
@@ -83,17 +88,18 @@
              | (h, v) <- requestHeaders r
              ]
 
-#if MIN_VERSION_scotty(0,5,0)
-    host <- maybe (TL.pack "") id `fmap` reqHeader (TL.pack "Host")
-#else
-    host <- reqHeader (TL.pack "Host")
-#endif
+    host <- maybe "" id `fmap` header "Host"
 
     let url = "http://" ++ TL.unpack host ++ BS.unpack (rawPathInfo r)
 
     ps <- params
-    let args = SI.QueryArgs [ (TL.unpack k, TL.unpack v)
-                            | (k, v) <- ps
-                            ]
+    let args = SI.QueryArgs $ map fromParam ps
 
     return $ SI.http url method args qs Nothing hs []
+
+fromParam :: Param -> (String, String)
+#if MIN_VERSION_scotty(0,21,0)
+fromParam (k, v) = (T.unpack k, T.unpack v)
+#else
+fromParam (k, v) = (TL.unpack k, TL.unpack v)
+#endif
