18 PRs since v0.16.0-beta.3. Libraries can now live in an S3-compatible bucket, read and write. Every file gets a stream link for external players, and a wrong match can be fixed from the media page.
Upgrade notes
- Two migrations:
create_storage_backendsfor S3 libraries (#1081) andallow_many_remote_copies_per_itemfor Jellyfin watch sync (#1083).
Libraries and import
- S3-compatible storage for libraries: scan, match, analyze and stream from a bucket, then import, rename, trash and delete into it, with multipart parts sent four at a time (#1077, #1081, #1087).
- Usenet and debrid downloads are moved into the library instead of copied, since nothing seeds them (#1088).
- Imports no longer fail once on SMB, NFS or FUSE mounts that refuse chmod, and cross-filesystem moves and trash work there (#1095).
- The nightly language upgrade stops re-grabbing a release already on disk (#1090).
- Watched state syncs across every Jellyfin copy of a movie (#1083).
Web UI
- Fix a wrong match from the media page after accepting it (#1070).
- Stream links for external players on every file, with a primary stream-link button and a More menu on file rows (#1072, #1075).
- Library grids scroll smoothly, keep filters in the URL and restore position on Back (#1078).
- Discover scrolls infinitely (#1094).
- Manual Search: no cold-start timeout, shows the file on disk, adds Source and Codec filters (#1076).
- Poster hover pops out on every grid and rail; Configure keeps the poster for a title opened from More Like This (#1069, #1082).
- Admin pages share one set of components, and transcode cancel on the dashboard no longer crashes (#1084, #1086).
Player
- Fit/Fill video scaling toggle (#1071).