Skip to main content

Development: 2026 - February

ยท One min read
Niaz Faridani-Rad
Maintainer of LibrePhotos

This release introduces a multi-model tagging system, giving you the choice of two different AI models for auto-tagging your photos.

Upstream:

  • ๐Ÿš€ LibrePhotos/Frontend: Multi-Model Tagging System
    • You can now choose between two tagging models in Site Settings โ†’ Tagging Model:
      • Places365 โ€” The classic scene recognition model (default)
      • SigLIP 2 โ€” Google's latest vision-language model, running as ONNX. Uses zero-shot classification against a curated vocabulary of 900+ real-world photo tags (people, animals, nature, activities, scenes, weather, and more). Returns the top 10 most relevant tags.
    • Tags are stored per model โ€” switching between models does not delete previously generated tags, and does not require rescanning your library.
    • The lightbox sidebar now shows tags with color-coded badges for each model (green for SigLIP 2, blue for Places365).
    • Things Albums are dynamically filtered to only show tags from the currently active tagging model.
    • Search results use tags from the selected model.

If you are interested on how I develop this application, you can watch me develop features live on my channel


Sponsoring development:

My work is sponsored by 3 awesome people!

If you like the work I do, then you can support me via GitHub sponsors or via PayPal

Development: 2025 - September and October

ยท 2 min read
Niaz Faridani-Rad
Maintainer of LibrePhotos

Breaking change: Postgres v18+: change your volume mount path!

With Postgres v18+, mounting a volume to /var/lib/postgresql/data can fail in Docker/Kubernetes due to an upstream change that enforces a new data directory (/var/lib/postgresql/MAJOR/docker) and adds a symlink from /var/lib/postgresql/data to /var/lib/postgresql (details).

