Skip to content

Releases: hadoooooouken/qimgv-plus

qimgv-plus v3.1.0

28 Jun 01:15

Choose a tag to compare

Release Notes: Version 3.1.0

✨ New Features & Settings

  • Settings / General:
    • Standby Mode: Added an option with a dedicated checkbox toggle to "Enable standby mode on close" instead of completely exiting, which allows the application to keep the minimum amount of memory needed to instantly open images from Windows Explorer.(85791516, 16033465).
    • Remember Last Folder: Added a new configuration option to automatically remember and restore the last used folder location upon application startup (d0b472a9).

🎨 UI/UX & Interactivity

  • Folderview Enhancements:
    • Added a button to completely exit standby mode.
    • Added detailed tooltips across folderview structural elements (3fec1b19).
    • Refactored the folderview context menu so it remains globally accessible on right-click, dynamically disabling actions if no active asset selection is made (a38eef1f).
    • Fixed folder creation visibility, ensuring newly created directories refresh their visibility state immediately (f8008f30).
  • EXIF Data Display:
    • Decoupled the EXIF tags window into a standalone floating layout window with corrected visual styles (16033465, 2a5ad213).
  • Image Scaling Layouts:
    • Cleaned up user-facing naming schemes across various image fit configuration settings (187d2662).
    • Forced active fit modes to recalculate and apply instantly on viewport changes (602af189).
  • Visual Aesthetics:
    • Redesigned the close button geometry and matching header alignments for Contrast Adaptive Sharpening (CAS) and native color adjustment overlay panels (c6b0fff4).

🛠️ Codebase Modernization & Under-the-Hood

  • C++26 Transition:
    • Upgraded the minimum compiler requirement standard (cxx_std_17) straight to C++26 (953c1caa, 419d1c2e).
  • Standard Library & Modern STL Practices:
    • Replaced legacy std::bind abstractions entirely with modern C++ lambdas and updated custom sorting logic to leverage std::ranges::sort (2db90f09, 76611a51).
    • Wrapped legacy raw pixel operations in scanLine with standard bounds-safe std::span containers (a61d6a80).
    • Optimized imagelib performance by transitioning bicubic weight calculations to constexpr and using standard std::numbers::pi (ed5e34b6).

🐛 Bug Fixes & Stability

  • File Tree Fixes:
    • Patched a null pointer crash caused by calling the context menu action "Show in folder" while working with empty folder selections inside folderview layout grids (0f0c61e9).

qimgv-plus v3.0.0

21 Jun 14:42

Choose a tag to compare

Release Notes: Version 3.0.0

This release introduces significant performance optimizations, security hardening, user interface improvements, and a major modernization of the codebase (migrating fully to Qt6).


⚡ Performance & Multi-Threading

  • AVX2 Vectorization & Parallel Processing:
    • Vectorized scaled_Smart scaling using AVX2 SIMD instructions (35ee41ac).
    • Parallelized CPU color adjustment calculations using QThreadPool (59ffea06, adccef70).
    • Offloaded color management and adjustments to background threads, eliminating UI blocking (b17ce0ff).
  • GPU Acceleration:
    • Implemented GPU-accelerated Smart Sharpen filter using GLSL shaders (943f90a3, bd0694f8).
  • Asynchronous Operations:
    • Rewrote directory scanning to run asynchronously (fc023dcf, 9c2bc373).
    • Made AI Upscaling resize and batch cancellation non-blocking and fully asynchronous (e7d63f6a).
    • Isolated viewer upscaling to a dedicated thread pool featuring mid-flight cancellation (ed0b10ef).
  • Thread & Memory Efficiency:
    • Optimized thumbnailer threads with dynamic default limits (6fdef15b).
    • Optimized string literal allocations in high-frequency execution paths (78990e81).
    • Avoided redundant QImage $\leftrightarrow$ QPixmap conversions inside the OpenGL viewport (cefef632, ef613172).
    • Cached hot settings properties to ensure thread safety and reduce access overhead (41b7db27).
  • Database & File I/O Cache:
    • Optimized JXL thumbnail encoding (25b3dcd1).
    • Resolved SQLite cache contention and connection leaks (25b3dcd1).
    • Eliminated GUI freezing on saves by removing blocking waitForDone() from saveSettings() (c66d3281).

