diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,6 @@
+Version 0.0.7.2 2018-02-19 by luispedro
+	* Add handle information to error message to Handle in asyncGzipFrom
+
 Version 0.0.7.1 2018-01-18 by luispedro
 	* Fix testing in newer stack/cabal/hpack (issue #3)
 
diff --git a/Data/Conduit/Algorithms/Async.hs b/Data/Conduit/Algorithms/Async.hs
--- a/Data/Conduit/Algorithms/Async.hs
+++ b/Data/Conduit/Algorithms/Async.hs
@@ -31,6 +31,7 @@
 import qualified Data.Conduit.List as CL
 import qualified Data.Conduit.Zlib as CZ
 import qualified Data.Conduit.Lzma as CX
+import qualified Data.Streaming.Zlib as SZ
 #ifndef WINDOWS
 -- bzlib cannot compile on Windows (as of 2016/07/05)
 import qualified Data.Conduit.BZlib as CZ
@@ -45,8 +46,9 @@
 import           Control.Monad.IO.Class (MonadIO, liftIO)
 import           Control.Monad.Error.Class (MonadError(..))
 import           Control.Monad.Trans.Resource (MonadResource, MonadBaseControl)
-import           Control.Exception (evaluate)
-import           Control.DeepSeq
+import           Control.Exception (evaluate, displayException)
+import           Control.DeepSeq (NFData, force)
+import           System.IO.Error (mkIOError, userErrorType)
 import           System.IO
 import           Data.List (isSuffixOf)
 import           Data.Conduit.Algorithms.Utils (awaitJust)
@@ -213,8 +215,9 @@
                             .| CL.map Just
                             .| CA.sinkTBQueue q
                     atomically (TQ.writeTBQueue q Nothing)
-    CA.gatherFrom 8 prod
-        .| untilNothing
+    (CA.gatherFrom 8 prod .| untilNothing)
+        `C.catchC`
+        (\(e :: SZ.ZlibException) -> liftIO . ioError $ mkIOError userErrorType ("Error reading gzip file: "++displayException e) (Just h) Nothing)
 
 -- | Open and read a gzip file with the uncompression being performed in a
 -- separate thread.
diff --git a/Data/Conduit/Algorithms/Async/ByteString.hs b/Data/Conduit/Algorithms/Async/ByteString.hs
--- a/Data/Conduit/Algorithms/Async/ByteString.hs
+++ b/Data/Conduit/Algorithms/Async/ByteString.hs
@@ -4,7 +4,7 @@
 License     : MIT
 Maintainer  : luis@luispedro.org
 
-Higher level async processing interfaces.
+Higher level async processing interfaces for handling 'ByteString' objects.
 -}
 {-# LANGUAGE ScopedTypeVariables, FlexibleContexts, TupleSections #-}
 
@@ -42,8 +42,8 @@
 -- perform most of the line splitting _in the worker thread_.
 --
 -- Only Unix-style ASCII lines are supported (splitting at Bytes with value
--- 10, i.e., \n). When Windows lines (\r\n) are passed to this function, this
--- results in each element having an extra \r at the end.
+-- 10, i.e., \\n). When Windows lines (\\r\\n) are passed to this function, this
+-- results in each element having an extra \\r at the end.
 asyncMapLineGroupsC :: (MonadIO m, NFData a) => Int -> ([B.ByteString] -> a) -> C.Conduit B.ByteString m a
 asyncMapLineGroupsC nthreads f = breakAtLineBoundary .| CAlg.asyncMapC nthreads (f . asLines)
     where
@@ -64,6 +64,14 @@
                             continue (BL.fromStrict $ B.drop 1 rest) -- skip \n char
 
 -- | Filter lines using multiple threads
+--
+-- It is not clear from the types but the input is taken to unbroken lines,
+-- while the output will be yielded line by line. This conduit is equivalent to
+--
+-- @
+--      CB.lines .| CL.filer f
+-- @
+--
 asyncFilterLinesC :: MonadIO m => Int -> (B.ByteString -> Bool) -> C.Conduit B.ByteString m B.ByteString
 asyncFilterLinesC n f = asyncMapLineGroupsC n (filter f) .| CL.concat
 {-# INLINE asyncFilterLinesC #-}
diff --git a/Data/Conduit/Algorithms/Storable.hs b/Data/Conduit/Algorithms/Storable.hs
--- a/Data/Conduit/Algorithms/Storable.hs
+++ b/Data/Conduit/Algorithms/Storable.hs
@@ -32,7 +32,7 @@
 --
 -- This uses the same format as in-memory
 --
--- See |readStorableV|
+-- See 'readStorableV'
 writeStorableV :: forall m a. (MonadIO m, Monad m, Storable a) => C.Conduit (VS.Vector a) m B.ByteString
 writeStorableV = CL.mapM (liftIO. encodeStorable')
     where
@@ -45,7 +45,7 @@
 --
 -- This expects the same format as the in-memory vector
 --
--- See |writeStorableV|
+-- See 'writeStorableV'
 readStorableV :: forall m a. (MonadIO m, Storable a) => Int -> C.ConduitM B.ByteString (VS.Vector a) m ()
 readStorableV nelems = CC.chunksOfE blockBytes .| parseBlocks
     where
diff --git a/conduit-algorithms.cabal b/conduit-algorithms.cabal
--- a/conduit-algorithms.cabal
+++ b/conduit-algorithms.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: af773895c6365b46822705a9fd57b521ba0e8692c5053f7a6eba56b6cc57b07b
+-- hash: d2ff0dcb74b83abcf9bd574764e0d2acf0134cba6ae1d4a221fe6abf3d90b2ea
 
 name:           conduit-algorithms
-version:        0.0.7.1
+version:        0.0.7.2
 synopsis:       Conduit-based algorithms
 description:    Algorithms on Conduits, including higher level asynchronous processing and some other utilities.
 category:       Conduit
@@ -34,7 +34,7 @@
     , base >4.8 && <5
     , bytestring
     , bzlib-conduit
-    , conduit >=1.0
+    , conduit >=1.0.11
     , conduit-combinators >=1.1.2
     , conduit-extra
     , containers
@@ -44,6 +44,7 @@
     , resourcet
     , stm
     , stm-conduit >=2.7
+    , streaming-commons
     , transformers
     , vector
   exposed-modules:
@@ -67,7 +68,7 @@
     , base >4.8 && <5
     , bytestring
     , bzlib-conduit
-    , conduit >=1.0
+    , conduit >=1.0.11
     , conduit-algorithms
     , conduit-combinators >=1.1.2
     , conduit-extra
@@ -79,6 +80,7 @@
     , resourcet
     , stm
     , stm-conduit >=2.7
+    , streaming-commons
     , test-framework
     , test-framework-hunit
     , test-framework-th
