Downsample used ResizeImagePolicy.exact which forced a 2048×2048 square and stretched non-square images. Switch to ResizeImagePolicy.fit to preserve aspect ratio while still capping both dimensions.
70 lines
2.4 KiB
Markdown
70 lines
2.4 KiB
Markdown
# Changelog
|
||
|
||
All notable changes to imajViewer are documented in this file.
|
||
|
||
## [Unreleased]
|
||
|
||
## [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
|