🔒 Security & System Hardening

  • Path Traversal Fixes:
    • Patched path traversal vulnerabilities in FileOperations::rename (ff52efd8) and BatchConverter (6f897699).
  • Windows Shell Extension (shellex) Hardening:
    • Restricted registered thumbnail formats and migrated registry entries to Current User (HKCU) (915af1f7).
    • Validated LibRaw image dimensions to prevent Out-Of-Bounds (OOB) reads (ba59070f).
    • Enforced file size limits on temporary files and handled write failures gracefully during stream fallbacks (50b61c86).
  • Compiler Security Flags:
    • Added modern compiler security hardening flags for MSVC release builds (23266b23, ee076777).
  • Process Isolation:
    • Upgraded ScriptManager to automatically terminate subprocesses on timeout, preventing orphan processes (31736196).

🎨 UI/UX & Animations

  • Fluid Animations:
    • Added smooth cross-fade transition animations between the image viewer and folder view (f126d79d).
    • Introduced smooth hover animations for thumbnail widgets (ea59ddf6).
    • Refactored navigation buttons with updated animations (b9b54d00).
  • Thumbnail Panel & Logarithmic Resizing:
    • Added smooth thumbnail resizing using a logarithmic slider with snapping at 256px (f97c9bd8).
    • Fixed lag and scrolling jumps when displaying the thumbnail panel for the first time (278a639f, a974152b).
    • Added the option to automatically hide navigation buttons when the thumbnail panel is docked to the left or right (148dd43c).
  • Visual Enhancements & Customization:
    • Added desktop wallpaper integration with Upscayl resizing support (86618f66, 14800646).
    • Redesigned context menus and updated default themes, icons, and folder colors (06756d36, 39eb6c42, 7dc101b1, 432fbba8, e790bccd).
    • Centralized theme-based semantic status colors (Pending, Processing, Success, Error) (ff36e957).
    • Center save confirmation overlay horizontally (79eaf3aa).
  • Interactability:
    • Configured sliders to snap instantly to the cursor position on click and throttled image updates during drag (a9a6fe37).
    • Added a dedicated hotkey Shift+N to cycle through filter scaling modes (87c93b20).
    • Refactored the crop overlay with support for aspect ratio resizing, diagonal flips, and inverse drags (dc58f4ec, 959f78a8).
  • Folder View Navigation:
    • Support selected directories in "Open only selected" action by recursively scanning them for images.

🛠️ Refactoring & Modernization

  • Qt6 Migration:
    • Dropped all legacy Qt5 compatibility wrappers and updated the codebase to compile natively on Qt6 (66246934, d2d085ab).
  • Modern C++ Practices:
    • Replaced obsolete Q_FOREACH loops with modern C++ ranged-for loops (6b207ca3).
    • Modernized Qt signal/slot connections to use Pointer-to-Member-Function (PMF) syntax (d7debdae, 97f32827).
    • Transitioned memory management to modern smart pointers (std::unique_ptr) and RAII resource handles (2ad3a2f9, 9170320c, 633326d7).
  • Component Architecture:
    • Decoupled the AI Upscaler subsystem into an isolated component (1ecb98ba).
    • Extracted the Batch Converter logic to simplify the core interface (48530e2b, 29ab3784).
    • Isolated ColorManager and unified the color adjustment pipeline (24934e15, adccef70).

