Bug Fixes
- accept trailing slash for items search route (#368) (0035731)
- api: improve Jellyfin API and DTO compatibility for Roku (#365) (3dbdc98)
- api: scope UserViews child-counts to requesting user (#389) (66d5274)
- betterposters: add hyphen separator before quality/age suffix on bare poster path (c9bae48)
- betterposters: seed form with option defaults; drop season/episode types (3e081f4)
- ci: run merge-docker when desktop jobs are skipped (97f4805)
- dashboard: convert remaining checkboxes to Switch (51bed29)
- dashboard: match toggle-description style to field-hint (e9d71d6)
- db: parental rating falls back to series rating for episodes (#393) (a059bd0)
- db: watched smart collection crash + perf (fixes #384) (#387) (ec0ee98)
- items: recursive episode query under smart collection scopes via grandparent (#391) (fba8d08)
- jellyfin-import: fix auth, paginate user items, and resolve episode states positionally (#270) (0fb6a75)
- music: resolve search clicks to the clicked item, add artist art… (#326) (702b61a)
- p2p: live-toggle TorrentManager on p2p_enabled setting change (#358) (f5f2fae)
- playback: avoid forcing transcode for direct-playable containers (#366) (f625b70)
- playback: normalize copied HLS VOD audio (#372) (34997a4)
- playback: support extensionless HLS segments (#373) (4eeb7ad)
- reduce remuxdb probe timeout from 10s to 5s (e1ce158)
- sdks: redact ClientError endpoint/body via Secret (closes #374) (0da09f0)
- signals: clamp backoff exponent, propagate db errors in media tracker (cda36af)
- skip addons without meta resource in get_direct_children (fixes #377) (354ad11)
- web: adjust ElegantFin mobile logo top to 25vh (60e4bd2)
- web: adjust ElegantFin mobile logo top to 27vh (05a2078)
- web: apply detailLogo top offset globally (6f31081)
- web: pull ElegantFin mobile logo above play button (1c84ffa)
Features
- add BetterPosters meta addon (#382) (e3c2040)
- addons: match service_filter against streamData.addon name (3bc47b4)
- dashboard: replace all checkboxes with Switch component (a25e36a)
- dashboard: show addon description on existing addon cards (34bec9d)
- drag and drop polish (#359) (278ef3b)
- images: implement RemoteImages/Download endpoint (#361) (ee59112)
- introduce signal system (#371) (ef0e40f)
- move healthcheck to dockerfile (#383) (619adec)
- up remote sub count to 10 per language (5d75fb0)
- web: hide card listing play button overlay via CSS patch (3808f9c)
Performance Improvements
Reverts
- remove detailLogo top override from CSS patch (f737acd)