Repository navigation
Releases: dragosmiron/immich-video-optimizer
Release list
v0.3.0
What's Changed in v0.3.0
Features
- Advanced Settings & Custom FFmpeg Flags: Added an Advanced Settings tab in the TUI allowing users to define custom FFmpeg arguments.
Improvements
- Automated Log Rotation: Automatically rotates and compresses historical logs into gzip archives to save disk space.
- Config Auto-Healing: Automatically restores missing or corrupted configuration fields on startup without overwriting existing settings.
- Hardware Fallback Indicators: Clear indicators in the UI and logs when hardware encoding automatically falls back to CPU.
- Aspect Ratio Crash Protection: Ensures even video dimensions during scaling to prevent encoding failures.
- Performance & Code Cleanup: Removed unused code and streamlined internal logging routines.
- Various other improvements and optimizations.
Full Changelog: v0.2.6...v0.3.0
v0.2.6
-
Universal Apple & Safari Playback: Added
-tag:v hvc1for all HEVC encoders (libx265,hevc_nvenc,hevc_vaapi,hevc_videotoolbox), resolving playback failures in QuickTime, Safari, and Apple iOS/macOS clients. -
Tag & Stack Preservation: Automatically preserves and transfers user tags and stack memberships to optimized replacements before original deletion, with full rollback protection if transfer fails.
-
Smart AAC Audio Passthrough: Automatically detects existing AAC audio streams and passes them through directly (
-c:a copy) to preserve original audio fidelity and speed up transcoding. -
Asset Description Preservation: Preserves original video descriptions on replacement assets in Immich alongside shooting dates and GPS coordinates.
-
Stack Primary Asset Integrity: Automatically updates the primary asset reference in Immich stacks before original video deletion.
-
Dry-Run Probe Enhancements: Deduplicated parallel probe workers and excluded unverified probes from candidate batches.
-
Modular Architecture & UI Overhaul: Split monolithic screens, workers, scanner models, and savings estimation for improved responsiveness and maintainability.
-
Various other improvements and optimizations.
v0.2.5
-
Date Range Filtering: Scan and optimize videos taken within a specific timeframe (e.g. a specific trip, year, or month) directly from the Filtering tab in Settings, with full day-boundary coverage in your local timezone.
-
Various other improvements and optimizations.
v0.2.4
Bug Fixes
- Vertical/Portrait Video Scaling: Fixed scale filter calculation so vertical phone videos (e.g. 1080×1920) preserve full resolution instead of downscaling to 608×1080.
- Rollback Replacement on Failure: Automatically removes the replacement asset if transferring albums/favorites or deleting the original fails, preventing duplicate videos.
- Graceful Asset Replacement on Cancel: Added a detached context timeout so pausing/cancelling mid-deletion completes cleanly instead of abandoning half-replaced assets.
- Resilient Static FFmpeg Extraction: Added atomic file extraction and integrity checks to prevent incomplete/corrupted downloads from blocking transcoding.
- Ignore Embedded Cover Art: Probe now ignores attached picture streams when detecting video codecs.
Improvements
- Various other improvements and optimizations.
Full Changelog: v0.2.3...v0.2.4
v0.2.3
What's Changed in v0.2.3
- New Version Availability Check: The app now automatically checks for new releases on startup and displays an in-app banner with the download link when an update is available. You can also check the current version and update status via the new
-v/--versionCLI flags.
v0.2.2
What's Changed in v0.2.2
🛡️ External Library Safety
- Automatically detects and excludes read-only and external library assets (
isReadOnly,isExternal,libraryId) from scans to protect mounted NAS shares and read-only storage paths from accidental replacement or deletion.
📑 Tabbed Settings Navigation
- Cleanly organized settings into dedicated tabs (
Encoding,Filtering,Pipeline & Network) with instant keyboard navigation usingTab,Shift+Tab, or number keys (1,2,3), and automatic cursor reset.
🏷️ Incremental Optimization (Tagging)
- Automatically tags successfully replaced videos with
immich-optimizerand provides a filter toggle to exclude previously optimized videos on future scans as your library grows (works silently in the background).
Full Changelog: v0.2.1...v0.2.2
v0.2.1
What's Changed in v0.2.1
🎨 Adaptive Light & Dark Terminal Themes
- Added automatic terminal background detection powered by
lipgloss.AdaptiveColor(a94b4a1)- Configuration values, section headers, subtext, and status badges now automatically adjust to high-contrast tones (deep slate on light backgrounds, bright white on dark backgrounds).
- Dynamic real-time encoding pulse animation adapts cleanly to both light and dark terminal themes.
📁 Immich Album & Favorite Preservation
- Preserved album memberships and favorite status on newly uploaded assets (9edfae5)
- Replacement assets automatically inherit the original video's placement across all existing Immich albums.
- Favorite status (
isFavorite) is checked and transferred to new replacement assets. - Fail-safe deletion guard: If assigning the new asset to original albums or setting favorite status fails, the pipeline safely aborts deletion of the original video to guarantee zero data loss.
Full Changelog: 0.2...v0.2.1