🐛 Bug Fixes

  • Windows Folder Locking:
    • Fixed issues where directory renaming, moving, and deletion locked up on Windows by pausing QFileSystemModel watchers during operations (2830a553).
  • Rendering & Color Management:
    • Ensured cached HDR thumbnails convert accurately to sRGBLinear upon load (1145e8df).
    • Fixed incorrect grayscale conversion for Format_Mono images (bd8ef9af).
    • Implemented standard painting fallback in the event of shader compilation or link failure (f8446b6b).
  • Misc:
    • Resolved choppy cursor rendering over overlays in pseudo-fullscreen mode (1a015493).
    • Fixed folder renaming when inside image-le...
Read more

qimgv-plus v2.3.2

12 Jun 10:24

Choose a tag to compare

Bug Fixes

  • Fixed an issue where the thumbnail strip would sometimes fail to load when first launching the app.

qimgv-plus v2.3.1

11 Jun 23:36

Choose a tag to compare

New Features & Improvements

  • File Renaming: Added a "Rename" option to the image viewer and Folder Grid context menus.
  • Directory Manager Performance: Migrated file and directory indexing in DirectoryManager to use hash-maps (QHash), replacing linear $O(N)$ lookup scans with $O(1)$ operations to improve performance on large directories.
  • UI Reload Optimizations: Optimized settings updates to bypass model and thumbnail view reloading unless layout-critical parameters are modified.
  • StyleSheet Caching: Cached the main stylesheet template in memory to eliminate redundant resource file read operations.

Bug Fixes

  • Folder Thumbnail Loading: Fixed an issue where folder thumbnails failed to load or got stuck in directories with multiple subfolders by correcting path normalization and task queue management in DirectoryPresenter.
  • Filter Name Display: Fixed an issue where toggling or selecting the GPU CAS (Contrast Adaptive Sharpening) scaling filter displayed a generic Filter: Configured 3 message instead of its proper name (FidelityFX-CAS (GPU)).

qimgv-plus v2.3.0

11 Jun 18:27

Choose a tag to compare

New Features & Improvements

  • UI-to-Code Migration: Fully migrated all dialog and overlay XML layouts (Settings, Batch Converter, Shortcut Creator, Print Dialog, etc.) into native C++ code to improve startup times, UI responsiveness, and custom theme rendering.
  • LMB Rectangular Selection: Added the ability to select multiple files in the Folder Grid view by drawing a selection box using the Left Mouse Button (LMB).
  • Open Only Selected: Added a new context menu option to open and view only the currently selected files, preventing other files in the folder from entering the slideshow/navigation queue.
  • Folder View Floating Messages: Integrated FloatingMessage overlays into the Folder view to display status and error notifications directly over the grid.
  • Pseudo-Fullscreen Mode: Redesigned the fullscreen mode transition to use a borderless window, eliminating screen flicker when toggling fullscreen.

Bug Fixes

  • Clipboard Color Adjustments: Fixed viewport image copy (Shift+C) to correctly apply active color adjustment settings (such as exposure, contrast, brightness, temperature, tint, saturation, and hue) to the image saved in the clipboard.
  • Drag-and-Drop Temp File Leak: Fixed an issue where temporary files created during image editing drag-and-drop operations were not cleaned up properly from the temporary directory.
  • High-DPI Scaling Adjustments: Fixed UI layouts and scaling behavior in the color adjustments panel when using 125% and 150% display scaling.
  • Windows Icon Associations: Fixed filetype icon association compatibility issues on Windows.

qimgv-plus v2.2.2

08 Jun 20:23

Choose a tag to compare

New Features & Improvements

  • Copy Viewport to Clipboard: Added a new copyViewportClipboard action (Shift+C) that copies the currently visible portion of the image to the clipboard (this can be used as an alternative way to crop the image). The shortcut is assigned automatically if not already bound.
  • Removed Windowed Info Bar: Removed the "show info bar in windowed mode" toggle from the Preferences dialog and underlying settings logic, simplifying the UI – The window title already contains all this information.