Action required: Mount your volume to /var/lib/postgresql instead. pgautoupgrade will detect any existing data there and migrate it to the new structure (discussion: pgautoupgrade#164).

Upstream:

  • ๐Ÿš€ LibrePhotos/Frontend: You can now edit GPS locations
  • โœจ Frontend: Upgraded to Mantine 8.3 and fixed linting errors (Implemented by sickelap)
  • โœจ LibrePhotos: Using Argon2PasswordHasher for new and updated accounts for faster authentication
  • ๐Ÿ”จ LibrePhotos: Handle empty recently added photo queries
  • ๐Ÿ”จ LibrePhotos: Fix BLIP on newer versions of librephotos
  • ๐Ÿ”จ LibrePhotos: Fix proxy redirects for non-ASCII original photo paths
  • ๐Ÿ”จ LibrePhotos: Fix LLM models downloading even when none was selected
  • ๐Ÿ”จ Frontend: Fix a bug when uploading images
  • โœจ LibrePhotos: Updated dependencies and updated language strings from the community

If you are interested on how I develop this application, you can watch me develop features live on my channel


Sponsoring development:

My work is sponsored by 2 awesome people!

If you like the work I do, then you can support me via GitHub sponsors or via PayPal

Development: 2025 - July and August

ยท One min read
Niaz Faridani-Rad
Maintainer of LibrePhotos

Upstream:

  • ๐Ÿš€ Docker: You can now launch LibrePhotos as a single container with docker with the "librephotos-unified:latest" image
  • ๐Ÿš€ LibrePhotos: Public sharing via link for albums
  • ๐Ÿš€ LibrePhotos: Folder navigation view + pagination & aggregated photo counts for subfolders
  • โœจ Docker: use native runners instead of emulation
  • โœจ Frontend: Breadcrumb Path in detail views, and infinite scroll for subfolders
  • โœจ LibrePhotos: fewer queries in several views (perf pass)
  • โœจ LibrePhotos: Multiple fixes in order to make sqllite work
  • โœจ Frontend: Improved deletion dialog; centered login title;
  • ๐Ÿ”จ LibrePhotos: fix n+1 on delete; fix trash view; migration stability for missing image paths
  • ๐Ÿ”จ Frontend: fix GIFs in viewer; fix no-timestamp errors
  • โœจ LibrePhotos: Updated dependencies and updated language strings from the community

If you are interested on how I develop this application, you can watch me develop features live on my channel


Sponsoring development:

My work is sponsored by 2 awesome people!

If you like the work I do, then you can support me via GitHub sponsors or via PayPal

Development: 2025 - June

ยท One min read
Niaz Faridani-Rad
Maintainer of LibrePhotos

Upstream:

  • โœจ Docs: Update upload documentation to clarify scan directory requirements and remove heavyweight process setting
  • ๐Ÿ”จ LibrePhotos: Fixed scanning of videos by fixing an issue with calculating aspect ratios (#1587)
  • ๐Ÿ”จ LibrePhotos: Fixed scanning media from nextcloud (Implemented by varet80)
  • ๐Ÿ”จ Frontend: Fix cache invalidation issues in FaceDashboard (#1586)
  • โœจ LibrePhotos: Updated dependencies and updated language strings from the community

If you are interested on how I develop this application, you can watch me develop features live on my channel


Sponsoring development:

My work is sponsored by 2 awesome people!

If you like the work I do, then you can support me via GitHub sponsors or via PayPal

Development: 2025 - May

ยท 2 min read
Niaz Faridani-Rad
Maintainer of LibrePhotos

Upstream:

๐Ÿš€ Backend: Added Moondream 2 for caption generation

The backend integrated the Moondream 2 model (via llama-cpp-python) for image+text analysis, marking images as multi-modal inputs. This lays groundwork for more advanced AI features like richer automatic captions or visual queries by allowing the AI to handle both image and text together.

โœจ Frontend: Keyboard shortcuts in Lightbox

You can now use keyboard shortcuts in the lightbox to navigate photos, toggle the info sidebar, and even delete images โ€“ all without touching the mouse! Helpful tooltips have been added to the UI to remind you of these new shortcuts

Smaller things:

  • โœจ Backend: Refactored photo captioning and search
  • โœจ Backend: Resolved some noisy logger warnings (Implemented by emmanuel-ferdman)
  • ๐Ÿ”จ Backend: Normal users can now create albums again
  • โœจ Frontend: It is now possible to delete images from the lightbox
  • ๐Ÿ”จ Frontend: Fixed the download photos action
  • ๐Ÿ”จ Frontend: Fixed the places tree page
  • ๐Ÿ”จ Frontend: Fixed mobile view of photos

If you are interested on how I develop this application, you can watch me develop features live on my channel


Sponsoring development:

My work is sponsored by 2 awesome people!

If you like the work I do, then you can support me via GitHub sponsors or via PayPal

Development: 2025 - April

ยท 2 min read
Niaz Faridani-Rad
Maintainer of LibrePhotos

Upstream:

  • ๐Ÿš€ Frontend: Switched from RTK Query and Redux to Tanstack Query

The syntax of RTK Query was difficult to work with, and Redux introduced unnecessary complexity for our needs. With TanStack Query, data fetching feels much more natural and removes the need for boilerplate like slices or global state management for async data.

  • ๐Ÿš€ Frontend: Switched from React Router to Tanstack Router

Switching to TanStack Router improves consistency with TanStack Query, enables typesafe URL-based state management, and supports powerful features like intent-based fetching โ€” all with deeper integration options out of the box.

  • โœจ Frontend: Overhauled Face Dashboard controls
  • โœจ Frontend: Add keyboard navigation to the lightbox
  • โœจ LibrePhotos: Disable password change on demo site (Implemented by sickelap)
  • โœจ LibrePhotos: Extracted a thumbnail model from the photo model
  • โœจ LibrePhotos: Updated dependencies and updated language strings from the community
  • ๐Ÿ”จ Frontend: Fixed a lot of small issues

If you are interested on how I develop this application, you can watch me develop features live on my channel


Sponsoring development:

My work is sponsored by 2 awesome people!

If you like the work I do, then you can support me via GitHub sponsors or via PayPal

Development: 2025 - March

ยท 2 min read
Niaz Faridani-Rad
Maintainer of LibrePhotos

Upstream:

  • ๐Ÿš€ LibrePhotos: You can now download the logs from the admin dashboard
  • ๐Ÿš€ Frontend: You can now drag images around in the light box
  • ๐Ÿš€ Frontend: Similar images can now be clicked and viewed on a new single photo page
  • โœจ LibrePhotos: Faster import of photos (Implemented by Ava)
  • โœจ Frontend: Use Mantine tree and removed a dependency
  • โœจ Frontend: You can now set any value for the size of the images
  • โœจ Frontend: Light / Dark mode got moved to the header instead
  • ๐Ÿ”จ LibrePhotos: Uploaded files now get checked, if they are supported, before saving them
  • ๐Ÿ”จ Docker: httpPort should now work, when set in .env
  • ๐Ÿ”จ Frontend: Auto albums should be visible now, even when the title is missing
  • ๐Ÿ”จ Frontend: Fixed rendering of the captions box in the light box
  • ๐Ÿ”จ Frontend: Fixed an issue where the notification would appear below the viewport
  • โœจ LibrePhotos: Updated dependencies and updated language strings from the community

If you are interested on how I develop this application, you can watch me develop features live on my channel


Sponsoring development:

My work is sponsored by 2 awesome people!

If you like the work I do, then you can support me via GitHub sponsors or via PayPal

Development: 2024 - December

ยท One min read
Niaz Faridani-Rad
Maintainer of LibrePhotos

Upstream:

  • ๐Ÿš€ LibrePhotos: Upgrade to Mantine 7 (Implemented by sickelap)
  • โœจ Frontend: Improved search functionality (Implemented by sickelap)
  • โœจ Docker: GPU image is now 35% smaller (8,72GB โ†’ 5,5GB)
  • ๐Ÿ”จ Frontend: Motion photos should be visible now
  • ๐Ÿ”จ Frontend: Fixed selection of mistral model in admin dashboard
  • โœจ LibrePhotos: Updated dependencies and updated language strings from the community

If you are interested on how I develop this application, you can watch me develop features live on my channel


Sponsoring development:

My work is sponsored by 5 awesome people!

If you like the work I do, then you can support me via GitHub sponsors or via PayPal

Development: 2024 - Week 46/47

ยท One min read
Niaz Faridani-Rad
Maintainer of LibrePhotos

Upstream:

  • ๐Ÿš€ Docker: Use pgautoupgrade/pgautoupgrade to use latest postgres
  • โœจ LibrePhotos: Remove heavyweight process setting
  • ๐Ÿ”จ LibrePhotos: Fix xss file upload vulnerability (Found and fixed by ii5mai1)
  • ๐Ÿ”จ Docker: Remove postgres setting that can lead to a corrupt db in certain scenarios

If you are interested on how I develop this application, you can watch me develop features live on my channel


Sponsoring development:

My work is sponsored by 6 awesome people!

If you like the work I do, then you can support me via GitHub sponsors or via PayPal