diff --git a/distributed-process-client-server.cabal b/distributed-process-client-server.cabal
--- a/distributed-process-client-server.cabal
+++ b/distributed-process-client-server.cabal
@@ -1,5 +1,5 @@
 name:           distributed-process-client-server
-version:        0.2.5
+version:        0.2.5.1
 cabal-version:  >=1.8
 build-type:     Simple
 license:        BSD3
@@ -16,7 +16,7 @@
                 development into a set of modules and standards designed to help you build
                 concurrent, distributed applications with relative ease.
 category:       Control
-Tested-With:    GHC==7.10.3 GHC==8.0.1 GHC==8.0.2
+Tested-With:    GHC==8.2.2
 data-dir:       ""
 
 source-repository head
@@ -39,7 +39,7 @@
                    stm >= 2.4 && < 2.5,
                    time > 1.4 && < 1.9.2,
                    transformers,
-                   exceptions >= 0.5
+                   exceptions >= 0.5 && < 0.11
   if impl(ghc <= 7.5)
     Build-Depends:   template-haskell == 2.7.0.0,
                      derive == 2.5.5,
@@ -68,26 +68,26 @@
                    base >= 4.4 && < 5,
                    ansi-terminal >= 0.5 && < 0.9,
                    containers,
-                   distributed-process >= 0.6.6 && < 0.8,
-                   distributed-process-extras >= 0.3.1 && < 0.4,
-                   distributed-process-async >= 0.2.4 && < 0.3,
+                   distributed-process,
+                   distributed-process-extras,
+                   distributed-process-async,
                    distributed-process-client-server,
                    distributed-process-systest >= 0.1.1,
                    network-transport >= 0.4 && < 0.7,
                    mtl,
-                   fingertree < 0.2,
+                   fingertree,
                    network-transport-tcp >= 0.6 && < 0.7,
                    binary >= 0.6.3.0 && < 0.9,
-                   deepseq >= 1.3.0.1 && < 1.5,
+                   deepseq,
                    network >= 2.3 && < 2.7,
                    HUnit >= 1.2 && < 2,
-                   stm >= 2.3 && < 2.5,
+                   stm,
                    test-framework >= 0.6 && < 0.9,
                    test-framework-hunit,
                    transformers,
                    rematch >= 0.2.0.0,
                    ghc-prim,
-                   exceptions >= 0.5
+                   exceptions
   other-modules:   Counter,
                    ManagedProcessCommon,
                    MathsDemo,
@@ -104,28 +104,28 @@
   x-uses-tf:       true
   build-depends:
                    base >= 4.4 && < 5,
-                   ansi-terminal >= 0.5 && < 0.9,
+                   ansi-terminal,
                    containers,
-                   distributed-process >= 0.6.6 && < 0.8,
-                   distributed-process-extras >= 0.3.1 && < 0.4,
-                   distributed-process-async >= 0.2.4 && < 0.4,
+                   distributed-process,
+                   distributed-process-extras,
+                   distributed-process-async,
                    distributed-process-client-server,
                    distributed-process-systest >= 0.1.1,
-                   network-transport >= 0.4 && < 0.7,
+                   network-transport,
                    mtl,
-                   fingertree < 0.2,
-                   network-transport-tcp >= 0.6 && < 0.7,
-                   binary >= 0.6.3.0 && < 0.9,
-                   deepseq >= 1.3.0.1 && < 1.5,
-                   network >= 2.3 && < 2.7,
-                   HUnit >= 1.2 && < 2,
-                   stm >= 2.3 && < 2.5,
-                   test-framework >= 0.6 && < 0.9,
+                   fingertree,
+                   network-transport-tcp,
+                   binary,
+                   deepseq,
+                   network,
+                   HUnit,
+                   stm,
+                   test-framework,
                    test-framework-hunit,
                    transformers,
-                   rematch >= 0.2.0.0,
+                   rematch,
                    ghc-prim,
-                   exceptions >= 0.10
+                   exceptions
   other-modules:   ManagedProcessCommon,
                    TestUtils
   hs-source-dirs:
diff --git a/src/Control/Distributed/Process/ManagedProcess/Internal/Types.hs b/src/Control/Distributed/Process/ManagedProcess/Internal/Types.hs
--- a/src/Control/Distributed/Process/ManagedProcess/Internal/Types.hs
+++ b/src/Control/Distributed/Process/ManagedProcess/Internal/Types.hs
@@ -1,3 +1,4 @@
+{-# LANGUAGE CPP                        #-}
 {-# LANGUAGE DeriveDataTypeable         #-}
 {-# LANGUAGE ExistentialQuantification  #-}
 {-# LANGUAGE DeriveGeneric              #-}
@@ -287,10 +288,12 @@
         (a', _) <- lift $ restoreP $ runProcess ourSTate p2
         return a'
 
+#if MIN_VERSION_exceptions(0,10,0)
   generalBracket acquire release inner = GenProcess $ 
     generalBracket (unManaged acquire)
                    (\a e -> unManaged $ release a e)
                    (unManaged . inner)
+#endif
 
 -- | Run an action in the @GenProcess@ monad.
 runProcess :: State s -> GenProcess s a -> Process (a, State s)
