Skip to content

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 23 Jul 07:45

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 --overwrite is passed, and the flag means the same thing everywhere.
  • optimize requires explicit intent for in-place optimization: slimg optimize photo.jpg now errors; use slimg optimize photo.jpg --overwrite (in-place, atomic) or --output <dir> (write elsewhere).
  • Batch runs with --output now 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

  • resize now 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/slimg

Download 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