Changelog

What changed in each release, taken from the release notes on GitHub.

v3.3.0

Latest Release on GitHub

Thanks again @phmg701

New

  • Add a catalog backup warning to the setup wizard, release notes and help pages
  • Keep your API keys in the system’s password storage, not in plain-text preferences

Fixed

  • Correct which models the temperature field reaches
  • Mask the wizard key, read the dropped lookups, and report what a run never wrote
  • Prevent catalog scans from changing Lightroom Date Edited
  • Report a stopped run’s warnings, say what the warnings mean, and show progress in two silent tasks
  • Load the SigLIP2 towers independently and reach the unload route from Plug-in Manager
  • Main does not compile — drop the pre-split SigLIP2 ensure_loaded reintroduced by #411
  • Leave the top-level container out of the keyword hierarchy the import sends
  • Drop the pre-split ensure_loaded that #411 brought back
  • Assign table prefs back instead of editing them in place

Other changes

  • Remove Vertex AI completely; one-path Getting Started
  • Record which embedding function produced a stored vector
  • Stamp embedding_model on old rows, keep prompt embeddings in LanceDB, and remember earlier inputs
  • Judge emotion, keep usable frames first, let singles be rejected
  • Keep API keys in LrPasswords instead of plain-text prefs

v3.2.1

Release on GitHub

New

  • Add Anthropic Claude provider support
  • Add Analysis depth setting for cloud model reasoning control

Improved

  • Improve Gemini token handling and schema validation #368

Fixed

  • Report what a run skipped, and stop finished runs from reading as failures. Many thanks @phmg701

Other changes

  • Simpler AI provider settings with an “Other AI server” #367 and custom Hugging Face model downloads #341
  • Pin llama-cpp-2 and llama-cpp-sys-2 to 0.1.156

v3.0.0

Release on GitHub

New

  • In-process llama.cpp LLM provider (M0-M7)
  • MLX inference backend for Apple silicon
  • Add Dependabot configuration file
  • Add Windows & macOS build environment setup wiki page
  • Add Gemma 4 12B QAT to MLX model catalog
  • Add Ministral 3 8B to the llama.cpp and MLX model catalogs
  • Add progress reporting to keyword deduplication task
  • Add CodeQL security scanning workflow
  • Add a repowise report to pull requests

Improved

  • Re-enable KleidiAI kernels, ~3x faster indexing

Fixed

  • Install libprotobuf-dev for well-known-types protos
  • Fix keyword options, macOS installer, CI version parsing, and rejected-photos collection
  • Apply top-level keyword when hierarchy is disabled
  • Honor custom prompt and date_time on the index routes
  • Stop walking the catalog a photo at a time before any progress shows
  • Fix four places where a problem never reached the user

Other changes

  • Rewrite backend in Rust
  • Make keyword de-clutter and bilingual synonyms coexist
  • Remove note about developer’s break from project
  • Rewrite release notes generation for end-user audience
  • Culling signal quality: subject sharpness, intentional sets, CLIP-IQA genre axes, and an evaluation harness
  • Cut tagging output tokens: leaner schema, positional keywords, and the instrumentation to prove it
  • Performance tips wiki page + health-check/warning cleanup
  • Send catalog keyword vocabulary to the LLM
  • Hide Vertex AI from the plugin GUI
  • Onboarding wizard: offer the MLX, llama.cpp and search model downloads
  • Guifactoring
  • Menu cleanup: reorder Plug-in Extras items, drop hash-ID generator button
  • AI Edit: fix four defects that broke the edit path, and start measuring the source image
  • Bug hunt: 20 defects, plus a docs guard so they stop hiding
  • Remove the dead photo_id migration and the Intel Mac caveats
  • Bound the indexing read-ahead, and split raw from non-raw in style training
  • Switch AI Edit to style engine only, remove LLM path
  • Identify species on-device with BioCLIP 2
  • Let a species-only run start
  • Link identified species to iNaturalist and Wikipedia
  • Replace InsightFace buffalo_l with YuNet + FaceNet
  • Surface runs that silently lost a signal
  • Batch the non-LLM index-by-reference passes
  • Catch the remaining docs up with YuNet + FaceNet
  • Take arrow from lancedb’s re-export, bump sha2 to 0.11

v2.20.0

Release on GitHub

Fixes

