diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 1.3.1
+
+* Switched `gzip` to use zlib's default compression level.
+
 ## 1.3.0
 
 * Switch over to unliftio
diff --git a/Data/Conduit/Zlib.hs b/Data/Conduit/Zlib.hs
--- a/Data/Conduit/Zlib.hs
+++ b/Data/Conduit/Zlib.hs
@@ -26,7 +26,7 @@
 
 -- | Gzip compression with default parameters.
 gzip :: (MonadThrow m, PrimMonad m) => ConduitT ByteString ByteString m ()
-gzip = compress 1 (WindowBits 31)
+gzip = compress (-1) (WindowBits 31)
 
 -- | Gzip decompression with default parameters.
 ungzip :: (PrimMonad m, MonadThrow m) => ConduitT ByteString ByteString m ()
diff --git a/conduit-extra.cabal b/conduit-extra.cabal
--- a/conduit-extra.cabal
+++ b/conduit-extra.cabal
@@ -1,5 +1,5 @@
 Name:                conduit-extra
-Version:             1.3.0
+Version:             1.3.1
 Synopsis:            Batteries included conduit: adapters for common libraries.
 Description:
     The conduit package itself maintains relative small dependencies. The purpose of this package is to collect commonly used utility functions wrapping other library dependencies, without depending on heavier-weight dependencies. The basic idea is that this package should only depend on haskell-platform packages and conduit.
@@ -85,6 +85,7 @@
                    , transformers
                    , transformers-base
                    , directory
+                   , filepath
     ghc-options:     -Wall
     if os(windows)
         cpp-options: -DWINDOWS
diff --git a/test/Data/Conduit/FilesystemSpec.hs b/test/Data/Conduit/FilesystemSpec.hs
--- a/test/Data/Conduit/FilesystemSpec.hs
+++ b/test/Data/Conduit/FilesystemSpec.hs
@@ -5,33 +5,34 @@
 import qualified Data.Conduit.List as CL
 import Data.Conduit.Filesystem
 import Data.List (sort, isSuffixOf)
+import System.FilePath ((</>))
 
 spec :: Spec
 spec = describe "Data.Conduit.Filesystem" $ do
     it "sourceDirectory" $ do
         res <- runConduitRes
-             $ sourceDirectory "test/filesystem"
+             $ sourceDirectory ("test" </> "filesystem")
             .| CL.filter (not . (".swp" `isSuffixOf`))
             .| CL.consume
         sort res `shouldBe`
-            [ "test/filesystem/bar.txt"
-            , "test/filesystem/baz.txt"
-            , "test/filesystem/bin"
-            , "test/filesystem/foo.txt"
+            [ "test" </> "filesystem" </> "bar.txt"
+            , "test" </> "filesystem" </> "baz.txt"
+            , "test" </> "filesystem" </> "bin"
+            , "test" </> "filesystem" </> "foo.txt"
             ]
     it "sourceDirectoryDeep" $ do
         res1 <- runConduitRes
-              $ sourceDirectoryDeep False "test/filesystem"
+              $ sourceDirectoryDeep False ("test" </> "filesystem")
              .| CL.filter (not . (".swp" `isSuffixOf`))
              .| CL.consume
         res2 <- runConduitRes
-              $ sourceDirectoryDeep True "test/filesystem"
+              $ sourceDirectoryDeep True ("test" </> "filesystem")
              .| CL.filter (not . (".swp" `isSuffixOf`))
              .| CL.consume
         sort res1 `shouldBe`
-            [ "test/filesystem/bar.txt"
-            , "test/filesystem/baz.txt"
-            , "test/filesystem/bin/bin.txt"
-            , "test/filesystem/foo.txt"
+            [ "test" </> "filesystem" </> "bar.txt"
+            , "test" </> "filesystem" </> "baz.txt"
+            , "test" </> "filesystem" </> "bin" </> "bin.txt"
+            , "test" </> "filesystem" </> "foo.txt"
             ]
         sort res1 `shouldBe` sort res2
