| 1 | # Changelog |
| 2 | |
| 3 | ## [0.1.1] - 2026-11-13 |
| 4 | |
| 5 | **Faster** |
| 6 | - Start-up initialises only the GPU backend that worked last time (remembered in |
| 7 | `$XDG_CACHE_HOME/remage/backend`): the first frame takes about 40 ms instead of 90. |
| 8 | - JPEGs decode straight to RGBA, EXIF rotation happens on the GPU, and sRGB profiles are no longer |
| 9 | "converted" to sRGB: a rotated, tagged 24 MP photo decodes in about 80 ms instead of 180. |
| 10 | - Other ICC profiles convert on several threads. |
| 11 | - The grid requests thumbnails while the GPU starts up: a cached grid opens in about 55 ms. |
| 12 | - Quitting no longer waits for decodes in flight. |
| 13 | |
| 14 | ## [0.1.0] - 2026-11-05 |
| 15 | |
| 16 | The first release: a keyboard-centric image viewer for Linux, at nsxiv parity with vim keys, |
| 17 | GPU rendering and wallpaper theming. |
| 18 | |
| 19 | **Viewing** |
| 20 | - Opens files, directories (`-r` for trees) or a list on stdin (`-i`, `-0`); a single file opens |
| 21 | its whole directory. Natural, name, mtime, size and random sort, and the queue follows files |
| 22 | appearing and vanishing on disk. |
| 23 | - GPU-rendered with wgpu: the first image in about 90 ms, neighbours preloaded so `n`/`p` take one |
| 24 | frame, and no CPU use while the view is still. |
| 25 | - Fit modes, zoom at the cursor, smooth panning, rotation and flips, automatic nearest filtering for |
| 26 | pixel art, gamma/brightness/contrast, and a dot-matrix transparency background. |
| 27 | - Thumbnail grid on the shared freedesktop cache, with marks, visual-mode ranges and smooth |
| 28 | scrolling. |
| 29 | - Slideshow, and animation playback with frame stepping. |
| 30 | |
| 31 | **Formats** |
| 32 | - JPEG, PNG/APNG, GIF, WebP, BMP, ICO, TIFF (multi-page), TGA, PNM, QOI, DDS, HDR and OpenEXR, |
| 33 | plus JPEG XL, AVIF, HEIC/HEIF, SVG/SVGZ (re-rendered sharp at any zoom) and camera RAW. |
| 34 | - ICC and CICP colour management, EXIF orientation, HDR tone-mapping, and tiling for images larger |
| 35 | than the GPU's texture limit. |
| 36 | - External decoders through `[[decoders]]`, such as ImageMagick for PSD and XCF. |
| 37 | |
| 38 | **Control** |
| 39 | - Vim key notation with sequences and counts. Every feature is an action you can bind, run from the |
| 40 | `:` palette or send over IPC. |
| 41 | - `/` fuzzy filename search, which-key hints, `?` help built from the live keymap, and an info panel |
| 42 | with EXIF data. |
| 43 | - User commands that replace nsxiv's key-handler: placeholders, marks as targets, inline confirm, |
| 44 | output fed back as actions, and an automatic refresh afterwards. |
| 45 | - An IPC socket and the `remage msg` client, with queries and event subscriptions. |
| 46 | |
| 47 | **Configuration** |
| 48 | - One TOML file with live reload, includes, `file:line:col` errors and "did you mean" hints. |
| 49 | - `nothing-dark` and `nothing-light` themes; matugen and pywal recolour open windows live. |
| 50 | - A man page (`remage man`) and shell completions (`remage completions <shell>`). |
| 51 | |
| 52 | **Known gaps** |
| 53 | - RAW support is built but hasn't been tested on real camera files yet. |
| 54 | - The prebuilt binary is built on Arch Linux and needs `dav1d` and `libheif` installed. On other |
| 55 | distributions, build from source. |