Skip to content

Releases: MogensenJesse/image-optimizer

Image Optimizer v0.6.10

17 Apr 15:18

Choose a tag to compare

What's New in v0.6.0

New Features

  • SVG optimization — SVG files are now supported via vexy-vsvg (a native Rust port of SVGO), removing metadata, minifying paths, and collapsing groups for smaller file sizes
  • Internationalization — the app is now available in 6 languages: English, Dutch, German, French, Spanish, and Russian
  • Toast notifications — non-intrusive feedback when unsupported files are skipped, with auto-dismiss animation

Improvements

  • Structured logging — configurable log levels via RUST_LOG
  • UI accessibility — consistent focus indicators on all interactive elements
  • Typography consistency — standardized font weights and spacing across panels and menus
  • Dropdown styling — added chevron icon to the language selector
  • Skipped-files messaging — shows one filename with a count of others instead of listing all
  • Progress bar responsiveness — visual now closely tracks the percentage text
  • Unified progress tracking — progress bar now accurately reflects overall job completion
  • Updated JS and Rust dependencies

Fixes

  • Fixed toast notification only appearing once for repeated actions
  • Fixed progress events being dropped during fade-in animation
  • Fixed processing timer not starting for fast operations

v0.6.1

Improvements

  • SVG optimization — replaced vexy-vsvg with oxvg_optimiser for significantly better SVG minification (up to 67% compression)
  • Adaptive size display — file savings now shown in B, KB, or MB depending on magnitude
  • Native library bundling — libvips and its dependencies are now included in all platform installers (Windows DLLs, macOS dylibs, Linux deb dependency)
  • In-app changelog rendering — bold and inline code markdown now renders correctly

Fixes

  • Fixed "DLL not found" errors on Windows installations (libvips-42.dll, libgobject-2.0-0.dll)
  • Fixed silent launch failures on macOS and Linux due to missing native libraries
  • Fixed "0 MB saved" display when optimizing small files

v0.6.2 - v0.6.10

Improvements

  • Faster CI builds — added Rust and libvips caching, removed duplicate macOS build
  • macOS universal binary — single download now works on both Intel and Apple Silicon Macs
  • Translated UI — "Options" label and file-size units (B, KB, MB) are now localized in all languages
  • More reliable releases — every macOS build is now automatically inspected before publishing to confirm all required libraries are bundled

Fixes

  • Fixed native DLLs not being copied next to the executable on Windows
  • Fixed macOS build script compatibility with older bash versions
  • Fixed compilation failure on macOS caused by LTO and window-vibrancy conflict
  • Fixed macOS app crash on launch caused by a missing native library inside the bundle
  • Dropped unused MSI installer to simplify Windows distribution

Image Optimizer v0.6.6

14 Apr 21:20

Choose a tag to compare

Pre-release

What's New in v0.6.0

New Features

  • SVG optimization — SVG files are now supported via vexy-vsvg (a native Rust port of SVGO), removing metadata, minifying paths, and collapsing groups for smaller file sizes
  • Internationalization — the app is now available in 6 languages: English, Dutch, German, French, Spanish, and Russian
  • Toast notifications — non-intrusive feedback when unsupported files are skipped, with auto-dismiss animation

Improvements

  • Structured logging — configurable log levels via RUST_LOG
  • UI accessibility — consistent focus indicators on all interactive elements
  • Typography consistency — standardized font weights and spacing across panels and menus
  • Dropdown styling — added chevron icon to the language selector
  • Skipped-files messaging — shows one filename with a count of others instead of listing all
  • Progress bar responsiveness — visual now closely tracks the percentage text
  • Unified progress tracking — progress bar now accurately reflects overall job completion
  • Updated JS and Rust dependencies

Fixes

  • Fixed toast notification only appearing once for repeated actions
  • Fixed progress events being dropped during fade-in animation
  • Fixed processing timer not starting for fast operations

v0.6.1

Improvements

  • SVG optimization — replaced vexy-vsvg with oxvg_optimiser for significantly better SVG minification (up to 67% compression)
  • Adaptive size display — file savings now shown in B, KB, or MB depending on magnitude
  • Native library bundling — libvips and its dependencies are now included in all platform installers (Windows DLLs, macOS dylibs, Linux deb dependency)
  • In-app changelog rendering — bold and inline code markdown now renders correctly

