The 0.2.45 through 0.2.48 prereleases, consolidated into one release: a ranking system that finally picks the right source, a player that fixes its own failures, and a long list of community-reported fixes.
Two builds are attached:
- StremioX-tvOS-v0.2.48-ci.ipa, the full app with the embedded streaming server.
- StremioX-tvOS-lite-v0.2.48-ci.ipa, the lighter build that plays direct and debrid links only.
New
- Auto-failover between sources. When a stream times out, keeps stalling, or dies before starting, the player hops to the next-best source on its own (up to four hops) and keeps your position, instead of dropping you at an error screen.
- Player settings panel. A gear button on the left of the control bar holds the player-wide tools: handoff of the playing stream to an installed external player app, a hardware/software decoder switch for clips whose video misbehaves, the playback info overlay, and the QR link share. The speed button now holds only speed.
- Live streams play properly. Live TV and event streams no longer end a few seconds in at each segment boundary; the player tunes its buffering for live playlists and rides over the brief gaps live providers produce. Contributed by the community hero @OrigamiSpace again Thank you!!.
- Subtitles from your add-ons. The subtitles panel lists subtitles offered by your installed subtitle add-ons next to the file's embedded tracks; pick one and it loads on the spot, labelled with the add-on it came from.
- Swipe to navigate in the player. The remote's touch surface moves the selection across the controls and panels, exactly like the arrow presses.
- Rank your sources your way. Settings, Streams has a reorderable source type priority (default Debrid, Usenet, Torrent, Direct). Your order is the top-level ranking key; cached streams get a strong boost within each type, so cached always beats uncached of the same type without overriding your order. A "use add-on ranking order" toggle hands ordering back to your add-ons entirely.
- Smarter ranking. Theatrical rips and fake upscales (CAM, telesync, screener families) sink below every real stream and get labelled in the source list; 4K AV1 is demoted where the hardware cannot decode it; 3D releases, broadcast captures, and hardcoded-subtitle rips rank below clean ones; seeder health breaks ties between raw torrents.
- Subtitle font choice. A new Modern style (clean sans, thin outline, soft shadow) is the default; Classic keeps the previous look.
- App text size. UI text sits one step larger by default, with a Smaller / Default / Larger control under Settings, Appearance (applies after a relaunch).
- Languages follow the profile. Audio language, subtitle language, and subtitle style belong to each profile, apply when you switch, and sync across your devices. Requested by heinzgruber.
- Profile edit guardrail. A profile with a PIN asks for that PIN before anyone else can edit it, so a kids profile cannot rename the parent profile or remove its PIN.
- Backdrops are back on the Apple TV HD. Browse pages keep their moving artwork on every model; only the player-side buffers and animation rate stay lighter on that hardware.
Fixes
- Add to Library genuinely works now. The save action had been silently doing nothing, which is why no profile could save. Both the save and the on-the-spot button update now work everywhere.
- The first pick stops failing. Cached debrid streams no longer lose to uncached torrents of the same quality; cache tags are recognised across every major add-on's format (including an emoji form that previously never matched); uncached results that resolve through a debrid are no longer mistaken for cached; and debrid streams with unbracketed tags no longer fall to the bottom tier and lose to raw torrents.
- The Watch button tells the truth. A 1080p encode of a UHD disc no longer reads or ranks as 4K, and the label carries the full picture, like "Watch in 4K · HDR · Remux", derived from the exact stream it plays.
- Streams that need special request headers now play. Some add-ons front servers that reject requests without a specific referer or browser identity; the player now sends the headers the add-on declares. Fixes "This source didn't load" on add-ons whose streams play fine elsewhere.
- Subtitles can no longer silently vanish. Both subtitle styles now use fonts bundled with the app; the previous default named a system font that could fail on some devices and render no subtitles at all.
- Continue Watching long-press is back on secondary profiles, and removing a title there touches only that profile's own history.
- The detail page stays on screen on TVs that crop the edges. Content keeps to the TV-safe margins while the backdrop artwork still fills the screen.
- Two rare teardown crash paths hardened, one around closing the player at an unlucky moment, one around engine events racing app shutdown.
Performance
- The sluggishness is gone. Ranking patterns compile once and every stream's score is computed once and remembered; long source lists had been re-ranked from scratch on every refresh, thousands of pattern compilations at a time, on the thread that drives the remote. Detail pages also stop re-ranking on every periodic progress save, and an idle sources panel does no work at all.
Smaller and safer
- Every IPA shrinks. The subtitle font set is trimmed to its practically used coverage (7.6 MB instead of 16 MB) with identical rendering for real-world subtitles, and full support for every script stays in both builds.
- Build inputs are checksum-pinned, so a tampered or corrupted vendor download fails the build instead of shipping.
If a new build does not seem to install, delete the app first and reinstall, then confirm the version in Settings.