Archiver Versions Save

Easily create & extract archives, and compress & decompress files of various formats

v3.3.2

3 years ago

Changelog

a723054 Added test cases for archive formats 8217ed3 Prevent arbitrary file overwrite via path traversal (Zip Slip attack) c7eae9d Resolve a few go lint issues

v3.3.1

3 years ago

Changelog

44285f7 Add CI check to ensure module definition is correct (#198) 3719b73 Disable ZIP+LZMA (#226) 11f2ffb Fix hard links (fixes #152) 0c5dd86 Fix import path in test (#197) 9ea51e7 Fixes Tar.Extract when extracting hardlinked files (#171) 14b2737 Merge branch 'fix-hardlinks' b44e6c6 Update compression package (#219) 45ba413 add vesrion and goreleaser support d939c22 go.mod: Update github.com/pierrec/lz4 to module version (#192) 6041b49 go.mod: update github.com/andybalholm/brotli to v1.0.0 (#193) 737ceae make README.md Prettier bc267dd soothe the linters fd74bb2 update .gitignore f902af7 update and lock tooling/deps df15b2f update pipeline with supported versions and make fast d44471c zip: Configurable algorithms: zstd/lzma/bzip2 (#223)

v3.2.0

4 years ago

Archiver 3.2 sports massive performance improvements for gzip (thanks to @klauspost's parallel gzip implementation, which is now used by default) and support for brotli and zstandard formats, along with a few other fixes and improvements.

This library is now a Go module as well.

v3.1.1

5 years ago

A few minor internal tweaks/improvements.

v3.1.0

5 years ago

This release adds some new convenience functions for working with archive files or compressing/decompressing files: Archive(), Unarchive(), CompressFile(), and DecompressFile(). These functions are format-agnostic, and they determine which format to use by the filename (or file header, in the case of Unarchive). This way, you don't have to switch based on file extension for these simple operations. The library does it for you.

Also exposed are new, slightly lower-level functions, for performing format matching: ByExtension() and ByHeader().

See the godoc documentation for more details.

v3.0.1

5 years ago

This patch release fixes several bugs related to pathing operations when creating archives and fixes an issue listing the contents of zip archives. All users should upgrade.

v3.0.0

5 years ago

Totally rewrote the archiver package, basically from scratch. Fixed many issues and implemented many new features. The command has been renamed from archiver to arc and now has several different functions, instead of just "make" and "open" (which have also been renamed). The package is capable of traversing archives, extracting specific files, and streaming archive data without touching the file system.

See the README for a list of what is new, including examples of using the CLI and the Go package. Also check out the godoc reference for the full API documentation.

v2.1

5 years ago

This release adds support for lz4 compression (thanks to github.com/pierrec/lz4) and sz compression (thanks to github.com/golang/snappy). It also happens to include a number of bug fixes 😄.

v2.0

7 years ago

This release adds support for .tar.xz (and .txz) file format, thanks to ulikunitz/xz.

The archiver package also has a breaking API change, hence the v2.0 tag. For example, archiver.Zip() and archiver.Unzip() have become archiver.Zip.Make() and archiver.Zip.Open(), respectively.

v1.2

7 years ago

This release adds support for plain, uncompressed .tar files.