Files
imajviewer/CHANGELOG.md
T
Alhan 2cd9e6c357
Build & Release / build-linux (push) Has been cancelled
Build & Release / build-windows (push) Has been cancelled
Build & Release / create-release (push) Has been cancelled
feat: persist fill/fit view mode in window.json (v1.5.0)
The double-click fill/fit mode was hardcoded (image_canvas: _isFilled = true) and
reset on every image change, so it never survived a restart. It is now stored as
"filled" in window.json and restored on launch and on image switch.

WindowPersistence.saveSync() now merges with the existing file, otherwise the
startup/move/resize geometry writes would drop the mode key.

Also: version 1.5.0, CHANGELOG entry, dist/ ships imajviewer_1.5.0_amd64.deb
(replaces 1.4.2).
2026-10-12 22:33:43 +03:00

3.8 KiB
Raw Blame History

Changelog

All notable changes to imajViewer are documented in this file.

[Unreleased]

[1.5.0] - 2026-10-12

Added

  • Fill/fit mode (double-click) is now persisted in window.json and restored on the next launch and when switching images, instead of always resetting to fill.

[1.4.2] - 2026-10-12

Fixed

  • Crop save dropped the blue channel's brightness/contrast offset (matrix index m[13], the alpha coefficient, instead of m[14]), so saved JPEGs came out with a color cast whenever brightness or contrast was applied. Saturation/rotate were unaffected.

[1.4.1] - 2026-10-11

Fixed

  • Crop save always writes JPEG (previously kept the source extension, e.g. PNG) — quality 93
  • Crop save with rotation now saves the rotated view 1:1 instead of an unrotated bounding box

[1.4.0] - 2026-10-11

Added

  • Crop save: saves the visible area at original resolution as JPEG quality 90 — title bar save button or Ctrl+S
    • Output name: original name + _HHmmss time suffix (e.g. photo.jpg → photo_143025.jpg)
    • If a file with the same name exists, nothing is written and a warning is shown
    • Active color effects (contrast/saturation/brightness) are baked into the output
    • With rotation active, the bounding box around the visible area is saved

[1.3.2] - 2026-08-28

Fixed

  • Window position/size persistence under Wayland — forces X11 backend (XWayland) when an X server is available

[1.3.1] - 2026-08-14

Fixed

  • Aspect ratio distortion on image switch — downsample now uses ResizeImagePolicy.fit (was exact, which forced 2048×2048 square and stretched non-square images)

[1.3.0] - 2026-08-14

Fixed

  • _imageSize now resets on image switch (wrong swap threshold on navigation)
  • Downsample now caps both dimensions, not just width (tall images no longer full-res decode)
  • Image size listener leak in loadingBuilder — replaced with single _readImageSize
  • Old downsample provider now evicted on full-res swap
  • Removed imageCache.clear() that also dropped the live image (gallery flash)

[1.2.0] - 2026-08-14

Added

  • Downsampling: large images decode at max 2048px on first load (RAM ~1.6MB)
  • Full-res swap: zooming in past 1.5x stretch swaps to original resolution
  • Internationalization: Turkish + English, auto-detected from system locale
  • Zoom decodes at original resolution while zooming in (crisp details)
  • Max zoom increased to 20x

Fixed

  • RAM leak on image switch — old providers now evicted + ImageCache.evict()
  • Black screen flash during zoom (gapless playback)

Changed

  • App ID com.example.imajviewer → com.softmediadesign.imajviewer
  • CI now runs flutter analyze and flutter test on every push
  • pubspec.yaml description in English (open-source ready)

[1.1.0] - 2026-08-06

Fixed

  • Ctrl+Q now closes the window reliably (onKeyEvent rework)
  • Pan freeze regression on effect-applied images (root cause analysis)

Added

  • Navigation arrows (visible on hover)
  • Settings window: folder sorting by time/name, print, shortcut info
  • Print support (printing package, A4 fit)
  • Title bar hover transparency
  • Shader warmup — right-click effects no longer stutter on first use

[1.0.1] - 2026-07-27

Fixed

  • Zoom/pan issues on large images
  • Image provider memoize — repeated opens no longer reload from disk

Changed

  • Version now sourced from pubspec.yaml (single source of truth)

[1.0.0] - 2026-07-22

Added

  • Initial release: ultra-lightweight image viewer
  • Formats: PNG, JPEG, JFIF, WebP, BMP, GIF, WBMP
  • Pan (left drag), zoom (wheel, cursor-centered), fill/fit toggle (double click)
  • Contrast / saturation / brightness / rotate gestures
  • Drag & drop, window position memory, set-as-default-viewer
  • Linux (.deb) and Windows (setup.exe) installers