## 51.alpha (2026-06-29) ### Added - Show creator, copyright information, camera lens, and used software in image metadata. ### Fixed - Don't accumulate delays during animations. !596 - Don't keep showing saving overlay after error. !597 ## 50.0 (2026-03-13) ### Changed - Updated dependencies ## 50.rc (2026-02-27) ### Changed - Updated dependencies ## 50.beta (2026-01-30) ### Changed - Support XPM and JPEG 2000 mime-types, offering Image Editor as app when opening these image formats - Use AdwShortcutsDialog ## 50.alpha (2026-01-02) ### Added - Add a specific error message when loading the image file fails. Usually when the file does not exists or there are no rights to access the file. ### Fixed - Fixed image navigation overlay controls conflicting with always visible scrollbars. - Showing wrong mime type in error message if the file ending for an image is wrong. ### Changed - Don't allow endless zoom out - Only allow 4 integer digits and 2 decimal digits. That's what's actually respected by the input at max. ## 49.2 (2026-01-01) ### Fixed - Check if the is-hidden property is available before reading it. - Considerably increased speed for listing other images in folders, especially for remote locations. This allows for switiching to other images to become available much quicker. - Don't jump to best-fit zoom level during pinch zoom gesture when scroolbars get displayed. This has only been an issue with the disability option "always show scrollbars." - Fix panics, probably occuring when using an action like 'copy', and then closing the window. The crash causes all other windows to close. #553 - Force gufo-exif version 0.3.1 to fix the missing beginning of user comments. - The creation date for images that don't provide a timezone was displayed as if the recorded date and time was in UTC. - Zooming in would not work via the zoom menu, if the resulting zoom state would still fit the image inside the window. ### Changed - Track the location in source code of errors trying to get the root window. ## 49.1 (2025-10-21) ### Fixed - The keyboard shortcut for 300 % (Ctrl + 3, 3) now zooms to 300% instead of 200 %. - editing: Don't enable option to trash and replace if moving to trash is not supported. ## 49.0 (2025-09-12) ### Fixed - `F9 Return` accel not being parsed correctly ## 49.rc (2025-08-28) ## 49.beta (2025-08-01) ### Changed - Updated dependencies ## 49.alpha (2025-07-02) ### Changed - Use glycin loaders with API 2+ ## 48.1 (2025-04-11) ### Fixed - Crash when closing the window, probably in the exact moment when the animnation for hiding controls starts. - Editing does not work correctly if PNGs or JPEGs are already rotated via an Exif orientation entry before editing. - Printed pages don't contain anything or garbled output. This is a temporary workaround for , using the cairo renderer for the rotation and scaling of the image in the print preparation. ## 48.0 (2025-03-14) ### Fixed - edit/crop: Pre-select the portrait orientation for images that are taller than wide. ## 48.rc (2025-02-28) ### Fixed - Decide if an image has a format that supports editing based on the reliable mime-type. That way a wrong file extension will not impact the detection of the format being editable. - Set description instead of title for general errors, showing the complete and correct message. - Switch to consitently storing rotation with CCW convention. - editing/crop: Allow do decrease size of crop selection from edges when fixed aspect ratio is used. - editing: Don't show error if saving is aborted. Instead handle actual errors correctly. ### Changed - editing/crop: Change icons for aspect ratio buttons for portrait orientation. - editing/crop: Disambiguate and tweak icons for crop selection aspect ratio buttons. ## 48.beta (2025-01-31) ### Added - edit/crop: Add back the selection of the aspect ratio for aspect ratios. - edit/crop: Added keyboard shortcuts for some editing operations. - edit/crop: Allow dragging selection from the edges, not only the corners. - edit/crop: Apply crop selections on operations like rotate/flip or save. - edit: Add menu with option to "Save As" or overwrite original. - edit: Allow to cancel saving operation via the "Cancel" button. - edit: Give visual feedback while saving image via spinner overlay. - edit: Show saved image after saving. - edit: `Ctrl+S` and `Ctrl+Shift+S` shortcuts save images and `Esc` to exit the editing view. ### Fixed - Disable all zoom buttons and editing button if image fails to load. - Fix allocation warnings by not causing resizes during allocation. - edit/crop: Set aspect ratio to "Free" on reset. - edit/crop: Work around GTK gesture bug that blocks the drag gesture after clicking the apply button until one additional click has been done. - edit: Disable save actions when saving or no changes have been done. ### Changed - edit/crop: Enable the "Reset" button when the crop selection change, even if not applied. - edit/crop: Move crop apply button into crop selection as small checkmark. - edit/crop: Refactor a lot of the inner working to make code simpler and more robust. - edit: Add an "(Edited)" suffix to the suggested filename when using "Save As" - edit: Various design and detail tweaks. - zoom: Allow zoom levels smaller than best fit via the zoom menu. ## 47.4 (2025-01-13) ### Fixed - Sometimes SVGs are not shown in the print preview. ## 48.alpha (2025-01-07) ### Added - Display XMP metadata for JPEG images. - Initial support for image editing of JPEGs and PNGs with crop, rotate, and flip. - Show the correct folder name in the properties view inside flatpaks if the file is only accessible via portal. - User comment field in metadata. ### Fixed - The sort order is now also following the one found in Files (Nautilus) if the file name contains non-ascii characters. ### Changed - The design of the overlay buttons, especially for zoom controls has been reworked. A new menu supports selecting from pre-defined zoom levels as well as entering a specific zoom level. ## 47.2 (2024-11-22) ### Fixed - Don't call style manager in application constructor since this is too early. Do it in startup instead. Without this fix, GTK 4.17.0 will terminate the app on startup. ## 47.1 (2024-10-16) ### Added - Add ``s instead of just using `GnomeSoftware::key-colors`. That they weren't set was an oversight. ### Fixed - Make the string "Error Details" translatable. - Require glycin 2.0.1 crate to detect SVGZ files properly. ## 47.0 (2024-09-13) ### Fixed - Flickering while images are reloaded. Instead, keep the old textures around until a new texture is available. - Forcing the zoom to the center of the image is now working again. This is especially noticable when using the touchpads pinch gesture. - When disabling animations in the OS and using the buttons to change the image, the wrong image was shown, disabling features like zoom. ## 47.beta.1 (2024-08-13) ### Fixed - Don't force Flatpak sandbox SVGs. This fixes SVGs not loading outside of Flatpak. - Make the window wider when it would open with a bottom-sheet overlay for properties. That way, the properties can be shown in a sidebar. - Properly detect non-transparent images and down download a thumbnail for background detection for them. For some reason, the thumbnail download is using a lot of VRAM. - Rotating a freshly opened image would not follow the best-fit scaling. - Rotating by 0 degrees went through the complete rotation pipeline including a image reload. Now, 0 deg rotations are ignored. ## 47.beta (2024-08-02) ### Added - Add reload button to errors and F5 as reload shortcut ### Fixed - Don't show error-screen if SVG has been loaded and only the rendering for tiles for other zoom levels fails. Instead, show the already loaded tiles. - Fixed that some actions are available on error pages and loading screens while they are not actually useful. This includes actions like zoom, rotate, and print. - No longer empty the animation buffer if next frame isn't available yet. This removes flickering for larger and high FPS animations on slower systems. - Zoom into viewport center via buttons. Before, the image center was used, which would cause a jump if the viewport had been changed. ### Changed - Changed the drag and drop overlay to use accent colors instead of a fixed color. This also makes it follow the new adjustable accent colors. - Don't emmediately show the spinner for loading images. This avoids fresh spinners showing up each time when switching through images very quickly via keyboard. - Make strings that contain `\u{}` translatable - No longer overwrite GTKs default renderer with 'gl'. The latest patches in GTK seem to make the Vulkan renderer work fine. - The properties no longer use the deprecated AdwFlap widget. For very small windows, properties are now shown in an AdwBottomSheet. - Use AdwSpinner when loading images. - Use glycin's auto detection of development mode to disable sandbox. ## 47.alpha (2024-06-28) ### Added - New dialog to show and copy error details - Rotating JPEG images with an orientation Exif entry will now change that entry ### Fixed - Disable markup in property rows ### Changed - Follow the Rust Style Guide for Cargo.toml and .rs filenames - Image delete confirmation now uses AdwAlertDialog - Make error messages translatable and look nicer - Move many shortcuts to window level instead of using app accels - Replace AdwAboutWindow with AdwAboutDialog !376 - Use new GtkPrintDialog API #144 46.2 ==== - Fix fractional scaling beeing blury by setting GDK_DEBUG=gl-no-fractional as default - Fix exposure times above 0.5 seconds not being displayed correctly in properties - Fix page orientation from print preview dialog is not honored for actual print 46.1 ==== - Fix fill-space option not being applied when changing the orientation in print preview - Fix PNGs not being available when browsing images on SMB shares - Don't animate switching between images with the mouse fwd/back buttons 46.0 ==== - Change to stable dependencies 46.rc ===== - Fix background color detection ignoring small lines in large images - Change to "gl" as GSK default renderer instead of "ngl" due to performance reasons - Change to sticking to the first error delivered during image loading 46.beta.2 ========= - Change metainfo to include GNOME group - Change metainfo to use reversed name for the developer id - Change to use latest glycin beta for better metadata performance 46.beta.1 ========= - Change .desktop file to not include "Slideshow" as keyword - Change help by regenerating pages - Change help to correctly represent zoom - Change to use zbus 4.0 46.beta ======= - Fix not reliably returning to restored image when undoing trash operation - Added Shift+Delete as shortcut for permanent image deletion - Added build option that makes X11 an optional dependency - Added button to copy coordinates for location in properties - Change to not using animation when changing images via keyboard shortcuts - Change to opening image in new window, occupy 40% of the screen instead of 30% - Change to using "stacked cards" animation when changing images via buttons - Changed to show city if it's less than 15km away instead of 100km before 46.alpha ======== - Fix "Ctrl + C" copies image instead of metadata if text is selected - Fix "g_object_weak_unref" warnings - Fix changing image resets timeout for hiding controls if still visible - Fix long file names can newly opened window larger than required for image - Fix not always zooming into center when using overlay buttons on touchscreen - Fix opening image in different folder ends fullscreen mode - Fix scrollbars disappearing under certain conditions - Add zooming via touchpad scrolling while Ctrl button is pressed - Follow G_MESSAGES_DEBUG variable for logging - In print preview, base 100% image scale on physical dimensions of SVGs if specified - In print preview, fix wrong upper input limit in height - In print preview, scale SVGs correctly - More reliably zoom into image position below cursor - Pre-select current image's folder in file-chooser dialog - Remember image properties visibility state - Use GdkSurface:scale instead of scale factor, in theory supporting fractional scaling - Use glycin 1.0 45.3 ==== - Fix horizontal scrollbar sometimes jumping to center while zooming in 45.2 ==== - Fix order of images gets confused after deleting image - Fix image is not shown when sucessfully reloaded after error - Fix keyboard shortcuts shows the swipe gestures the wrong way round 45.1 ======= - Fix sandbox for image decoding not enabled by default - Fix printing on different printer than selected - Fix print dialog crashes on confirmation - Fix print dialog needs second confirmation inside Flatpaks - Fix SVGs sometimes not re-rendering for zoom level - Fix animated image formats with variable frame length using only one length - Fix rotation getting applied twice to HEIF images 45.0 ======= - Always ask which program to use for "Open With…" - SVG: Force minimum tile size of 1000x1000 - SVG: Don't render first tiles with zoom=1 - Empty state: Use flat headerbar - Fix non-native files with path cannot be deleted - Update screenshots - Drag and Drop: Only expect sources of type FileList - Update SlidingView after removing unsupported image 45.beta.1 ======= - Reload images when the file is replaced by moving another file at it's place - Update dependencies 45.beta ======= - Newly designed print dialog - Added sandboxing for SVG rendering by using glycin - Use RaisedBorder for HeaderBar to avoid shadow over images - Fix browsing images on SMB shares not working - Fix touchscreen gestures not working when zoomed in - Fix touchscreen swipe only working on second attempt - Added JpegXL support via new glycin version - Added overshoot for swipe gesture - New custom style for drop targets - Changed name to Image Viewer 45.alpha ======= - Add help - Disable trashing for non-native files - Give toast for latest deleted file priority over the others - Only list supported image formats in file chooser - Do not guess a potentially different background color for opaque images - Fix incorrect updates when deleting or changing images - Fix SVG zooming with high-res scroll-wheels - Use glycin for sandboxed extendable image loading expect for SVG - Remove backspace as a trash shortcut - Change command line to open all given images in one window - Do not show "Set as Background" if operation was aborted - Let the user select multiple files to open in file chooser - Support forward and back mouse buttons - Correctly align right-click menu 44.3 ======= - Hide cursor together with controls when fullscreened - Remove ctrl+x shortcut for deleting images - Fix 'delete' action appearing too long in help overlay - Split rotate actions making it possible to use them in help overlay - Cancel GFile loading when decoder is dropped - Make crossfade from spinner page to image work - Don't make activatable row subtitles selectable in properties view - Disable "open folder" action for non-native files (GTK doesn't support it) - Leave fullscreen when status page is shown - Skip unsupported formats when sliding through images - Show window after 2 seconds if dimension are not yet known - Cancel scroll deceleration on gesture use - Hide headerbar on idle in fullscreen - Show controls on mouse click - Better solution for not registering swipes as cursor motion - Use AdwBreakpoint to move properties below the image for narrow windows - Fix vertical minimum size in measure for LpImageView - Ignore EXIF rotation info for now in HEIF formats 44.2 ======= - Use GFile instead of direct file access - Do not crash when monitor info is not available - Get rid of many unwraps and report issues to UI instead, just to be safe - #130 Fix displayed times are wrong because they do not respect timezones - Add basic support for ICC color profiles - Support opening multiple files via drag and drop - Fix textures and background color not updating when image data changed - #124 Fix not defaulting to light background color in light theme - Fix thumbnail is broken for auto-rotated (EXIF) images - #120 Fix high-res scroll wheel issues - #134 Fix 100%/200% shortcuts ending up at best-fit when window size close to 100%/200% - Add printing support - Center new tilings in the viewport, making the first rendered tile cover the viewport already - Allow dragging (panning) the image with middle button - Generate list of mime types in meson and fix list of formats - Set actions enabled state based on UI property status, not manually everywhere - Add and update license headers with script based on commit info - Hide overlay controls after inactivity - Remove OSD from HeaderBar in fullscreen - Drop AdwFlap for HeaderBar - Make properties button insensitive if no image shown/loading - Move 'toggle fullscreen' button from inner to outer position - Add 'all files' filter option to file chooser 44.1 ======= Bugfix release after initial feedback: - Bump GTK dependency to 4.11.1 because of required fixes for scaled texture - Drop gtk-macros (crate) dependency since it is not needed and lacking a LICENSE files - #115 Fix WebP support for still images - #115 Fix not detecting HEIC files 44.0 ======= Initial release