Skip to main content

43 posts tagged with "release"

View All Tags

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

Development: 2024 - October

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

Upstream:

  • ๐Ÿš€ LibrePhotos: Reintroduce Classification

This change aims to reintroduce classification, while keeping the current clustering intact. Clustering was chosen, because it works well in a cold start scenario, where the user does not have any persons. Common problems with clustering are that there is no way to only match faces to known persons, and that previous input does not improve the clustering results. Classification should solve this problem! Instead of finding all the clusters, classification will match all unknown faces with already known persons instead.

  • โœจ LibrePhotos: Faces are now only soft deleted
  • โœจ LibrePhotos: All cluster and classification probabilities are now saved
  • โœจ Frontend: New Light box for viewing images
  • โœจ Frontend: You can now delete faces from the lightbox
  • โœจ Frontend: Hovering over a name in the sidebar, will outline the face
  • โœจ Frontend: There is now a separate "Unknown" section in the face dashboard
  • โœจ Frontend: Inferred faces are now the first tab, instead of the last
  • โœจ Frontend: New filter for viewing cluster or classifications
  • โœจ Frontend: New filter for label probability
  • โœจ Frontend: Photo details now return, if the face was inferred or labelled and the probability
  • โœจ Frontend: The face of the person and the old name are now visible when renaming
  • โœจ 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 7 awesome people!

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