Skip to content

V1.0.0

Choose a tag to compare

@aREversez aREversez released this 18 Jul 06:03
4786273

🎉 Image Optimizer v1.0.0

We're excited to announce the first public release of Image Optimizer! 🎉

This initial release provides a simple, cross-platform desktop application for batch image optimization with real-time progress tracking, multiple compression modes, and an intuitive before/after preview experience.

✨ Highlights

  • Batch scan local folders for PNG, JPG, BMP, and TIFF images.

  • Drag & drop files or browse to upload individual images.

  • Three optimization modes:

    • Standard (lossy)
    • Lossless
    • Resize-only
  • Preserve specific colors during PNG quantization with hex color protection.

  • Optional Floyd–Steinberg dithering for pngquant.

  • Interactive side-by-side and overlay comparison before and after compression.

  • Live optimization logs with real-time progress updates.

  • Download all optimized images as a single ZIP archive.

  • Automatic detection of pngquant and oxipng binaries.

  • Cross-platform support for Windows, macOS, and Linux, with Windows binaries bundled for out-of-the-box use.

🔧 Packaging & Deployment

  • Added a PyInstaller build script for generating standalone Windows executables.
  • Included application icons, favicon, and README banner assets.
  • Improved compatibility with frozen PyInstaller builds using proper sys._MEIPASS path resolution.

🐛 Stability & Security

This release also includes numerous reliability and security improvements:

  • Fixed path traversal vulnerabilities in file-serving endpoints.
  • Fixed XSS vulnerabilities in file name rendering on preview and results pages.
  • Eliminated a race condition that could reset application state during active optimization.
  • Fixed background task failures that could silently hide optimizer errors.
  • Added automatic busy-port detection and fallback.
  • Prevented tkinter crashes in headless environments.
  • Fixed preview support for uploaded (non-scanned) images.
  • Corrected log color inconsistencies between the backend and frontend.