Fixes

  • Fixed "DLL not found" errors on Windows installations (libvips-42.dll, libgobject-2.0-0.dll)
  • Fixed silent launch failures on macOS and Linux due to missing native libraries
  • Fixed "0 MB saved" display when optimizing small files

v0.6.2 – v0.6.6

Improvements

  • Faster CI builds — added Rust and libvips caching, removed duplicate macOS build
  • macOS builds — fixed compilation failure caused by LTO and window-vibrancy conflict

Fixes

  • Fixed native DLLs not being copied next to the executable on Windows
  • Fixed macOS build script compatibility with older bash versions
  • Dropped unused MSI installer to simplify Windows distribution

Image Optimizer v0.6.4

14 Apr 10:35

Choose a tag to compare

v0.6.4

Improvements

  • SVG optimization — replaced vexy-vsvg with oxvg_optimiser for significantly better SVG minification (up to 67% compression)
  • Adaptive size display — file savings now shown in B, KB, or MB depending on magnitude
  • Native library bundling — libvips and its dependencies are now included in all platform installers (Windows DLLs, macOS dylibs, Linux deb dependency)
  • In-app changelog rendering — bold and inline code markdown now renders correctly

Fixes

  • Fixed "DLL not found" errors on Windows installations (libvips-42.dll, libgobject-2.0-0.dll)
  • Fixed silent launch failures on macOS and Linux due to missing native libraries
  • Fixed "0 MB saved" display when optimizing small files

What's New in v0.6.0

New Features

  • SVG optimization — SVG files are now supported via vexy-vsvg (a native Rust port of SVGO), removing metadata, minifying paths, and collapsing groups for smaller file sizes
  • Internationalization — the app is now available in 6 languages: English, Dutch, German, French, Spanish, and Russian
  • Toast notifications — non-intrusive feedback when unsupported files are skipped, with auto-dismiss animation

Improvements

  • Structured logging — configurable log levels via RUST_LOG
  • UI accessibility — consistent focus indicators on all interactive elements
  • Typography consistency — standardized font weights and spacing across panels and menus
  • Dropdown styling — added chevron icon to the language selector
  • Skipped-files messaging — shows one filename with a count of others instead of listing all
  • Progress bar responsiveness — visual now closely tracks the percentage text
  • Unified progress tracking — progress bar now accurately reflects overall job completion
  • Updated JS and Rust dependencies

Fixes

  • Fixed toast notification only appearing once for repeated actions
  • Fixed progress events being dropped during fade-in animation
  • Fixed processing timer not starting for fast operations

Image Optimizer v0.6.0

10 Apr 10:26

Choose a tag to compare

What's New in v0.6.0

New Features

  • Internationalization — the app is now available in 6 languages: English, Dutch, German, French, Spanish, and Russian
  • Toast notifications — non-intrusive feedback when unsupported files are skipped, with auto-dismiss animation

Improvements

  • Structured logging — configurable log levels via RUST_LOG
  • UI accessibility — consistent focus indicators on all interactive elements
  • Typography consistency — standardized font weights and spacing across panels and menus
  • Dropdown styling — added chevron icon to the language selector
  • Skipped-files messaging — shows one filename with a count of others instead of listing all
  • Progress bar responsiveness — visual now closely tracks the percentage text
  • Unified progress tracking — progress bar now accurately reflects overall job completion
  • Updated JS and Rust dependencies

Fixes

  • Fixed toast notification only appearing once for repeated actions
  • Fixed progress events being dropped during fade-in animation
  • Fixed processing timer not starting for fast operations

Image Optimizer v0.5.3

12 Mar 14:56

Choose a tag to compare

What's New in v0.5.3

Image optimization is now powered by a native Rust engine (libvips), replacing the Node.js sidecar. This results in a 20–50% increase in optimization speed, lower memory usage, and a simpler architecture.

New Features

  • Native image processing engine — all optimization now runs natively in Rust using libvips, eliminating the separate Node.js process
  • Smart lossless compression — quality 100% now uses maximum compression effort across all formats (JPEG, PNG, WebP, AVIF) for the smallest possible file sizes

