Skip to content
This repository has been archived by the owner on Nov 19, 2024. It is now read-only.

Releases: mholt/archiver

v4.0.0-alpha.9

08 Nov 17:54
v4.0.0-alpha.9
f9dfd58
Compare
Choose a tag to compare
v4.0.0-alpha.9 Pre-release
Pre-release

Alpha 9 introduces some new features, and also important fixes and optimizations, especially related to FileSystems and tar archives.

⚠️ This release has some breaking changes to the API, but fairly minor all things considered. Be advised that the next release may have a new package name: archives. See #427.

  • Using fs.WalkDir() is now much faster when walking large tar archives.
  • A FileSystem can be created from a stream instead of just a file name (but the stream must be a Reader, ReaderAt, and Seeker).
  • Added lzip compression.
  • Renamed CompressedArchive to Archive since compression is optional.
  • Split Archival into Archival and Extraction, since not all archive formats can archive (some, like rar and 7z, can only extract).
  • Removed the filename filter argument from Extract() since it was mostly pointless and even confusing.
  • Brotli-compressed files can now be identified by their stream, maybe... sometimes (it's worth a shot; brotli has no notable magic number or header so we just try our best).
  • Removed ErrStopWalk in favor of fs.SkipAll which is apparently the same thing
  • Renamed ErrNoMatch to NoMatch since it is a sentinel (error) value and not an actual error.

What's Changed

  • Bugfix: Tar files created in their target directory shouldn't recurse infinitely by @drewstinnett in #384
  • zlib format incorrectly matches on ASCII files starting with the letter x by @dpgarrick in #386
  • Option to use number for user and/or group names by @breezerider in #385
  • Fix create archive to a continuous writing source file failed by @halfcrazy in #388
  • 7z: Fix iteration bug by @SheltonZhu in #394
  • Add lzip support by @sorairolake in #401
  • Expose gzip.Reader.Multistream by @rgmz in #407
  • zip: Fix compression method not set without SelectiveCompression enabled (closes #418) by @hevav in #419
  • chore(go.mod): Switch to upstream lzip package by @sorairolake in #422
  • Upgrade rardecode to v2.0.0-beta.3 by @rgmz in #423
  • Refactor FS types; improve performance by @mholt in #426

New Contributors

Full Changelog: v4.0.0-alpha.8...v4.0.0-alpha.9

v4.0.0-alpha.8

27 Apr 04:26
v4.0.0-alpha.8
de8cf22
Compare
Choose a tag to compare
v4.0.0-alpha.8 Pre-release
Pre-release

This release adds support for reading 7zip archives and contains several significant fixes. Thank you to all who contributed!

What's Changed

  • Retain underlying reader if it's an io.Seeker by @jhwz in #327
  • Enhance FilesFromDisk (close #331) by @mholt in #332
  • fs: Improve Open and Stat on ArchiveFS for streams by @mholt in #335
  • Fix nested directory listing for archives without explicit directory names. by @jeremyje in #339
  • Document caveats with compressed fs.FS by @WeidiDeng in #344
  • return zip.Reader in FileSystem if file is a zip file by @WeidiDeng in #349
  • ignore empty root dir name when compressing file by @WeidiDeng in #355
  • rewrite file matching for fs Open, ReadDir and Stat by @WeidiDeng in #354
  • add Archive method to SevenZip by @nikolaymatrosov in #364
  • zip: fix File.Open not working if called after zip.Extract completes by @ncw in #367
  • Allow Identify to take a nil io.Reader by @ncw in #370
  • Rework ArchiveAsync interface to make it return any archiving errors by @ncw in #369
  • Bump golang.org/x/text from 0.3.7 to 0.3.8 by @dependabot in #372

New Contributors

Full Changelog: v4.0.0-alpha.6...v4.0.0-alpha.8

v4.0.0-alpha.6

17 Mar 22:23
v4.0.0-alpha.6
dda6eaa
Compare
Choose a tag to compare
v4.0.0-alpha.6 Pre-release
Pre-release

This release focuses some attention on Identify(), which has a slightly modified signature; please adjust programs accordingly. It can now accept any io.Reader and no longer requires Seek(); however, it returns three values including a new Reader that can re-read the buffered bytes consumed during identification. Callers should use that returned Reader after calling Identify().

What's Changed

  • Fix for Identify() failing on empty and small files: by @congop in #319
  • Change Identify API to accept only an io.Reader by @jhwz in #322

New Contributors

Full Changelog: v4.0.0-alpha.5...v4.0.0-alpha.6

v4.0.0-alpha.5

01 Mar 21:30
v4.0.0-alpha.5
2efff02
Compare
Choose a tag to compare
v4.0.0-alpha.5 Pre-release
Pre-release

A couple minor enhancements (including ArchiveAsync()). Thanks for your participation and contributions!

Full Changelog: v4.0.0-alpha.4...v4.0.0-alpha.5

v4.0.0-alpha.4

22 Jan 23:58
v4.0.0-alpha.4
a44c8d2
Compare
Choose a tag to compare
v4.0.0-alpha.4 Pre-release
Pre-release

A few more bug fixes and enhancements. Thanks for your participation and contributions.

Full Changelog: v4.0.0-alpha.3...v4.0.0-alpha.4

v4.0.0-alpha.3

16 Jan 05:04
v4.0.0-alpha.3
808bd48
Compare
Choose a tag to compare
v4.0.0-alpha.3 Pre-release
Pre-release

Bug fixes and minor-moderate enhancements. Things are looking even better now! Thanks for your participation and contributions.

Full Changelog: https://github.com/mholt/archiver/compare/v4.0.0-alpha.2..v4.0.0-alpha.3

v4.0.0-alpha.2

11 Jan 16:59
v4.0.0-alpha.2
0448c6d
Compare
Choose a tag to compare
v4.0.0-alpha.2 Pre-release
Pre-release

A few enhancements and bug fixes.

v4.0.0-alpha.1

04 Jan 06:37
10c5080
Compare
Choose a tag to compare
v4.0.0-alpha.1 Pre-release
Pre-release

v4 is a complete rewrite with a simpler, stream-oriented API. The arc command has yet to be implemented for v4 (please use v3 for now, if you need that).

PR #302 documents the many issues fixed/closed by this new version.

Some of the major new features:

  • Stream-oriented APIs (no writing to disk!)
  • Simpler APIs (less code and docs!)
  • File system abstraction (treat archives like directories!)
  • Format identification (by filename or header!)

Many other improvements and simplifications have been made.

The v4 godoc is live. See the README for a tour and code examples. Please try it out and leave your feedback!

v3.5.1

01 Nov 20:06
v3.5.1
cc194d2
Compare
Choose a tag to compare

v3.5.0

30 Oct 03:29
Compare
Choose a tag to compare

Changelog

25e050d add a comment explaining backwards compatibility
b736c51 add missing and remove unused modules
ca7993e port to github/pierrec/lz4/v4