2026.7.12
Pre-releaseTestFlight build 12 — 2026-07-12
What to Test:
Season requests: Search for a partly owned show, open Request More, and request one season or all missing seasons. Verify pending, processing, failed, retry, and completed states, including profile-specific Seerr users.
Series browsing: Open long-running shows from series, season, and episode cards. The current season should already be visible, focus should not cause a second scroll, and episode/season navigation should stay centered and stable.
Onboarding: Test the redesigned animated setup flow for Plex and Jellyfin, including Plex QR/manual sign-in, Jellyfin Quick Connect, Back navigation, focus movement, and library selection.
SMB and local shares: Test scanning mixed movie/TV folders, version grouping, season deduplication, watch state, sidecar subtitles, search, sorting, and browsing responsiveness.
Playback: Test Dolby Vision/HDR playback and episode handoffs, Up Next, subtitle search/download/hot-load, and the redesigned Playback Info display.
Appearance and profiles: Test display sizes, card/navigation styles, Pure Black, watched indicators, and per-profile server/library toggles. Detail-page Cast should remain a consistent size at every display density.
General stability: Exercise Home heroes, artwork loading, context menus, rapid focus movement, and repeated detail-page navigation.
Changes (251):
- Enrich season cues off search path
- Let discovery season lookup retry
- Keep detail cast sizing fixed
- Refine season request icons
- Stabilize selected season reveal position
- Restore selected season rail reveal
- Move season clipping to page edges
- Protect season rail focus edges
- Simplify request seasons label
- Clarify season request action wording
- Scale season cue with card density
- Unify season request menus
- Keep season tabs clear of request control
- Integrate season requests into series search
- Keep detail cast sizing fixed
- Refine season request icons
- Stabilize selected season reveal position
- Restore selected season rail reveal
- Move season clipping to page edges
- Protect season rail focus edges
- Simplify request seasons label
- Clarify season request action wording
- Scale season cue with card density
- Unify season request menus
- Keep season tabs clear of request control
- Integrate season requests into series search
- Harden Plex auth race handling
- Refine Jellyfin Quick Connect header
- Correct profile onboarding copy
- Clarify library selection copy
- Align Jellyfin code and timer
- Coalesce Plex onboarding handoff
- Align Plex code and timer
- Remove Plex code outline
- Group Plex manual linking details
- Keep Plex loader visible on focus
- Rebalance Plex link layout
- Polish and harden Plex linking
- Wait for Plex code before transitioning
- Prefetch Plex link code during transition
- Tighten onboarding transition timing
- Replace onboarding crossfade with push
- Slow onboarding page motion
- Overlap onboarding page transitions
- Refine onboarding transition curves
- Add cinematic depth to onboarding
- Smooth onboarding page transitions
- Harden series episode browsing
- Preserve hero set across detail visits
- Stabilize hero logo arrivals
- Rename OLED theme to Pure Black
- Animate every onboarding step
- Polish Plex library group headers
- Fix Plex onboarding handoff
- Show hero titles while logos load
- Gate accidental hero direction repeats
- Prevent double chooser focus moves
- Restore original focus card styling
- Optimize hero curation performance
- Add setup header breathing room
- Smooth setup transitions at window edges
- Coalesce setup page transitions
- Correct setup transitions and scroll viewport
- Fix setup scroll edges and transition motion
- Stabilize discovery page focus and motion
- Align onboarding dividers with border
- Sequence onboarding page transitions
- Bridge provider chooser back focus
- Show provider badges on server toggles
- Fix add-server chooser focus
- Adapt provider colors for focused surfaces
- Use uniform onboarding row heights
- Preserve provider colors on focus
- Balance onboarding row focus insets
- Keep provider badges visible on focus
- Refine onboarding focus layout
- Polish first-run provider chooser
- Support Plex QR and manual sign-in
- Open Plex QR authorization directly
- Simplify provider choice cards
- Redesign provider chooser layout
- Animate provider setup navigation
- Simplify first-run branding
- Reduce light focus halo opacity
- Tune light focus halo and shadow
- Try white light focus halo
- Strengthen light focus halo contrast
- Finalize focus halo contrast overlay
- Add red focus halo diagnostic
- Increase light focus halo contrast
- Polish first-run provider chooser
- Tune focus halo contrast
- Improve focus halo contrast
- Never blur hero backdrops
- Reserve hero slot during curation
- Wait for context menu preview dismissal
- Fix lingering context menu poster preview
- Make hero artwork transitions instant
- Harden series detail focus and transitions
- share: preserve scan reporter compatibility
- share: harden interactive scan pacing
- Sharpen receded logo exit
- Optimize hero paging performance
- Increase cast reveal travel
- Synchronize series reveal animations
- ui: subdue media folder icon
- Remove receded logo entrance delay
- ui: give media folders a dedicated card look
- Unify receded logo entrance
- share: pace scans during interactive browsing
- Make logo glide duration deterministic
- Layer rapid hero transitions
- Further reduce synopsis blur
- Lengthen receded logo glide
- Retune receded logo entrance
- Soften receded logo entrance
- Animate episode synopsis on focus
- Refine episode focus animations
- Reduce spoiler synopsis blur
- Fix rapid hero transitions
- Clarify receded logo motion
- Align episodes with missing overviews
- share: refresh open grids after catalog scans
- Slow series logo transitions
- Lengthen cast reveal transition
- Invert receded logo transition
- Emphasize the Cast reveal transition
- Animate Cast into the episode browser
- Smooth the receded logo entrance
- Refine the receded logo timing
- Remove the restored hero focus proxy
- Make the hero return proxy a focus section
- Restore focus from Seasons to Play
- Reveal Cast below the episode browser
- Center receded series logos
- Center the focused episode composition
- Restore series detail visual balance
- share: bound watch-state lookups to visible items
- Top-align the series episode rail
- share: preserve numeric TV series episodes
- share: search full titles with leading articles
- Align season rail focus geometry
- Restore season focus geometry
- Tighten series episode browser spacing
- Center the series episode browser
- share: keep numbered films in mixed roots
- Redesign series episode browsing
- share: harden catalog migration and diagnostics
- share: preserve legacy watch state and anime films
- share: sort grids without leading The
- share: deduplicate season tabs by number
- share: keep browsing responsive during scans
- versions: remove speculative playback badges
- Make theme songs play once
- share: merge adjacent-year movie versions
- Restore series theme music
- Fix server toggle with stale profile account IDs
- playback: show selected filename in diagnostics
- Stabilize series episode focus layout
- Address pre-merge review: dedup SMB sidecars on case-insensitive shares; avoid abs(Int.min) trap
- Subtitle settings: consolidate into fewer rows + hide download-only options on share-only profiles
- Make server master switch a Button that flips on press
- Make the per-profile server toggle reflect changes live
- Fix per-server master toggle never turning a server off
- Download Subtitles UI polish: animation, layout, external marker, marquee
- Fix two review findings: new-track poll baseline + SMB stem over-match
- docs: mark the Sourcing track (subtitle search/download + SDH/Forced) shipped
- SMB: surface existing sidecar subtitle files (.srt/.ass/.ssa/.vtt)
- share: group same-movie files into one card with versions (Phase 2)
- Real in-player subtitle download + hot-load, and repaired auto-download
- SDH/Forced subtitle accessibility preference (per-profile, all backends)
- Plex remote-subtitle parity: keyless server-proxied search/download
- Make DOWN reliably reach the target episode via a full-width rail focus section
- share: folder-aware media classification (Phase 1)
- Fix series-page down-focus to the current episode and stop needless season shifts
- Fix decoded-cache stat over-count after a memory-warning flush
- Plex DV badge: honor explicit "HDR10" display title (post-merge fix)
- Gate decoded-cache stat accounting behind the PLZXMEM dev flag
- Perf: verify trailers via keyless oEmbed, not JavaScriptCore, on the browse path
- Perf: cut a full-screen offscreen blur pass + live cache accounting
- Display Size: mock Home with rails, headers and accurate counts
- Perf: right-size every image decode to its on-screen size
- Display Size: neutral PreviewCard grid matching sibling pickers
- Perf: per-slot grid observation + right-sized hero art + memory-warning flush
- Display Size: mock Home-rail preview matching the app
- Display Size: honest mini-TV grid preview
- Display Size: visual size-ramp picker
- Fix track-details toggle label: lyrics source, not lyrics
- Use consistent uppercase section headers in Appearance panes
- Self-describe the track-details toggle; drop its description
- Trim the Spoilers section copy
- Soften resting card hairline on dark/OLED
- Add a resting hairline so frosted cards read on dark/OLED
- Frosted glass on resting cards, real Liquid Glass on focus
- Fix framed-card focus hang: draw glass as a background underlay
- tvOS 27: real Liquid Glass on the focused card, material at rest
- SMB grid: report exact total count so fast-scroll / jump-to-bottom works
- Bound grid-card artwork resolution so a large un-enriched library can't flood
- Work around tvOS 27 Liquid Glass crash on focusable cards
- Fix framed "Cards" crash: don't group live glass; restore glass-at-rest
- Fix "Cards" card style freezing the app (live glass per tile)
- SMB grid: fix per-page N+1 enrichment + unindexed sort (scroll lag)
- Make Circadian focus move one row at a time
- Align the Circadian pane controls into one column
- SMB stream-facts: Phase-1 foundation + on-device probe timing measurement
- Reorganize Appearance: reorder, combine Cards, consolidate Circadian
- tests: update DoVi routing expectation + add Profile 5 badge regression
- Simplify Appearance row subtext
- Make Navigation and Transparency per-profile
- Detail hero: show the selected version's own badges, never borrow (nothing > wrong)
- Surface engine-probed stream facts into diagnostics (fix SMB DV/SDR)
- Fix bogus HDR10 badge on Dolby Vision Profile 5 (Plex)
- Revert on-device AVI direct-play: remux timestamps stutter + seek stalls
- Direct-play AVI on-device instead of server-transcoding it
- Route all Dolby Vision to the on-device engine (fix Plex DoVi black screen)
- Re-pin AetherEngine: skip display settle wait for SDR/non-DV loads
- Re-pin AetherEngine@699a5b7 (DV startup fix: dedupe + bounded multi-signal display settle)
- Log display-criteria apply/reset + stop preserve decision
- Re-pin AetherEngine@0cb57da (finer loadNative TTFF timing)
- Forward AetherEngine [TTFF] phase timings to hand-off telemetry
- Boot adopted hand-offs directly on Plozzigen (no native→engine swap)
- Keep panel HDR/DV mode across same-range episode hand-offs
- Up Next lead-time label: 'Time before the end'
- Tighten Up Next settings copy; add Up Next card diagnostic
- Enable SMB episode hand-off + Up Next card for marker-less content
- Prefetch next episode for near-instant hand-off + single bring-up spinner
- Dedupe add-server row and trim copy on Your Servers & Libraries
- Keep panel HDR/DV mode across same-range episode hand-offs
- Up Next lead-time label: 'Time before the end'
- Tighten Up Next settings copy; add Up Next card diagnostic
- Enable SMB episode hand-off + Up Next card for marker-less content
- Prefetch next episode for near-instant hand-off + single bring-up spinner
- Player: redesign Up Next card (show-forward, aligned art, larger play)
- Player: Info-card actions become instant icon buttons; diagnostics → Playback Info
- Player: condense Playback Info overlay into two columns
- Scale the watched check badge with card/display size
- Use neutral grey posters in the Watched Indicator swatch
- Show identical 3-card page content in both Navigation variants
- Balance Navigation swatch posters and simplify its description
- Refine Navigation swatch and Card Style wording
- Add visual Card Style and Navigation pickers in Appearance settings
- Add shared row-height tokens and concentric focus for Settings controls
- Player: redesign Info card + move diagnostics into it as Stats
- Player: Up Next card artwork fills the card height
- Player: Up Next/Skip render in lockstep with container presentation
- Add prominence to shared checkable row; lighten sub-section checklists
- Use shared SettingsCheckList for library checkmarks
- Redesign Your Servers & Libraries as per-profile master toggles
- Add release-changeset analyzer for auto-drafting TestFlight notes
- Gitignore the local WHAT_TO_TEST.txt release-notes scratch file
- Always distribute TestFlight betas to external testers + auto-answer export compliance