Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: SysAdminDoc/Images

v0.2.20

Choose a tag to compare

@SysAdminDoc SysAdminDoc released this 09 Jul 00:23

Removed the main viewer Review workflow, rating/pick/reject side panel, assisted culling, Review workflow mode, Review hotkeys, and command-palette rating import to keep Images leaner.

v0.2.19

Choose a tag to compare

@SysAdminDoc SysAdminDoc released this 08 Jul 23:57

Fixed: removed the floating viewer top command bar with Compare and Export actions so image viewing keeps the top of the viewport clear.

v0.2.15

Choose a tag to compare

@SysAdminDoc SysAdminDoc released this 02 Jul 06:39

0.2.15

Internal

  • AsyncRelayCommand catches non-cancellation exceptions — Exceptions from command methods now log + toast instead of propagating through async void to DispatcherUnhandledException and terminating the app. Static CommandFaulted event enables graceful error reporting.
  • ApplyRotationToFile and ApplyCropSelection converted to async — Both now yield to the dispatcher after BeginOperationStatus so the operation status overlay renders before the heavy I/O begins.
  • BackgroundTaskTracker evicts idle per-name entries — Completed task entries are removed from _byName when Running reaches 0, preventing unbounded dictionary growth during long sessions.

Theme

  • PerspectiveCorrectionWindow uses themed overlay brushes — Handle strokes, polygon fills, and label backgrounds now use AccentBrush, AccentSelectionBrush, TextBrush, and FloatingChromeBrush instead of hardcoded Mocha hex values. Overlays now adapt correctly to Latte and HighContrast themes.

v0.2.14

Choose a tag to compare

@SysAdminDoc SysAdminDoc released this 02 Jul 05:21

Correctness

  • GoBack/GoForward no longer corrupt history on failed navigation
  • OpenRecentArchiveCommand converted to AsyncRelayCommand (crash fix)
  • SaveAsCopyAsync captures source path before yield (TOCTOU race fix)
  • AnnotationsWindow.LoadPreview handles corrupt/unsupported files
  • MainWindow MotionVideoPlayer adds UriKind.Absolute
  • QuarantineExtrasButton_Click catches I/O exceptions
  • Window_Drop removes dead async keyword

Theme

  • ViewerSurfaceBrush added to all three theme dictionaries
  • CrashDialog success state uses themed SuccessPanelBrush
  • ReferenceBoardWindow uses themed AccentPanelBrush and SurfacePanelBrush

Internal

  • CancellationTokenSource disposed on window close (4 windows)
  • NetworkEgressService.LoadPersistedEntries dispatches to UI thread
  • RestartSlideshowTimer reuses existing DispatcherTimer

v0.2.11

Choose a tag to compare

@SysAdminDoc SysAdminDoc released this 05 May 21:12

v0.2.11 — 2026-05-05

Self-contained document-preview runtime release.

Changed

  • Bundled Ghostscript runtime — portable and installer artifacts now include app-local Ghostscript 10.07.0 so PDF, EPS, PS, and AI previews work on clean machines without requiring users to find and install Ghostscript separately.
  • Ghostscript license/provenance notes — release documentation now identifies the bundled AGPL Ghostscript runtime, the installed license path, the official Artifex source package, and the SHA-256 values used to verify the runtime installer (8af854e2d62f9a3a674331321b347118a83928a3726631e458194121cf3bbeec), bundled gsdll64.dll (1dce67538777ab2f312890f9a2f0ffcff6a4c58ef1149dc6a44f8bd97b31030d), and source archive (ddace4e1721f967a55039baff564840225e0baa1d4f5432247ca1ccd1473b7c1).

Bundled third-party runtime

v0.2.10

Choose a tag to compare

@SysAdminDoc SysAdminDoc released this 05 May 20:57

v0.2.10 — 2026-05-05

Performance, reliability, workflow, and product-polish release.

