diff --git a/Data/ByteString/ExplicitIOModes.hs b/Data/ByteString/ExplicitIOModes.hs
--- a/Data/ByteString/ExplicitIOModes.hs
+++ b/Data/ByteString/ExplicitIOModes.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE UnicodeSyntax, NoImplicitPrelude #-}
+{-# LANGUAGE CPP, UnicodeSyntax, NoImplicitPrelude #-}
 
 -------------------------------------------------------------------------------
 -- |
@@ -16,11 +16,16 @@
     ( hGetLine
     , hGetContents
     , hGet
+#if MIN_VERSION_bytestring(0,9,1)
+    , hGetSome
+#endif
     , hGetNonBlocking
 
     , hPut
+#if MIN_VERSION_bytestring(0,9,2)
+    , hPutNonBlocking
+#endif
     , hPutStr
-    , hPutStrLn
     ) where
 
 -------------------------------------------------------------------------------
@@ -36,11 +41,16 @@
 import qualified Data.ByteString as B ( hGetLine
                                       , hGetContents
                                       , hGet
+#if MIN_VERSION_bytestring(0,9,1)
+                                      , hGetSome
+#endif
                                       , hGetNonBlocking
 
                                       , hPut
+#if MIN_VERSION_bytestring(0,9,2)
+                                      , hPutNonBlocking
+#endif
                                       , hPutStr
-                                      , hPutStrLn
                                       )
 
 -- from explicit-iomodes:
@@ -64,6 +74,12 @@
 hGet ∷ ReadModes ioMode ⇒ Handle ioMode → Int → IO ByteString
 hGet = wrap2 B.hGet
 
+#if MIN_VERSION_bytestring(0,9,1)
+-- | Wraps @Data.ByteString.@'B.hGetSome'.
+hGetSome ∷ ReadModes ioMode ⇒ Handle ioMode → Int → IO ByteString
+hGetSome = wrap2 B.hGetSome
+#endif
+
 -- | Wraps @Data.ByteString.@'B.hGetNonBlocking'.
 hGetNonBlocking ∷ ReadModes ioMode ⇒ Handle ioMode → Int → IO ByteString
 hGetNonBlocking = wrap2 B.hGetNonBlocking
@@ -73,13 +89,15 @@
 hPut ∷ WriteModes ioMode ⇒ Handle ioMode → ByteString → IO ()
 hPut = wrap2 B.hPut
 
+#if MIN_VERSION_bytestring(0,9,2)
+-- | Wraps @Data.ByteString.@'B.hPutNonBlocking'.
+hPutNonBlocking ∷ WriteModes ioMode ⇒ Handle ioMode → ByteString → IO ByteString
+hPutNonBlocking = wrap2 B.hPutNonBlocking
+#endif
+
 -- | Wraps @Data.ByteString.@'B.hPutStr'.
 hPutStr ∷ WriteModes ioMode ⇒ Handle ioMode → ByteString → IO ()
 hPutStr = wrap2 B.hPutStr
-
--- | Wraps @Data.ByteString.@'B.hPutStrLn'.
-hPutStrLn ∷ WriteModes ioMode ⇒ Handle ioMode → ByteString → IO ()
-hPutStrLn = wrap2 B.hPutStrLn
 
 
 -- The End ---------------------------------------------------------------------
diff --git a/explicit-iomodes-bytestring.cabal b/explicit-iomodes-bytestring.cabal
--- a/explicit-iomodes-bytestring.cabal
+++ b/explicit-iomodes-bytestring.cabal
@@ -1,5 +1,5 @@
 name:          explicit-iomodes-bytestring
-version:       0.1.0.2
+version:       0.2
 cabal-version: >=1.6
 build-type:    Simple
 license:       BSD3
@@ -7,18 +7,20 @@
 copyright:     2010 Bas van Dijk
 author:        Bas van Dijk
 maintainer:    Bas van Dijk <v.dijk.bas@gmail.com>
+homepage:      https://github.com/basvandijk/explicit-iomodes-bytestring/
+bug-reports:   https://github.com/basvandijk/explicit-iomodes-bytestring/issues
 stability:     experimental
 category:      System
 synopsis:      Extends explicit-iomodes with ByteString operations
 description:   Extends @explicit-iomodes@ with @ByteString@ operations
 
 source-repository head
-  Type:     darcs
-  Location: http://code.haskell.org/~basvandijk/code/explicit-iomodes-bytestring
+  Type:     git
+  Location: git://github.com/basvandijk/explicit-iomodes-bytestring.git
 
 Library
   GHC-Options: -Wall
-  build-depends: base                 >= 4     && < 4.4
+  build-depends: base                 >= 4     && < 4.5
                , bytestring           >= 0.9   && < 0.10
                , explicit-iomodes     >= 0.4   && < 0.7
   exposed-modules: Data.ByteString.ExplicitIOModes
