Releases
v1.1.0-Beta
Compare
Sorry, something went wrong.
No results found
Changelog
Features
feat(spotify): paginate LikedSongs ViewModel via likedSongsPage β by @MuwMx
feat(ui): add horizontal mini-player dismiss gesture with slider haptics β by @MuwMx
feat(ui): exact 1:1 port of PixelPlayer mini-player horizontal dismiss gesture β by @MuwMx
feat(haptics): introduce YumaHaptics single source of truth and provider β by @MuwMx
feat(ui): add queue header automix button, haptics and dedicated queue action menu β by @MuwMx
feat(ui): add consistent haptics to FullPlayer and Lyrics collapse/menu buttons β by @MuwMx
feat(playback): play instant algorithmic radio (automix) on search song click β by @MuwMx
feat(spotify): add persistent profile cache, Stale-While-Revalidate and direct recentlyPlayed endpoint β by @MuwMx
feat(ui): implement YdsInsets with insets consumption, layout phase modifiers, and landscape cutouts β by @MuwMx
feat(ui): tune player background blur to reveal soft artwork silhouette β by @MuwMx
feat(lyrics): toggle for lyrics player controls panel β by @MuwMx
feat(lyrics): implement position freezing during manual scrolling β by @MuwMx
feat(spotify): adapt quick grid cells to YDS 2.1 dynamic palette β by @MuwMx
feat(spotify): add background like sync with Spotify library β by @MuwMx
feat(spotify): guard like sync with user preference toggle in account settings β by @MuwMx
feat(player): mode-dependent overflow label close β by @MuwMx
Fixes
fix(player): restore startRadioSeamlessly for radio to fix freeze (revert PlayerMenu) β by @MuwMx
fix(radio): restore NextPage endpoint and MediaMetadata isMusicVideo from ArchiveTune β by @MuwMx
fix(about): improve avatar quality from 128 to 512 to fix pixelation β by @MuwMx
fix(about): remove software bitmap and fixed size to fix avatar aliasing β by @MuwMx
fix(about): handle hardware bitmap getPixels crash β by @MuwMx
fix(about): split hardware render and 32x32 software palette extraction to fix aliasing β by @MuwMx
fix(fgs): guard MediaNotificationManager startForeground on Android 16 (ForegroundServiceStartNotAllowedException) β by @MuwMx
fix: FGS IllegalStateException guard + TogetherOnlineHost safe unwrap (approveParticipant) β by @MuwMx
fix: data saver toggle + queue V2 count/ListQueue + crossfade 10s guard β by @MuwMx
fix(flac): smart cache key effectiveSource + volatile StateFlow + dynamic Qbdlx pool (no restart) β by @MuwMx
fix(settings): add missing refreshDiscordNow import in DiscordSettings β by @MuwMx
fix(spotify): add tokenMutex on refreshAccessToken body + likedSongsPage pagination β by @MuwMx
fix(spotify): make Liked queue static full cache, hasNextPage false β by @MuwMx
fix(ui): force dark buttons in queue/lyrics cards via darkColorScheme β by @MuwMx
fix(ui): queue/lyrics dark content via LocalContentColor β by @MuwMx
fix(ui): wrap yumaGlassCard inside dark provider β by @MuwMx
fix(ui): 3dots sheets always dark theme β by @MuwMx
fix(ui): replace GoogleSans hardcodes with LocalArchiveTuneFontFamily β by @MuwMx
fix(ui): fix dismiss gesture cancel, float precision, teleport glitch and add continuous drag haptics β by @MuwMx
fix(ui): refine mini-player dismiss haptics with M3 frequent ticks and delayed snap-reset β by @MuwMx
fix(ui): remove dead bottom padding when miniplayer dismissed and remove collapse haptics β by @MuwMx
fix(ui): resolve gesture conflicts, touch swallowing and unclickable controls across sheets β by @MuwMx
fix(spotify): restore GraphQL recent items parsing with playlists, full album artists, and fix SWR UI flashing β by @MuwMx
fix(ui): fix status bar insets in FullPlayer, floating bar immersive padding, and clean YdsInsets modifiers β by @MuwMx
fix(library): force album list items to single segment position β by @MuwMx
fix(queue): balance theme provider braces around LazyColumn β by @MuwMx
fix(spotify): eliminate sync duplicates, double calls and optimize batch operations β by @MuwMx
fix(player): isolate sheet background to matchParentSize, restore instant queue animation and fade β by @MuwMx
fix(spotify): persist track matches on play and enable fallback search for like sync β by @MuwMx
fix(sync): clean mutual exclusive routing between Spotify and YouTube like sync β by @MuwMx
fix(ui): preserve full 544px thumbnail resolution for grids while keeping lightweight 200px for lists β by @MuwMx
fix(queue): provider-inside-snapshotFlow restores first frame β by @MuwMx
fix(sheets): unify normal top with immersive background β by @MuwMx
fix(headers): keep lyrics queue close always visible β by @MuwMx
fix(home): mount mood panel only with chips β by @MuwMx
fix(ui): gate MarqueeText on local isVisible parameter β by @MuwMx
fix(player): pin controls and title to always-white β by @MuwMx
Performance
perf(ui): optimize isMiniPlayerVisible selector in MainActivity and clean queue close haptic β by @MuwMx
perf(queue): eliminate per-item DataStore flow subscriptions and Subcomposition in thumbnails β by @MuwMx
perf(queue): hoist itemWidthPx to screen level and optimize Coil thumbnail decode size β by @MuwMx
perf(player-bg): careful single-pass background β by @MuwMx
perf(seekbar): draw-phase progress via graphicsLayer β by @MuwMx
perf(player-bg): unify player background to single blur source and shared gradient β by @MuwMx
perf(home-bg): central visibility gate pauses animated styles β by @MuwMx
perf(home-bg): propagate isVisible gate to all animated effects β by @MuwMx
perf(lyrics-queue): suspend hidden loops via snapshotFlow β by @MuwMx
Refactors
refactor(playback): clean up formatting in MusicService β by @MuwMx
refactor(playback): extract MusicService integrations to extension β by @MuwMx
refactor(playback): extract MusicService playback to extension β by @MuwMx
refactor(playback): extract MusicService audio to extension β by @MuwMx
refactor(playback): extract MusicService crossfade to extension β by @MuwMx
refactor(playback): extract MusicService together to extension β by @MuwMx
refactor(spotify): make LikedQueue stub-only with external total/hasMore β by @MuwMx
refactor(haptics): remove FLAG_IGNORE_GLOBAL_SETTING and fix incorrect LongPress usages β by @MuwMx
refactor(haptics): migrate all screens to LocalYumaHaptics and clean prop-drilling β by @MuwMx
refactor(cleanup): remove 15 dead legacy files (~4.5k LOC) β by @MuwMx
refactor(spotify): use typed __typename contract for recent section instead of string matching β by @MuwMx
refactor(flac): make Qobuz sole lossless provider and remove Arcod/dead token fields β by @MuwMx
refactor(library): update layout spacing and window insets for list containers β by @MuwMx
refactor(player): remove unnecessary keys from nested scroll connection remember blocks β by @MuwMx
refactor(ui): split monolithic Items.kt into focused SRP components β by @MuwMx
refactor(ui): migrate news screen and top action buttons to unified YDS β by @MuwMx
Documentation
docs(readme): update telegram community link to yumaplayer β by @MuwMx
docs(readme): remove arcod references from documentation β by @MuwMx
docs(yuma_rules): add separator to development guidelines β by @MuwMx
docs(rules): remove trailing whitespace and empty lines from YUMA_RULES.md β by @MuwMx
docs(spotify): document ADR-011 Spotify sync architecture and isolation β by @MuwMx
Other changes
chore(templates,docs): rename ArchiveTune to YumaPlayer in templates and privacy policy β by @MuwMx
refactor(ui,settings): simplify image processing and request logic in AboutScreen β by @MuwMx
refactor(queue,settings): remove unused queue header component β by @MuwMx
refactor(playback,network): implement metered connection check for flac streaming bypass β by @MuwMx
feat(settings,spotify): add debug sp_dc input field to login sheet β by @MuwMx
refactor(ui,player,home): optimize flow operators and remove unused quick picks header β by @MuwMx
feat(player,haptics): implement custom continuous vibration feedback for dismiss gesture β by @MuwMx
refactor(ui,haptics): replace native haptic feedback with custom yuma haptics implementation β by @MuwMx
fix(player,ui): add fraction threshold check to drag state and simplify lyrics layer rendering β by @MuwMx
refactor(player,ui): optimize overlay visibility state using derivedStateOf β by @MuwMx
chore(lossless): remove dead fallback LosslessTokens (experimental hardcode, now user input only) β by @MuwMx
feat(ui,library): add LibraryEmptyState component β by @MuwMx
style(library,component): update library filter chip dimensions and grid padding β by @MuwMx
refactor(ui,library): migrate LocalSongScanSheet to Surface components for consistent styling β by @MuwMx
refactor(ui,library): update local song screen hero icon layout and styling β by @MuwMx
feat(settings,spotify): expose manual sp_dc input field outside of debug builds β by @MuwMx
refactor(ui,lyrics): move lyrics parsing to produceState and background thread β by @MuwMx
refactor(ui,lyrics): consolidate lyrics parsing logic and handle empty states β by @MuwMx
refactor(lyrics,queue): simplify state initialization and optimize reorderable graphics layer β by @MuwMx
refactor(ui,lyrics): optimize romanization effect execution by preventing redundant re-parses β by @MuwMx
fix(ui,lyrics): reset frozen position when manual scrolling ends β by @MuwMx
fix(lyrics,ui): improve manual scrolling state logic and reset frozen position on seek β by @MuwMx
refactor(ui,lyrics): consolidate manual scrolling logic in LyricsEnhanced β by @MuwMx
SRP x4: black Spotify recents, stop-on-swipe toggle, sheet Back priority, sheet clipToBounds β by @MuwMx
feat(player,ui): handle back navigation based on overlay and lyrics visibility β by @MuwMx
refactor(mainactivity,playersheet): remove unused overlay state and improve back navigation logic β by @MuwMx
feat(player,queue): implement symmetric UDF for queue and two-container border clipping β by @MuwMx
feat(player,queue): add local BackHandler to QueueScreen β by @MuwMx
perf(player,queue): eliminate composition key reset and GPU throttling on queue gesture β by @MuwMx
perf(player,queue): align QueueScreen lifecycle and rendering 1-to-1 with LyricsColumn β by @MuwMx
refactor(sync,youtube): optimize song liking with deduplication and concurrent batching β by @MuwMx
style(syncutils): fix indentation for likeSongs function β by @MuwMx
refactor(player,ui): simplify PlayerSeekBar progress update logic β by @MuwMx
refactor(player,ui): optimize seekbar state management and reset logic β by @MuwMx
refactor(player,ui): swap blur and clear image painter logic and update blur request size β by @MuwMx
chore(bg): temporary pause verification logs β by @MuwMx
chore(home,effects): add debug logging for screen background state β by @MuwMx
chore(player): temporary sleep verification logs β by @MuwMx
chore(logs): remove temporary pause verification logs β by @MuwMx
refactor(player,ui): optimize background gradient color blending and structure β by @MuwMx
feat(build,ui): update foundation layout dependency and adjust player background visuals β by @MuwMx
refactor(player,viewmodel): improve cover image resolution and blank string handling β by @MuwMx
style(player): adjust background layer gradient intensity and transition points β by @MuwMx
chore(app,version): bump version to 1.1.0-Beta β by @MuwMx
You canβt perform that action at this time.