Bug Fixes

  • BMP Green Tint: Fixed a green color cast appearing on BMP thumbnails in Windows Explorer by removing the custom thumbnail provider registration for standard formats (jpg, jpeg, png, gif, bmp, dib) that Windows already handles natively.
  • Thumbnail Bar Opacity Slider: Fixed incorrect UI behavior where the theme was being reloaded on every slider tick during drag. The percentage label now updates live while dragging, and the theme is applied only once upon release.

qimgv-plus v2.2.1

06 Jun 20:45

Choose a tag to compare

Bug Fixes

  • Smart sharpen filter: Fix row index mapping in Smart Sharpen upscale.
    • Corrected the modulo index calculations for the sliding window row buffers.
      Previously, the scrambled row mapping caused a vertical seam (visible as a
      horizontal pixel shift on diagonal lines) at thread boundaries.

qimgv-plus v2.2.0

06 Jun 17:06

Choose a tag to compare

New Features & Improvements

  • Removed OpenCV Dependency: Completely removed OpenCV integration and all OpenCV-based scaling filters (Bicubic, Lanczos, Area, Bilinear+sharpen, etc.). This reduces the installation package size and memory footprint.
  • Optimized & Streamlined Scaling Filters: Simplified the selection menu to a unified Smart sharpen CPU filter, alongside standard Nearest, Bilinear, and GPU-accelerated FidelityFX-CAS. Previously relying on OpenCV, Smart sharpen is now fully custom-built and natively optimized, offering faster execution and improved image quality.
  • Settings & Code Cleanup: Removed redundant UI options (such as "Smooth upscaling" and "Smooth animated images") and eliminated obsolete performance workarounds (like forcing low-quality scaling on viewports larger than 1080p). The scaling code is now cleaner and runs smoothly at any viewport size without compromise.

Bug Fixes

  • Settings Flickering: Fixed window/image flickering when applying changes in the Preferences dialog.
  • Open With: Fixed minor issues in the "Open with" external application handler.

qimgv-plus v2.1.0

04 Jun 23:54

Choose a tag to compare

New Features & Improvements

  • FidelityFX-CAS Integration – Added a new high-quality scaling and sharpening filter based on AMD's FidelityFX Contrast Adaptive Sharpening (CAS). The filter is processed entirely on the GPU via OpenGL shaders, providing excellent image clarity with zero CPU overhead.
  • Interactive CAS Settings Panel – Added a new floating CAS settings overlay for real-time adjustment of sharpening and contrast parameters. Accessible via the context menu, and sliders can be quickly reset to defaults by double-clicking them.
  • JPEG 2000 & HTJ2K/JPH Support – Added comprehensive support for JPEG 2000 formats (.jp2, .j2k, .jpf, .jpx, .jpc) and the modern high-throughput HTJ2K format (.jph). This includes Shell Extension and installer integration for automatic thumbnail generation directly inside Windows Explorer.
  • Improved Downscaling Quality – Implemented automatic mipmap generation and trilinear filtering for OpenGL-accelerated rendering (active when using CAS or color adjustments). This completely eliminates aliasing ("staircasing" artifacts) and visual noise when zooming out.
  • Toggle Filter at 100% Scale – Added a new option "Also use filter for 100% scale" under settings, allowing users to apply scaling filters (including CAS) even when viewing images at their native 1:1 resolution.

Bug Fixes

  • Preserve Original Image on Save-As – Fixed an issue in the "Save As" flow where saving a copy of an edited image under a different filename or path would incorrectly replace the active document in the viewer instead of leaving the original file open.

qimgv-plus v2.0.6

04 Jun 10:21

Choose a tag to compare

New Features & Improvements

  • Compare Button – Added a "Compare" button to the Color Adjustments overlay. Press and hold to temporarily view the original image, and release to restore adjustments.
  • Reset Sliders via Double-Click – Double-clicking any adjustment slider (brightness, contrast, saturation, hue, exposure, temperature, tint) now resets it to its default value. Available in both the Color Adjustments overlay and the Batch Converter.
  • Deferred AI Upscaling – Paused AI upscaling while actively panning or zooming to improve performance and prevent rendering lag during viewer interaction.