HEICShift v2.5.0
What's New
CLI Mode
Run HEICShift from the command line for scripted or headless operation. If --input is provided, the GUI is skipped entirely.
python heicshift.py --input ./photos --format jpeg --quality 85
python heicshift.py --input ./photos --dry-run
python heicshift.py --versionFlags: --input, --output, --format, --quality, --workers, --in-place, --recursive/--no-recursive, --dry-run, --strip-metadata, --resize max_dim:1920, --version
Exit codes: 0 (all OK), 1 (partial failure), 2 (total failure / bad input)
Safety & Diagnostics
- Disk space pre-check — blocks conversion if estimated output exceeds available space, warns at 80%
- Resize upscaling guard — warns when image is already smaller than the resize target instead of silently skipping
- Better error logging — new
[WARN]log lines for sRGB conversion failures, RAW metadata absence, and resize skips - Dependency version logging — startup log now shows Pillow, pillow-heif, PyQt6, and optional dependency versions
- Stats color reset — stat label colors (skipped/failed/saved) now reset to green on new batch start
UX Polish
- File count in title bar — shows file count after scan, progress during conversion, summary when done
- Auto-open output folder — new checkbox to automatically open the output folder when conversion finishes
- Strip metadata — new option to remove all EXIF/ICC/XMP from output files (mutually exclusive with preserve)