Releases: lstein/PhotoMapAI
v1.0.3
PhotoMap Version 1.0.3
This is a small bugfix release that fixes some aesthetic issues and stops a crash when reading the metadata on some recent InvokeAI-generated images.
Many thanks to @green-s for providing a fix to a bug that prevented PhotoMap from starting up properly when run in a conda environment.
What's Changed
- Add Copilot instructions for repository context by @Copilot in #193
- Show spinner during UMAP cluster selection by @Copilot in #197
- Start server via module argument instead of script path by @green-s in #195
- chore: update deploy actions by @lstein in #190
- chore: bump version by @lstein in #201
- Add linting infrastructure with Ruff, ESLint, and Prettier by @Copilot in #199
- chore: fix version string by @lstein in #202
- Fix UMAP spinner not appearing during cluster click operations by @Copilot in #204
- Bugfix(backend): prevent crash on some invokeai metadata formats by @lstein in #205
- chore: version bump by @lstein in #206
New Contributors
Full Changelog: v1.0.2...v1.0.3
v1.0.2
This release adds a couple small features and corrects several bugs.
Feature: Album Locking
This version introduces a new command line option, --album-locked which accepts one or more album keys separated by spaces. If this option is present, PhotoMapAI will only allow the user to select one of the listed albums. All functions that modify the filesystem, including changing albums, deleting images, and moving images around, are disabled. Use this to give your friends and family access to some, but not all, of your configured albums.
Feature: Display InvokeAI Workflow Metadata
This version now displays metadata added to images by InvokeAI workflows.
Bug Fixes
- Deleted bookmarked images no longer persist in the grid view.
Installation
See Installation for full instructions. Prebuilt binaries with accelerated GPU support can be downloaded from here.
What's Changed
- (chore) fix artifact upload step (again) by @lstein in #183
- (enhancement) detect and handle metadata generated by Invoke workflows by @lstein in #186
- Allow multiple albums in --album-locked option by @Copilot in #185
- Fix deleted bookmarked images remaining visible in grid view due to browser caching by @Copilot in #188
- chore: bump version by @lstein in #189
Full Changelog: v1.0.1...v1.0.2
v1.0.1
This is a bugfix release to address a number of small issues in 1.0.0. The 1.0.0 release notes are reproduced here:
What's New
This release of PhotoMapAI adds many new features, bug fixes, and performance enhancers.
Image Dataset Curation
A completely new image curation panel was contributed by @NMWave. This feature is designed to assist in curating images for use in AI generation and classification models. This mode automates the selection and maintenance of a balanced and diverse set of training images. See Dataset Curation for more information.
Bookmarks
You can now "star" an image and add it to your favorites. You can then filter on favorites, download a zip file archive, move the favorites to a new folder, or delete them en masse.
Slideshow modes
You can now easily select whether the slideshow shows images chronologically or in shuffled order. Simply right click on the slideshow button (on desktops) or long press (on tablets) to choose which mode is active.
More Semantic Map options
You can now control whether the semantic map minimizes itself when selecting a cluster, and conveniently show, hide and clear highlighted images. In addition, the map navigation icon menu has been reorganized to make it more easily accessed on tablets.
Grid View bugs fixed
Multiple strange behaviors in the grid view, including unexpected backwards navigation, loading slowness, and misordered images have now been fixed. Performance is improved as well.
Enhanced cluster display and navigation options
The currently-selected image's cluster is now shown in the metadata panel. Clicking on the cluster name will select other images in the same cluster. In addition, the cluster name and size are shown in the thumbnails that appear when you hover over a point in the semantic map.
Better metadata support for InvokeAI
The metadata display panel has been updated to support images generated by legacy versions of the fantastic InvokeAI generative AI image creation package.
Improved album management
The Album Manager now appears instantly when you click its button in the Settings panel. It also adds a "Back" button to return to Settings when desired. In addition, the user interface for the directory browser has been cleaned up to be more intuitive and responsive.
Installation
There are several ways of installing this application. Please see Installation Instructions as a guide.
If you choose to install an executable bundle, you'll find CPU-only executables under Assets below. The GPU-accelerated versions can be found here: PhotoMapAI v.1.0.1 Executables
What's Changed since 1.0.0
- (docs) fix command-line example for docker by @lstein in #164
- Implement album-lock restrictions for filesystem operations by @Copilot in #166
- Fix cluster badge not updating in metadata panel for both swiper and grid views by @Copilot in #168
- Add single image selection mode to UMAP window by @Copilot in #170
- Redesign fileNameBanner with distinct draggable titlebar by @Copilot in #172
- Increase UMAP fullscreen controlsHeight to prevent overlap with bottom panels by @Copilot in #174
- Fix umap fullscreen exit when click-to-navigate is active by @Copilot in #176
- Add Export action to Bookmarks menu with directory picker improvements by @Copilot in #180
- Free CUDA VRAM after search and indexing operations by @Copilot in #178
- (chore) bump version number & update README by @lstein in #181
- (chore) do not attempt to upload the CUDA installers; they are too large by @lstein in #182
Full Changelog: v1.0.0...v1.0.1
v1.0.0
What's New
This release of PhotoMapAI adds many new features, bug fixes, and performance enhancers.
Image Dataset Curation
A completely new image curation panel was contributed by @NMWave. This feature is designed to assist in curating images for use in AI generation and classification models. This mode automates the selection and maintenance of a balanced and diverse set of training images. See Dataset Curation for more information.
Bookmarks
You can now "star" an image and add it to your favorites. You can then filter on favorites, download a zip file archive, move the favorites to a new folder, or delete them en masse.
Slideshow modes
You can now easily select whether the slideshow shows images chronologically or in shuffled order. Simply right click on the slideshow button (on desktops) or long press (on tablets) to choose which mode is active.
More Semantic Map options
You can now control whether the semantic map minimizes itself when selecting a cluster, and conveniently show, hide and clear highlighted images. In addition, the map navigation icon menu has been reorganized to make it more easily accessed on tablets.
Grid View bugs fixed
Multiple strange behaviors in the grid view, including unexpected backwards navigation, loading slowness, and misordered images have now been fixed. Performance is improved as well.
Enhanced cluster display and navigation options
The currently-selected image's cluster is now shown in the metadata panel. Clicking on the cluster name will select other images in the same cluster. In addition, the cluster name and size are shown in the thumbnails that appear when you hover over a point in the semantic map.
Better metadata support for InvokeAI
The metadata display panel has been updated to support images generated by legacy versions of the fantastic InvokeAI generative AI image creation package.
Improved album management
The Album Manager now appears instantly when you click its button in the Settings panel. It also adds a "Back" button to return to Settings when desired. In addition, the user interface for the directory browser has been cleaned up to be more intuitive and responsive.
Installation
There are several ways of installing this application. Please see Installation Instructions as a guide.
If you choose to install an executable bundle, you'll find CPU-only executables under Assets below. The GPU-accelerated versions can be found here: PhotoMapAI v.1.0.0 Executables
Comprehensive list of what's changed
- (bugfix) handle ref image data nested under "original" by @lstein in #114
- Refactor JavaScript event handlers: consolidate component-specific events and remove eventRegistry by @Copilot in #113
- (feature) When slideshow reaches end, wrap around to beginning by @lstein in #116
- Add JavaScript frontend unit tests with Jest by @Copilot in #118
- (chore) fix the deploy script so that docker-deploy gets secrets by @lstein in #119
- Fix race condition when switching from swiper to grid mode by @Copilot in #123
- Fix shuffle mode slideshow direction reversal and slide repetition by @Copilot in #125
- Fix race condition causing retrograde motion when paging grid-view forward by @Copilot in #127
- Feature: Add image bookmarks with persistent storage and batch actions by @Copilot in #129
- Document the new bookmarks feature by @Copilot in #131
- Move favorites star into ScoreDisplay and reposition seek-slider by @Copilot in #133
- Show slide position in seek-slider yellow strip by @Copilot in #135
- Allow grid-view to scroll while images are loading by @Copilot in #137
- (feature) remove the save to image icon from the plotly menu by @lstein in #140
- Add back navigation and eliminate dialog delay in Album Manager by @Copilot in #139
- Enhance UMAP search result highlighting with larger markers, white borders, and persistent settings by @Copilot in #143
- Fix seek slider thumb position on first display by @Copilot in #145
- Fix localStorage loss and UMAP marker disappearance on iOS/iPad by @Copilot in #147
- Add cluster size to hover thumbnails and metadata window by @Copilot in #149
- Add move images to different folder functionality with create folder support and smart album integration by @Copilot in #151
- Add Dataset Curation Tools (FPS & K-Means) for LoRA Training (#141) by @NMWave and @lstein in #152
- Add touch event support for curator panel dragging by @Copilot in #158
- Fix Album Manager button: missing imports, width overflow, and restore PR #139 features by @Copilot in #156
- Fix metadata panel drag lag by using delta-based positioning by @Copilot in #162
- Add comprehensive test coverage for curation panel functionality by @Copilot in #160
- Bump version to 1.0.0 by @lstein in #163
Full Changelog: v0.9.6...v1.0.0
v0.9.6
What's Changed
- [release] Revert to using API token, not trusted publisher by @lstein in #104
- [feature] Modify slideshow button to toggle between chronological mode and random mode. by @lstein in #105
- Update docs to describe slideshow button mode shifting by @lstein in #106
- [feature] user settable search parameters by @lstein in #107
- (bugfix) restore behavior of iPad image menu on long touch by @lstein in #108
- (docs) add information on the search sensitivity settings by @lstein in #109
- (bugfix) pause running slideshow when shifting from random<->sequential by @lstein in #110
Full Changelog: v0.9.5...v0.9.6
Installation
There are several ways of installing this application. Please see Installation Instructions as a guide.
If you choose to install an executable bundle, you'll find CPU-only executables under Assets below. The GPU-accelerated versions can be found here: PhotoMapAI v.0.9.6 Executables
v0.9.5
This version of PhotoMapAI adds numerous bugfixes, performance enhancements, code cleanups, and minor feature additions. In particular, there should be far fewer glitches when using the grid view.
Installation
Please see Installation for various ways to install the application. You can install from source code, via PyPi, with a Docker image, or as a one-click executable.
New Features
- Inline upgrade. The "About" dialog box now offers the option to update to the latest version.
- Rotation and sceen size changes. The UI now adapts gracefully to changes in the browser window size and/or screen orientation changes.
- Semantic map landmarks. The landmarks stay activated at all semantic map window sizes unless the user turns them off explicitly. In addition, clicking on a landmark will now reliably select and load its cluster into the viewer.
What's Changed
- [Deploy] Put the artifact upload step into its own action file by @lstein in #87
- [Deploy] Refactor upload artifacts by @lstein in #88
- bump version to 0.9.5 by @lstein in #89
- [docker] Add command-line option to disable inline version upgrading by @lstein in #90
- [Refactor] Separate swiper and gridview elements by @lstein in #91
- [bugfix] add logic to handle rotation events that occur when grid view not active by @lstein in #92
- [Bugfix] Fix grid thumbnail resize and off-by-one error in grid page by @lstein in #93
- [Bugfix] Fix imagesearch in grid mode by @lstein in #94
- [bugfix] Prevent zooming on image double-tap on ios by @lstein in #95
- [bugfix] Fix seek slide css so that it spans viewport correctly by @lstein in #96
- [bugfix] Stop image not found errors when seeking to end of slide deck by @lstein in #97
- Tweak umap display checkboxes. by @lstein in #98
- [feature] Add timestamps to both internal log entries and uvicorn's by @lstein in #99
- [bugfix] prevent TypeError: undefined attribute error during gridView resetAllSlides by @lstein in #100
- [refactor] Simplify batch loading by @lstein in #101
- [bugfix] Prevent navigation buttons fighting over the same swiper by @lstein in #102
- [refactor] Remove redundant calls to get slide element index by @lstein in #103
Full Changelog: v0.9.4...v0.9.5
v0.9.4
What's Changed
- [release] Add dockerhub push to the GitHub deploy script by @lstein in #75
- [release] Split deployments into two actions by @lstein in #76
- [deploy] Fix workflow names by @lstein in #77
- [deploy] .dmg maker by @lstein in #78
- [feature] Highlight unclustered images on umap by @lstein in #79
- [deploy] Add pyinstaller support by @lstein in #80
- [bugfix] Add checks to prevent slides from updating during grid to swiper transition by @lstein in #83
- [Bugfix] Pull request for testing pyapplication deployment script by @lstein in #82
- [bugfix] Fix miscellaneous issues prior to release 0.9.4 by @lstein in #84
- [Bugfix] Fix pyinstallers by @lstein in #85
- [Docs] Installation updates by @lstein in #86
Full Changelog: 0.9.3...v0.9.4
0.9.3
0.9.2
What's New
This version of PhotoMapAI adds a graphical user interface for assigning image directories to albums. Instead of typing out the path of a directory, you can now select it using a bare-bones filesystem browser.
In addition, this version now supports Python 3.13.
What's Changed
- [Bugfix] Fix dangling highwatermark code by @lstein in #66
- [Feat] Responsive formatting by @lstein in #67
- [bugfix] Remove trash and confirm delete checkbox when album-locked by @lstein in #68
- [feature] Add directory path browser GUI by @lstein in #69
- Clean up in anticipation of 9.0.2 release by @lstein in #70
Full Changelog: 0.9.0...0.9.2
0.9.0
Version 0.9.0 of PhotoMapAI adds a new grid mode that will display multiple images at once. It is particularly useful for exploring clusters in the semantic map. Use Settings to adjust the size of the grid mode thumbnail images to your preference.
Other major features in this release:
- Added option to allow you to delete images without waiting for confirmation.
- Made the metadata drawer movable -- just grab it by an edge to move it anywhere on the browser window.
- When copying fields from the metadata, the copy icon will provide feedback that the copy was successful.
- Full-screen mode removes the slide position display for a truly minimal experience.
- Tap events on touch-aware hardware will start and stop the slide show while in fullscreen mode.
Major bugfixes include:
- When indexing albums with paths that include the "
" character, the indexer would store the index in a directory named "" rather than expanding the symbol to the user's home directory path.
What's Changed
- [Feature] Add grid view by @lstein in #58
- [Feat] Better overlay drawer by @lstein in #59
- [bugfix] Fix issues with indexer by @lstein in #60
- [Bugfix] Update albums by @lstein in #61
- Documentation updates by @lstein in #62
- [Feature] Transiently display a checkmark after successful copy by @lstein in #63
- [Feature] Allow user to scale size of grid thumbnails by @lstein in #64
- [tidy] Remove unneeded console debugging statements by @lstein in #65
Full Changelog: 0.8.1...0.9.0