Skip to content

Releases: purelogiccode/ZArchiveSharp

v1.3.0

Choose a tag to compare

@drpetersonfernandes drpetersonfernandes released this 13 Sep 05:07

ZArchiveSharp v1.3.0

Framework-dependent standalone CLI bundles for Windows, Linux and macOS (x64 + arm64), a mount-friendly random-access reader API, specific open-failure reasons, and parallel block decode.

Highlights

  • Mount-friendly reader API — node-handle directory walks (RootNode, TryGetDirEntry), canonical names (TryGetNodeName), seekable per-entry streams (OpenRead/TryOpenRead), and archive stats (EntryCount, TotalUncompressedSize) for virtual file systems and other random-access hosts.
  • Specific open-failure reasons — ZArchiveOpenFailure plus out overloads for path/stream/byte-array opens report BadMagic, UnsupportedVersion, LengthMismatch, SectionOutOfRange, BadOffsetRecords, BadNameTable, BadFileTree, TooSmall, InvalidStream, FileNotFound, AccessDenied, ReadError and InvalidPath instead of a bare null.
  • Reader options — ZArchiveReaderOptions adds CacheBlockCount (default 64 × 64 KiB), opt-in corrected extended-name decoding (DecodeExtendedNames), and FileShare for path opens.
  • Parallel block decode — ReadFromFile decompresses distinct 64 KiB blocks outside the global lock (cache bookkeeping and copies stay locked), so concurrent reads scale.
  • Hardening fixes — extraction rejects crafted directory child ranges loudly; null/empty/invalid paths report InvalidPath; TotalUncompressedSize saturates instead of wrapping.

Downloads

Bundle Executable Runtime
release_1.3.0_win-x64.zip ZArchiveSharp.exe .NET 10 (x64)
release_1.3.0_win-arm64.zip ZArchiveSharp.exe .NET 10 (arm64)
release_1.3.0_linux-x64.zip ZArchiveSharp .NET 10 (x64)
release_1.3.0_linux-arm64.zip ZArchiveSharp .NET 10 (arm64)
release_1.3.0_osx-x64.zip ZArchiveSharp .NET 10 (x64)
release_1.3.0_osx-arm64.zip ZArchiveSharp .NET 10 (arm64)

Each zip contains the single-file executable plus its required ZArchiveSharp.Cli.runtimeconfig.json sidecar (the .NET runtime is not embedded), README.md, LICENSE and THIRD-PARTY-NOTICES.md. Unix executables are marked executable in the zip, so they run straight after unzipping.

Or install the global tool: dotnet tool install -g ZArchiveSharp.Cli.

License

Since v1.2.1, ZArchiveSharp is distributed under the ZArchiveSharp Non-Commercial License: the batch pipeline layer is a port of ZarManager 1.2.0, whose license permits non-commercial use only. Commercial use, selling, and use in commercial products are prohibited without prior written consent. The v1.2.0 packages were published under MIT. See LICENSE and THIRD-PARTY-NOTICES.md.

Upgrade notes

  • Additive API: no wire-format or CLI behavior changes, and no breaking changes to existing reader overloads.
  • Behavior changes apply only to invalid or crafted input: InvalidPath for bad paths, clamped enumeration counts, loud extraction failure on crafted child ranges, and a saturating archive size.
  • Standalone bundles are framework-dependent: install the matching .NET 10 runtime and keep the ZArchiveSharp.Cli.runtimeconfig.json sidecar next to the executable.

Full notes: WhatsNew.md · Release notes

v1.2.2

Choose a tag to compare

@drpetersonfernandes drpetersonfernandes released this 13 Sep 01:42

ZArchiveSharp v1.2.2

Framework-dependent standalone CLI bundles for Windows, Linux and macOS (x64 + arm64), the executable-aware help fix, the Windows application icon, and solution-wide tag-driven versioning.

Highlights

  • CLI help names the executable you launched — usage, help, error text and --version print ZArchiveSharp from these bundles and zar from the global tool (dotnet ZArchiveSharp.Cli.dll falls back to zar). The substitution is token-aware, so the .zar extension and zstd stay intact.
  • Windows icon and product metadata — the .exe embeds the ZArchiveSharp icon and reports PureLogicCode.com.
  • Tag-driven versioning for every project — MinVer is referenced once in Directory.Build.props; the library, CLI, tests, battle tests and benchmarks all stamp 1.2.2.

Downloads

Bundle Executable Runtime
release_1.2.2_win-x64.zip ZArchiveSharp.exe .NET 10 (x64)
release_1.2.2_win-arm64.zip ZArchiveSharp.exe .NET 10 (arm64)
release_1.2.2_linux-x64.zip ZArchiveSharp .NET 10 (x64)
release_1.2.2_linux-arm64.zip ZArchiveSharp .NET 10 (arm64)
release_1.2.2_osx-x64.zip ZArchiveSharp .NET 10 (x64)
release_1.2.2_osx-arm64.zip ZArchiveSharp .NET 10 (arm64)

Each zip contains the single-file executable plus its required ZArchiveSharp.Cli.runtimeconfig.json sidecar (the .NET runtime is not embedded), README.md, LICENSE and THIRD-PARTY-NOTICES.md. Unix executables are marked executable in the zip, so they run straight after unzipping.

Or install the global tool: dotnet tool install -g ZArchiveSharp.Cli.

License

Since v1.2.1, ZArchiveSharp is distributed under the ZArchiveSharp Non-Commercial License: the batch pipeline layer is a port of ZarManager 1.2.0, whose license permits non-commercial use only. Commercial use, selling, and use in commercial products are prohibited without prior written consent. The v1.2.0 packages were published under MIT. See LICENSE and THIRD-PARTY-NOTICES.md.

Upgrade notes

  • No wire-format or API changes since v1.2.0.
  • Standalone bundles are framework-dependent: install the matching .NET 10 runtime and keep the ZArchiveSharp.Cli.runtimeconfig.json sidecar next to the executable.

Full notes: WhatsNew.md · Release notes

v1.0.1

Choose a tag to compare

@drpetersonfernandes drpetersonfernandes released this 11 Sep 04:35
v1.0.1: renamed assembly and namespaces (ZARSharp.* -> ZArchiveSharp.*)

v1.0.0

Choose a tag to compare

@drpetersonfernandes drpetersonfernandes released this 11 Sep 03:08

Initial release