ImageOptim is a GUI for lossless image optimization tools: Zopfli, PNGOUT, OxiPNG, AdvPNG, PNGCrush, JPEGOptim, Jpegtran, Guetzli, Gifsicle, SVGO, svgcleaner and MozJPEG.
Apple Silicon Support
- Universal binary support for Apple Silicon (arm64) and Intel (x86_64) processors
- Release builds produce a single app that runs natively on both architectures
Dependency Consolidation
- All dependency files unified locally for easy compilation
- Added libzopfli.a and libdeflate.a for advpng
- Pre-built binaries included in submodules
Release Assets
- DMG:
ImageOptim-1.9.5.dmgfor distribution - tar.bz2:
ImageOptim1.9.5.tar.bz2for Sparkle updates
Version bump – build and release tooling updates.
Apple Silicon (arm64) Support
- Universal binary support for Apple Silicon (arm64) and Intel (x86_64) processors
- Release builds produce a single app that runs natively on both architectures
Build System
imageoptim/release.xcconfig: AddARCHS = arm64 x86_64for universal binariesjpegoptim/jpeg-6b/jpeg.xcodeproj: UpdateVALID_ARCHSandARCHSfrom legacyi386 ppc x86_64toarm64 x86_64advpng: Add libzopfli.a and libdeflate.a linking; run./configure && makein advpng for dependencies- One-step build script:
./scripts/build-dmg.shbuilds and creates DMG
Release Assets
- DMG:
ImageOptim-1.9.5.dmgfor distribution - tar.bz2:
ImageOptim1.9.5.tar.bz2for Sparkle updates
Requires:
git clone --recursive https://imageoptim.com ImageOptim
cd ImageOptimTo get started, open imageoptim/ImageOptim.xcodeproj. It will automatically download and build all subprojects when run in Xcode.
In case of build errors, these sometimes help:
git submodule update --initcd gifsicle # or pngquant
make clean
makeRun product tests:
# Run BackendTests unit tests (PNG/JPEG/GIF/SVG optimization)
./scripts/run-tests.sh --quick
# Run full test suite
./scripts/run-tests.sh --all
# Integration test (requires build first)
./scripts/integration-test.shOr in Xcode: Product → Test (⌘U)
One-step build and DMG creation:
./scripts/build-dmg.shFull release (build, tag, push to GitHub, create release with DMG + tar.bz2):
# Requires: gh CLI (brew install gh), authenticated with GitHub
./scripts/release-github.sh [VERSION]Outputs are saved to release-<VERSION>/ locally and uploaded as GitHub release assets.