Repository navigation
v0.6.0
Highlights
This release focuses on correctness, file safety, and supply-chain hardening.
⚠️ Breaking changes (CLI)
- slimg no longer overwrites existing files silently. Every subcommand now refuses to replace an existing output file unless
--overwriteis passed, and the flag means the same thing everywhere. optimizerequires explicit intent for in-place optimization:slimg optimize photo.jpgnow errors; useslimg optimize photo.jpg --overwrite(in-place, atomic) or--output <dir>(write elsewhere).- Batch runs with
--outputnow require a directory (created automatically if missing). Previously all parallel workers could silently write to one single file.
Fixed
- JXL decoder no longer hangs forever on truncated or malformed input.
- Crop bounds check no longer overflows
u32(out-of-bounds panic in release builds). - Non-finite resize scale factors (
inf,NaN) are rejected. - All CLI writes are atomic (temp file + rename) — a crash mid-write can no longer corrupt an existing file.
- Symlinked directories are no longer followed during recursive scans (symlink-cycle safe); symlinks to regular files still work.
- GUI: a missing output directory no longer collapses batch output onto a single file; a panic on one file no longer aborts the rest of the batch.
Added
resizenow supports batch processing: directory input,--recursive,--jobs,--overwrite.- Fully opaque images are encoded to JPEG XL as RGB, dropping the redundant alpha plane for smaller files.
- Desktop GUI: batch processing can now be cancelled mid-run.
- Rust CI (fmt / clippy / tests on Linux, macOS, Windows) and CLI integration tests.
- Prebuilt libjxl downloads are now verified against pinned SHA-256 checksums.
Changed
- Workspace version is now single-sourced; release automation gained a Kotlin version gate and honest crates.io publish error reporting.
- GUI option validation is strict: invalid or missing resize/crop parameters produce a clear error instead of a silent fallback.
Install slimg 0.6.0
Install prebuilt binaries via Homebrew
brew install clroot/tap/slimgDownload slimg 0.6.0
| File | Platform | Checksum |
|---|---|---|
| slimg-aarch64-apple-darwin.tar.xz | Apple Silicon macOS | checksum |
| slimg-x86_64-apple-darwin.tar.xz | Intel macOS | checksum |
| slimg-x86_64-pc-windows-msvc.zip | x64 Windows | checksum |
| slimg-aarch64-unknown-linux-gnu.tar.xz | ARM64 Linux | checksum |
| slimg-x86_64-unknown-linux-gnu.tar.xz | x64 Linux | checksum |