Improvements

  • Shrink-on-load for JPEG resizing — only decodes the pixels needed, significantly faster for large images
  • Sequential file access for compression-only operations, reducing I/O overhead
  • Optimized build settings for faster image processing
  • Lossy mode encoding tuned to prioritize speed while maintaining great quality
  • Settings UI improvements
  • Updated JS and Rust dependencies

Fixes

  • Resolved AVIF color shifts in lossless mode
  • Fixed AVIF bit-depth compatibility issues
  • Fixed CI builds for Windows, Linux, and macOS

Other

  • Removed Node.js sidecar and all related IPC/serialization code
  • Simplified project architecture to a single-process model

Image Optimizer v0.4.0

11 Feb 15:45

Choose a tag to compare

Settings Panel

  • Redesigned from overlay to a sliding side panel alongside the dropzone
  • Added changelog when an update is available

Styling improvements

  • Refactored styles for better performance and consistency

Full Changelog: v0.3.5...v0.4.0

Image Optimizer v0.3.5

06 Feb 15:25

Choose a tag to compare

Auto-Update System

  • Added in-app update checking and installation via tauri-plugin-updater
  • App checks for updates automatically on startup (configurable)
  • Manual "Check now" button in settings for on-demand update checks
  • Updates are downloaded, verified against a signed public key, and installed with a single click
  • Signed release artifacts (.sig files) for update authenticity verification

Settings Panel

  • New settings panel accessible via the cog icon in the title bar
  • Toggle for enabling/disabling automatic update checks on startup
  • Update status display with download progress
  • Preference persistence via tauri-plugin-store

Title Bar

  • Added settings button with cog icon
  • Green notification badge appears when an update is available

Build & Release

  • Streamlined version management: npm version patch now syncs package.json, Cargo.toml, Cargo.lock, and tauri.conf.json automatically
  • Release tags always match the built app version (v__VERSION__)
  • Signed builds via TAURI_SIGNING_PRIVATE_KEY in CI

Full Changelog: 0.2.5...v0.3.5

0.3.0

06 Feb 10:55

Choose a tag to compare

0.3.0 Pre-release
Pre-release
Add settings panel and updater integration

Introduce a Settings panel and updater flow: add a SettingsPanel React component, styles, and a settings icon; update TitleBar to show a settings button and update badge; wire App to open the panel and auto-check updates (via plugin-store). Add src/utils/updater.js as a thin wrapper around @tauri-apps/plugin-updater to check, download, and install updates. Initialize tauri-plugin-store in the Rust main and register the tauri-plugin-updater (desktop only); expose updater/store capabilities in src-tauri/capabilities/default.json. Also add TAURI_SIGNING_PRIVATE_KEY to the GitHub Actions workflow environment for signing. UI/cosmetic adjustments include importing the new styles into main.scss.

Image Optimizer v0.2.5

05 Feb 08:35

Choose a tag to compare

Added UI versioning

Image Optimizer v0.2.4

04 Feb 14:42

Choose a tag to compare

Performance

  • Optimized Sharp worker pool sizing based on CPU cores and task count
  • Added UV_THREADPOOL_SIZE auto-configuration for improved I/O parallelism
  • Replaced synchronous file operations with async alternatives
  • Configured Sharp caching and concurrency for optimal worker performance

Build & CI

  • Added GitHub Actions caching for Rust, npm, and sidecar dependencies
  • Improved Linux support and cross-platform sidecar builds

Fixes

  • Fixed worker pool over-spawning when batch size < CPU cores
  • Fixed sidecar packaged detection for cross-platform compatibility
  • Fixed temp file cleanup race conditions (moved to Rust backend)
  • Fixed progress timer lifecycle in useProgressTracker
  • Resolved clippy warnings in Rust backend

Code Quality

  • Upgraded to Tauri 2.9, React 19, Vite 7
  • Added Biome linter for frontend code
  • Simplified AppState (removed unnecessary Mutex/async overhead)
  • Removed unused benchmarking feature and dead code
  • Added Rustdoc comments to core modules
  • Unified optimize_image to reuse batch logic

Documentation

  • Added ARCHITECTURE.md
  • Added GITHUB_ACTIONS.md with CI/CD documentation
  • Updated README roadmap