- Save visible area at original resolution as JPEG q90 (title bar button or Ctrl+S) - Output name: original name + _HHmmss suffix; no overwrite, warning shown - Active color effects baked in; rotation saves bounding box - New: crop_save_service, l10n strings TR/EN, docs/plan-crop-save.md
3.0 KiB
3.0 KiB
Changelog
All notable changes to imajViewer are documented in this file.
[Unreleased]
[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 +
_HHmmsstime 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
- Output name: original name +
[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(wasexact, which forced 2048×2048 square and stretched non-square images)
[1.3.0] - 2026-08-14
Fixed
_imageSizenow 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 analyzeandflutter teston every push pubspec.yamldescription in English (open-source ready)
[1.1.0] - 2026-08-06
Fixed
Ctrl+Qnow closes the window reliably (onKeyEventrework)- 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