develop
Settings: Reorganize UI and add an Accessibility section #848 #799 #5429
Links: Use canonical trailing-slash form for website URLs
PWA: Only emit maskable icons when the variant exists #5696
Auth: Refactor cluster configuration and provisioning API endpoints #98
Download: Expire temporary archives and gate the sweep worker
Docs: Split AGENTS guides into a hierarchical structure
Auth: Add "Stay signed in on this device" login toggle #5476
Go: Apply go fix modernizations across backend packages
Config: Refactor flag default reporting and harden Markdown rendering
FFmpeg: Use atomic.Pointer for thread-safe Exclude list access #5617
Commands: Fix config options report in config/cli_flags_report.go
Config: Default storage-free to -1, disabling the disk probe #5613
CI: Apply Go linter recommendations to "internal/config" packages #5330
PWA: Add fs constants for "assets.json" and "manifest.json" #5274
Auth: Deliver signed download tokens to every session #5733 #5743
Pkg: Move /service/http/... to /http/... and add package /http/dns
PWA: Add full-bleed touch icon variants and refresh icon set #5737
Config: Normalize Site/CDN base URLs to strip default ports #5590
Logging: Report backend internals on the console-only system log
Cluster: Accept all instance roles in group config, tolerate spaces
Config: Harden storage serial handling and preview token derivation
Config: Add "theme-url" option (pro/portal) and URI credential redaction
Config: Sanitize database errors and document flag default conventions
Tests: Fix the Go unit test suite on MariaDB #5753
Clean-up: Drop imaging and pigo library integrations #5353 #5508 #668
XMP: Read face markers and names sidecar files #554 #1570 #747 #5712 #5713
Media: Refine 360° projection reporting and docs #5711 #5716
Media: Render original-format 360° files via FFmpeg v360 #5711 #5716
Config: Centralize SQL driver identifiers in pkg/dsn #5588
JPEG XL: Decode natively via libvips with "djxl" fallback #5693
Import: Add ytdl package for downloading videos from URLs #4982
Config: Change test path in config_media_raw_test.go
Backups: Refactor config and add "sidecar-yaml" config option #4243
OIDC: Add configurable authorization prompt option #5698
Places: Add config option to specify location details locale #465 #883
Config: Add option to set a proxy for outgoing connections #3132
Server: Add zstd compression support #5550
Services: Add CIDR allowlist for discovery and WebDAV traffic #5461
Config: Prefer SiteName for app name and site title
Tests: Update stale portal paths after frontend URI change
Downloads: Add signed tokens and file-level album selection #5733 #5743
Config: Make TempPath test independent of TMPDIR and run order
Config: Raise thumbnail and conversion size limits to 16K #5669
Develop: Change default Site URL to use HTTPS as required for OIDC #782
Config: Add upload-limit flag to limit total upload size #4929 #4895
Upload: Allow to limit the types of files users can upload #4895
Config: Improve low storage detection #5613
Security: Add gosec fixes with shared URL and fs validation helpers
Config: Add "develop" feature flag to disable new viewer sidebar #3168
Security: Improve credential handling across the cluster tooling #98
Config: Read admin and database password from file #2302
Config: Refactor directory initialization and improve inline docs
CLI: Init config in "photoprism stop" via InitCore() to avoid bootstrap
ACL: Generate CLI role & auth-provider help from role tables #5667
Config: Set SystemLog level based on application log level #5167
Config: Exclude inline non-flag fields from config-yaml report
Docs: Bump remaining 2025 copyright stamps to 2026
Config: Group the download and preview token options with authentication
Faces: Add "faces config" subcommand to list face options #5597
Config: Serve "robots.txt" file to control how site is indexed #4574
Config: Add “daily” and “weekly” backup schedule options #4243
Config: Move Portal flag to ClientConfig struct
Tests: Give each package its own MariaDB test database #5753
Tests: Refine isolated test-folder cleanup and logging #5263
Video: Refactor FFmpeg Transcoding Size Limit #3466 #3498 #3549