diff --git a/src/Data/Url.hs b/src/Data/Url.hs
--- a/src/Data/Url.hs
+++ b/src/Data/Url.hs
@@ -51,7 +51,7 @@
 import Control.Monad (MonadPlus ())
 import Control.Monad.Fix (MonadFix ())
 import Control.Monad.Base (MonadBase (liftBase), liftBaseDefault)
-import Control.Monad.Catch (MonadMask (uninterruptibleMask, mask), MonadCatch (catch), MonadThrow (throwM))
+import Control.Monad.Catch (MonadMask (uninterruptibleMask, mask, generalBracket), MonadCatch (catch), MonadThrow (throwM), ExitCase (ExitCaseSuccess))
 import Control.Monad.Cont (MonadCont (callCC), ContT)
 import Control.Monad.Trans.Error (Error, ErrorT)
 import Control.Monad.Except (MonadError (catchError, throwError), ExceptT)
@@ -399,6 +399,11 @@
   uninterruptibleMask a = AbsoluteUrlT $ \r ->
     uninterruptibleMask $ \u -> runAbsoluteUrlT (a $ q u) r
     where q u (AbsoluteUrlT x) = AbsoluteUrlT (u . x)
+  generalBracket acq rel f = do
+    a <- acq
+    b <- f a
+    c <- rel a (ExitCaseSuccess b)
+    pure (b, c)
 
 instance ( MonadLogger m
          ) => MonadLogger (AbsoluteUrlT m) where
diff --git a/urlpath.cabal b/urlpath.cabal
--- a/urlpath.cabal
+++ b/urlpath.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: fb47f14654a7cf599ede8cd4bbcea362a4559a94d55550521dd32c2ca08ce795
+-- hash: 6cefde9c8088edade18012c83ffd8595977d63e1efdedd57b09a1cebf14ca5bf
 
 name:           urlpath
-version:        9.0.0.1
+version:        9.0.1
 synopsis:       Painfully simple URL deployment.
 description:    Please see the README on Github at <https://github.com/githubuser/urlpath#readme>
 category:       Web, Data
@@ -35,8 +35,8 @@
       src
   ghc-options: -Wall
   build-depends:
-      attoparsec-uri ==0.0.5.1
-    , base >=4.8 && <5
+      attoparsec-uri >=0.0.6
+    , base >=4.11 && <5
     , exceptions
     , mmorph
     , monad-control
