3.174.2-beta.0 (2026-10-16)
Bug Fixes
- a11y: inert admin drawer, visible tile focus, localized tile labels (#2094) (0fee5ef)
- admin: rename conflicts, archive leftovers and backup validate polish (#2091) (ef83026)
- api: answer 4xx for bad ids, limits, folder ids and empty transfers (#2093) (90fb51a)
- archive: leave restored metadata files out of gallery archives (#2042) (75fb770)
- ci: pass release-please outputs to the summary step as env (#2100) (cfe9dff)
- db: one lock order for event-scoped writers on PostgreSQL (#2109) (398928e)
- documents: stop document downloads from crashing on a vanished file (#2141) (747c973)
- external: defer a half-written file under its real dedupe key (#2132) (f4dc776)
- external: hide photos whose file left the share, follow renames (#2127) (13b172a)
- external: refresh an external video edited in place (#2117) (2155ee8)
- external: refresh existing rows of a type that is no longer allowed (#2123) (40f289e)
- faces: guard a face scan's commit with its own claim attempt (#2107) (3eeb140)
- faces: recluster in one transaction under the clustering lock (#2116) (327e471)
- faces: take the clustering lock in people merge and split (#2125) (037dc7c)
- feedback: count comments, one rating per guest, honest moderation toast (#2092) (e5ca7fe)
- media: answer 404 when a ladder or file vanishes between stat and read (#2126) (23a0040)
- media: answer 404 when admin and download files vanish after stat (#2134) (c50f283)
- media: destroy storage streams that arrive after the client left (#2133) (9a0a390)
- media: regenerate renditions written before EXIF stripping (#2110) (0709cae)
- media: serve browser-compatible videos from a metadata-free remux (#2111) (6dfa075)
- media: strip EXIF and GPS from derived images (#2080) (bc86c98)
- media: strip source metadata from video web copies and HLS rungs (#2099) (4a23a6e)
- photos: UTF-8 upload names, sort by original name, watermark flag on photo route (#2090) (50d4755)
- security: derive the rate-limit client IP from the trusted proxy hop (#2082) (58303df)
- security: trust no proxy hop by default in the all-in-one image (#2104) (6e13b72)
- thumbnails: drop a lazy tier rendered with settings changed since (#2124) (9296782)
- thumbnails: keep a lazy main-thumbnail render from overwriting a regenerate (#2135) (9ab232d)
- thumbnails: regenerate RAW cached sizes and report failed tier deletes (#2115) (39a71d4)
- upload: validate file content on guest and chunked uploads (#2084) (f594cbc)
- watermark: draw the gallery's watermark text and escape it in the SVG (#2106) (b6b0349)