Bug Fixes
- allow media without IMDb mappings (#453) (3d42431)
- auth: decode Authorization header bytes lossily instead of rejecting on non-ASCII (fixes #397) (5fe4997)
- box search-result resolve chain to prevent stack overflow on playback (7e2a9cb)
- box search-result resolve chain to prevent stack overflow on playback (96e3512)
- catalog membership dropped after id dedup, and empty promoted collection groups hidden (5c2ea46), closes #426 #414 #425
- ci: bump dioxus-cli pin to match the dioxus library version (0.7.9) (88dbacd)
- ci: pin dioxus-cli install to its own lockfile (fbceb3d)
- collections: show poster configurator again after deleting a GIF (#452) (7f6cefd)
- collections: skip image configurator pipeline for GIF posters (#437) (9f05c16)
- dashboard: hide delete button for system addons (558df98)
- dashboard: show all collections in the collection-id filter picker (#423) (54025bc)
- db: match media identity on external ids instead of derived uuids (#418) (cd28bc2)
- enrich season and episode external IDs from TMDB (#451) (4e32a75)
- hide empty subcollection groups (#420) (6cd80e7)
- images: fix TMDB image-language filter and synthesize Thumb from Backdrop+Logo (#444) (56733ec)
- items: tailor metadata editor content-type and external-id fields to item kind (#454) (9876612)
- media: prevent duplicate movie/series rows from concurrent metadata imports (#457) (e7ea136)
- media: scope external-id unique indexes to movie/series/tv_program (64850e0)
- playback: resolve item ids used as MediaSourceId instead of serving no-streams placeholder (#432) (2b151b3)
- probe uncached P2P streams (#422) (1e6a9ea)
- refresh: adopt refreshed_at when re-matching existing episodes/seasons (25e3785)
- remuxdb: submit HTTP debrid probes with preserved torrent identity (#427) (e43e6e6)
- return language-neutral TMDB backdrops (#431) (5b59ccb)
- stop collection image preview from persisting changes, scope poster selection to the collection (80b3114)
- stream: never redirect clients to internal-only stream hosts (#429) (d3fb57b)
- subtitles: add ffmpeg reconnect flags for remote subtitle extraction (fixes #434) (3624c1e)
- test: stop sharing external ids in the duplicate-item stream test (2b9a424)
- tmdb: use a short default retry-after when TMDB omits the 429 header (#456) (4a296aa)
- user policy collection filter (hide collections from browse views) (#424) (fce6350)
Features
- add configurable playback webhooks (#433) (61b121f)
- collections: add None image layout, rename Poster Layout/Overlay to Layout/Overlay (f192afa)
- collections: image configurator (#405) (6fcd41b)
- dashboard: expose per-user webhook targeting via multiselect (#441) (d872f07)
- dashboard: expose send-all-properties, trim-whitespace, skip-empty-body toggles (#443) (4955b92)
- honor AnyProviderIdEquals for TMDB/IMDb/TVDB lookups (#419) (673d9c2)
- stremio: keep the tvdb id an episode arrives with (#442) (823e3f3)