Features
- Added a 3-segment curved library sync gauge to the user avatar in Account Settings (Artists, Playlists, Albums) with real-time background sync detection, a fluid cascading wave animation, and synchronized completion feedback
- Added a "View listening history" shortcut in Last.fm Settings to easily open the user's web profile and scrobble history directly on the Last.fm website.
- Modernized Account Settings with a unified layout and Material 3 Expressive UI
- Updated developer card in About Screen with Material 3 Expressive verified badge
- Improved Player_v17 with new designs, refined playback controls, and adaptive theme styling
- Redesigned Queue_v2 with iOS 27 capsule control pills and dynamic background blend support
- Added new AirPods Pro audio device icon for connected Bluetooth devices
- Added playlist creator avatar and name with channel navigation in Online Playlist screen
- Refined Online Playlist top bar with marquee title and frosted glass buttons
- Redesigned volume control in Audio Device Bottom Sheet with a sleek Material 3 inline slider, segmented progress bar, and long-press hold-to-repeat support
- Redesigned audio device section and battery gauge in Audio Device Bottom Sheet with a 270° progress arc, Material 3 Expressive motion animations, and vertical pill switcher
- Added Apple Music AutoMix track and artwork transition in Player_v2 with centered 50/50 crossfade and dynamic dissolve
- Added Apple Music-style split-pill in Player_v2 bottom utility bar with audio routing output selector and Listen Together session integration
- Added Listen Together host badge pill above track title for guest participants in Player_v2 and Landscape
- Redesigned the Listen Together screen with a modern Material 3 Expressive UI, featuring a dynamic connection gauge ring, unified room controls, a streamlined "Waiting for you" section for pending join requests and song suggestions, and a redesigned participant management bottom sheet with Transfer, Kick, and Block actions
- Redesigned the Music Recognition screen with a modern Material 3 Expressive UI, featuring animated cookie badge shapes, dynamic audio equalizer waves, connected action buttons, full landscape side-by-side support, and orientation state preservation
- Updated "From the Community" playlists on the Home Screen to use standard playlist grid items, improving performance, battery life, and visual consistency
- Improved community playlist backend discovery and search parsing to deliver up to 25 diverse playlists based on listening history
- Added automatic 256+ kbps (itag 141) audio streaming support for signed-in YouTube Premium users when Audio Quality is set to High
- @Mickael81 Updated French localization and string resources for appearance settings, lyrics providers, and listening summary (#1029)
Bug Fixes
- Player V2 & Landscape Improvements:
- Redesigned Player V2 Landscape layout with dynamic album art sizing, centered controls, and proper spacing for bottom action icons
- Fixed progress slider not showing restored song position on app launch or update until play was pressed
- Fixed Player V2 album artwork overflowing and covering the progress slider and controls on tablets and foldables
- Added support for Apple Music background style in Player V2 with seamless smootherstep dissolve, full-bleed blurred artwork backdrop with depth scrim, blur in landscape, and smooth blur crossfade for lyrics and queue
- Fixed artwork transition jump and stutter when expanding from the small mini-header image back to the large cover art view
- Fixed brief white flash on slider tracks when switching to lyrics mode in landscape
- Disabled crossfade on "Previous" track skip for instant backward navigation
- Audio Device Bottom Sheet:
- Fixed audio quality chips glitching in landscape by switching to a stable single-line connected button row and removing redundant nested padding
- Added smooth vertical scrolling so all sheet controls remain fully visible and usable in landscape
- Fixed volume increase and decrease animation to step cleanly across segment boundaries
- Lyrics System Enhancements:
- Fixed UI lag and stutter when opening lyrics in Player_v2 by passing initial lyrics and moving romanization parsing to background threads
- Fixed manual lyrics scrolling restriction in Lyrics_v2, allowing free and smooth scrolling across all lyric lines from start to finish
- Fixed lyrics scroll boundaries to stop naturally at the start and end of lyrics without excessive blank space
- Improved auto-scroll behavior to automatically return to the active lyrics line after 4 seconds of screen inactivity
- Fixed jarring UI transition issue when searching and selecting new lyrics in Player_v2 and landscape by adding smooth crossfade and animated content alpha
- Fixed sudden upward jump when opening lyrics by initializing playback position and active line index at composition time
- Refined lyrics controls transition and timeout to match Accord with a smooth 450ms alpha fade and a 5-second countdown during both play and pause
- Fixed controls remaining visible during manual lyrics scroll by immediately fading controls out on scroll gestures and revealing on tap
- Fixed lyrics floating and drifting latency when scrubbing progress slider by instantly snapping offsets during seeking
- Quick Picks & Home Recommendations Overhaul:
- Fixed Quick Picks not updating dynamically by making HomeViewModel reactively observe playback events and database updates
- Prioritized dynamic live recommendations on the Home Screen for both guest and signed-in users instead of static frozen shelves
- Fixed seed song recovery in MusicService by saving automix and radio queues from YouTube.next immediately on track start
- Fixed overly strict
MUSIC_VIDEO_TYPE_ATVaudio filter in YouTube.related() that was dropping valid song recommendations - Added automatic Set-Cookie network interception and visitor cookie persistence to keep recommendations aligned with playback history
- Online Playlist & Recommendation Improvements:
- Added InnerTube facepile parsing for modern YouTube Music playlists to correctly extract creator avatars and names instead of showing the year
- Fixed related playlist carousel layout and dynamic section title handling
- Artist Screen:
- Fixed badge layout distortion and vertical text compression when subscriber count and monthly listener badges overflow screen width (#1016)
- Fixed video items displaying as square boxes instead of 16:9 widescreen rectangles in the artist video carousel
- Fixed false "LIVE" badge display on non-live videos and radio stations
- Settings UI:
- Fixed settings items breaking and text clipping with large text or non-English languages in Appearance, Content, and Player Settings by displaying setting values as description summaries below titles
- Player & Search:
- Fixed keyboard and navigation bar indicator remaining visible when opening player from search (#1023)
- Playback & Queue Stability:
- Fixed track switching race condition where rapidly tapping another song caused the first song to briefly play before being overtaken by the second song
- Managed queue resolution lifecycle via
playQueueJobinMusicServiceto cancel in-flight queue fetches when a new track or queue is requested - Fixed crossfade collision and codec leaks during rapid skips by cleanly stopping and disposing orphaned secondary players
- Added instant preload metadata resolution in Local Album and List queues to switch tracks without network lag
- App Startup & Launch Stability:
- Fixed intermittent blank black or white launch screen by holding the splash screen until
playerConnectionis established (with a 2-second safety timeout) - Resolved startup crash race condition in
PlayerConnectionconstructor caused by unsafe direct access to uninitializedMusicService.player - Added a graceful
ShimmerHostloading placeholder on the Home Screen while the player connection finishes binding
- Fixed intermittent blank black or white launch screen by holding the splash screen until
- Memory Leak & Performance Optimizations:
- Fixed
MainActivityandPlayerConnectionmemory leaks during screen rotation and background transitions by establishing clean lifecycle disposal inonDestroy()and using application context - Eliminated high native memory churn and GC spikes during playback in
CustomEqualizerAudioProcessorandSilenceDetectorAudioProcessorby implementing persistent buffer reuse instead of continuous direct buffer allocation - Fixed permanent Activity context retention in
DownloadNotificationManagerby binding to application context - Resolved coroutine collector job accumulation in
HistoryViewModelby cancelling in-flight collection jobs before rebinding - Fixed unreleased background
ExoPlayerinstance inHomeViewModelby releasingWrappedAudioServiceon ViewModel teardown - Removed an unnecessary 3-second recurring main looper timer and retained Activity references in
ActivityLifecycleManagerto reduce background battery drain - Added proper WebView lifecycle destruction (
onRelease) in Login and Discord Login screens to release WebKit native resources upon leaving
- Fixed
☕ Support development on Ko-fi: https://ko-fi.com/vividhpashokan
💸 Support via UPI: vividhpashokan@axl
💳 Support via PayPal: https://www.paypal.me/vividhpashokan