Changed

  • Improvement tracking — added a repo-local improvement plan that tracks the 15 engineering, UX, reliability, and CI follow-up items from the May 2026 quality review.
  • CI verification — added a pull-request/push CI workflow for whitespace diff checks, version metadata sync, vulnerable-package scanning, Release build, tests, and CLI smoke commands.
  • Release metadata gate — moved version-sync validation into a reusable PowerShell script shared by CI and the release workflow.
  • Shell and clipboard integration — About, crash recovery, settings, and viewer actions now use shared helpers for opening files/folders/URLs and copying text, reducing duplicated process and clipboard handling.
  • Update-check testability — update checks now have seams for HTTP, clock, retry-state recording, and state-file behavior, plus non-network tests for release parsing and transient failure policy.
  • Folder preview and sorting — folder-preview thumbnail orchestration now lives in a focused controller, and the viewer exposes app-owned folder sort modes for natural name, reverse name, modified date, created date, size, and extension grouping.
  • Premium interaction polish — folder-sort menus now show the active sort with checked menu states, settings changes provide tone-aware saved feedback, and OCR overlay styling now uses shared theme tokens.
  • Recycle Bin confirmation preference — the delete confirmation now offers a "don't ask again" checkbox, and Settings can restore confirmation before future Recycle Bin deletes.
  • Clipboard import testability — paste-from-clipboard handling now uses a focused import service with deterministic seams for file lists, image data, storage, naming, and clipboard-temp pruning.
  • Viewer state coverageMainViewModel now supports isolated settings, clipboard, delete, confirmation, and navigator dependencies for regression tests covering folder-preview sort state, filmstrip persistence, paste opening, and Recycle Bin confirmation preferences.
  • Recycle Bin delete extraction — Recycle Bin confirmation, "don't ask again" persistence, missing-file handling, and send-failure reporting now live in a focused delete service with direct regression coverage.
  • Rename safety — extension-unlocked renames now reject unsupported target extensions before touching disk, keeping the viewer and folder navigator in sync.
  • Metadata loading extraction — photo metadata HUD loading now lives in a focused controller with cancellation, stale-result, timeout, and dispatcher-state coverage.
  • External-edit reload extraction — external file-watch debounce and reload feedback now live in a focused controller with coverage for coalescing, canceled reloads, failed reload feedback, and watcher creation failures.
  • OCR workflow extraction — OCR busy/overlay state, cancellation, stale-result guards, local extraction feedback, and overlay-line conversion now live in a focused controller with direct async coverage.
  • Update-check UI extraction — latest-release state, manual/background update feedback, command invalidation, and release-page opening now live in a focused controller with direct coverage.
  • Folder-preview cancellation coverage — thumbnail loading now has a deterministic test seam with regression coverage for clear and superseded-refresh cancellation paths.
  • ViewModel relay coverageMainViewModel now has an internal controller-injection seam with regression coverage for metadata, OCR, and update-check relay properties.
  • UI state hardening — refresh remains available when the current file was removed externally, and regression tests now cover rename debounce, stale-folder recovery, and command enablement states.
  • Diagnostics status pane — About now summarizes OCR, Ghostscript, Magick.NET, logs, storage, and update-check state in a compact status section with regression-tested status composition.
  • Diagnostics actions — the About diagnostics section now lets users copy system info, copy the codec report, open logs, and open the app data folder directly from the status pane.
  • First-run guidance — the empty viewer state now explains local privacy defaults, broad format support, OCR readiness, document-preview requirements, and Settings/Diagnostics recovery links before a file is opened.
  • Operation status feedback — manual reload, Save a copy, and GPS metadata stripping now share a visible busy status, with mutating image commands disabled until the operation completes.
  • Update-check transparency — manual and background update checks now expose busy status through the main UI, suppress duplicate manual checks, and show when GitHub Releases is being contacted.
  • Decode/navigation feedback — file-open dialog decodes and multi-page page turns now use the shared operation-status surface before slower document or page loads begin.
  • Load/navigation responsiveness — Open Image and next/previous navigation now decode cache misses off the UI thread, await any in-flight preload instead of duplicating work, and update same-folder preview selection in place instead of rebuilding thousands of thumbnail items on every arrow press.
  • Secondary empty/error states — unsupported clipboard data, empty recent folders, and stale recent-folder paths now show persistent, actionable side-panel feedback instead of relying only on transient toasts.
  • Secondary recovery feedback — thumbnail-generation failures and offline update checks now retain actionable status, including failed thumbnail placeholders and no-upload reassurance for network failures.
  • Background task ownership — thumbnail generation, metadata reads, preload decodes, clipboard-temp pruning, and thumbnail-cache eviction now run through a shared tracker with diagnostics-visible running/completed/failed/canceled counts.
  • Update/cache observability — manual and background update checks are now included in tracked background work, and diagnostics now shows thumbnail-cache size, file count, temp-file count, cap, and last eviction sweep.
  • Storage and cache test seams — app storage roots, default settings construction, and default thumbnail-cache construction now have deterministic seams and tests for fallback/unavailable-storage behavior.
  • Thumbnail cache controls — About diagnostics now lets users open the thumbnail cache folder or clear disposable cached thumbnails with confirmation, progress feedback, and automatic diagnostics refresh.
  • Settings persistence hardening — settings corruption recovery now uses collision-resistant quarantine names, with tests for corruption reset, schema migration, unavailable storage, and primitive setting defaults.
  • Large-folder stress coverage — navigation and folder-preview tests now cover thousands of files, volatile folder changes, enumeration failure recovery, and bounded thumbnail requests.
  • Generated codec corpus — decode/export regression tests now generate PNG, JPEG, WebP, TIFF, GIF/APNG, and SVG samples at runtime, avoiding binary fixtures while protecting codec upgrades.
  • Product differentiator scopes — added a design scope for local semantic search, duplicate cleanup, compare/overlay, archive/book navigation, peek launch mode, viewer-side adjustments, technical pixel tools, and metadata/culling workflows.
  • Distribution trust plan — scoped WinGet and Scoop publishing, checksum continuity, code-signing options, SmartScreen expectations, and user verification copy for the next stable release.
  • Integration policy — documented the no-code-copied optional-runtime gate for licenses, redistribution rights, CVE tracking, binary provenance, process isolation, network behavior, and release impact.
  • Archive/book foundation — ZIP and CBZ files now open as read-only archive books using built-in .NET ZIP support, with natural page ordering, page-count controls, a page scrubber, unsafe-entry filtering, and recursive-archive guardrails.
  • Archive read position and history — archive books now remember the last viewed page locally, continue there on reopen, and surface a side-panel book history with page progress.
  • Archive cover handling — archive books now promote explicit cover/front/folder image entries before natural page order and report cover provenance in decoder details.
  • Archive reader controls — active archive books now get a side-panel book-controls card, narrow edge page-turn click zones, and reader-mode arrow/Home/End key routing for page turns.
  • Archive runtime review — documented the RAR/7z dependency policy and approved SharpCompress 0.47.4 as the managed MIT reader for read-only RAR/CBR and 7z/CB7 archive books.
  • RAR/7z archive expansion — RAR/CBR and 7z/CB7 books now open through SharpCompress with the same unsafe-entry filtering, nested-archive skipping, document-entry skipping, per-entry byte cap, corrupt-archive recovery copy, diagnostics provenance, and generated 7z regression coverage as the ZIP/CBZ foundation.
  • Manga page turns — archive books now have a persisted right-to-left page-turn mode that swaps physical edge zones and Left/Right Arrow routing without changing semantic next/previous controls.
  • Clean scan preview — archive books now offer a persisted, preview-only high-contrast grayscale filter for yellowed or low-contrast scanned pages without modifying source archives.
  • Two-page archive spreads — archive books now have a persisted spread mode that keeps explicit covers single, pairs natural pages, respects right-to-left composition, and advances by spread.
  • Gallery workbench — the viewer now has a keyboard-first G gallery overlay for the current folder with multi-column thumbnails, quick filtering, sort shortcuts, per-thumbnail context actions, current-item selection, and Enter-to-open behavior.
  • **Asset smart ...
Read more

v0.2.9

Choose a tag to compare

@github-actions github-actions released this 04 May 18:28

Images v0.2.9

v0.2.8

Choose a tag to compare

@github-actions github-actions released this 04 May 17:50

Images v0.2.8

v0.2.7

Choose a tag to compare

@github-actions github-actions released this 04 May 17:31

Images v0.2.7

v0.2.6

Choose a tag to compare

@github-actions github-actions released this 04 May 17:12

Images v0.2.6