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,-aor-s) names the state the run leaves the archive in;{today}and{now}are filled in--tag LABEL ARCHIVEnames the current state afterwards--at SPECpicks a state for-t,-dand-K:#N,#-N,@LABEL, or a date--historylists the versions--diff ARCHIVElists what changed between two versions;--diff ARCHIVE PATH...compares an archive with files on disk--compactnow takes--keep-since SPEC(keep later versions) or--drop-historyfor journaled archives--jsonfor--historyand--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
--formatnow keep file owners (ZIP, EGG) and POSIX modes (EGG) --formatnow writes local times correctly in EGG, 7z, tar, gzip and ZIP (they were off by the time zone's offset)--statsnow 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