73 PRs since v0.14.0. The headline items are VAAPI hardware transcoding, a player that picks a playback path, checks it and falls back mid-stream, a player that works on Android TV with a remote, a customizable home page, and a new admin-scoped Library API.
Upgrade notes
- Ten migrations. A movie and a show can now share a TMDB or TVDB id, and on SQLite
media_itemsis rebuilt to drop the old inlinetmdb_idUNIQUE. Rolling back to 0.14.0 is refused once such a pair exists (#712, #724, #726) ENABLE_PLAYER=falseswitches off everything the player needs: the p2p node, HLS and transcoding, the hwaccel probe, intro detection and the HTTPS listener. The admin remote-access toggle moved into layered config,ENABLE_REMOTE_ACCESSoverrides and locks it, and an earlier "off" carries over (#778)- NZBHydra2 indexers are migrated to the new generic Newznab type (#789)
- With Remove After Import on, qBittorrent, Transmission and rTorrent now finish seeding before the torrent is removed (#791)
- Bundled system plugins are approved and granted automatically on upgrade (#798)
- Auto is now the player's default quality (#769, #776)
- The Android APK no longer includes x86_64, which cuts it from 165 MB to 103 MB (#783)
Player
- Usable on Android TV and Google TV with a remote: TV-sized UI, D-pad navigation, a TV pairing screen with an on-screen keypad, and video frames no longer copied through the CPU, which fixes stutter on Chromecast (#787, #788, #782)
- Playback picks a path, checks that the device keeps up, and switches without stopping the video (#769, #776)
- Update notifications. Flatpak installs now update through the portal, and macOS can opt into beta builds (#722, #725, #348)
- The player reports crashes to the relay, the same way the server does (#772)
- Landscape stays locked between episodes, and Next works again after you cancel up-next (#800, #793)
- The quality menu stops labelling a transcode as lossless, and the web fullscreen button only appears where it works (#758, #757)
- Hive database files no longer land in Documents, where OneDrive synced them mid-write (#747)
- The iroh relay list now comes from the metadata relay instead of being compiled into each build (#743)
Streaming
- VAAPI hardware-accelerated transcoding, detected automatically with a software fallback.
HWACCELandHWACCEL_DEVICEoverride detection. The Intel driver ships in the amd64 image only (#751, #753, #811) - Audio, segments and the resume position stay aligned after a seek, and a cold transcode no longer times out playback (#774, #749)
- Now Playing shows what FFmpeg is actually doing, once per stream (#752, #759)
Home and admin
- The home page layout is customizable, with a system health widget for admins (#799)
- Admin pages are grouped into Configuration, Administration and System hubs, and Trash matches the Configuration pages (#796, #748)
- The admin dashboard only shows panels that have something to report (#760)
- Library API: an admin-scoped GraphQL endpoint with reads, mutations, an events feed, a revision change feed and an API keys page (
LIBRARY_API_KEY) (#781, #784, #790)
Downloads and indexers
- Malware wrapped in archives is rejected, and a blacklisted release no longer gets grabbed again in a loop. Finished downloads whose import proves they are junk get removed and blacklisted (#763, #777)
- NZBGet compound history statuses, indexer session cookies on the queue download path, and transcode progress for a deleted job no longer break (#786, #719, #715)
- A generic Newznab indexer with a configurable API path. The FlareSolverr Test button checks the form you are editing, and base URLs with a trailing slash are accepted (#789, #766, #767)
Media, requests and accounts
- Request deduplication and status maps are scoped by media type, and viewers who cannot request skip those queries (#716, #718)
- Category changes on the item page are saved, the duplicates page can send misattached files to Review, and phone-width grids keep a minimum column count (#802, #771, #717)
- SSO accounts get real usernames, which fixes blank names and a crash when linking media servers (#713, #710)
- Fixed a crash when an SSO provider times out, and failed subscription publishes while the server is booting (#721, #720)
Under the hood
- TestFlight has separate stable and pre-release groups, testers are notified of new builds, and the 90-day refresh records itself only when a build uploaded (#703, #761, #704)
- CI and test fixes, plus a Nix-managed Android TV emulator for development (#801, #795, #775, #755, #754, #714, #723, #794)
- The metadata relay was rebuilt as a Cloudflare Worker. It deploys separately from this release (#727, #729, #730, #731, #732, #733, #734, #742, #745)