Repository navigation
Releases
Good Gallery 0.7.0
✨ Features
- sidebar: Smart albums keep a search under a name (#201) (#209) (
1ccd4e1) - edit: Scale photos down, set the quality, save without a backup (#165) (#213) (
3f2eb8e) - rename: Rename a selection with search and replace and placeholders (#163) (#210) (
5a0154d) - viewer: The photo sits in the middle, the control bar above it (#211) (#214) (
7c9cea3) - faces: Unconfirmed faces: confirm suggestions, take faces out, see the photo (#212) (#216) (
efbce3e) - edit: Lens blur spreads lights into discs (#202) (#217) (
88db945) - content: Search photos by what they show (#200) (#218) (
d07049b) - gallery: Years while scrolling, month at the pointer (#228) (
678a9a9) - viewer: A zoomed photo fills the window (#229) (
b02ca26) - open-with: Started with a file, the viewer comes first (#221) (#231) (
cb9e55a) - menu: Rename, rate and rotate from the context menu (#230) (
acf86bd) - analysis: Faces and content passes look at several photos at once (#226) (
118eb23) - faces: Every unknown face and the decisions on Unconfirmed faces (#233) (
502265b) - menu: Delete from the context menu and with the Delete key (#236) (
739ab11) - dates: Fix the dates taken of a selection (#234) (
1843094) - albums: Smart albums from conditions matching all or any (#235) (
2a2daf6) - gallery: A click on the month beside the scrollbar jumps to it (#251) (
cf6d968) - faces: A group to confirm can be someone else, ignored or not faces (#254) (
c9ac667) - ui: Buttons answer the pointer, icon-only Filters and View, sparkle for content search (#255) (
940eb51) - menu: Copy a photo to the clipboard from its context menu (#257) (
4bbd631) - edit: Compare shows the photo as editing started (#258) (
610e6c4) - edit: Version history with a Versions menu and Clear version history (#262) (
e660b43) - edit: Straighten by any angle and flip (#265) (
7b1c8c6) - faces: Suggest a second person when a face is as like them (#266) (
4a9ff7a) - toolbar: Filters sit right beside the search bar (#267) (
e5f9eff) - metadata: Camera, lens and location in the index, info panel and smart albums (#279) (
26d6d15) - filters: Pick the date range on a calendar with a photo on each day (#280) (
4f84233) - places: Name the town nearest to a photo's GPS position, offline (#281) (
9b62892) - edit: Import .cube LUTs and apply them at a strength (#283) (
932b266) - map: A world map of the photos with a position (#284) (
5fe4910) - places: Places from positions take the user's name for their country (#289) (#312) (
b0686e0)
🐛 Bug fixes
- sidebar: Unconfirmed faces lead the People group (#227) (
a1d8fdf) - faces: Unconfirmed faces keeps its page, shows whole groups, explains decisions (#250) (
377ae53) - filters: The date picker marks no weekends (#268) (
fdd0c74) - toolbar: The View menu holds still while it is open (#304) (
8172b22) - indexing: Files still being written are read again later, not counted as unreadable (#287) (#305) (
269ad2f) - map: Clusters hold still while zooming, never overlap, all one bigger size (#306) (
d33241b) - places: A place replaces the place in the search (#288) (#308) (
6a7d386) - albums: Leaving a smart album starts from an empty search (#270) (#309) (
4ffa976) - search: Chips are one height and stay inside the search bar (#310) (
9d6e46b) - map: No bright lines over the land near the poles (#307) (
1c7f192) - sidebar: Places without towns line up with the others (#311) (
75ea022)
♻️ Refactoring
- app: Move five features out of state.rs into state/ modules (#298) (
088d74a) - app: Split edit.rs into an edit/ module (#301) (
2c40be6) - app: Split viewer.rs into a viewer/ module (#302) (
b704963) - app: AppState keeps renaming, date fixing and opening files in their modules (#303) (
5a7d0e3)
📝 Documentation
- Format glossary (
d4bc735) - Say where code goes, drop stale pitfalls, keep domain and meta pure (#290) (
1af591d)
🔧 Maintenance
- rename: Draw the preview before asking for it (#219) (
1d5802a) - Render the README screenshots on Windows after each release (#271) (
82d9608) - app: Run the UI tests as one binary (#286) (
6392bff) - Pin today for the UI tests, so the calendar snapshot holds (#300) (
91fc7ff)
Full changelog: v0.6.0...v0.7.0
📥 Download
| File | For |
|---|---|
| good-gallery-0.7.0-windows-x64-setup.exe | Installer: pick the folder, installs for your user |
| good-gallery-0.7.0-windows-x64-portable.zip | Portable: extract anywhere and run good-gallery.exe |
| good-gallery-0.7.0-linux-x64.tar.gz | Linux: extract, install exiftool, ffmpeg and libmpv from your distribution (see README.txt), run ./install.sh or ./good-gallery |
| good-gallery-0.7.0-linux-x64.deb | Ubuntu 24.04 or newer: sudo apt install ./good-gallery-0.7.0-linux-x64.deb brings the helpers too |
| good-gallery-0.7.0-linux-x64.rpm | Fedora: sudo dnf install ./good-gallery-0.7.0-linux-x64.rpm brings the helpers too. For all video codecs, install ffmpeg from RPM Fusion |
| **good-gallery-0.7.0... |
Good Gallery 0.6.0
✨ Features
- viewer: Zoom a photo with a touchpad's pinch (#168) (#184) (
ff2f7e0) - selection: A selected item shows only its ring (#185) (
704d59c) - faces: Recognize a photo's faces right after finding them (#182) (#189) (
3a74bca) - faces: Add a model by choosing or dropping a file, no more links (#187) (
f9fd549) - processing: What's running moves behind an icon (#190) (
112c74b) - updates: Check when the app starts, and with a button (#181) (#197) (
68c44fd) - selection: A click opens, a circle starts a selection (#191) (#198) (
563bbb8) - gallery: The scrollbar shows years and the month while dragging (#199) (#208) (
655523b)
🐛 Bug fixes
- viewer: Keep the control bar's buttons apart (#183) (
7ad1e07) - faces: Shorter model descriptions without scores (#186) (
46ed546) - faces: Show the faces of a group on the People page (#194) (#195) (
cbd5ef2) - faces: Say clearly what the search is doing, from the start (#193, #192) (#196) (
0852df8)
Full changelog: v0.5.1...v0.6.0
📥 Download
| File | For |
|---|---|
| good-gallery-0.6.0-windows-x64-setup.exe | Installer: pick the folder, installs for your user |
| good-gallery-0.6.0-windows-x64-portable.zip | Portable: extract anywhere and run good-gallery.exe |
| good-gallery-0.6.0-linux-x64.tar.gz | Linux: extract, install exiftool, ffmpeg and libmpv from your distribution (see README.txt), run ./install.sh or ./good-gallery |
| good-gallery-0.6.0-linux-x64.deb | Ubuntu 24.04 or newer: sudo apt install ./good-gallery-0.6.0-linux-x64.deb brings the helpers too |
| good-gallery-0.6.0-linux-x64.rpm | Fedora: sudo dnf install ./good-gallery-0.6.0-linux-x64.rpm brings the helpers too. For all video codecs, install ffmpeg from RPM Fusion |
| good-gallery-0.6.0-web.zip | Browser version to host yourself: put the files on any static web server, served over HTTPS |
| good-gallery-0.6.0-windows-x64-setup.exe.sig | Not to open: what the app checks before it installs an update |
The Windows downloads keep the index, settings and thumbnail cache in %APPDATA%\good-gallery, the Linux one in ~/.local/share/good-gallery, so an update picks them up as they are.
The downloads aren't code-signed yet, so Windows SmartScreen may warn about them. For the installer choose More info → Run anyway. For the zip, right-click it → Properties → Unblock before extracting.
Good Gallery 0.5.1
Includes the changes of 0.5.0, which wasn't published as a release.
✨ Features
- updates: Show a newer version and install it from a button (#160) (
709cbbf) - faces: Find and recognize faces with models the user picks (#166) (
a27ebc6) - selection: A click selects, a double-click opens (#164) (#170) (
77f9681) - installer: Choose shortcuts and Open with, switch Open with in the settings (#161) (#172) (
3ab631b) - open-with: Show files outside libraries without indexing them (#162) (#171) (
f2e137b) - faces: Recommended models, charts, a status line and looking again (#178) (
78f2c1e)
🐛 Bug fixes
📝 Documentation
🔧 Maintenance
- release: Build side by side, from a cache main keeps warm (#157) (#159) (
147625c) - faces: Keep the version out of the settings snapshot (#180) (
77d6731)
Full changelog: v0.4.0...v0.5.1
📥 Download
| File | For |
|---|---|
| good-gallery-0.5.1-windows-x64-setup.exe | Installer: pick the folder, installs for your user |
| good-gallery-0.5.1-windows-x64-portable.zip | Portable: extract anywhere and run good-gallery.exe |
| good-gallery-0.5.1-linux-x64.tar.gz | Linux: extract, install exiftool, ffmpeg and libmpv from your distribution (see README.txt), run ./install.sh or ./good-gallery |
| good-gallery-0.5.1-linux-x64.deb | Ubuntu 24.04 or newer: sudo apt install ./good-gallery-0.5.1-linux-x64.deb brings the helpers too |
| good-gallery-0.5.1-linux-x64.rpm | Fedora: sudo dnf install ./good-gallery-0.5.1-linux-x64.rpm brings the helpers too. For all video codecs, install ffmpeg from RPM Fusion |
| good-gallery-0.5.1-web.zip | Browser version to host yourself: put the files on any static web server, served over HTTPS |
| good-gallery-0.5.1-windows-x64-setup.exe.sig | Not to open: what the app checks before it installs an update |
The Windows downloads keep the index, settings and thumbnail cache in %APPDATA%\good-gallery, the Linux one in ~/.local/share/good-gallery, so an update picks them up as they are.
The downloads aren't code-signed yet, so Windows SmartScreen may warn about them. For the installer choose More info → Run anyway. For the zip, right-click it → Properties → Unblock before extracting.
Good Gallery 0.4.0
✨ Features
- design: Fill the stars of a rating (#92) (
2ec8e8d) - viewer: Show embedded face regions on the photo (#93) (
93a9c25) - linux: Follow the desktop's caption button layout (#95) (
2415ee4) - video: Time video to the measured display rate on Linux (#97) (
7af502c) - indexing: Read unreadable files again and list them in the toolbar (#105) (
d717705) - viewer: Keep the titles of details an item lacks in the info panel (#114) (
572bc65) - edit: Add a hue slider to the color section (#115) (
44563f2) - viewer: Rate items with 1–5 and the info panel's stars (#120) (
46a06a6) - gallery: Select several items and rate them at once (#123) (
dc5b67a) - viewer: Add and remove tags, People and Places in the info views (#124) (
1bdf52b) - gallery: Tag the selection (#125) (
88c0de6) - web: Fit the layout to narrow screens such as phones (#127) (
5ddbcaa) - app: Open photos and videos with Good Gallery from the file manager (#129) (
3a83457) - edit: Film looks with strength and grain (#131) (
df88120) - web: Attach the page to releases as a zip for self-hosting (#132) (
71ea63c) - settings: Add a Reduce transparency setting (#133) (
3a7508f) - edit: Save crops and quarter turns, with face regions moved along (#134) (
982c8c3) - linux: Build .deb and .rpm packages for releases (#135) (
80620b8) - edit: Rotate photos in the editor by quarter turns (#137) (
31277a5) - edit: Crop photos in the editor with a frame and fixed shapes (#138) (
b15749d) - settings: Show the version and a link to the latest release (#141) (
7678691) - edit: Film grain for looks, and a Superia 200 look (#142) (
a558b85) - xtask: Measure the glass pass with the viewer open and glass off (#143) (
de355f5) - edit: Looks change colors per hue (#144) (
3aea3da) - edit: Bright lights glow red in film looks (#145) (
50d5311) - edit: Gradient, luminance and color masks (#147) (
18f2231) - edit: Masks made of several shapes, with the subject among them (#148) (
a6d094e) - edit: Brush and freeform masks (#149) (
132db5d) - edit: What to edit comes first, and a mask has one shape (#154) (
df71f0d)
🐛 Bug fixes
- release: List the changes of unpublished versions in the release notes (#82) (
bc37189) - indexer: Give a reconnecting network share time before it counts as offline (#83) (
42b3d28) - viewer: Let Tab move focus into the viewer and its filmstrip (#84) (
42db6b5) - metadata: Turn photos oriented only in XMP upright (#85) (
4f2d971) - thumbnails: Retry renames on Windows while Defender holds the file (#86) (
071fd9e) - design: Make the date picker popups glass (#87) (
92ea2de) - viewer: Blur the photo under the viewer's chrome and menus (#88) (
fc6cca8) - dist: Replace downloads that another process still holds (#119) (
29b98e9) - video: Keep libmpv loaded, and wait out a toast in the web test (#122) (
de65299) - media: Never rename over a library file, and read writes back (#140) (#146) (
ec8ebf7) - viewer: Keep showing an item that leaves the search (#150) (#153) (
bc49670) - edit: Show the saved file until the subject is found again (#151) (#156) (
557cc8a)
⚡ Performance
- search: Drive broad tag and file name searches by their matches (#89) (
c205bb0) - search: Meet the search speed budget, with its own for broad results (#94) (
9b38540) - thumbnails: Render thumbnails below the UI's priority (#106) (
3b657d4) - edit: Open editing at once with the viewer's original (#113) (
018395c)
📝 Documentation
- Tidy up the known pitfalls (#104) (
4e24672) - Sort the known pitfalls into notes and issues to fix (#111) (
461f920) - Rewrite the architecture as an overview, decisions into the plans (#128) (
1cd36fe) - Record the glass pass cost and the ICC profile count (#14, #22) (#155) (
77cab66)
🔧 Maintenance
- indexing: Cover folders that can't be listed (REQ-002-11) (#91) (
da0f57f) - xtask: Add cargo xtask icons (#100) (
11c3d56) - Rebuild workspace crates when another worktree built into the shared target (#112) (
cab2f11) - startup: Start once on an empty data folder (#116) (
b2876af) - ui: Keep fixture folders under /tmp whatever TMPDIR is (#117) (
6d36ee8) - helpers: Find fetched helpers in development builds (#118) (
9317653) - ui: Line up the Linux caption buttons in snapshots as in the app (#126) (
3f739f3) - web: Update the narrow-screen snapshots for the whole-window harness (#130) (
8ae51b8)
Full changelog: v0.3.0...v0.4.0
📥 Download
| File | For |
|---|---|
| good-gallery-0.4.0-windows-x64-setup.exe | Installer: pick the folder, install... |
Good Gallery 0.3.0
✨ Features
- sidebar: Hide and show the sidebar (
1a388d4) - release: Name downloads after the system and architecture (
247ec27) - gallery: Autoscroll with the middle mouse button (
296ae99) - Light mode (
455c956) - viewer: Edit photos with light, curves, color and effects (#67) (
ecd62c5) - Order and hide the sidebar groups in the settings (#66) (
5d61b1e) - viewer: Brightness, histogram, and subject and background editing (#78) (
3b4797a) - viewer: Blur behind the subject, tilt-shift and radial blur (#80) (
f21c69e)
🐛 Bug fixes
- gallery: Make autoscroll feel like a browser's (
402ed89) - Keep the window controls dark over the viewer in light mode (
b9c08b8) - viewer: Don't crash when discarding an edit (#73) (
d120e9d)
📝 Documentation
- pitfalls: Worktrees sharing a target dir test each other's code (
1151b1d) - Update agents.md (
1d132af) - readme: Split the development requirements by platform and list NSIS (
ab8b429) - specs: Add 020 light mode spec and plan (
6170645) - Update README for clarity and add web version link (
3857b6a) - Update AGENTS.md (
b95ef95) - readme: Rewrite it, with editing, shortcuts and a screenshot of the editor (#72) (
568a26d)
🔧 Maintenance
- web: Update screenshots for the Hide sidebar button (
f8ca7df) - Upload new snapshot renders with the diffs (
fca770f) - web: Screenshots with the Appearance setting, and in light (
ae7f847) - Windows snapshots for light mode and the Appearance setting (
1da615a) - Add vscode debugging (
06c1f78) - Improve launch configuration (
9757560) - Run the tests with nextest and save the Rust cache only on main (#79) (
38d3596)
Full changelog: v0.2.1...v0.3.0
📥 Download
| File | For |
|---|---|
| good-gallery-0.3.0-windows-x64-setup.exe | Installer: pick the folder, installs for your user |
| good-gallery-0.3.0-windows-x64-portable.zip | Portable: extract anywhere and run good-gallery.exe |
| good-gallery-0.3.0-linux-x64.tar.gz | Linux: extract, install exiftool, ffmpeg and libmpv from your distribution (see README.txt), run ./install.sh or ./good-gallery |
The Windows downloads keep the index, settings and thumbnail cache in %APPDATA%\good-gallery, the Linux one in ~/.local/share/good-gallery, so an update picks them up as they are.
The downloads aren't code-signed yet, so Windows SmartScreen may warn about them. For the installer choose More info → Run anyway. For the zip, right-click it → Properties → Unblock before extracting.
Good Gallery 0.2.1
📝 Documentation
- AGENTS: Add note to text created by agents (
469b174)
🔧 Maintenance
- web: Wait for tag suggestions before searching (
7932792)
Full changelog: v0.2.0...v0.2.1
📥 Download
| File | For |
|---|---|
| good-gallery-0.2.1-setup.exe | Installer: pick the folder, installs for your user |
| good-gallery-0.2.1-portable.zip | Portable: extract anywhere and run good-gallery.exe |
| good-gallery-0.2.1-linux-x86_64.tar.gz | Linux: extract, install exiftool, ffmpeg and libmpv from your distribution (see README.txt), run ./install.sh or ./good-gallery |
The Windows downloads keep the index, settings and thumbnail cache in %APPDATA%\good-gallery, the Linux one in ~/.local/share/good-gallery, so an update picks them up as they are.
The downloads aren't code-signed yet, so Windows SmartScreen may warn about them. For the installer choose More info → Run anyway. For the zip, right-click it → Properties → Unblock before extracting.
Good Gallery 0.1.2
🐛 Bug fixes
🔧 Maintenance
Full changelog: v0.1.1...v0.1.2
📥 Download
| File | For |
|---|---|
| good-gallery-0.1.2-setup.exe | Installer: pick the folder, installs for your user |
| good-gallery-0.1.2-portable.zip | Portable: extract anywhere and run good-gallery.exe |
Both keep the index, settings and thumbnail cache in %APPDATA%\good-gallery, so an update picks them up as they are.
The downloads aren't code-signed yet, so Windows SmartScreen may warn about them. For the installer choose More info → Run anyway. For the zip, right-click it → Properties → Unblock before extracting.