github A-EDev/Flow v2.2.1
Flow v2.2.1

3 hours ago

Flow v2.2.1

Release date: 2026-08-28

Enjoying Flow? Consider supporting its development on Patreon to help keep the app free, open source, ad-free, and improving!

New features

  • Discord RPC support by @PastaHimself
  • TV UI support by @PastaHimself
  • Drag left or right on the video to seek, with a toggle in Player Appearance settings
  • Hide Shorts across the whole app with a single switch, without deleting your saved reels
  • Play your subscriptions' Shorts as one queue in date order instead of a handful from a shelf #823
  • Keep going with older Shorts from your subscribed channels once the recent ones run out
  • Show a progress line and a watched badge on Shorts you have already seen, in feeds and channel tabs #787
  • Picture-in-picture for Shorts, off by default #571
  • Choose whether a finished Shorts queue continues with recommendations or stops at the end
  • Choose a fallback video codec for videos that do not offer your preferred one, instead of always dropping to H.264 #812

Improvements

  • Slimmer player seekbar segment gaps #786
  • Improve restricted content filtering #783
  • Improve EQ and add it for video player #781
  • Improve playback speed
  • Use standard media icons so Android Auto, Wear and system controls render them correctly
  • Show the player controls the moment you tap instead of waiting to see if a second tap follows
  • Add haptic feedback to seeking, the speed boost and the gesture controls
  • Follow your finger when swiping down to leave fullscreen, springing back if you let go early
  • Zoom the video as you drag up to enter fullscreen
  • Let pinch-to-zoom stretch past its limits and settle back when released
  • Scale the long-press speed boost from the current speed so it can never slow playback down #867
  • Restyle the long-press speed indicator as a pill showing the speed it will actually apply
  • Ripple the tapped side of the screen when double-tap seeking
  • Offer every dubbed audio track and the full quality ladder on videos that provide them
  • Open the same Shorts queue from every surface, starting on the reel you tapped and letting you swipe back through the ones before it
  • Swipe through a channel's Shorts in the sort order its tab is showing #547
  • Shrink the reel when the comments or settings sheet opens instead of hiding it behind them
  • Close the Shorts comments by tapping above them instead of pausing the video #891
  • Apply your preferred video codec to live streams #727
  • Show the frame rate in the quality selector, so a 60 fps ladder reads as 1080p60 rather than plain 1080p #847
  • Show which address this device is advertising on the sync QR screen, so a failed connection is easier to place
  • Rebuild the device sync screens on Material 3, with clearer send and receive options, a line explaining everything you can sync, and an easier-to-read pairing code
  • Open comments beside the video on tablets in landscape instead of covering it with a sheet #918

Performance

  • Faster cold start and smoother scrolling
  • Lower idle CPU and battery drain
  • Ship a baseline profile and enable strong skipping
  • Rebuild ambient mode on a lighter render path
  • Move player setup off the startup path
  • Share card settings and watch progress across feeds
  • Consolidate playback position onto one tick
  • Add stable list keys across feeds and search
  • Load thumbnails at display size
  • Draw waveform and mini-player progress instead of laying them out
  • Start videos sooner by keeping remote signature decoding off the path to first frame
  • Reuse one attestation session across videos instead of re-running it on every open
  • Skip stream resolution for downloaded videos while offline
  • Stop paying for work Shorts never uses
  • Read audio preferences once per video instead of once per client attempt
  • Load the Shorts and music feeds before the work that only appends to them
  • Animate the seek bar without re-measuring it on every frame
  • Read the player overlay settings in a single pass instead of twelve
  • Stop pinch-to-zoom redrawing the whole player overlay on every frame
  • Keep the playhead from recomposing the controls several times a second
  • Draw the seek bar through one system instead of three overlapping ones

