2026.7.17
Pre-release
Pre-release
TestFlight build 15 — 2026-07-17
What to Test:
Media shares now show scan and artwork progress on Home and in Settings.
Movies and shows from media shares now resume where you left off and support subtitle files stored alongside the video.
Dolby Atmos badges now stay accurate after background checks and source changes.
Switching between copies on different servers now works more reliably without leaving the detail page.
Posters, descriptions, and logos now choose the best available information more reliably across your servers.
Signing in to or updating a media share now recovers more reliably if saving is interrupted.
Changes (35):
- Extract SubtitleTrackController from PlayerViewModel
- Extract NextEpisodeCoordinator from PlayerViewModel
- Extract WatchProgressReporter from PlayerViewModel
- Extract SeekScrubCoordinator from PlayerViewModel
- Extract SubtitleOverlayLoader from PlayerViewModel
- Extract pure TrackMenuBuilder from PlayerViewModel.loadTrackOptions
- FeaturePlayback: extract RemoteSubtitleAcquisition from PlayerViewModel
- FeaturePlayback: extract SkipPresentationDecision from player container
- FeaturePlayback: extract SubtitleStyleAccelerator + PlayerControlsFormatting
- FeaturePlayback: extract pure EngineSelection route from PlayerViewModel
- FeaturePlayback: extract SeriesTrackMemory from PlayerViewModel
- Extract SubtitleMatchScorer pure core from PlayerViewModel
- Extract SeekLandingClassifier pure core from PlayerViewModel
- Extract WatchProgressMath pure core from PlayerViewModel
- build: update AetherEngine to 5.4.1 fork
- fix(arch-guard): ignore imports in comments/strings; catch attributed imports
- ci: add automated module-layering / architecture guard
- fix: distinguish media share probe sources
- feat: detect Atmos on media shares
- fix: retarget restored movie sources
- fix: preserve confirmed Atmos through playback
- fix: refresh Atmos badge after probing
- fix: reload movie details on source switch
- fix: probe Atmos after source changes
- fix: detect Emby Atmos from the stream
- chore: expand Emby audio diagnostics
- Add daily disk-reclaim automation for shared build caches
- chore: update AetherEngine to 5.3.1
- Make enrichment saves crash-consistent
- Add metadata provenance schema
- fix: refresh active share metadata state
- fix: pin reviewed Aether seek recovery
- fix: repair stranded share credentials
- perf: schedule metadata enrichment passively
- fix: update AetherEngine for subtitle seek dedupe