diff --git a/Network/URI/Conduit.hs b/Network/URI/Conduit.hs
--- a/Network/URI/Conduit.hs
+++ b/Network/URI/Conduit.hs
@@ -96,10 +96,13 @@
         => SchemeMap
         -> URI
         -> C.Source m ByteString
-readURI sm uri = C.Source $ do
-    case Map.lookup (uriScheme uri) sm >>= schemeReader of
-        Nothing -> lift $ C.resourceThrow $ UnknownReadScheme uri
-        Just f -> C.prepareSource $ f uri
+readURI sm uri = C.Source
+    { C.sourcePull =
+        case Map.lookup (uriScheme uri) sm >>= schemeReader of
+            Nothing -> lift $ C.resourceThrow $ UnknownReadScheme uri
+            Just f -> C.sourcePull $ f uri
+    , C.sourceClose = return ()
+    }
 
 writeURI :: ResourceIO m
          => SchemeMap
diff --git a/Network/URI/Conduit/File.hs b/Network/URI/Conduit/File.hs
--- a/Network/URI/Conduit/File.hs
+++ b/Network/URI/Conduit/File.hs
@@ -39,10 +39,13 @@
 fileScheme = Scheme
     { schemeNames = Set.singleton "file:"
     , schemeReader = Just $ sourceFile . toFilePath
-    , schemeWriter = Just $ \uri -> C.Sink $ do
-        let fp = toFilePath uri
-        liftIO $ F.createTree $ FP.directory fp
-        C.prepareSink $ CB.sinkFile (FP.encodeString fp)
+    , schemeWriter = Just $ \uri -> C.SinkData
+        { C.sinkPush = \bs -> do
+            let fp = toFilePath uri
+            liftIO $ F.createTree $ FP.directory fp
+            C.sinkPush (CB.sinkFile $ FP.encodeString fp) bs
+        , C.sinkClose = return ()
+        }
     }
 
 toFilePath :: URI -> FP.FilePath
diff --git a/uri-conduit.cabal b/uri-conduit.cabal
--- a/uri-conduit.cabal
+++ b/uri-conduit.cabal
@@ -1,5 +1,5 @@
 Name:                uri-conduit
-Version:             0.2.0.2
+Version:             0.2.1
 Synopsis:            Read and write URIs
 Homepage:            http://github.com/snoyberg/xml
 License:             BSD3
@@ -15,7 +15,7 @@
   Exposed-modules:     Network.URI.Conduit
                        Network.URI.Conduit.File
   Build-depends:       base                     >= 4          && < 5
-                     , conduit                  >= 0.0.0.2
+                     , conduit                  >= 0.2        && < 0.3
                      , text                     >= 0.5        && < 1.0
                      , transformers             >= 0.2        && < 0.3
                      , bytestring               >= 0.9        && < 0.10
