diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,8 @@
+## self-extract 0.3.1
+
+Other fixes:
+* Uses `Zip` instead of `GZip`, due to filename limits in tar (#14)
+
 ## self-extract 0.3.0
 
 Breaking fixes:
diff --git a/self-extract.cabal b/self-extract.cabal
--- a/self-extract.cabal
+++ b/self-extract.cabal
@@ -1,5 +1,5 @@
 name:                self-extract
-version:             0.3.0
+version:             0.3.1
 license:             BSD3
 license-file:        LICENSE.md
 author:              Brandon Chinn <brandonchinn178@gmail.com>
diff --git a/src/Codec/SelfExtract.hs b/src/Codec/SelfExtract.hs
--- a/src/Codec/SelfExtract.hs
+++ b/src/Codec/SelfExtract.hs
@@ -115,7 +115,7 @@
       (fromAbsFile exeWithSize)
 
     let archive = tempDir </> [relfile|bundle.tar.gz|]
-    create GZip (fromAbsFile archive) $ toFilePath dir
+    create Zip (fromAbsFile archive) $ toFilePath dir
 
     let combined = tempDir </> [relfile|exe_and_bundle|]
     cat [exeWithSize, archive] combined
