You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub’s verified signature.
imageopt: cross-platform image optimizer (CLI)
A fast, reliable, single-binary image optimizer in the spirit of ImageOptim, built in Rust. Optimizes JPEG, PNG, GIF, WebP and SVG in place and reports space saved. Lossless by default, opt-in lossy. Designed for CI automation.
- Engine (imageopt-core): content-based format detection; codecs propose candidate encodings and the engine keeps the smallest that re-decodes; never enlarges or corrupts a file (atomic temp-file+rename writes, panic-safe across the C codecs); parallel across files via rayon; decompression-bomb guard.
- Codecs: JPEG (true-lossless jpegtran-style coefficient transform, plus lossy re-encode via mozjpeg), PNG (oxipng + libimagequant), WebP (libwebp), SVG (usvg normalize/minify), static GIF. Lossy raster re-encoders honor the metadata policy.
- CLI (imageopt): --lossy/-q, --png-level, --strip, --dry-run, --backup, --check (CI gate), --json, -r, -j; live progress, table and JSON output, meaningful exit codes.
- CI/distribution: fmt + clippy (-D warnings) + tests on Linux/macOS/Windows; tag-triggered release matrix building self-contained binaries for macOS (arm64/x64), Linux (x64/arm64) and Windows (x64) with SHA256 checksums; composite GitHub Action for optimize-and-commit or PR gating.
Licensed GPL-3.0-or-later.