New features
- All ratings the server sent are shown: IMDb, Rotten Tomatoes and TMDB side by side
- Local profiles borrow the picture of the connection they were linked to first
- File Info now works on music tracks and other file-backed items
- A two-finger tap toggles playback without raising the chrome
Playback
- A picked subtitle language carries across episodes again, including untagged tracks
- Subtitles turned off, hidden or cycled stay off in the next episode
- Jellyfin's subtitle mode of None is no longer overridden by default or forced tracks
- Plex sidecar subtitles work again on Android
- Auto buffer size on Android is sized from the device heap, fixing passthrough black screens
- A server that cannot read the media file now says so, instead of a redacted URL
- Live TV keeps retrying when a stream 404s
- Jellyfin streams the negotiated version on items with alternate versions
- The TV player opens with its chrome down
- Backspace and Home edit text again in player sheets, such as subtitle search
- Both player spinners are labelled for screen readers
- Pinching back to 100% zoom now snaps exactly
- The two-finger double tap no longer resets zoom; that stays in the settings sheet
- Plex no longer records a second play for one watch
- mpv no longer loads its yt-dlp hook, so failed opens are faster
- A track's lyric stream is no longer listed under "Embedded Images"
Search, Explore & libraries
- Hidden libraries no longer appear in global search, on Plex or Jellyfin
- Explore lists every library copy of a title, each labelled with its resolution
- Explore's popular shelves show worldwide titles again, not just the app language
- "Delete from server" on Jellyfin follows the server's own permission, not the admin bit
- Instant Mix uses a wand icon instead of faders that read as an equalizer
Performance
- The Discover tab loads once per cold start, not twice: 5.2s to 2.5s on Jellyfin
- Show detail paints before its on-deck episode is looked up: 18% faster on Jellyfin
- Opening a detail screen no longer issues duplicate requests
Startup & storage
- A failed launch names the phase, error and stack, with copy and upload actions
- Desktop preference stores are written atomically, so a crash cannot truncate them
- A damaged store can be repaired in place, and the screen leads with the repair
- A store whose bytes are not valid UTF-8 is now repairable too
- After a repair needing a restart, Retry is withdrawn rather than reopening a stale store
- A preference whose stored type no longer matches defaults instead of failing the boot
- Startup failures reach the crash reporter and Settings > Logs
Android
- Pushed screens end clear of the 3-button navigation bar