diff --git a/Network/Run/TCP.hs b/Network/Run/TCP.hs
--- a/Network/Run/TCP.hs
+++ b/Network/Run/TCP.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE CPP #-}
 
 -- | Simple functions to run TCP clients and servers.
 module Network.Run.TCP (
@@ -15,7 +16,11 @@
 runTCPClient :: HostName -> ServiceName -> (Socket -> IO a) -> IO a
 runTCPClient host port client = withSocketsDo $ do
     addr <- resolve
+#if MIN_VERSION_network(3,1,1)
     E.bracket (open addr) (\sock -> gracefulClose sock 5000) client
+#else
+    E.bracket (open addr) close client
+#endif
   where
     resolve = do
         let hints = defaultHints { addrSocketType = Stream }
@@ -46,4 +51,8 @@
         return sock
     loop sock = forever $ do
         (conn, peer) <- accept sock
+#if MIN_VERSION_network(3,1,1)
         void $ forkFinally (server conn peer) (const $ gracefulClose conn 5000)
+#else
+        void $ forkFinally (server conn peer) (const $ close conn)
+#endif
diff --git a/network-run.cabal b/network-run.cabal
--- a/network-run.cabal
+++ b/network-run.cabal
@@ -1,5 +1,5 @@
 name:                network-run
-version:             0.0.0
+version:             0.0.1
 synopsis:            Simple network runner library
 description:         Simple functions to run network clients and servers.
 -- bug-reports:
@@ -17,7 +17,7 @@
   -- other-modules:
   -- other-extensions:
   build-depends:       base >= 4 && < 5
-                     , network >= 3.1.1
+                     , network >= 3.1.0
   -- hs-source-dirs:
   default-language:    Haskell2010
 
