diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,10 @@
+## v0.6.0 - 2014-08-19
+
+* Support for retry-0.5 (#16)
+    * `newServerPoolWithRetrySettings` has been renamed to `newServerPoolWithRetryPolicy`
+    * `serverRetrySettings` field in `ServerPool` has been renamed to `serverRetryPolicy`
+* Support for network-uri (#17)
+
 ## v0.5.1 - 2014-07-18
 
 * Export `InfluxException` from `Database.InfluxDB`
diff --git a/influxdb.cabal b/influxdb.cabal
--- a/influxdb.cabal
+++ b/influxdb.cabal
@@ -1,5 +1,5 @@
 name: influxdb
-version: 0.5.1
+version: 0.6.0
 synopsis: Haskell client library for InfluxDB
 description: Haskell client library for InfluxDB
 homepage: https://github.com/maoe/influxdb-haskell
@@ -26,11 +26,15 @@
   default: True
   manual: False
 
-flag retry-040
-  description: Use retry >= 0.4, which depends on exceptions
+flag retry-050
+  description: Use retry == 0.5.*
   default: True
   manual: False
 
+flag network-uri
+   description: Get Network.URI from the network-uri package
+   default: True
+
 library
   exposed-modules:
     Database.InfluxDB
@@ -68,13 +72,12 @@
     , containers
     , data-default-class
     , dlist
-    , http-client
-    , mtl
-    , network
+    , exceptions >= 0.5 && < 0.7
+    , http-client < 0.4
+    , mtl < 2.3
     , tagged
     , template-haskell
     , text
-    , time
     , vector
 
   if flag(aeson-070)
@@ -85,15 +88,20 @@
     build-depends:
         aeson >= 0.6.1.0 && < 0.7.0
 
-  if flag(retry-040)
+  if flag(retry-050)
     build-depends:
-        exceptions >= 0.5 && < 0.7
-      , retry >= 0.4
+      retry == 0.5.*
   else
     build-depends:
-        lifted-base
-      , retry < 0.4
+      retry == 0.4.*
 
+  if flag(network-uri)
+    build-depends:
+      network-uri >= 2.6
+  else
+    build-depends:
+      network < 2.6
+
   hs-source-dirs: src
   default-language: Haskell2010
 
@@ -107,7 +115,7 @@
     , influxdb
     , mtl
     , tasty
-    , tasty-hunit
+    , tasty-hunit == 0.9.*
     , tasty-quickcheck
     , tasty-th
     , text
@@ -141,5 +149,5 @@
 
 source-repository this
   type: git
-  tag: v0.5.1
+  tag: v0.6.0
   location: https://github.com/maoe/influxdb-haskell.git
diff --git a/src/Database/InfluxDB.hs b/src/Database/InfluxDB.hs
--- a/src/Database/InfluxDB.hs
+++ b/src/Database/InfluxDB.hs
@@ -23,7 +23,8 @@
   , Credentials(..), rootCreds
   , TimePrecision(..)
   , Server(..), localServer
-  , ServerPool, newServerPool, newServerPoolWithRetrySettings
+  , ServerPool, newServerPool
+  , newServerPoolWithRetryPolicy, newServerPoolWithRetrySettings
   , Database(..)
   , User(..)
   , Admin(..)
diff --git a/src/Database/InfluxDB/Http.hs b/src/Database/InfluxDB/Http.hs
--- a/src/Database/InfluxDB/Http.hs
+++ b/src/Database/InfluxDB/Http.hs
@@ -676,8 +676,8 @@
   -> (HC.Request -> IO a)
   -> IO a
 withPool pool request f = do
-  retrySettings <- serverRetrySettings <$> readIORef pool
-  recovering retrySettings handlers $ do
+  retryPolicy <- serverRetryPolicy <$> readIORef pool
+  recovering retryPolicy handlers $ do
     server <- activeServer pool
     f $ makeRequest server
   where
@@ -687,7 +687,11 @@
       , HC.secure = serverSsl
       }
     handlers =
-      [ Handler $ \e -> case e of
+      [
+#if MIN_VERSION_retry(0, 5, 0)
+        const $
+#endif
+        Handler $ \e -> case e of
           HC.InternalIOException _ -> do
             failover pool
             return True
diff --git a/src/Database/InfluxDB/Types.hs b/src/Database/InfluxDB/Types.hs
--- a/src/Database/InfluxDB/Types.hs
+++ b/src/Database/InfluxDB/Types.hs
@@ -25,8 +25,10 @@
 
   -- * Server pool
   , ServerPool
+  , serverRetryPolicy
   , serverRetrySettings
   , newServerPool
+  , newServerPoolWithRetryPolicy
   , newServerPoolWithRetrySettings
   , activeServer
   , failover
@@ -48,7 +50,6 @@
 import Data.Vector (Vector)
 import qualified Data.Sequence as Seq
 
-import Control.Retry (RetrySettings(..), limitedRetries)
 import Data.Aeson ((.=), (.:))
 import Data.Aeson.TH
 import qualified Data.Aeson as A
@@ -61,6 +62,14 @@
 import Data.Attoparsec.Number
 #endif
 
+#if MIN_VERSION_retry(0, 5, 0)
+import Data.Monoid ((<>))
+
+import Control.Retry (RetryPolicy(..), limitRetries, exponentialBackoff)
+#else
+import Control.Retry (RetrySettings(..), limitedRetries)
+#endif
+
 -----------------------------------------------------------
 -- Compatibility for older GHC
 
@@ -197,9 +206,17 @@
   -- ^ Current active server
   , serverBackup :: !(Seq Server)
   -- ^ The rest of the servers in the pool.
-  , serverRetrySettings :: !RetrySettings
+  , serverRetryPolicy :: !RetryPolicy
   }
 
+{-# DEPRECATED serverRetrySettings "Use serverRetryPolicy instead" #-}
+serverRetrySettings :: ServerPool -> RetryPolicy
+serverRetrySettings = serverRetryPolicy
+
+#if !MIN_VERSION_retry(0, 5, 0)
+type RetryPolicy = RetrySettings
+#endif
+
 newtype Database = Database
   { databaseName :: Text
   } deriving Show
@@ -231,22 +248,34 @@
 -- | Create a non-empty server pool. You must specify at least one server
 -- location to create a pool.
 newServerPool :: Server -> [Server] -> IO (IORef ServerPool)
-newServerPool = newServerPoolWithRetrySettings defaultRetrySettings
+newServerPool = newServerPoolWithRetrySettings defaultRetryPolicy
   where
-    defaultRetrySettings = RetrySettings
+#if MIN_VERSION_retry(0, 5, 0)
+    defaultRetryPolicy =
+      limitRetries 5 <>
+      exponentialBackoff 50
+#else
+    defaultRetryPolicy = RetrySettings
       { numRetries = limitedRetries 5
       , backoff = True
       , baseDelay = 50
       }
+#endif
 
-newServerPoolWithRetrySettings
-    :: RetrySettings -> Server -> [Server] -> IO (IORef ServerPool)
-newServerPoolWithRetrySettings retrySettings active backups =
+newServerPoolWithRetryPolicy
+  :: RetryPolicy -> Server -> [Server] -> IO (IORef ServerPool)
+newServerPoolWithRetryPolicy retryPolicy active backups =
   newIORef ServerPool
     { serverActive = active
     , serverBackup = Seq.fromList backups
-    , serverRetrySettings = retrySettings
+    , serverRetryPolicy = retryPolicy
     }
+
+{-# DEPRECATED newServerPoolWithRetrySettings
+  "Use newServerPoolWithRetryPolicy instead" #-}
+newServerPoolWithRetrySettings
+  :: RetryPolicy -> Server -> [Server] -> IO (IORef ServerPool)
+newServerPoolWithRetrySettings = newServerPoolWithRetryPolicy
 
 -- | Get a server from the pool.
 activeServer :: IORef ServerPool -> IO Server
diff --git a/tests/test-suite.hs b/tests/test-suite.hs
--- a/tests/test-suite.hs
+++ b/tests/test-suite.hs
@@ -14,7 +14,6 @@
 import qualified Data.Text.Lazy as TL
 import qualified Data.Vector as V
 
-import Test.HUnit.Lang (HUnitFailure(..))
 import Test.Tasty.HUnit
 import Test.Tasty.TH
 import Test.Tasty.QuickCheck hiding (reason)
