Original release notes
This release brings major improvements to PhotoPrism's built-in AI features, including more accurate image classification and NSFW detection. Image classification now takes more of the entire picture into account, improving results especially for wide photos where important visual content is not centered. If you have a supported NVIDIA graphics card, all of the built-in AI models can now run on the GPU.
Face recognition is easier to use, as new clusters are named automatically where possible, and manual corrections made during recognition are better preserved. Insta360 users gain support for X4 and X5 videos, proxy files, and brackets, along with improved stacking. The update also improves database backups and WebDAV sync.
Before updating, please take a moment to read the upgrade notes below. A special thank you to all our members and everyone who contributed!
Upgrade Notes
- Image classification and NSFW detection now use ONNX models. Existing labels are preserved. To replace labels generated by the previous model, run
photoprism vision reset -m labelsfollowed byphotoprism vision run -m labels --force. Custom TensorFlow models configured invision.ymlare no longer supported and must be replaced with ONNX models. PHOTOPRISM_DISABLE_TENSORFLOWonly disables models that run on TensorFlow, such as the legacy FaceNet face model. To stop automatic face detection, setPHOTOPRISM_FACE_RUNto"never"instead.PHOTOPRISM_DISABLE_CLASSIFICATIONis deprecated. To disable image classification, setPHOTOPRISM_LABELS_MODELto"none"instead.- The default value of
PHOTOPRISM_TRUSTED_PROXYnow also includes the loopback addresses127.0.0.0/8and::1, so a reverse proxy running on the same host is trusted without additional configuration. To keep the previous behavior, set it to172.16.0.0/12.
What's new?
- AI: Reworked image classification with a new ONNX-based model by @omerdduran
- AI: Reworked NSFW detection with a new ONNX-based model by @omerdduran
- AI: Added support for running ONNX models on NVIDIA GPUs by @lastzero
- AI: Added support for OpenAI-compatible models containing a colon by @somaz94
- AI: Improved environment variable support for the Ollama and OpenAI engines
- AI: Improved warnings for failed Ollama and OpenAI requests only appear once
- UX: Upgraded the user interface from Vuetify v3.12 to v4.2 by @lastzero
- UX: Changes made by background workers are shown without reloading the page
- Viewer: Expanded support for Insta360 X4 and X5 videos, proxy files, and brackets
- People: Added automatic naming of new face clusters when all matches agree
- People: Improved handling of corrections while recognition is in progress
- Places: Fixed the location pin moving after dragging it in Adjust Location
- Index: Improved stacking of Insta360 files that are indexed at different times
- Index: Rescans no longer restore archived Insta360 pictures by @omerdduran
- Index: Improved preview lookups to be faster and match sidecar names in any case
- Index: Added options to set the case sensitivity of the originals and storage folders
- Index: Fixed the orientation of previews extracted from RAW files by @Gosin
- Archive: Pictures with broken previews remain in the archive
- Upload: Added a "Retry" button and automatic purging of abandoned uploads
- Download: Video downloads to skip generated stills and keep original images
- Download: Improved response when no files are available by @blackshibe
- Video: Improved hardware transcoding to apply the quality and bitrate settings
- WebP: Fixed playback of animated images with odd dimensions or transparency
- CLI: Added commands to add and remove cameras and lenses by @lastzero
- CLI: Added
--yesto thermandresetcommands so they can run in a script - CLI: Added
--yestofaces resetso it can run in a script - CLI: Fixed
faces reset --allleaving empty person entries - CLI: Fixed
faces reset --detectorretaining markers from the previous detector - CLI: Fixed the
resetcommand not removing sidecar files in subfolders - Config: Low-memory mode disables face recognition and RAW processing
- Server: Added support for Let's Encrypt AutoTLS via TLS-ALPN-01
- WebDAV: Added an option to skip YAML sidecars when syncing files
- WebDAV: Improved syncing to ensure failed files do not delay other downloads
- WebDAV: Fixed the "Never" sync interval and "None" retry limit settings
- Backup: Improved MariaDB backup with consistent snapshots and no locking
- Backup: Improved restore to keep other rows when a single statement fails
- Security: Upgraded
libheiffrom v1.23.4 to v1.23.5 - Translations: Upgraded
vue3-gettextfrom v2.4 to v4.0 by @lastzero
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

