Repository navigation
Releases: lifthrasiir/aqueous
Releases · lifthrasiir/aqueous
Release list
Aqueous archiver 2026-11-01
Download and execute aqr-20261101-win-install.exe if you have no other reason.
Download aqr-20261101-win7.exe if you use Windows 8 or earlier.
Newly Supported Formats
- ALZip archive (.alz)
- ALZip EGG archive (.egg)
- Apple ProRes in QuickTime/MXF (.mov, .mxf)
- ELF executables and objects
- JSON Lines (.jsonl) and JSON arrays written one value per line
- LHA archive (.lzh, .lha) ---
-lh4-to-lh7-only - Matroska/WebM (.mkv, .webm) --- intended for videos of a still picture
- RAR archive (.rar): RAR5 and RAR 3.x/4.x (RAR 2.9 LZ and PPMd, standard filters) --- PPMd streams only in -9; volumes and SFX are not supported yet
- Aqueous archive nested in input (.aqr) --- module and resource blocks are shared with the outer archive
Changes to Existing Formats
- IMA ADPCM
- WAV files are now supported
- Vorbis
- Ogg files are now supported
- Text
- Text with up to 1 in 1000 non-text bytes is now taken as text (e.g. a trailing Ctrl-Z)
- tar (and ar, cpio, asar) as a single input
- Members and blocks are now made in parallel
User-facing Changes
aqr -dandaqr -tsupport other archives: ZIP, 7z, tar (alone or with gzip/bzip2/xz/LZMA/zstd), RAR, ALZ and EGG, plus single compressed files (.gz, .xz, …)- Other archives are extracted as they are into the current directory (or
-o), like tar and 7z x - Encrypted ZIP entries and 7z folders/headers are decrypted
- Other archives are extracted as they are into the current directory (or
aqr -d ARCHIVE PATH...extracts or tests only the given paths and decodes only what they needPATH --rename TOchanges the target path- The prior behavior is now available through
aqr -d --each ARCHIVE ARCHIVE...
--auto-dirplaces the output by what the archive holds, as GUI extractors do-Pencrypts archives and encrypted archives ask for a passphrase-h/--helpand-V/--versionwere added- GUI support via the
--ipcprotocol- Windows: Explorer verbs and a progress window (aqr-win), an installer (aqr-win-install), a passphrase dialog and the droplet icon
- macOS: Aqueous.app adds Finder services, opens .aqr files and shows progress in Finder, with a passphrase dialog (no notarization yet)
- Linux x86_64/aarch64 binaries are built with each release, and a Nix flake was added (nix build)
Specification Changes
ModuleBytes(02) andResourceBytes(03) opcodes, so nested archives can share blocks
Compression Optimizations
- Incompressible streams are now tried whole at zstd level 1
Performance Optimizations
- Opening an archive for a few paths is much faster
- Formula blocks are lazily decoded
- Metadata is read via streaming
- Zstd context is now reused within each thread
- LZMA/LZMA2 decoding during extraction is 1.8× as fast
- 7z folders are written out as they are decoded
- Compression uses less memory
- Formula is held in the store rather than in memory
- Concatenations are checked part by part
- Faster coding of JPEG and GPU textures
- Spill files are named after the output, and on Windows they are hidden and excluded from indexing
Bug Fixes
- Windows: extraction can no longer write outside the target directory, whether through lone surrogates, fork names or link targets
- Names are now compared as the target file system would (case, Unicode normalization, FAT short names; on macOS, Windows and Linux)
- Entries the file system would take as one are reported and skipped, instead of failing or overwriting each other with
-f - Links can no longer reach outside the target directory through names differing only in case or normalization
- A mode or times are no longer applied through a link made later over the same path
- Entries the file system would take as one are reported and skipped, instead of failing or overwriting each other with
- Fix a panic ("output taken before it is") on archives with nested shared applications, e.g. an EGG archive holding a PDF at -9
- aqr-bz2: a memory bound could be exceeded on some blocks
Aqueous archiver 2026-10-31
Download and execute aqr-20261031a-win-install.exe if you have no other reason. (It is based on 5393aa3, unlike others.)
Download aqr-20261031-win7.exe if you use Windows 8 or earlier.
Newly Supported Formats
- 7-Zip archive (.7z) and almost all built-in non-codec filters --- intended only for deduplication
- Apple LZFSE/LZVN (Assets.car) --- only in -9
- BZip2 (.bz2)
- Clip Studio Paint (.clip)
- Comma, Tab, Semicolon, Pipe and Unicode-separated values (.csv, .tsv, .usv)
- DICOM (.dcm)
- Electron ASAR (.asar)
- FITS (.fits)
- FMOD FSB5 sound bank (.fsb)
- GIF (.gif)
- GNU gettext message (.mo)
- HDF5 (.hdf5)
- IMA ADPCM --- no file support yet
- ISO 9660/UDF image file (.iso)
- LZMA2 and XZ (.xz)
- LZX --- CAB/CHM support only in -9
- MS Cabinet (.cab)
- MS Compiled HTML Help (.chm) --- only in -9
- PPMd var. J (.pmd) --- no decompression, deduplication only
- Uncompressed TIFF (.tif)
- Vorbis --- no Ogg support yet
- WaveFront OBJ (.obj)
- WebAssembly module (.wasm)
- Windows Imaging Format (.wim)
Changes to Existing Formats
-
Overall
- Optimized for module sizes and especially memory footprints
- Estimated memory usage calculation for all modules
- Progress meter support
-
DEFLATE
- Dedicated code for zlib -1..3 reproduction
-
git repository
- Share the DEFLATE backend with other files
- Automatic derivation of .idx and .rev files
-
LZMA
- Compression is now partly multi-threaded
-
Mach-O
- Explicit packing of symbol tables
- Dedicated delta coding format support ("remap", both x86-64 and AArch64)
-
PE (.exe)
- Explicit packing of tabular sections
-
x86-64
- Greatly reduced the number of input streams
-
Photoshop (.psd)
- Fix a shift overflow in WebAssembly module
-
Text
- WRT is now multi-threaded
- Specific transformation for Korean hangul
- Very long lines no longer force single-threaded encoding
-
ZIP (.zip)
- Non-transformed slices are now deduplicable
User-facing Changes
- Progress bars and slow files are displayed during compression and decompression
- Per-file logs are off by default (
-v) - Preset dictionaries can be trained within batches (
-D) - Proper metadata recording and restoration, privileged attributes are also handled via
-p - Batch and block sizes are customizable (
-Band-b) - In-process statistics and profiling (
--stats,--stats=report.htmletc.)
Specification Changes
- Additional keys for forks (or streams), xattrs and platform-specific metadata
- Mandatory declaration of max concurrency (
aqr_task_slotscustom section)
Compression Optimizations
- Infer tabular layouts and transpose accordingly
- Improve the clustering of batches via content-defined chunking
- Streams are now sliced and compared against each other for similarity
Performance Optimizations
- Compression uses much less memory now
- Compression is now partially streamed
apply_memory_limitis now correctly declared for all modules- Inputs are memory mapped, any detected changes are correctly handled
- Big buffers are now put in spill files
- Large streams are divided in 128 MiB blocks
- Consecutive batches can be pipelined
- Increase the number of ZStandard compression threads
- Process oversized batches and costly files first
- Task memories are now copy-on-write in Windows
- Format-based weighting for compression
Bug Fixes
- Fix a quadratic growth of Swap opcodes with many shared output streams
- Eliminate unused block references in formula blocks
- Treat
.logas a text file - Standalone archive is analyzed according to the input file name
-T 1no longer causes occasional hang- Graceful degradation of sandbox in Windows 8 or earlier