Skip to content

chore: release v0.5.1#69

Open
MagicalTux wants to merge 1 commit into
masterfrom
release-plz-2026-05-30T09-57-06Z
Open

chore: release v0.5.1#69
MagicalTux wants to merge 1 commit into
masterfrom
release-plz-2026-05-30T09-57-06Z

Conversation

@MagicalTux
Copy link
Copy Markdown
Member

@MagicalTux MagicalTux commented May 30, 2026

🤖 New release

  • compcol: 0.5.0 -> 0.5.1 (✓ API compatible changes)
Changelog

0.5.1 - 2026-05-30

Other

  • StuffIt 5 Arsenic (method 15) decoder, validated against real archives (#73)
  • real StuffIt method-13 (LZ+Huffman) decoder, validated against real archives (#72)
  • StuffIt classic method-5 (LZAH) decoder, validated against real archives (#71)
  • decode the raw method payload (no invented length prefix) (#70)
  • (release-plz) create the GitHub Release with RELEASE_PLZ_TOKEN (#63)
  • Add LHA, BCJ/Delta filters, ARC Crunch/Squeeze, and StuffIt-13 building blocks (#68)

Added

  • StuffIt 5 Arsenic codec (arsenic, compression method 15): BWT-based —
    a carry-less range/arithmetic decoder (9 adaptive models) → selector-driven
    un-MTF/un-RLE → inverse BWT → optional de-randomization → final RLE →
    CRC-32. Decode-only, self-terminating (in-band end-of-blocks + CRC trailer).
    Clean-room from a facts-only spec, with the fixed interop tables (9 model
    parameters + 256-entry randomization table) supplied as a separately-licensed
    adjunct. Validated bit-exactly against real StuffIt 5 archives — 46 method-15
    forks across 5 fixtures verify (in-stream CRC-32 + declared size), and all 11
    data forks SHA-256 match the reference unar output.

  • StuffIt classic LZAH codec (lzah, compression method 5): LZSS sliding
    window (4 KiB, MSB-first) + a single 314-symbol adaptive Huffman tree,
    decode-only. Clean-room from a facts-only functional spec; the raw fork
    payload is decoded with the uncompressed size supplied out of band via
    DecoderConfig::with_len (StuffIt has no in-band end marker). Validated
    bit-exactly against real classic SIT! archives — 17 method-5 forks across
    5 fixtures pass the stored per-fork CRC-16.

  • LHA / LZH codecs (lha): -lh1- (adaptive Huffman) and
    -lh4-/-lh5-/-lh6-/-lh7- (static Huffman) LZSS methods, encoder + decoder.
    Clean-room from Okumura's public-domain LZHUF / ar002 descriptions.

  • BCJ branch-converter filters (bcj): reversible x86, ARM, ARM-Thumb,
    ARM64, PowerPC, SPARC, IA-64, and RISC-V filters (public-domain LZMA SDK
    lineage), encoder + decoder.

  • Delta filter (delta): reversible byte-wise delta with a configurable
    distance (1..=256), encoder + decoder.

  • ARC Crunch (arc_crunch, method 8, 12-bit dynamic LZW) and ARC
    Squeeze
    (arc_squeeze, method 4, RLE + static Huffman), encoder + decoder.

  • StuffIt method 13 decoder (sit13, "LZ+Huffman"): LZSS (64 KiB window,
    LSB-first) + two per-stream 321-symbol Huffman codes switched per token,
    obtained via the fixed meta-code or one of five predefined code-length sets;
    explicit end-of-stream symbol. Decode-only. Clean-room from a facts-only
    spec, with the fixed interop tables supplied as a separately-licensed
    adjunct. Validated bit-exactly against real classic SIT! archives —
    28 method-13 forks pass the stored per-fork CRC-16, covering all five
    control modes. (Upgrades the earlier building-blocks-only Unsupported
    stub.)

    Note: lha and arc_* are clean-room from public specs and validated by
    their own encoder↔decoder round-trip, not against reference-tool output.


This PR was generated with release-plz.

@MagicalTux MagicalTux force-pushed the release-plz-2026-05-30T09-57-06Z branch 4 times, most recently from 706eeb4 to c346367 Compare May 30, 2026 14:49
@MagicalTux MagicalTux force-pushed the release-plz-2026-05-30T09-57-06Z branch from c346367 to cb0f510 Compare May 30, 2026 14:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant