Releases: siculo/photometoria
Release list
v0.3.1 - Bug fix
Bug Fix
Plugin: server not configured after selecting a recent host
When selecting a server from the recent hosts combo box in the Plugin Manager, the display string (in the form host:port - serverName) was being saved as-is to the preferences. This caused the host validation to fail in the Add Photos, Remove Photos, and Manage Tasks dialogs with a "Server not configured" error.
The host is now normalized before saving, and defensively extracted on read in all three dialogs to transparently recover from existing broken preferences.
Affected files: PluginInfoProvider.lua, AddPhotosDialog.lua, RemovePhotosDialog.lua, TaskDialog.lua
Full changelog: v0.3.0...v0.3.1
v0.3.0 - Multi-language support, stability, and plugin UX
We're releasing Photometoria v0.3.0, a broad stabilization and improvement release spanning both the API and the Lightroom plugin.
This milestone delivers multi-language tag generation, a more robust provider and catalog model, significant plugin UX improvements, and a set of targeted bug fixes and storage resilience enhancements.
What's included:
Multi-language tag generation (API + Plugin):
- Language parameter for tag generation — the API now accepts a target language per job (#66)
- Language selection in the New Job dialog (#67)
- Tag output switched from plain text to structured JSON for reliable parsing (#87)
- Validated against llava and qwen3-vl models across multiple languages (#65, #64, #88)
Provider and catalog model (API):
- Explicit provider required in job creation request — no more implicit fallback (#104)
- Provider name stored on the job for traceability (#103)
- New
GET /api/catalogsendpoint to list available catalogs (#83) - Tasks now associated with catalog identity to prevent cross-library mixing (#57)
- Configurable server name exposed on the info endpoint (#69)
num_ctx(context window size) now configurable per Ollama model (#105)
Plugin UX improvements:
- Job creation on a subset of task photos — use the current Lightroom selection (#114)
- "Remove Photos" command added to the plugin (#113)
- Job timestamps and estimated time remaining shown in the plugin UI (#71)
- Option to remove existing keywords before applying AI-generated tags (#70)
- Recent hosts list in server connection preferences (#60)
- Last used model pre-selected when opening the New Job dialog (#79)
- Last active task updated when switching from the task popup (#81)
Bug fixes:
- Orphaned jobs no longer remain in memory after task deletion (#68)
- Photo store in-memory state correctly cleared on task deletion (#98)
- Job creation now returns HTTP 201 instead of 200 (#61)
Storage resilience (API):
- Filesystem consistency checks on startup (#17)
- Improved filesystem storage resilience (#24)
- Input validation added across API endpoints (#13)
- Effective configuration logged in human-readable format at startup (#74)
API cleanup:
- Deprecated
GET /versionandGET /api/modelsendpoints removed (#32) - Re-uploading a photo replaces the existing entry instead of creating a duplicate (#58)
Next up (v0.4.0): TBD — see the issue tracker for planned work.
Feedback welcome.
v0.2.0 - Lightroom Plugin
We're releasing Photometoria v0.2.0, which delivers a full-featured Lightroom Classic plugin.
This milestone brings Photometoria from a standalone API into the photographer's actual workflow: photos can now be selected, uploaded, analyzed, and tagged entirely from within Lightroom Classic.
What's included:
Plugin (Lua):
- Task management — create, delete, rename, edit context
- Photo workflow — select, validate, export and upload photos to tasks
- Job lifecycle — start AI analysis, monitor real-time progress, cancel, retry, delete
- Keyword application — apply AI-generated tags as Lightroom keywords with confirmation dialog
- Show Photos — navigate to task photos in the Library module
- Progress indicators and job status icons in the UI
API enhancements (Rust):
GET /api/info— server capabilities and statusGET /api/providersandGET /api/models— provider and model discoverynamefield on tasks for user-friendly identificationclient_idon photos for client-side reconciliation- Task endpoints now expose their associated jobs
- Photo summaries in task photo listing
Next up (v0.3.0): TBD — see the issue tracker for planned work.
Feedback welcome.
v0.1.0 - API Functional Completion
We're releasing the first functional version of the Photometoria REST API.
This milestone marks the completion of the core API layer: photos can now be uploaded, analyzed by a local AI model via Ollama, and the generated tags retrieved — all through a clean REST interface.
What's included:
- Full job lifecycle: create, monitor, cancel, retry, delete
- Worker pool with GPU-aware model switching
- Ollama integration with per-model prompt templates
GET /api/modelsto list available vision models- Delete guards to prevent accidental data loss during active jobs
Next up (v0.2.0): Work on the Lightroom Classic plugin begins.
This is an early release — the API is functional but not yet stable. Feedback welcome.