December 15, 2021 PhotoPrism is not directly affected by the Apache Log4j vulnerability. Logs may still contain messages that can cause harm if consumed by an unpatched Java application. As a precaution, this release includes additional rules and filters to validate user input. Sharing: Fixed album link redirect on shared domains Import: More helpful warning when another import is already running Docker: ARMv7 image for 32-bit processors and operating systems December 10, 2021 Starting with this release, the regular multi-arch Docker image is 64-bit only. A 32-bit version of our stable release for older devices is offered separately. In the long run, this frees up development resources and saves weeks of build, upload, and test time on our infrastructure. Based on Go version 1.17.5, which includes important HTTP/2 and network security fixes People: Concurrent updates are no longer possible to prevent inconsistencies Places: Additional logs to detect invalid GPS coordinates in metadata SQLite: Reduced routine maintenance log levels and fixed migration warnings Thumbnails: Apple Display P3 profile support for more accurate colors Translations: Updated French December 3, 2021 Since the funding goal required to make all features and maps generally available has not been reached, early-access features have been renamed to sponsor features in this update. Offline and high-resolution street maps remain free for everyone, while hybrid, topographic and outdoor maps are now a sponsor feature. We believe this is fair. A big thank you to all our sponsors and contributors! CLI: Improved parameter and command descriptions CLI: Reset command optionally also deletes files in the cache folder Config: Improved docker-compose.yml examples November 30, 2021 Videos: Live photos page has been added to the sub-navigation Albums: Manually created albums are sorted by name, with favorites first Places: Improved location details in border regions and near Paris PWA: Updated app icons, style is now also applied to the user interface For our sponsors and contributors: UI: New Abyss and Gemstone dark themes 💎 November 28, 2021 Official support for MySQL 8 is discontinued with this update as it's not feasible to perform a full test before each release. We recommend upgrading to MariaDB 10.6 or later. PostgreSQL support is planned for 2022 without a specific release date yet. CLI: photoprism migrate --failed will re-run previously failed migrations November 27, 2021 When possible, location estimates now include a latitude and longitude. Photos load faster when you open them in Places, and the viewer sorts them by distance. Time zone handling has been completely reworked, in particular for UTC. The Docker base image has been upgraded to Ubuntu 21.10, which ships with Darktable 3.6 among other updated dependencies. UX: Redesigned splash screen based on theme colors Places: Viewer loads faster and sorts photos by distance instead of date Places: Less frequent estimates to reduce background activity Places: Normalized names of states, oceans, and lakes Places: Updated location data from OpenStreetMap Places: State albums are grouped by country name Folders: Path names are searched in addition to titles People: Improved face detection performance People: Fixed naming faces in non-primary files People: Optimized matching of children's faces RAW: Upgraded Darktable to 3.6.0 Metadata: Improved estimates and UTC time zone handling Metadata: Altitude is indexed even if coordinates are missing Auth: Usernames are not case-sensitive anymore CLI: Added --force flag to photoprism optimize command CLI: Improved parameter and command descriptions Config: Improved docker-compose.yml examples Translations: Added Bahasa Indonesia and Hungarian Translations: Updated Polish and Italian For our sponsors and contributors: CLI: Run photoprism places update to retrieve updated location details Config: Set PHOTOPRISM_APP_ICON to choose an alternative PWA icon October 18, 2021 UI: Updated Lavender theme Places: Fixed maps initialization after reload in non-public mode Search: Added live and raw:true filters as alternative to type:… Search: Added faces:new alias for face:new Config: Maximum background worker interval has been increased to 7 days Security: Added Content-Security-Policy header to prevent framing attacks Translations: Updated Russian and Slovak For our sponsors and contributors: UI: New Vanta dark theme ✨ October 10, 2021 Translations: Fixed German frontend typo Translations: Updated all backend locales We've generated missing translations with the help of DeepL and Google Translate. Native speakers are invited to help us improve those if needed. Learn how to contribute. October 9, 2021 UX: Improved wording of search result notifications UX: Fixed sidebar navigation on small screens Users: Show name and email in sidebar navigation Folders: Directory names listed in .ppignore are ignored Config: Allows bypassing low memory suggestion Docs: Updated about page Translations: Updated all frontend locales October 7, 2021 People: Improved stability and performance of new faces overview page Index: Duplicate error logs caused by broken JPEG files have been removed UX: Enhanced visibility of file errors in the edit dialog files tab CLI: Revised descriptions of commands and configuration flags For our sponsors and contributors: People: Recognized faces can be hidden on the overview page October 2, 2021 People: Enhanced UI / UX for renaming and merging faces People: Improved face detection accuracy Labels: Improved photo count accuracy Covers: Thumbnails load and update faster Search: Finds titles when query is too short for full-text index Search: name:… filter ignores path and extension Videos: Optional Intel GPU hardware transcoding support Index: Automatic cleanup of orphaned file entries Logs: Updated log messages for improved readability Translations: Updated German and French Docker: Simplified installation of TensorFlow with AVX / AVX2 support Docker: Entrypoint script uses prefixed environment variables, UID and GID are deprecated September 25, 2021 Recognizes faces so that specific people can be found UX: Improved UI design, navigation, and wording Search: Omit full-text index if query is too short Search: Added keywords:…, subjects:…, and albums:… filters Places: Internationalized maps incl RTL support Labels: Added photo counts to overview page Albums: Fixed share expiration date in form label Calendar: Empty month albums are hidden Viewer: Photos will be updated when search filters change Index: Ignore Synology @eaDir folders Import: Ignore dot files listed in .ppignore Upload: Added more detailed error logs Videos: Skip related images when downloading Videos: Added .mp as known MP4 file extension Videos: Default to UTC as metadata time zone Exiftool: Enabled large file support Metadata: Improved Exif parser with cycle detection Metadata: Support for long projection type names like transverse-cylindrical Config: Added RAW file extension blacklists for Darktable and RawTherapee Config: Added disable options for image classification and facial recognition Config: Added support for non-root site URLs Config: Added content delivery network URL option MariaDB: Set explicit table engine, charset, and collation MariaDB: Added log message for old versions with broken table name resolution Docker: Added HOME env for Darktable & RawTherapee Docker: Single multi-arch image for AMD64, ARM64, and ARMv7 May 23, 2021 RAW: Added RawTherapee flag to use existing sidecar files Import: Never remove ignored folders such as for Syncthing May 20, 2021 Docker: Fixed home directory permissions in new base image HEIF: Test if JPEG was already rotated based on video metadata May 19, 2021 Metadata: Upgraded Exiftool to fix security issue May 18, 2021 Safari: Fixed PWA file download on iOS Docker: Added config example for scheduled background tasks Docker: Updated base image includes Darktable 3.4.1, RawTherapee 5.8, and FFmpeg 4.3.2 TensorFlow: Improved error handling Translations: Updated French May 5, 2021 UI: Improved RTL (right-to-left language) alignment RAW: Added config options to disable specific converters Metadata: Preserve stopwords in existing keywords Metadata: Allow single quotes in keywords WebDAV: Keep favorite flag when uploading via PhotoSync Translations: Updated Dutch and German April 26, 2021 UI: Added Yellowstone theme for sponsors, unlocked Grayscale theme for everyone Metadata: Support for XMP sidecar CreateDate and Keywords Metadata: Merge keywords from different sources Translations: Updated Hebrew April 22, 2021 UX: Improved touch event accuracy UX: Optimized rendering on small screens UX: Fixed autocomplete in "add to album" dialog HEIF: Prevent redundant sidecar JPEG files Backup: Added command flags and usage docs Translations: Added Danish and Kurdish February 22, 2021 UX: Autofocus for input fields and confirm on enter Restore: Find YAML album backups in originals folder Metadata: Improved location labels and moments Thumbnails: Fixed auto-rotation for HEIF, TIFF, and PNG images Translations: Added Norwegian (Bokmål) February 17, 2021 Videos: Optimized transcoding parameters Videos: Use AAC audio for MP4 transcoding Metadata: Default to landscape orientation if data is invalid Translations: Updated Brazilian Portuguese February 16, 2021 UX: Automatically hide scrollbar in photo viewer and Places Delete: Permanently remove all related sidecar files Videos: Added transcoding config options Videos: Added batch transcoding via convert command Metadata: Remove estimate when setting a new country Metadata: Workaround for Exif strings containing newlines February 11, 2021 Videos: Native player featuring performance and UX improvements Index: Improved detection of missing photos, files, and folders February 8, 2021 Upload: Adds duplicates to selected albums as well Library: Show folder covers in Originals Metadata: Automatically remove orphan countries, cameras, and lenses Metadata: Improved Exif parser Backup: Restore archive flag from YAML files Docker: Improved entrypoint script January 28, 2021 UX: Improved theme colors and icons UX: Download all related media files using their current name by default UX: Redirect already authenticated users from /login to /browse Mobile: Prevent like on touch swipe Translations: Updated German and French Config: Reduced auto index & import safety delay defaults Metadata: Improved photo titles, removed small words from title endings Metadata: Improved date extraction from current and original file names Metadata: Fallback to earliest file mod time in case there is no other date Import: Index keywords from non-primary filenames as well WebDAV: Improved service discovery Purge: Hide missing files in edit dialog and set new primary if needed Archive: Physically delete files after confirmation Moments: Added delete button to context menu Settings: Added Estimates and Delete feature flags CLI: Added cleanup command to remove orphaned index entries and thumbnails January 21, 2021 UX: Improved video playback and icons UX: Restructured main navigation Mobile: Show search field in albums January 20, 2021 API: Apply limit, offset and sort order when searching for IDs ARM64: Reverted database image back to arm64v8/mariadb in config example January 19, 2021 UX: Optimized user interface for iOS and tablets UX: Improved theme colors UX: Scroll position is restored when navigating back Translations: Added Czech Metadata: Estimate timezone and allow overwriting estimated locations Settings: Fixed disabling logs For our sponsors and contributors: UX: Added two dark themes January 11, 2021 UX: Disabled preloading in live photo player to reduce memory footprint UX: Updated main navigation, find all media types via /browse UX: Removed lag when selecting pictures UX: Tweaked tile size breakpoints in Albums, Labels, and Search UX: Added tooltips to navigation expand and minimize buttons UX: Preload additional search results UX: Removed image loading spinners for faster rendering Thumbnails: Added cache control headers for improved performance Album Covers: Cache will be flushed after updating private flags Search: Improved performance of photos query PWA: Added service worker so that app can be installed more easily PWA: Enabled auto-rotate so that photos may be viewed in landscape mode Frontend: Removed unused dependencies and reduced build size Translations: Updated Russian, French, Simplified Chinese, and German Index: Automatically create JPEGs for related media files as well Import: Improved error handling when the file system becomes unavailable Config: Updated docker-compose.yml examples Config: Added optional gzip compression for built-in web server Config: Limit number of indexing workers to half the number of physical cores by default to avoid high load on hyper-threading capable CPUs January 4, 2021 Config: Added auto index & import defaults to Dockerfiles Import: Extract metadata with ExifTool before moving Import: Automatically create folder albums Help: Updated WebSocket page UX: Added UI.Zoom setting to re-enable page zoom UI: Updated default theme Translations: Added Hebrew & Japanese, updated Brazilian Portuguese Albums & Cards View: Reduced tile size on large screens WebDAV: Less verbose logging January 2, 2021 WebDAV: Uploads and other changes trigger auto indexing / importing Config: Use random hash for improved preview token security UX: Disabled page zoom so that app feels more native on mobile devices UX: Reduced min password length to 4 characters UX: Improved docker-compose.yml examples UX: Reduced icon size in "add to album" dialog December 31, 2020 Initial Stable Release