Skip to content

Images v0.2.26

Choose a tag to compare

@SysAdminDoc SysAdminDoc released this 13 Jul 16:16

Changed

  • Loupe and zoom-to-selection are documented - The ? keyboard-shortcuts overlay now lists the middle-button loupe and Ctrl+Shift+drag zoom-to-selection gestures so they are discoverable.
  • Serilog updated to 4.4.0 - Routine logging dependency refresh.

Fixed

  • Save a copy tells you when it flattens frames - Copying an animated GIF or multi-page source now notes "First frame only" in the confirmation so frame loss is not silent.
  • Color management signals when it can't apply - Very large (memory-mapped) and tile-backed images that bypass the ICC transform now note "color management not applied" in the decoder status when the setting is on, instead of silently rendering uncorrected.
  • Color management applies immediately and safely - Toggling color-managed display now re-decodes the current image and clears preloaded neighbors so the change is visible right away instead of only affecting the next opened file; the setting is also read safely across decode threads.
  • Loupe no longer conflicts with panning or sticks open - The magnifier now captures the pointer (so a release anywhere hides it), is suppressed while a pan or zoom-to-selection gesture is active, and no longer freezes an in-progress pan; capture loss dismisses it cleanly.
  • Loupe and pixel readout skip gigapixel placeholders - On very large tile-backed images the loupe no longer shows a solid block and the metadata HUD readout stays blank instead of reporting a placeholder pixel value for every position.
  • One pixel sample per mouse move - Hover readout and inspector mode now share a single per-move pixel sample instead of sampling the image twice.
  • Session restore validates the persisted path - Reopening the last image on launch now routes the stored path through the same guard as command-line arguments, rejecting device-namespace shapes and canonicalizing before opening, so a tampered settings value cannot reach the file-open path.
  • End-of-folder nudge no longer lingers after a jump - The "stopped at end" flag is now cleared on first/last/jump/open navigation, so the nudge only appears on an actual stopped Prev/Next.

Added

  • Stop at first/last image - A new setting makes Prev/Next stop at the ends of the folder with a brief "End of folder" nudge instead of wrapping or switching folders; it takes precedence over sibling-folder auto-switch. Together with the existing wrap and sibling-folder options, all three end-of-list behaviors are now selectable.
  • Live pixel readout - When the metadata HUD is open, hovering over the image now shows the pixel under the cursor (coordinate, hex, and RGB) in the HUD; it clears when the pointer leaves the image.
  • Loupe magnifier - Hold the middle mouse button over the image to show a circular lens that magnifies the source pixels under the cursor (2x by default) without changing the base zoom; release or leave the image to dismiss it.
  • Color-managed display (opt-in) - A new Appearance setting (off by default) honors an image's embedded ICC profile and converts wide-gamut colors (Adobe RGB, Display P3) to sRGB on decode, so tagged photos no longer render over-saturated. Applies to newly opened raster images via Magick.NET; untagged and huge/tiled images are unaffected.
  • Zoom to selection - Hold Ctrl+Shift and drag a box over the image to zoom directly to that region; the marquee fills the viewport and re-centers. Escape or losing focus cancels the drag; click-sized boxes are ignored.
  • Reopen last image on launch - A new General setting (off by default) makes Images reopen the last image you viewed when it starts with no file passed on the command line; if that file is gone, it opens to the empty state.
  • Zoom lock across image navigation - A new toggle (command palette: "Toggle zoom lock") keeps the current zoom factor when moving to the next or previous image, re-anchoring the pan to center, so a series can be pixel-peeped at a fixed magnification. The choice persists.
  • Transparency checkerboard - A new toggle (command palette: "Toggle transparency grid") draws a checkerboard behind images that carry an alpha channel so transparent regions read as transparent; the pattern scales with zoom and the choice persists.

Fixed

  • Network egress log reads are lock-synchronized - TotalBytes and the clipboard summary now snapshot the entry list under the same lock that guards recording, closing a narrow race reachable when dispatcher marshalling is bypassed (tests, startup/shutdown).
  • Super-resolution guards against dimension overflow - The upscaled canvas size is now computed with 64-bit multiplication and clamped, so an extreme model scale factor cannot overflow and wrap to a bogus dimension.
  • Save a copy preserves image metadata - Saving an unedited copy now reloads the source file through Magick.NET, so embedded EXIF, IPTC, XMP, and ICC color profiles survive the copy instead of being discarded by the in-memory pixel re-encode. Clipboard pastes and non-raster sources still use the pixel path.

Security

  • Magick.NET upgraded to 14.15.0 - Bundles ImageMagick 7.1.2-27 and libheif >=1.22.0, addressing CVE-2026-32740 (heap write decoding crafted HEIF/AVIF grid tiles) and the 2026 ImageMagick heap/OOB-write CVEs on the untrusted-file fallback decode path Images uses for HEIF/AVIF/RAW/etc. Runtime-provenance docs and the vulnerable-package gate stay in sync.

Changed

  • Theme selection is now available in Settings - Appearance exposes Dark, Light, and Follow Windows choices that apply immediately, while the accessibility high-contrast override remains independent.
  • Shared chrome uses one premium visual language - Dark and light surfaces now use neutral charcoal/cool-gray layering with a warm accent across buttons, tabs, selection, focus, and tool windows instead of mixing the new workspace with legacy purple and blue controls.
  • Keyboard focus no longer shifts layouts - Shared buttons, tabs, checkboxes, text fields, expanders, and rail controls keep a stable one-pixel border while changing to the focus color, eliminating subtle size jitter during keyboard navigation.
  • Accessibility descriptions match current behavior - Reduce Motion and high-contrast settings now describe their app-wide effects instead of older partial or future-tense behavior.