github lifthrasiir/aqueous v0.0.20261112
Aqueous archiver 2026-11-12

one hour ago

Download and execute aqr-20261112-win-install.exe if you have no other reason.
Download aqr-20261112-win7.exe if you use Windows 8 or earlier.

This snapshot is specifically dedicated to My Beautiful Girl, Mari (2002), which CD rip (somehow truncated) was used to reverse-engineer DivX 3 coefficients and test old codecs.

Newly Supported Formats

  • Raw photographs: lossless JPEG (SOF3) streams in CR2 and DNG files are decoded and coded by a model of their samples
  • AI model files: GGUF, PyTorch torch.save (.pth/.pt/.ckpt) and safetensors
    • Floats' exponents and quantized blocks' nibbles are coded by a SIMD rANS; every dtype of the containers is taken
    • Weights converted from a lower precision (NVFP4, MXFP4, FP8, NF4, GPTQ/AWQ INT4, INT8) are coded as a grid's indices times exact scales
    • Large enough files (1 GiB or more) are written straight to the archive instead of spill files, so memory doesn't grow with them
  • AVI with DivX 3 video and AC-3 audio: both are parsed and coded again by context models
  • Inno Setup installers: the LZMA data after the executable is recompressed
  • InstallShield cabinets (data1.cab): DEFLATE chunks are rebuilt
  • OLE compound files (MSI, Office, HWP, .msg): streams are read as files and their contents recompressed individually
  • PDB files: TPI and IPI type streams are coded by field, their hashes derived
  • 7z's Swap2 and Swap4 filters
  • 16-bit PNM (PGM, PPM, PAM) and uncompressed 16-bit TIFF images

Changes to Existing Formats

  • PDF
    • Streams of files encrypted with the empty user password (RC4, AES-128, AES-256) are now recompressed
  • CAB (LZX)
    • LZX streams are decoded as they stream, so large cabinets are no longer refused for memory
  • ProRes
    • Decoding memory no longer grows with the chunk, so most large files are no longer refused by the default bound
    • Decoding is about 15% faster
  • Lossless JPEG decoding runs on tasks in WebAssembly too
  • git packs and HDF5 files are rebuilt at aqr-flate's exact zlib emulation where it predicts every token
  • Wavefront OBJ files over 64 MiB are cut into portions coded in parallel
  • AZO (EGG): the x86 filter is now exactly ALZip's, so all x86 streams are rebuilt

User-facing Changes

  • Archives can now keep named versions (journal points):
    • -j LABEL (with -c, -a or -s) names the state the run leaves the archive in; {today} and {now} are filled in
    • --tag LABEL ARCHIVE names the current state afterwards
    • --at SPEC picks a state for -t, -d and -K: #N, #-N, @LABEL, or a date
    • --history lists the versions
    • --diff ARCHIVE lists what changed between two versions; --diff ARCHIVE PATH... compares an archive with files on disk
    • --compact now takes --keep-since SPEC (keep later versions) or --drop-history for journaled archives
    • --json for --history and --diff
  • Self-extracting archives: aqr -c --format sfx [-o OUT.exe] (Windows x86-64 only)
    • Modules run natively from the program, so the archive carries only their hashes
    • Not with -a, -A, -P, -j, or standard input/output
  • Windows: "Compress with options…" opens a compression dialog that tells how many files and bytes the inputs are while you choose options
  • Windows and macOS: "Name this version…" and "Extract a previous version…" for .aqr files in Explorer and Finder
  • ZIP and EGG made with --format now keep file owners (ZIP, EGG) and POSIX modes (EGG)
  • --format now writes local times correctly in EGG, 7z, tar, gzip and ZIP (they were off by the time zone's offset)
  • --stats now counts the threads of streaming modules, their tasks and sandbox workers
  • Homebrew: the tap is updated as each release is published

Specification Changes

  • Journal points (optional metadata key -4): times mapped to the labels of an archive's states
  • A metadata block other than the first may have no entries (a segment that only names a state)

Performance Optimizations

  • SIMD for many models: aqr-raw (FLAC/PCM, raster images) and aqr-png on x86-64 (SSE2/SSSE3); GIF's mixers; ProRes, PSD, CLIP, TEX, Adler-32 and the zlib emulator in WebAssembly
  • Writing a large file as ZIP, ALZ or EGG deflates it in chunks on all threads
  • Verification no longer gathers the long streams of streaming modules into memory
  • Windows: aqr.exe no longer links Wasmtime; it runs WebAssembly modules through the interpreter it carries for SFX archives
  • Linux and macOS binaries no longer carry debug information

Bug Fixes

  • Fix a panic ("a block with slices left") when compressing some large inputs at higher levels
  • Fix rustdoc and clippy warnings

Don't miss a new aqueous release

NewReleases is sending notifications on new releases.