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

v4.0.0-alpha.9

Pre-release
Pre-release
Compare
Choose a tag to compare
@mholt mholt released this 08 Nov 17:54
· 7 commits to master since this release
v4.0.0-alpha.9
f9dfd58

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