What’s Changed

  • Fix lazy loading for CLIP model in process_image_task (#198)
  • Improvements when LM studio and Ollama are missing (#200)
  • Update translations (#201)

v2.19.0

Release on GitHub

Things to mention

Available cloud models are now fetched via API call with some basic filtering so that the list of models doesn’t get too long. This makes gemini-3.5-flash available in LrGeniusAI.

What’s Changed

  • Automatic updates for Gemini and ChatGPT models (#190)

v2.18.0

Release on GitHub

What’s Changed

  • Ensure DB is initialized on every request.
  • speedup indexing pipeline on macOS.
  • Remove redundant image conversions in backend.

v2.17.0

Release on GitHub

What’s Changed

  • Catch errors in ai edit if no images are indexed with embeddings (#183)
  • Add relevance strictness and max results options to advanced search (#184)

Just some minor fixes, no new features.

What’s Changed

  • Improve error handling for token limit in multiple providers (#175)
  • Remove gemini generated release notes (#176)
  • Fix backend log fetch mechanism (#181)

What’s Changed

  • Keyword category dialog (#169)
  • Fix AI edit error handling
  • Fix db init errors in faces, backup

What’s Changed

  • Sanitize binary bytes from HTTP responses before logging (#164)
  • Add timeout handling for Google GenAI and Ollama clients (#165)
  • Fixes for update process (#167)

This release contains massive refactoring (thx to @jlintz) and a couple of new features. Highlight is a new feature to avoid cluttering the catalog with keywords that are basically synonyms. Please don’t expect it to be perfect, at least not yet. The new update mechanism is an approach to avoid downloading the whole package on every release and instead just download the changed plugin and backend source files. It’s currently in an alpha/beta state, and will probably need some more testing and fixes.

We’re still und heavy development here, so expect bugs to happen. One day I will concentrate on getting this stable instead of throwing in new features, I promise! 😄

Features

  • Keyword clustering mechanism and de-duplication workflow (Respect the issued warnings when running the De-Duplication task)
  • #157 Choose custom location for lrgenius.db in plug-in manager
  • Streamlined update mechanism (beta-state)

What’s Changed

  • Add CLAUDE.md with architecture and development guidance (#142)
  • Modernize Python typing (#143)
  • Pin lmstudio version (#144)
  • Add pytest GH workflow (#145)
  • Cover pure-function helpers and provider response parsing (#146)
  • Add options to set max_tokens from the plugin and use it in llm_provider_* (#147)
  • Implement update mechanism, improve error handling, and modernize typing (#148)
  • Refactor: server src restructure (#149)
  • Add breaking changes support in update process and manifest gen… (#151)
  • Add docs to test update mechanism (#152)
  • Fixes #150: switch to uv (#153)
  • [refactor] Simplify creation of collections through get_or_create_collection method (#154)
  • Add confirmation dialog for photo processing and fix max_tokens conversion (#155)
  • Add Claude Code GitHub Workflow (#156)
  • Add option to choose database storage location and update UI for path selection (#159)
  • Enhance keyword processing with aliases, clustering, and deduplication (#158)
  • Enhance keyword clustering and deduplication features with UI updates (#162)

v2.15.0

Release on GitHub

Improved handling of location data (reverse geocoded from GPS)

“Sorry” for the rapid releases and constant updates. I’m working on a mechanism to streamline updates as well. Stay tuned.. 😎

What’s Changed

  • Speed up membership checks by only using sets (#137)
  • Use reverse geocoded location data from via EXIF tags (#138)

v2.14.0

Release on GitHub

More fixes

What’s Changed

  • Improve catalog migration behavior (#114)
  • Bug: Not passing system prompt into Gemini provider (#113)
  • Apply metadata per-photo during bulk analyze when validation is off (#117)
  • Linting fixes (#115)
  • Enhance logging and refactor UI layout for better usability (#120)
  • Python formatting/linting cleanup + new workflow (#122)
  • Bug: LMStudio “AI Edit Photos” action was broken. (#123)
  • #124 added gpt-5.4-mini and nano (#129)
  • #126 (#130)
  • Refactor OnboardingWizard to tabbed interface and update workflows (#131)
  • Progress bar doing bulk photo analyze broken (#134)

Fixes for:

v2.13.6

Release on GitHub

Mostly more bug fixes 😄

Fixes for

  • #108 Memory hole in log fetch mechanism
  • #110 Synonym related error with OpenAI

Features

  • Refactored metadata validation dialog, especially keyword validation.

Pull requests

  • #111 Update links to Ollama / LM Studio docs in plug-in manager.

v2.13.5

Release on GitHub

Bugfix release

Breaking changes

  • Plugin code is now installed into %APPDATA% or ~/Library

Changes

  • Fixes #99 See breaking changes
  • Fixes #105
  • Possibly fixes #100
  • Possibly fixes #101

v2.12.7

Release on GitHub

This is another release to fix some issues and enhance stability. We’re getting there.

Notable things:

  • Better error handling / reporting.
  • Fixed an error while processing images with the CLIP model not yet downloaded.

v2.12.5

Release on GitHub

Fixes for:

  • #89
  • #88
  • Docker images missing the right version tag, which lead to reporting version mismatch between plugin and server.
  • There is a latest tag for docker images published on GitHub now.

v2.12.1

Release on GitHub

What’s Changed

  • AI develop/editing feature
  • Complete refactor of the build process
Sorry …

.. for the latest release chaos, I’m still trying to figure out a way to deliver a clean, reasonably sized, out-of-the-box working artifact. I hope I accomplished this now. If not, feel free to open an issue..

v2.8.2

Release on GitHub

What’s Changed

  • Replace pcall with LrTasks.pcall everywhere, Update Github build action (#64)
  • Fixes #63

v2.8.1

Release on GitHub

Fixes

#58 #60 #57

What’s Changed

  • Find similar image, db sync/photo claiming, fixes, logging (#55)
  • Implement safety measures and fix various plugin issues (#61)

v2.7.0

Release on GitHub

What’s Changed

  • 40 feature image culling (#42)
  • Implement database backup and culling features with API updates (#46)

v2.5.0

Release on GitHub

What’s Changed

  • Feature/monorepo migration (#14)
  • Update github actions for monorepo (#15)
  • Possible fix for Selecting LM Studio results in the error ‘str’ objec… (#16)
  • Set plugin’s internal version information via github action (#18)

LrGeniusTagAI

All releases on GitHub