Releases: photoprism/photoprism
Release list
June 1, 2026
This service release includes important security and reliability updates. As an additional safety measure, indexing, importing, and uploading can be disabled when free disk space falls below a configurable threshold to prevent storage volumes from filling up. A special thank you to everyone who reported bugs and helped us test the changes! οΈππ§
What's new?
- Index: Optional free disk space threshold prevents storage from filling up
- Index: Fixed recovery of hidden stacks whose primary image was replaced
- Videos: Improved hardware transcoding setup and documentation
- Videos: Fixed VAAPI transcoding for compatibility with FFmpeg 8
- Videos: Added an option to exclude formats from FFmpeg processing
- Thumbs: PNGs are exported without an ICC profile if
libpngrejects it - Folders: Fixed recurring deletion and re-creation of folder albums
- Security: Reinforced user profile endpoint authorization checks by @geo-chen
- Security: Removed Pebble binary from Ubuntu base images (CVE-2026-39821)
- Security: Upgraded
libheiffrom v1.21.2 to v1.22.2 (17 CVE fixes)
Translations
Missing user interface translations have been generated with the help of DeepL and Google Translate. Native speakers are welcome to help us improve them where needed. Learn more βΊ
Installation Packages
The packages attached to this release are intended for experienced users and maintainers of third-party integrations only, as they require manual configuration and do not include tested system dependencies. Since we are unable to provide support for custom installations, we recommend using one of our Docker images to run PhotoPrism on a private server or NAS device. Learn more βΊ
May 23, 2026
This update introduces a redesigned Info Sidebar that lets you edit metadata, albums, and labels as well as manually tag faces without leaving the full-screen viewer. On the AI side, our ONNX-based face recognition pipeline has fully replaced the legacy Pigo detector, and the vision.yml configuration now accepts mixed-case model names so all identifiers from Hugging Face, Ollama, and OpenAI-compatible catalogs can be used.
Media handling has been thoroughly modernized: video transcoding now supports Vulkan hardware acceleration via FFmpeg 8, images use a native HEIC/AVIF reader (with libheif upgraded to v1.21.2), and layered TIFF and Adobe Photoshop PSD files are now supported. Other highlights include NOT & AND operators in the label filter, a drag-and-drop file upload zone, zstd compression for faster page loads, hardened WebDAV interoperability, and a new Ubuntu 26.04 LTS base image.
A big thank you to everyone who contributed and helped with testing! We hope you enjoy this release. ππβ¨
What's new?
- Viewer: Sidebar shows editable metadata, albums, and labels by @omerdduran
- Viewer: Captions can be hidden using the menu or a keyboard shortcut
- Faces: Viewer sidebar allows to manually tag faces on pictures by @omerdduran
- Faces: Dropped legacy Pigo detector in favor of ONNX-based detection
- UX: Added a drag-and-drop zone to the file upload dialog
- UX: Improved form input validation and numeric range caps
- Login: Enhanced login page with "Stay signed in on this device" toggle
- Login: OIDC provider initialization is retried after transient discovery failure
- Login: Fixed OIDC redirect of unauthenticated users when opening direct links
- Search: Improved label filter with support for NOT & AND operators
- Labels: Added support for homophones and homophone-aware lookups by @keif888
- Labels: Fixed duplicates when renaming a label and re-adding the previous name
- Labels: Fixed case and punctuation variants creating duplicates in the edit dialog
- Folders: Child folders with emoji paths no longer overwrite parent albums
- Videos: Added support for Vulkan hardware transcoding using FFmpeg 8
- Videos: HEVC remux output is tagged as
hvc1based on MP4 chunk scan - Images: Added support for layered TIFF and Adobe Photoshop PSD images
- Images: Added native HEIC/AVIF reader and upgraded
libheifto v1.21.2 - Images: Replaced
disintegration/imaginglibrary with native format support - Server: Added
zstdcompression support for faster loading times - Server: Added pre-compressed frontend bundles for faster loading times
- Server: Fixed nil-DB race in async count and cover update goroutines
- WebDAV: Hardened timeouts, cancellation, and Depth-1 fallback diagnostics
- WebDAV: Fixed settings dialog to allow credentials for existing services to be changed
- WebDAV: Added fallback for servers that only allow
PROPFINDwith a Depth of 1 - CLI: Improved
vision runcommand updates sidecar YAML files - CLI: Added a
faces configsubcommand to list face-related options - CLI: Fixed flags placed after positional arguments being silently dropped
- MCP: Added read-only support for the Model Context Protocol (MCP)
- MCP: Added
--disable-mcpflag to disable Model Context Protocol support - Config: Removed limitation for vision model names to be lowercased
- Config: Improved worker auto-configuration based on number of CPU cores
- Config: Consolidated SQL driver names and parsing in
pkg/dsnby @keif888 - Config: Default HTTP and HTTPS ports are stripped from base URLs
- Logs: Information about long-running processes is logged by @keif888
- Docker: Upgraded base image to Ubuntu 26.04 LTS (Resolute Raccoon)
- Security: Search queries now use parameterized statements for all user input
- Security: Upgraded Go from v1.26 to v1.26.3 and ONNX Runtime to v1.25.1
Redesigned Info Sidebar
Edit a metadata field by clicking on it. Some fields can be edited in place, while others open a dialog box.
Editing People & Faces
The viewer sidebar offers the same face management actions that are already available under Edit > People. In addition, it allows you to manually mark and assign faces that were missed by the automatic detection.
Drag-and-Drop File Upload
Drop any number of files or folders onto the upload area, or click it to open a file picker. Files selected for upload are listed with their file names, sizes, and a thumbnail, if possible.
Translations
Missing user interface translations have been generated with the help of DeepL and Google Translate. Native speakers are welcome to help us improve them where needed. Learn more βΊ
Installation Packages
The packages attached to this release are intended for experienced users and maintainers of third-party integrations only, as they require manual configuration and do not include tested system dependencies. Since we are unable to provide support for custom installations, we recommend using one of our Docker images to run PhotoPrism on a private server or NAS device. Learn more βΊ
March 5, 2026
This service release focuses on security hardening, interoperability improvements, and bug fixes to create a stable platform for upcoming features. π§
Ollama users benefit from easier configuration with the OLLAMA_BASE_URL and OLLAMA_API_KEY environment variables, as well as improved fallback response handling for caption generation with reasoning models. To improve reliability, we addressed edge cases in indexing, Places (GPS boundary overshoots), folder albums (emoji and slug collisions), thumbnails, metadata parsing, WebDAV response headers, CLI validation, OIDC compatibility, and shared-domain hosting.
What's new?
- Ollama: Added support for configuration via
OLLAMA_BASE_URLandOLLAMA_API_KEY - Ollama: Added a "thinking" response fallback for captions by @lastzero
- Index: Fixed merged photos keeping image type after video file merges
- Places: Fixed handling of minor GPS coordinate overshoots near map boundaries
- Folders: Fixed emoji subfolders conflicting with parent folder albums
- Folders: Fixed folder album path collisions caused by truncated slugs
- Library: Hidden results now display file error reasons in Card and List views
- Thumbs: Fixed error buffer handling when interop index was missing
- Metadata: Clamped invalid Google JSON GPS coordinates to geo bounds
- WebDAV: Hardened response headers for interoperability by @lastzero
- CLI: Standardized input path validation and exit codes by @lastzero
- SQLite: Improved compatibility with Google OIDC identity provider by @keif888
- Server: Added HTTP security hardening config options by @lastzero
- Server: Improved configuration and performance of Gzip route exclusions
- Server: Resolved known issues when hosting on a shared domain
- Logs: Fixed handling of missing caption thumbnails and video remux errors
- Security: Upgraded Go to v1.26, which includes fixes and improvements
- Translations: Updated French, German, Latvian, and Romanian
Translations
Missing user interface translations have been generated with the help of DeepL and Google Translate. Native speakers are welcome to help us improve them where needed. Learn more βΊ
Installation Packages
The packages attached to this release are intended for experienced users and maintainers of third-party integrations only, as they require manual configuration and do not include tested system dependencies. Since we are unable to provide support for custom installations, we recommend using one of our Docker images to run PhotoPrism on a private server or NAS device. Learn more βΊ
November 30, 2025
This major update introduces the long-awaited Batch Edit dialog, which allows you to edit the metadata of multiple pictures in one go. On the AI side, an upgraded face recognition pipeline delivers more and better matches. PhotoPrism now integrates directly with Ollama and OpenAI to generate captions and labels. Support for custom TensorFlow models, refined configuration, and new scheduling options offer further flexibility.
You'll also notice many performance and usability enhancements, such as the ability to change the cover image for a person, as well as updated dependencies and new translations.
As always, a big thank you to everyone who contributed and helped with testing! We hope you enjoy the new release as much as we do. ππβ¨
Upgrade Notes
- To benefit from the facial recognition improvements, we recommend running
photoprism faces audit --fixandphotoprism faces indexin a terminal to resolve any inconsistencies before detecting and matching additional faces. If you want the new engine to re-detect all faces for a clean state, you can do so by executing the commandsphotoprism faces reset -fand thenphotoprism faces index(after that, all detected faces must be reassigned). A complete rescan will also detect additional faces, but takes longer since more indexing tasks are performed. - PhotoPrism now supports multiple AI engines, so the
PHOTOPRISM_DISABLE_TENSORFLOWoption has been deprecated. You can still disable individual AI features using thePHOTOPRISM_DISABLE_*feature flags and/or a customvision.ymlconfiguration.
What's new?
- AI: Support for custom TensorFlow image classification models by @raystlin
- AI: Direct Ollama integration for generating captions and labels by @lastzero
- AI: Generate Captions & Labels using the OpenAI Responses API by @lastzero
- AI: Improved face detection and embedding pipeline with a new CNN engine
- AI: Improved model configuration and
photoprism vision runcommand - AI: Added scheduling options for running vision models in the background
- UX: Added a batch edit dialog to edit multiple pictures at once by @AsikNasik
- UX: Added a menu to select a cover image for people by @omerdduran
- UX: "Add to Album" dialog allows selection of multiple albums by @omerdduran
- UX: Improved people name editing and focus management by @omerdduran
- UX: Improved window scroll position restoration when navigating
- UX: Disabled autofocus on mobile devices to prevent keyboard from opening
- UX: Added a browser capability check displaying a warning if unsupported
- UX: Improved memory and event management in Viewer and Places
- Auth: 2FA can be activated, even if the recovery code cannot be copied
- Search: Added escaping for
|and&in filters by @keif888 - Search: Improved Boolean value parsing in filters by @keif888
- Index: Selecting "Complete Rescan" refreshes the detected media types
- Index: Underlying errors are logged when file type detection fails
- Index: Improved error logging when PDF documents cannot be indexed
- Index: Fixed in-memory photo and file lookup tables to prevent file rescans
- Thumbs: Embedding of ICC profiles based on InteropIndex by @akdor1154
- Videos: Fixed issues with non-keyframes when extracting still images
- Intel QSV:
libvpl2will be installed whenPHOTOPRISM_INITincludes "intel" - API: Added a force flag to the
DELETE /api/v1/albums/UIDendpoint - API: Corrected handling of CORS preflight requests by @techmatt101
- API: Configured service key can be used for Vision API authentication
- API:
/api/v1/metricsendpoint reports file system and account usage - Config:
PHOTOPRISM_DISABLE_FRONTENDdisables the web user interface - CLI: Added
--jsonoutput format flag tophotoprism showcommands - CLI: Added
vision resetcommand to regenerate captions and labels - CLI: Improved
photoprism dlcommand to support additional flags - Setup: Added
ollamaservice tocompose.yamlconfiguration examples - PWA: Replaced "@lcdp/offline-plugin" with "workbox-webpack-plugin"
- Docker: Upgraded to Ubuntu 25.10, incl. ExifTool v13.25 and libheif v1.20.2
- Docker: Preinstalled
libmagic-mgcpackage for file type detection - Docker: Improved
cmd.shscript to terminate child processes by @keif888 - Security: Upgraded Go to v1.25.4, which includes fixes and improvements
- Translations: Updated Spanish and Vietnamese
Screenshots
Batch Edit
Quickly and easily update the metadata, albums, and labels of multiple pictures:
Entries that are assigned to all selected pictures are listed first. Each entry is shown as a small chip. If a label or album is assigned to only some of the selected pictures, its chip is shown as partially assigned.
Usability Enhancements
Browse related pictures or set a cover image for a person:
Add pictures to multiple albums in one step:
Ollama AI Model Integration
Use advanced LLMs like the recently released Qwen3-VL to generate captions and labels for your pictures:
Translations
Missing user interface translations have been generated with the help of DeepL and Google Translate. Native speakers are welcome to help us improve them where needed. Learn more βΊ
...
July 7, 2025
This release adds support for using Ollama models in the Vision AI service, improves search performance, and introduces an "Adjust Location" dialog for setting photo coordinates on a map. Users can now delete albums from the toolbar and customize the language of location details. Video and metadata handling have been refined, with updates to transcoding, scanner detection, and CLI tools. A fix for SQLite index updates is also included. Batch editing features are in final development and will be available in an upcoming release. As always, a big thank you to everyone who contributed and helped with testing! π
What's new?
- AI: Added Ollama model and data URL support to the Vision Service by @sgflt
- UX: Added "Adjust Location" dialog to set coordinates on a map by @omerdduran
- UX: Added "Delete Album" action to the album toolbar menu by @omerdduran
- UX: Optimized thumbnail rendering performance in result views by @lastzero
- Places: Added a config option to set the language of location details
- Viewer: Fixed timezone handling in the information sidebar by @omerdduran
- Viewer: Seeking disables looping when playing a short video
- Videos: Added config options for transcoding preset, quality, and device
- Videos: Fixed playback when using QSV to transcode HEVC files
- Videos: Short videos up to 3 seconds are no longer classified as Live Photos
- Motion Photos: Fixed playback of videos embedded in Samsung HEIF files
- Metadata: Updated list of unwanted descriptions by @srett
- Metadata: Improved scanner detection based on device make and model
- Metadata: Fixed an issue that prevented changing the day to "Unknown" in February
- Labels: Updated Animal and Snow label category assignments
- Upload: Improved token used to distinguish simultaneous uploads by @raxod502
- CLI: Added
photoprism dlcommand to import media from a URL - CLI: Fixed an error in the backup command when a custom filename is specified
- API: Added a Content-Type header to the metrics endpoint by @brandon1024
- API: Authorized clients are allowed to create album share links
- SQLite: Fixed "'too many SQL variables'" error on index updates by @keif888
- Security: Updated Go to v1.24.4, which includes fixes and improvements
- Translations: Updated Arabic, French, German, and Japanese
Screenshots
Adjust Location Dialog
Translations
Missing user interface translations have been generated with the help of DeepL and Google Translate. Native speakers are welcome to help us improve them where needed. Learn more βΊ
Installation Packages
The packages attached to this release are intended for experienced users and maintainers of third-party integrations only, as they require manual configuration and do not include tested system dependencies. Since we are unable to provide support for custom installations, we recommend using one of our Docker images to run PhotoPrism on a private server or NAS device. Learn more βΊ
April 26, 2025
This update adds preinstalled Linux Video Acceleration API (VAAPI) drivers and fixes the package names in the Intel QSV hardware driver installation script. π§
We have also fixed the .deb and .rpm installation package builds as an alternative to the plain .tar.gz packages attached to this release. Note that these are intended for experienced users and third-party integration maintainers only, as they require manual configuration and do not include tested system dependencies. Since we are unable to provide support for custom installations, we recommend using one of our Docker images to run PhotoPrism on a private server or NAS device. π¦
What's new?
- Videos: Fixed hardware driver installation for Intel QSV
- Setup: Fixed .deb and .rpm installation package builds
Translations
Missing user interface translations have been generated with the help of DeepL and Google Translate. Native speakers are welcome to help us improve them where needed. Learn more βΊ
April 25, 2025
This release includes a long list of enhancements and new features, many of them contributed by our community. Most notably, performance has been significantly improved in many areas, we have added a collapsible info sidebar to the fullscreen viewer, it is possible to choose a specific picture as album cover, and you can configure computer vision tasks like image classification to use an external service for scalability and customization. A big THANK YOU to everyone who submitted pull requests, improved translations, or helped with testing! π
Important Changes
- To take advantage of the performance improvements in TensorFlow 2, users of our Docker images can set the
PHOTOPRISM_INITvariable to"tensorflow". This will automatically detect, download, and install a version of TensorFlow optimized for your CPU. - If you are using one of our manual installation packages, you can find libtensorflow binaries optimized for AMD64 and ARM64 CPUs on our download server. Updated libheif binaries for HEIC/HEIF image support are also available.
- A 32-bit version for Raspberry Pis with an ARMv7 CPU is no longer part of our regular releases, as TensorFlow 2 does not run on them. We have therefore created an ARMv7 architecture branch with an irregular release schedule and welcome contributions.
What's new?
- AI: Upgraded Google TensorFlow from v1.15.2 to v2.18.0 by @raystlin
- AI: Vision API allows remote use of other instances and models
- UX: Reduced frontend bundle size by 54% for faster loading by @AsikNasik
- UX: Asynchronous updates improve backend responsiveness by @tschechniker
- UX: Arrow keys can be used to navigate in the Edit dialog by @tomplast
- UX: Added additional keyboard shortcuts with usage hints in action menus
- UX: Improved focus management for more reliable keyboard event handling
- UX: Disabled animation when refreshing search results to prevent flickering
- UX: User interface language can be changed on the login page
- UX: Fixed incorrect spelling in log messages by @yarikoptic
- People: Improved performance and strategy for manual tagging by @theshadow27
- Search: Find pictures with specific or no terms in Title and Caption
- Search: Result views are reset when there are no matches or an error occurs
- Viewer: Added a collapsible sidebar for displaying metadata by @omerdduran
- Viewer: Added a new menu control in the top bar for additional actions
- Viewer: Added "Set as Album Cover" and Archive/Restore actions to the menu
- Viewer: Fixed opening pictures from randomly sorted search results
- Viewer: Optimized thumbnail size selection for high aspect ratios
- Videos: Transcoding creates fragmented MP4s optimized for streaming
- Videos: Fixed Intel Quick Sync Video (QSV) hardware transcoding by @hicasper
- Videos: Improved transcoding and indexing logs by @Akashic101
- Places: Improved styles, colors, and mountain shading of the default world map
- Upload: Added support for uploading multiple pictures as a zip archive
- Upload: File extensions and total size of Web uploads can be restricted
- Import: Hidden
.keepand.gitkeepfiles are preserved by @zhzy0077 - WebDAV: Added
Depthheader to improve service discovery by @esteve - Config: Passwords and secrets can be read from files by @petertrr
- Setup: Improved inline documentation in compose.yaml examples
- Docker: Upgraded Ubuntu 25.04 (Plucky Puffin) base image includes FFmpeg v7.1.1, Darktable v5.0.1, RawTherapee v5.11, ExifTool v13.10, and libheif v1.19.7
- Security: Go has been updated to v1.24.2, which includes fixes and improvements
- Translations: Updated Arabic, French, and German
Screenshots
New Viewer Sidebar
Viewer Action Menu
Improved World Map with 3D Buildings
Translations
Missing user interface translations have been generated with the help of DeepL and Google Translate. Native speakers are welcome to help us improve them where needed.
Installation Packages
The packages attached to this release are intended for experienced users and maintainers of third-party integrations only, as they require manual configuration and do not include tested system dependencies. Since we are unable to provide support for custom installations, we recommend using one of our Docker images to run PhotoPrism on a private server or NAS device.
March 21, 2025
This release includes some major usability enhancements, PDF file format support, the latest translations contributed by our community, and fixes for recently discovered issues. With the UI update now largely complete, we know that many users will be excited to hear that after this release, our development focus will shift to batch editing, as well as improved multi-user and AI capabilities. We've been very much looking forward to this, and it's a great feeling to finally get started! π€
What's new?
- UX: Search toolbars and tabs remain visible while scrolling
- UX: Users can choose their Start Page and Time Zone in Settings
- UX: Disk usage can be limited and displayed in sidebar navigation
- UX: Metadata displayed in the Cards View can be configured
- UX: Improved List View layout for easier selection
- Index: Added file format support for Adobe PDF documents
- Albums: Added file name and file type settings for zip downloads
- Albums: Added default sort order settings for each album type
- Videos: Added codec search filter and Nvidia GPU detection
- Labels: Fixed searching for labels that consist only of emojis
- Upload: Fixed an issue that could cause the same album to be created multiple times
- WebDAV: File downloads are flagged as failed when retry limit is reached
- MariaDB: Added version check to determine zero-configuration SSL support
- Translations: Updated Chinese (Simplified), French, German, Turkish, and Ukrainian
- Security: Go has been updated to v1.24.1, which includes fixes and improvements
Screenshots
Customizable Result Views
In List View, the selection toggles are in a separate column, making them easier to see and use. The view type can now be selected more easily in the toolbar, and any additional actions, such as uploading files, can be accessed from an action menu on the right, with the toolbar remaining visible as you scroll:
New feature toggles are available under Settings > Content for users who want to see file names instead of titles, or who don't want to use the list view at all:
In addition, the amount of used and total disk space can be displayed in the sidebar navigation as shown in the screenshot above.
New UI Settings
Users can now select a custom start page and time zone under Settings > General:
Improved 3D Earth View in Places
If you like the recently introduced 3D Earth view in Places, you'll be happy to hear that the new version remembers your settings, and as a bonus, we've added stars to the universe. Since these are algorithmically generated, every background is unique! β¨
Installation Packages
The packages attached to this release are intended for experienced users and maintainers of third-party integrations only, as they require manual configuration and do not include tested system dependencies. Since we are unable to provide support for custom installations, we recommend using one of our Docker images to run PhotoPrism on a private server or NAS device.
February 28, 2025
With this update, you'll get additional usability and performance improvements, as well as a new thumbnail size for Retina 5K displays that bridges the gap between 4K and 8K. We would also like to take this opportunity to thank our community, whose support has been and continues to be essential to the success of the project! ππβ¨
What's new?
- UX: Added menu action button for archiving pictures from albums
- UX: Upload to WebDAV menu action only appears if sharing is enabled
- Viewer: Content preloading is less eager to reduce server load
- Viewer: Fullscreen toggle is always visible in experimental mode
- Viewer: Added a new thumbnail size suitable for Retina 5K displays
- Videos: M4V container files are assumed to be MP4 compatible
- Places: Browser scrollbar stays hidden when cluster view is open
Installation Packages
The packages attached to this release are intended for experienced users and maintainers of third-party integrations only, as they require manual configuration and do not include tested system dependencies. Since we are unable to provide support for custom installations, we recommend using one of our Docker images to run PhotoPrism on a private server or NAS device.
February 24, 2025
This service release changes the default thumbnail size in the Photo/Video Viewer to improve loading and swiping performance, especially on mobile Retina displays. It also includes updated translations and dependencies.
What's new?
Translations
Missing user interface translations have been generated with the help of DeepL and Google Translate. Native speakers are welcome to help us improve them where needed. π¬
Installation Packages
The packages attached to this release are intended for experienced users and maintainers of third-party integrations only, as they require manual configuration and do not include tested system dependencies. Since we are unable to provide support for custom installations, we recommend using one of our Docker images to run PhotoPrism on a private server or NAS device.












