diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 0.2.3 - 2018-02-10
+
+ * Fixed compatibility with new `conduit >= 1.3.0`
+
 ## 0.2.2 - 2018-02-06
 
  * Fixed proper unicode filepaths handling.
diff --git a/src/Data/Conduit/Tar.hs b/src/Data/Conduit/Tar.hs
--- a/src/Data/Conduit/Tar.hs
+++ b/src/Data/Conduit/Tar.hs
@@ -345,7 +345,7 @@
             unless (0 < pSize && pSize <= 4096) $
                 throwM $
                 FileTypeError (headerPayloadOffset h) 'L' $ "Filepath is too long: " ++ show pSize
-            longFileNameBuilder <- payloadsConduit .| sinkBuilder
+            longFileNameBuilder <- payloadsConduit .| foldMapC byteString
             let longFileName = SL.toStrict . SL.init . toLazyByteString $ longFileNameBuilder
             mcNext <- await
             case mcNext of
@@ -771,7 +771,7 @@
 -- content. All paths will be decended into recursively.
 --
 -- @since 0.2.0
-filePathConduit :: MonadResource m =>
+filePathConduit :: (MonadThrow m, MonadResource m) =>
                    ConduitM FilePath (Either FileInfo ByteString) m ()
 filePathConduit = do
     mfp <- await
@@ -803,7 +803,7 @@
 -- `filePath`, would be another approach to handling the file paths.
 --
 -- @since 0.2.0
-tarFilePath :: MonadResource m => ConduitM FilePath ByteString m FileOffset
+tarFilePath :: (MonadThrow m, MonadResource m) => ConduitM FilePath ByteString m FileOffset
 tarFilePath = filePathConduit .| tar
 
 
diff --git a/tar-conduit.cabal b/tar-conduit.cabal
--- a/tar-conduit.cabal
+++ b/tar-conduit.cabal
@@ -1,5 +1,5 @@
 name:                tar-conduit
-version:             0.2.2
+version:             0.2.3
 synopsis:            Extract and create tar files using conduit for streaming
 description:         Please see README.md. This is just filler to avoid warnings.
 homepage:            https://github.com/snoyberg/tar-conduit#readme
@@ -17,6 +17,7 @@
   exposed-modules:     Data.Conduit.Tar, Data.Conduit.Tar.Types
   build-depends:       base >= 4.7 && < 5
                      , bytestring
+                     , conduit
                      , conduit-combinators >= 1.0.8.1
                      , filepath
                      , text
@@ -42,7 +43,7 @@
                      , base
                      , bytestring
                      , conduit
-                     , conduit-combinators
+                     , conduit-combinators >= 1.0.8.1
                      , directory
                      , filepath
                      , hspec
@@ -57,16 +58,16 @@
   main-is: Space.hs
   hs-source-dirs: tests
   build-depends: base
-               , weigh
-               , deepseq
-               , containers
                , bytestring
+               , conduit
+               , conduit-combinators >= 1.0.8.1
+               , containers
+               , deepseq
                , directory
                , filepath
                , hspec
                , tar-conduit
-               , conduit-combinators
-               , conduit
+               , weigh
 
 benchmark time
   default-language:    Haskell2010
@@ -75,16 +76,16 @@
   main-is: Time.hs
   hs-source-dirs: tests
   build-depends: base
+               , bytestring
+               , conduit
+               , conduit-combinators >= 1.0.8.1
+               , containers
                , criterion
                , deepseq
-               , containers
-               , bytestring
                , directory
                , filepath
                , hspec
                , tar-conduit
-               , conduit-combinators
-               , conduit
 
 source-repository head
   type:     git
diff --git a/tests/Spec.hs b/tests/Spec.hs
--- a/tests/Spec.hs
+++ b/tests/Spec.hs
@@ -1,30 +1,31 @@
-{-# LANGUAGE RecordWildCards #-}
+{-# LANGUAGE CPP               #-}
+{-# LANGUAGE FlexibleContexts  #-}
+{-# LANGUAGE LambdaCase        #-}
 {-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE LambdaCase #-}
-{-# LANGUAGE FlexibleContexts #-}
-{-# LANGUAGE CPP #-}
+{-# LANGUAGE RecordWildCards   #-}
 module Main where
 
-import Prelude as P
-import Conduit
-import Control.Monad (void, when, zipWithM_)
-import Data.Conduit.List
-import Test.Hspec
-import Test.QuickCheck
-import Data.Conduit.Tar
-import System.Directory
-import Data.ByteString as S
-import Data.ByteString.Char8 as S8
-import Data.Int
-import Data.Monoid
-import System.IO
-import System.FilePath
-import           System.IO (hSetBuffering, stdout, BufferMode(LineBuffering))
-import Control.Exception
+import           Conduit
+import           Control.Exception
+import           Control.Monad         (void, when, zipWithM_)
+import           Data.ByteString       as S
+import           Data.ByteString.Char8 as S8
+import           Data.Conduit.List
+import           Data.Conduit.Tar
+import           Data.Int
+import           Data.Monoid
+import           Prelude               as P
+import           System.Directory
+import           System.FilePath
+import           System.IO
+import           System.IO             (BufferMode (LineBuffering),
+                                        hSetBuffering, stdout)
+import           Test.Hspec
+import           Test.QuickCheck
 
 #if !MIN_VERSION_base(4,8,0)
-import Control.Applicative ((<$>), pure)
-import Data.Word
+import           Control.Applicative   (pure, (<$>))
+import           Data.Word
 #endif
 
 
@@ -220,8 +221,7 @@
 
 
 readTarball
-  :: (MonadIO m, MonadThrow m, MonadBaseControl IO m) =>
-     FilePath -> m [(FileInfo, Maybe ByteString)]
+  :: FilePath -> IO [(FileInfo, Maybe ByteString)]
 readTarball fp = runConduitRes $ sourceFileBS fp .| untar grabBoth .| sinkList
   where
     grabBoth fi =