Build and ci

  • Add automated Kotlin formatting checks with ktlint and Spotless
  • Reduce APK size with ABI-specific releases, resource shrinking, and dependency cleanup
  • Improve ABI-aware app updates and GitHub/FOSS release packaging
  • Speed up builds with KSP, Gradle caching, improved parallelism, and CI daemon reuse
  • Remove obsolete playback and download code
  • Fix ktlint rules not being applied by Spotless

Fixes and stability

  • Fix playback media-session notifications missing metadata, artwork, controls, and seek state
  • Fix background subscription and update notifications not being delivered until the app is opened
  • Fix missing channel avatars in comments and replies with cached channel-avatar fallback
  • Fix a crash when playback notification artwork finished loading in the background
  • Fix the playback notification disappearing when the queue auto-advanced in the background
  • Fix videos cutting out around the one-minute mark on auto-dubbed titles
  • Fix playback stopping about a minute in and then retrying until it gave up #921 #922
  • Fix the wrong audio track being requested on auto-dubbed videos
  • Fix the mini player expanding back to the full player while metadata was still loading
  • Fix playback on videos that only offer a server-side adaptive stream
  • Fix downloaded videos failing to play when offline
  • Add a mobile web fallback and a newer VR client for stream extraction
  • Fix crash issues
  • Fix a crash while typing in search when a suggestion contained certain non-Latin characters #934
  • Stop music background tasks from running after the player is closed
  • Fix custom SponsorBlock category colours having no effect on the seek bar
  • Fix the cast and sleep timer buttons appearing a moment after the rest of the controls
  • Fix the brightness readout vanishing while you were still adjusting it
  • Fix swiping down to leave fullscreen committing even after you dragged back up
  • Remove the auto-translated subtitle languages, which YouTube almost always refused to serve, so picking one showed nothing
  • Fix a subtitle track other than the one you picked being used when two of them share a language
  • Fix Shorts stalling and playing only in H.264 #917
  • Fix Shorts showing in the subscription feed while Shorts were turned off #903
  • Fix Shorts appearing among the videos in your home feed
  • Fix the comments sheet sticking to the bottom of the screen in vertical fullscreen
  • Fix device sync failing whenever one of the selected collections was empty on this device
  • Fix your recommendation brain barely transferring during device sync, and never arriving from the desktop app at all
  • Fix unblocking a topic or channel never reaching your other device, which kept re-blocking it on the next sync
  • Fix sync sending your desktop the tunnel address instead of your Wi-Fi one when a VPN was connected
  • Keep every device's learned interests when syncing with a device that has synced with a third one
  • Fix Back abandoning the whole sync screen instead of returning to the previous step
  • Fix the empty band above the title on the sync screen
  • Fix Settings and Notifications being unreachable after turning off the home tab
  • Fix tablets dropping to the phone layout after leaving and returning to the app #909
  • Fix tablets being locked into portrait after leaving fullscreen, with no way back to landscape #918
  • Fix casting to Kodi and other players built on ffmpeg ending the moment it started #916

Dependency

  • Bump NewPipeExtractor to v0.26.5
  • Update Gradle to 9.6.1 and Android Gradle Plugin to 9.3.1
  • Update Kotlin to 2.4.10 with the Compose compiler plugin and KSP 2.3.11
  • Update Hilt to 2.60.1 and Room to 2.8.4
  • Update Coroutines and Serialization to 1.11.0
  • Update baseline profile and benchmark tooling to 1.5.0-beta01
  • Update Compose BOM to 2026.06.01 with Material 3 1.4
  • Raise compileSdk to 37
  • Update Navigation, Lifecycle, Activity, Core, WorkManager, Paging and CameraX
  • Update Gson to 2.14.0, Conscrypt to 2.6.1 and core library desugaring to 2.1.5
  • Remove unused RxJava and multidex dependencies
  • Raise targetSdk to 36 for Android 16 platform behaviour
  • Update OkHttp to 5.4.0 and Media3/ExoPlayer to 1.11.0
  • Update Coil image loading to 3.5.0
  • Update Ktor networking to 3.5.2

Don't miss a new Flow release

NewReleases is sending notifications on new releases.