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

_125 commits._

### Features
- **Release Notes: add new section for next version (8.23)** (710f6eb)
- **[Smart Bookmarks] Show a New badge on Add bookmark in the player's More actions sheet (#6070)** (99f3464)
- **[What's New] Open the feed screen from Profile (#6052)** (f56e0bf)
- **[What's New] Add the What's New manager, read state and targeting (#6040)** (16dbee5)
- **[Smart Bookmarks] Add handles to extend or trim the bookmark passage (#6065)** (afc647c)
- **[Smart Bookmarks] Add bookmark sheet: Title label and top alignment (#6066)** (16cab48)
- **[Smart Bookmarks] Add a reusable Compose swipe row and swipe actions for bookmarks (#6041)** (92ffb20)
- **[What's New] Add the What's New catalog contract and fetching (#6039)** (072a69c)
- **[Smart Bookmarks] Add bookmark details-screen analytics (#5976)** (e6e1a7f)
- **[Smart Bookmarks] Add title-generation and edit-sheet analytics (#5975)** (4e5778e)
- **[Smart Bookmarks] Bookmark details actions and add-sheet transcript (#5949)** (04e829e)
- **Add logging to diagnose auto add to Up Next (PCDROID-463) (#6011)** (05dd48d)
- **Add a drop shadow to network images in search results (#6013)** (8ce8c96)
- **[Smart Bookmarks] Suggest a bookmark title in the add sheet (#5892)** (567f581)
- **[Smart Bookmarks] Promo: New badge, player tip & What's New (#5913)** (112dda8)
- **Add listening history podcasts with coroutines instead of an Rx Observable (#5974)** (ec6a67b)

### Fixes
- **[Hyundai] Fix the Automotive account screens being unusable at large font sizes (#6030)** (c2fc372)
- **[Smart Bookmarks] Connect the feature flag to Firebase and fix the promo cohort (#6038)** (88d0b92)
- **Fix transcript button disabled before playing (#6034)** (0a28d27)
- **Add detail to playback foreground service analytics, and fix the battery warning loop (#6027)** (e8cc37c)
- **Fix Profile tab content hidden behind the bottom nav after a cold start (#6033)** (ab501db)
- **Bump fastlane from 2.240.0 to 2.240.1 in the ruby-minor-and-patch group (#6028)** (93abedf)
- **Bump fastlane from 2.239.0 to 2.240.0 in the ruby-minor-and-patch group (#6016)** (bb2c4ac)
- **Fix duplicate custom app icons (#5609)** (d11a458)
- **Fix Turkish locale breaking sponsored Discover analytics events (#6009)** (43282eb)
- **Fix prototype download links and build details (#5893)** (326a11d)
- **Fix user files play button (#5963)** (bf7b1b9)

### Backend
- **Update draft release notes for 8.22** (5ff7c2d)
- **Bump version number** (7f3e345)
- **[Hyundai] Stop Automotive text overlapping by scaling line heights with font sizes (#6037)** (dbb0955)
- **[Hyundai] Give the Automotive about and link screens an opaque background (#6036)** (1026b25)
- **Change placeholder artwork to WebP format (#5015)** (dda471f)
- **Merge release/8.21 into main (#6071)** (27a9326)
- **[Smart Bookmarks] Fire a full swipe action once and keep swipe icons inside their slab (#6064)** (05d0422)
- **[Smart Bookmarks] Title bookmarks with the passage's first six words when generation fails (#6063)** (30ee012)
- **Bump coil from 3.6.2 to 3.6.3 (#6045)** (b3c634d)
- **Bump android-gradle-plugin from 9.4.0 to 9.4.1 (#6048)** (e28d1b8)
- **Bump com.google.android.libraries.identity.googleid:googleid from 1.2.0 to 1.2.1 (#6050)** (f0dd93d)
- **[Smart Bookmarks] Show the edit transcript text in white (#6067)** (7e31e03)
- **[Smart Bookmarks] Send episode and podcast uuids with the bookmark edit form events (#6062)** (b03dd45)
- **Clean up bump stats (#6018)** (b821271)
- **Prevent stale Cast resumes from breaking local playback (#5656)** (6a23b8d)
- **Load the podcast page's missing podcast with the suspend findOrDownloadPodcast (#6061)** (5f246b7)
- **Download missing episodes with a suspend function instead of an Rx Maybe (#6060)** (eb520cd)
- **Bump com.google.firebase:firebase-bom from 34.18.0 to 34.19.0 (#6049)** (0b07b47)
- **Bump protobuf from 4.36.1 to 4.36.2 (#6047)** (b20e017)
- **Bump com.autonomousapps.dependency-analysis from 3.19.1 to 3.19.2 (#6051)** (c1ca073)
- **[TV] Update Connect to TV screen on mobile (#6019)** (b0cd759)
- **Load the episode page's missing podcast with a suspend function instead of an Rx Single (#6044)** (5a37601)
- **Load TV podcasts with a suspend function instead of an Rx Single (#6043)** (2b95d23)
- **Load the Discover episode's podcast with a suspend function instead of an Rx Single (#6042)** (2ca6e14)
- **Harden media button event sequencing (#5646)** (6eee67e)
- **Load the search episode row podcast with a suspend function instead of an Rx Single (#6035)** (c8396b4)
- **Keep the app open when changing the app icon (#6017)** (257bdd9)
- **Remove the deprecated EpisodeManager.findByUuidRxMaybe (#6029)** (3a7f6c4)
- **Find or download podcasts with a suspend function instead of an Rx Single (#6032)** (eb6ad57)
- **[Smart Bookmarks] Bookmark details visual polish (#5950)** (692cc37)
- **Load the episode details screen with coroutines instead of RxJava (#5991)** (e2671e8)
- **Move the cloud files post endpoint off RxJava (#6026)** (8232737)
- **Move the UserEpisodeManager Maybe pair off RxJava (#6025)** (9579fd6)
- **Move the cloud files list endpoint off RxJava (#6024)** (9515abe)
- **Move the podcast episodes sync endpoint off RxJava (#6022)** (137e251)
- **Remove PodcastManager.findSubscribedRxSingle (#6021)** (d3acde9)
- **Move the single user file endpoint off RxJava (#6020)** (7b2f46c)
- **Make the file upload a suspend function (#6023)** (86284a1)
- **Make UpNextQueueImpl Flow-native behind its Observable (#5926)** (3fe6d72)
- **[Smart Bookmarks] Restore bookmark passages on a full sync (#5994)** (e6e9ec9)
- **Improve feedback when adding episodes to playlists (#5632)** (d7b9b8c)
- **Improve search result chips (#6012)** (f128a0f)
- **Revert "In the search results improve the network image drop shadow"** (721cab9)
- **In the search results improve the network image drop shadow** (975f511)
- **Bump room from 2.8.4 to 2.8.5 (#5990)** (70a6fc0)
- **Bump navigation from 2.10.0 to 2.10.1 (#5988)** (0e3d102)
- **Bump com.diffplug.spotless from 8.9.0 to 8.10.2 (#5986)** (525c905)
- **Bump the kotlin-ksp group with 4 updates (#5984)** (05967da)
- **Bump anthropics/claude-code-action from 1.0.217 to 1.0.223 (#5983)** (e6d518c)
- **[Smart Bookmarks] Omit the View action when a transcript bookmark is created from an episode (#5966)** (e9c7445)
- **AINFRA-2488 Complete TV release automation and build metadata (#5682)** (8634e3b)
- **[Smart Bookmarks] Snap the passage window to sentences and fetch missing episodes (#5947)** (c96f7da)
- **[Smart Bookmarks] Align the bookmark details play control and artwork with the design (#5946)** (a1d6baf)
- **[Smart Bookmarks] Show the transcript passage in the bookmark details (#5895)** (e301f94)
- **Move the file usage endpoint off RxJava (#6003)** (585e368)
- **Read Discover subscription state from podcastSubscriptionsFlow (#6004)** (dee2298)
- **Delete the last RxJava query in EpisodeDao (#6006)** (37bc235)
- **Group options in the Developer page (#6008)** (d4b969a)
- **Match iOS gift tooltip tap (#6007)** (1b8dc53)
- **Ignore deleted bookmarks when showing the bookmark icon (#6005)** (c34fad9)
- **Make UserEpisodeDao Rx-free (#5979)** (cab08f4)
- **Merge release/8.21 into main (#6001)** (9d76d0c)
- **[Smart Bookmarks] Reusable transcript passage view + passage editor (#5890)** (c34cba8)
- **[Smart Bookmarks] Redesign the bookmarks paywall sample animation (#5915)** (ffb108c)
- **Bump media3 from 1.10.1 to 1.11.1 (#5985)** (e46da1c)
- **Bump io.sentry.android.gradle from 6.19.0 to 6.22.0 (#5987)** (4da63b0)
- **Bump org.robolectric:robolectric from 4.16.1 to 4.17 (#5989)** (d776305)
- **Keep PiP video alive across config changes and restore the inline video on PiP close (#5912)** (0bc7254)
- **Set the Google TV launcher banner (#5992)** (0dca7fd)
- **Remove the Advertising ID permission from all apps (#5978)** (592d8ee)
- **Move the player shelf off the RxJava Up Next changes stream (#5961)** (104bc02)
- **Start voice search playback without an Rx Completable (#5973)** (1c6daaf)
- **Make episode search endpoints suspend instead of Rx Single (#5970)** (5767661)
- **Make the cloud file delete calls suspend instead of RxJava (#5969)** (0af54ca)
- **Replace StaticServiceManager.getColorsSingle with the suspend getColors (#5972)** (b2c3c44)
- **Look up the podcast by uuid with a coroutine instead of an Rx Maybe (#5971)** (212ab54)
- **Wear OS login with QR code (#5964)** (2f6c8c0)
- **Move the full screen video player off RxJava (#5968)** (88747d7)
- **Make history sync a suspend call instead of an Rx Single (#5967)** (d90d554)
- **Replace the SleepTimerHandler Rx interval with a coroutine (#5962)** (c713f2d)
- **Limit the Discover Networks row to 10 networks (#5965)** (f5f6fff)
- **Remove EpisodeDao.findByUuidRxMaybe in favour of its suspend twin (#5955)** (6318873)
- **Remove the UserEpisodeDao Rx Flowable queries (#5958)** (38a3168)
- **Make account deletion a suspend call instead of an Rx Single (#5956)** (b34a06c)
- **Replace the CloudBottomSheetViewModel Rx combineLatest with a Flow combine (#5951)** (d216ed0)
- **Replace the podcast page search handlers' RxJava with Flow (#5954)** (1b45d29)
- **Remove PodcastManager.findPodcastsInFolderRxSingle and its Rx DAO query (#5953)** (ff961e0)
- **Stop blocking on cloud file requests in UserEpisodeManager (#5952)** (dddb4e3)
- **Replace the Rx emitter in ProgressRequestBody with a progress callback (#5937)** (fead38d)
- **Make downloadMissingEpisodeRxMaybe coroutine-native and remove existsRxSingle (#5939)** (55dfc8a)
- **Replace the MainActivity refresh timer with a coroutine delay (#5938)** (45c84b5)
- **Replace the sorted and subscribed PodcastManager Flowables with Flows (#5940)** (39ccf98)
- **Replace the Files usage BehaviorRelay with a StateFlow (#5941)** (b5b6661)
- **Migrate RecommendationsHandler from RxJava to Flow (#5942)** (7f88823)
- **Collect MainActivityViewModel playback state from playbackStateFlow (#5943)** (0ba5347)
- **Migrate PodcastListViewModel from RxJava to coroutines and Flow (#5944)** (58ca780)
- **Remove SyncManager.emailFlowable() in favour of the existing emailFlow() twin (#5916)** (f33a1a4)
- **Merge release/8.21 into main (#5948)** (0383bca)

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