## Automattic/pocket-casts-android — 8.20…8.21-rc-1

_98 commits._

### Features
- **Release Notes: add new section for next version (8.22)** (ab9eaa9)
- **Add a podcastSubscriptionsFlow() twin and migrate the incoming share list off RxJava (#5922)** (9506854)
- **Migrate auto add to Up Next podcasts from RxJava to Flow (#5914)** (a7f72b6)
- **Upgrade Engage SDK to 1.6.0 and refactor service availability calls to use the new conditional service availability syntax (#5764)** (0749a32)
- **Add safeguards to "Cache entire playing episode" for oversized/video files (#5868)** (ae015b9)
- **Add missing Network Discovery analytics (#5871)** (55e6b7f)
- **Network Discovery: add the Networks row to the Discover tab (#5865)** (ffa11c9)
- **Network Discovery: add networks to the search results (#5864)** (551b4d9)
- **[TV] Soften modal dim/blur and add modal exit animation (#5852)** (014f46f)

### Fixes
- **Fix back navigation out of the Auto Add podcast selector (#5918)** (7fb2d51)
- **Keep the video decoder warm across brief surface loss (fix rotation freeze + background-resume stutter) (#5844)** (4e1f6eb)
- **Fix the Playback Effects icon disappearing when a podcast has no colours yet (#5877)** (2b1bba4)
- **Bump fastlane from 2.238.0 to 2.239.0 in the ruby-minor-and-patch group (#5873)** (f0bbf73)
- **Fix multi-select clearing on rotation in podcast episode list (#5836)** (853fd9a)
- **[TV] Fix mirrored/clipped logged-out banner artwork and single-line subtitle (#5856)** (9bd8678)
- **Fix background OOM kills by pausing player recomposition when backgrounded (#5843)** (e1a2671)
- **Fix transcript search close exiting the transcript (#5835)** (52d7991)
- **Fix referrals tooltip swallowing taps on the gift icon (PCDROID-583) (#5834)** (b0aad7f)
- **[TV] Fix Made for TV video playback (#5821)** (4538b34)
- **Fix Huawei/HiSilicon Android ≤9 native playback crash via a fingerprint device-capability policy (#5814)** (00abd92)

### Backend
- **Update draft release notes for 8.21** (f406e2d)
- **Bump version number** (6211e76)
- **Apply the Sentry Gradle plugin to the tv module (on #5708) (#5841)** (3be351f)
- **Use public Sentry org/project, env-injected token (#5708)** (dc67a34)
- **Stop the TV app signing users out (#5945)** (0d22f6d)
- **Move ServiceManager network work onto the IO dispatcher (#5929)** (9a6b54a)
- **Migrate UploadEpisodeTask from RxWorker to CoroutineWorker (#5933)** (abdaa38)
- **Re-observe episode row data when the flow completes (#5936)** (6a2e86f)
- **Remove the dead unsubscribed-podcast Rx DAO queries (#5934)** (d8b3447)
- **Migrate the two Settings observables from RxJava to StateFlow (#5917)** (2a228e2)
- **Migrate EpisodeRowDataProvider off RxJava (#5921)** (ddc6d05)
- **Move the manual cleanup starred switch to ViewModel state (#5928)** (b64e483)
- **Remove the dead findDownloadingEpisodesRxFlowable chain (#5920)** (4ccdbd7)
- **Make ColorManager.downloadColors a suspend function (#5932)** (6632f5f)
- **Remove FolderManager.findFoldersSingle and its Rx DAO query (#5931)** (12383e1)
- **Remove the unused getLastSyncAt RxJava chain (#5930)** (25b0434)
- **Revert "Move ServiceManager network work onto the IO dispatcher"** (8e07223)
- **Move ServiceManager network work onto the IO dispatcher** (c96e3d3)
- **Remove ServiceManager.searchForPodcastsRx (#5924)** (5ec872a)
- **Migrate the downloaded episodes stream from RxJava to Flow (#5919)** (7c368eb)
- **Migrate the cloud files sorted query from RxJava to Flow (#5925)** (bc068fd)
- **[Smart Bookmarks]  Update data, sync & enrichment foundation (#5880)** (096d53d)
- **[TV] Blur the screen behind modals and fade the backdrop out with them (#5906)** (f93161a)
- **Send the user file playback token in a header instead of the URL (#5898)** (85d41ba)
- **Merge release/8.20 into main (#5908)** (2080057)
- **[TV] Polish the podcast view (title, follow buttons, scrolling header, episode actions) (#5904)** (a42f1d1)
- **[TV] Widen featured carousel spacing so less of the next item peeks (#5903)** (0ae6b73)
- **[TV] Rework the player effects popup with Volume Boost On/Off options (#5902)** (84331ec)
- **[TV] Scroll the search field away with results and stop clipping the last row (#5905)** (6213386)
- **[TV] Use a vertical background gradient for better pill contrast (#5899)** (e35d54f)
- **[TV] Center the blurred player artwork behind the cover (#5901)** (d480d9c)
- **[TV] Align the "Your Podcasts" title with its grid tiles (#5900)** (1692d57)
- **Bump com.google.firebase:firebase-bom from 34.17.0 to 34.18.0 (#5888)** (d557095)
- **Bump coil from 3.6.0 to 3.6.2 (#5886)** (8c2f7d4)
- **Switch to version 2 of the combined search endpoint (#5896)** (95c13bb)
- **Bump navigation from 2.9.8 to 2.10.0 (#5825)** (7abb921)
- **Bump protobuf from 4.36.0 to 4.36.1 (#5884)** (7d06324)
- **Bump io.nlopez.compose.rules:ktlint from 0.6.4 to 0.6.6 (#5887)** (cc35393)
- **Bump anthropics/claude-code-action from 1.0.210 to 1.0.217 (#5885)** (8c0ee12)
- **Network discovery tweaks: link the podcast info panel, hide blank website row, soften artwork shadow (#5882)** (6915f7d)
- **Enable Network Discovery feature in 8.21 (#5866)** (aafc5dd)
- **Remove the search_predictive feature flag (#5863)** (5b1da07)
- **Network Discovery: the network page and the podcast page link (#5861)** (2e48232)
- **Network Discovery: persist the podcast's network list id (#5860)** (159a33c)
- **[TV] Scroll the top bar and titles with content, return focus to nav on Back (#5857)** (712a4a0)
- **[TV] Podcast view — lower content, cover glow, animated follow button (#5854)** (e2b5225)
- **Bump aboutlibraries from 15.1.1 to 15.2.0 (#5828)** (d2cba0d)
- **Bump com.autonomousapps.dependency-analysis from 3.18.0 to 3.19.1 (#5826)** (9261561)
- **Upgrade Kotlin and KSP (#5838)** (358f0fb)
- **Upgrade libraries Dependabot ignores (#5837)** (007f23c)
- **[TV] Keep episode row width constant when focused to stop layout jumps (#5846)** (c701201)
- **[TV] Exaggerate active podcast focus effect (#5849)** (c5c4751)
- **[TV] featured carousel polish (buttons, centering, network, active scale) (#5853)** (e8426b4)
- **[TV] Set bg-active and its 50/20 variants to the toned-down #D4D6DB (#5845)** (2108b65)
- **[TV] Video controls scrim, solid info icon, active scrubber timestamp (#5851)** (78bdce4)
- **Merge release/8.20 into main (#5859)** (8bf03f1)
- **Network Discovery foundation: feature flag, lists_list decoding and unknown-type safety (#5858)** (9050015)
- **[TV] Align search results content top across filter tabs (#5848)** (05e8159)
- **[TV] Review follow-ups + focus-gated recent searches (#5833)** (a5f6658)
- **Bump anthropics/claude-code-action from 1.0.201 to 1.0.210 (#5823)** (298802d)
- **Bump actions/setup-java from 5 to 6 (#5824)** (adf516e)
- **Prioritise release jobs ahead of feature builds (#5822)** (eab8bcd)
- **[TV] Side by side design review and final touches (#5816)** (d244901)
- **Bump coil from 3.5.0 to 3.6.0 (#5829)** (c880425)
- **Bump gradle-wrapper from 9.7.0 to 9.7.1 (#5827)** (5c3518a)
- **Allow skip intents to specify a custom number of seconds (#5818)** (1680831)
- **[TV] Analytics for in-app TV pairing (#5815)** (7d57c54)
- **[TV] Handle TV pairing sign-in requests in-app on mobile (#5813)** (1d1d767)
- **[TV] Reveal browse category covers only once their artwork has loaded (#5812)** (c968d42)
- **Bump fastlane-plugin-wpmreleasetoolkit from 14.11.3 to 15.0.0 (#5807)** (8fc0e22)
- **[TV] Build the TV app in CI (lint + assemble + manifest diff) (#5809)** (7b25dd4)
- **[TV] Home/Discover robustness: per-row retry, region fallback, live local rows (#5805)** (1d1730f)
- **[TV] Auth parity: silent QR expiry rotation, account-creation-failed, gated create_account_shown (#5804)** (e8c0e44)
- **[TV] Episode-status analytics: played/unplayed and archived/unarchived (#5803)** (55f9653)
- **[TV] Consolidate follow event analytics (#5802)** (2cf6d07)
- **Merge release/8.20 into main (#5808)** (2cdd73a)
- **[TV] Analytics foundation: predefined properties, lifecycle events, crash reporting (#5801)** (4f4d3ca)
- **[TV] Play video previews on focused Made for TV tiles (#5797)** (4b2d43e)

_Recap by [Repo Wrapped](https://repowrapped.com/gh/Automattic/pocket-casts-android?utm_source=github-action)._