17 posts
OxiArc 0.3.3 is a correctness release: Brotli now round-trips high-entropy and incompressible data byte-for-byte across all quality levels 1–11. A package-merge Huffman code generator and an extended insert-length table fix two long-standing encoder bugs. Pure Rust, on-the-wire compatible, 1,679 tests passing.
OxiCode 0.2.4 makes the streaming encoder/decoder generic over the Config type so encoder and decoder pairs can share an explicit codec configuration via new_with_config, implements core::error::Error for DeError/SerError in no_std + alloc, bumps the MSRV to 1.81, and moves OxiARC pure Rust compression to 0.3.2. Same 100% bincode-2.0 binary compatibility.
OxiArc 0.3.2 introduces oxiarc-szip: a Pure Rust implementation of AEC/SZIP (CCSDS-121.0-B-2), the lossless codec behind the HDF5/NetCDF SZIP filter and widely used in satellite and scientific data. Byte-for-byte compatible with libaec. No C, no zlib — 1,666 tests passing.
OxiArc 0.3.1 adds front-to-back archive repair and recovery for corrupt ZIP and TAR files, custom-dictionary compression for LZH and LZMA, and a thread-safe LZMA memory pool. Pure Rust, no zlib, no libarchive — 1,647 tests passing, zero warnings.
The 0.3 line of Pure Rust archive and compression: a Zopfli-style optimal DEFLATE parser, an LZMA BT4 match finder that delivers SDK-grade level-9 quality, true bounded-memory LZ4 streaming, parallel Snappy, optimal LZSS for LZH, and memory-mapped archive access. ~71k SLoC across 227 files, 1,640 tests, 13 crates. API-stable as of v0.3.0.
Pure Rust archive and compression gets faster and broader. OxiArc 0.2.8 adds SIMD CRC32 via aarch64 PMULL and Snappy CRC32C via SSE4.2, ISO 9660 read support with Joliet filenames, byte-for-byte raw-preserve append for ZIP/LZH, progress/cancel builders for LZ4/Zstd/LZMA, and a per-entry memory limit. ~58k SLoC, 1,281 tests, 12 crates.
A focused OxiCode patch: a deny.toml policy gate to ban unsafe or incompatible crates, the bincode dev-dependency pinned to =2.0.1, OxiARC pure Rust compression bumped to 0.2.7, and more robust temp-file handling in the file-I/O test suite. Same 100% bincode-2.0 binary compatibility, same Pure Rust guarantee.
Pure Rust archive and compression with a new in-place editing workflow. OxiArc 0.2.7 adds the `oxiarc add` command for appending files to existing ZIP/TAR/LZH archives, lenient recovery of malformed archives, async LZH/TAR streaming, cooperative cancellation, colored output, and man pages. 12 formats, 10 codecs, 12 crates, ~47k SLoC, 1,041 tests.
12 archive formats and 10 compression algorithms implemented from scratch in pure Rust. DEFLATE up to 400 MB/s, SIMD-accelerated CRC (3–4.5× faster), full async streaming, Brotli + Snappy support, LZH (Japanese legacy) full support. ~47k SLoC, 12 crates, 1,041 tests. The sovereign data packaging layer for SciRS2 and the entire COOLJAPAN ecosystem (now 21M+ SLoC total).
OxiArc 0.2.5 adds two brand-new compression crates — Brotli (RFC 7932, quality 0-11) and Snappy (block + framed with CRC32C) — bringing the workspace to 12 crates and 12 container formats. Plus DEFLATE/GZip/Zlib streaming with flush modes, LZW streaming, and an EntryBuilder fluent API. 1,038 tests, all passing. Pure Rust archive and compression — no C, no zlib, no libarchive.
SciRS2 0.3.4 is the pure-Rust SciPy/NumPy/scikit-learn replacement: 2.59M SLoC, 19,700+ tests, 29 workspace crates. This release upgrades OxiARC to 0.2.5 and purges the last C-library (GMP/MPFR) and the zip crate from the dependency tree for a leaner, smaller-attack-surface, 100% Pure Rust supply chain.
10 archive formats and 8 compression algorithms implemented from scratch in pure Rust. DEFLATE up to 400 MB/s, SIMD-accelerated CRC (3–4.5× faster), full async support, LZH (Japanese legacy) support, ZIP/TAR/GZIP/Zstd/LZ4/XZ and more. The sovereign data packaging layer for SciRS2 and the entire COOLJAPAN ecosystem.
OxiArc 0.2.3 brings non-blocking I/O to the compression layer: async ZIP, async DEFLATE, and a new GZip module for Tokio/async-std pipelines, alongside a dedicated GIF LZW codec with LSB bitstream support. Plus across-the-board codec refinements. Pure Rust archive and compression — no C, no zlib, no libarchive.
OxiArc 0.2.2 ships a complete Zstandard encoder built from scratch — FSE, canonical Huffman, and an LZ77 match finder with 22 levels — so the workspace now writes real .zst, not just reads it. Plus an n-gram Zstd dictionary trainer, LZ4 dictionary frames, and richer ZIP64 with AES-256 and ZipCrypto. Pure Rust archive and compression, no C, no zlib, no libzstd.
OxiArc 0.2.1 brings security and scale: traditional ZipCrypto encryption for password-protected ZIPs, plus async I/O, SIMD-accelerated CRC, and memory-mapped I/O in the core. Also LZ4 dictionary support and LZHUF streaming. Pure Rust archive and compression — no C, no zlib, no libarchive.
OxiArc 0.2.0 adds full LZW compression for TIFF and GIF — MSB/LSB bitstreams, variable bit widths — bringing the workspace to 10 pure-Rust crates. Now on crates.io, with a default test suite cut 76% faster (137s → 32s) and 427 passing tests. Pure Rust archive and compression with no C, no zlib, no libarchive.
The first real release of OxiArc: pure Rust archive and compression with 9 crates, 8 compression algorithms, and 10 container formats — ZIP, TAR, GZIP, LZH, XZ, 7z, CAB, LZ4, Zstd, Bzip2 — all reimplemented from scratch. No C, no zlib, no libarchive. ~19,600 lines, 371 tests, Rust 1.85+ / Edition 2024.