ArchiveTune

moe.koiverse.archivetune
by Zapstore _@zapstore.dev

Republished from GitHub / F-Droid by the Zapstore main account.

The Cutest Material 3 Expressive Music Player With Support Local File and Youtube Music for Android.

First release: Jan 21, 2026, 6 total releases.

Most recent release: May 29, 2026.

Website Repo

Appears in 0 app stacks.

0 sats / 0 zaps received in the past year.

Sats Received

Underlying data available via MCP: app_zaps, app_releases.

Zap Count

Underlying data available via MCP: app_zaps, app_releases.

Releases

  • May 29, 2026 13.4.0
    # Changelog ## ✨ Major Highlights ### 🎧 Playback, Player & Audio * Added V8 and V9 player styles with refined animations, morphing transitions, and improved playback interactions β€” @koiverse * Introduced V7 canvas artwork playback with YouTube-backed animated visuals and fallback artwork handling β€” @koiverse * Enhanced `MusicService` with resumable playback notifications, queue persistence improvements, crossfade stability, and offline cache optimizations (#662) β€” @koiverse * Added customizable AOD experience with artwork glow shadow support and improved metadata synchronization β€” @koiverse
    More…
    * Added sleep timer support for V7 mode β€” @koiverse * Implemented playback vibration and haptic feedback support across player controls and lyrics interactions β€” @nekohepott32 * Added playback widget system using Jetpack Glance with new themed widget layouts β€” @harshal20m, @koiverse ### πŸ“ Lyrics, Karaoke & AI * Added LRC bounce animations, dynamic scaling, instrumental break indicators, and smoother drift correction for Lyrics V2/Enhanced β€” @koiverse * Improved TTML parsing with better CJK handling, XML entity resolution, and enhanced compatibility for nested namespaced lyrics β€” @koiverse * Added synchronized lyrics indicators and lyrics provider ordering customization (#627) β€” @koiverse * Added OpenRouter AI provider integration with searchable model picker and API validation handling β€” @koiverse * Enhanced romanization with context-aware transliteration and word-level TTML support β€” @koiverse, @mikooochi ### 🎨 Interface, Navigation & Material 3 * Replaced legacy pull-to-refresh implementations with Material 3 Expressive components β€” @koiverse * Refined settings, preferences, side sheets, dialogs, and navigation layouts with improved shapes, descriptions, and adaptive behavior β€” @koiverse * Added animated floating navigation toolbar behaviors with sliding pill animations and expressive transitions β€” @koiverse * Reworked Music Recap, Mood & Genres, News, Library Mix, and Player layouts with adaptive Material 3 components β€” @koiverse, @mikooochi * Added immersive artist headers with monthly listeners and subscriber count support β€” @mikooochi ### 🌐 Connectivity, Accounts & Sync * Added optional force-sync behavior when switching accounts with improved authoritative sync handling β€” @mikooochi * Added automatic Google login exit flow and improved web auth session cleanup handling β€” @sang765, @koiverse * Introduced rotating proxy/IP rotation system with cooldown pools and automatic configuration fetching β€” @koiverse * Added Spotify logout support and cancellable Spotify track importing β€” @koiverse * Added low data usage mode and improved YouTube fallback handling (#691) β€” @koiverse ### πŸ“š Library, Discovery & Content * Added AI-powered β€œBuild Your Mix” functionality with validated library mix generation β€” @koiverse * Introduced revamped New Release experience with structured content models and tabbed navigation β€” @mikooochi * Added playlist descriptions, local playlist syncing to YouTube, and local song sorting preferences β€” @koiverse, @mikooochi * Improved artist page handling, release type extraction, and metadata rendering (#626) β€” @koiverse, @mikooochi * Added Android Auto compatibility improvements and missing feature integrations (#688) β€” @mikooochi, @koiverse ## 🐞 Stability & Fixes ### πŸ”§ Playback & Service Reliability * Fixed queue selection inconsistencies and removed unused queue trigger logic (#603) β€” @koiverse * Reworked crossfade playback logic and stabilized audio handoff behavior β€” @koiverse * Fixed playback rendering issues related to canvas artwork, backdrop ordering, and offload handling β€” @koiverse * Improved queue snapshot persistence during stop/memory trim events β€” @koiverse ### 🎡 Lyrics & Media Fixes * Fixed BetterLyrics album parameter handling β€” @koiverse * Restored compatibility for nested TTML lyrics and improved instrumental break rendering β€” @koiverse * Improved AI translation conditions and lyric timing animations β€” @koiverse * Fixed album duration localization issues and multiple lyrics rendering regressions β€” @koiverse ### 🎨 UI & UX Fixes * Fixed various settings layout inconsistencies, toolbar dismiss behavior, and widget resizing problems β€” @koiverse, @mikooochi * Improved lifecycle-aware playlist state collection and refresh handling β€” @koiverse * Fixed updater APK architecture/device flavor handling β€” @sang765 * Fixed Quick Picks occasionally not appearing β€” @koiverse ### πŸ“¦ Dependency & Platform Updates * Updated Compose to `1.12.0-alpha03` (#635) β€” @renovate[bot] * Updated Material 3 to `1.5.0-alpha20` (#636) β€” @renovate[bot] * Updated Material 3 Adaptive to `1.3.0-beta02` (#637) β€” @renovate[bot] * Updated AndroidX Browser to `1.10.0` (#670) β€” @renovate[bot] ## ⚑ Performance Improvements * Reduced redundant lyrics fetching checking cached metadata before network requests β€” @koiverse * Improved lyrics provider concurrency using shared cache selection logic β€” @koiverse * Optimized queue hydration, persistent state saving, and widget preference updates β€” @koiverse * Enhanced crossfade transition performance and playback state synchronization β€” @koiverse ## πŸ›  Internal Cleanup & Refactors ### 🧠 Core & Playback * Refactored crossfade, queue hydration, and playback persistence systems for better reliability β€” @koiverse * Simplified audio normalization and playback service logic to prevent random muting β€” @koiverse * Improved sync metadata handling and account switching internals β€” @koiverse ### 🎨 Compose & UI Architecture * Migrated multiple screens to adaptive Material 3 layouts and expressive components β€” @mikooochi, @koiverse * Refactored Lyrics Enhanced scrolling, focus handling, and manual scroll synchronization β€” @koiverse * Simplified toolbar animations and navigation state handling across floating navigation components β€” @koiverse ### πŸ“¦ Project Maintenance * Added ProGuard rules for Glance/media processing and cleaned unused dependencies/code β€” @koiverse * Refined AndroidManifest override handling and scheduler service registration β€” @mikooochi, @koiverse * Updated docs, translations, fastlane metadata, and internal tooling β€” @koiverse, @mikooochi ## 🌍 Translation & Community * Updated Indonesian translations β€” @adam-adrian * Added German translations β€” @flue17 * Added Portuguese (Brazil) translations β€” @ValteMCPE * Added Spanish translations β€” @gallegonovato * Added Japanese and Korean translations β€” @Anonymous * Various translation updates through Weblate and contributor improvements ## πŸ›  Other Changes * Added multiple account mode β€” @koiverse * Added β€œRemove from cache” action for cached songs β€” @sang765 * Added APP_UPDATE_PAT workflow support and follow-up cleanup/reverts β€” @sang765, @koiverse * Reworked Discord settings/preferences integration and platform support (Xbox, Samsung, PS4, PS5) β€” @koiverse * Added route-based artist navigation improvements (#626) β€” @koiverse * Added issue/patch follow-ups, docs updates, cleanup commits, and merge syncs from contributors β€” @koiverse, @mikooochi, @nekohepott32 ## Other Changes II * feat(Webview): automatic exit from LoginScreen after successful login @sang765 in https://github.com/koiverse/ArchiveTune/pull/624 * Add vibration to player controls @nekohepott32 in https://github.com/koiverse/ArchiveTune/pull/631 * feat: add APP_UPDATE_PAT for GitHub API rate limitpass @sang765 in https://github.com/koiverse/ArchiveTune/pull/634 * fix(deps): update compose to v1.12.0-alpha03 @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/635 * fix(deps): update dependency androidx.compose.material3:material3 to v1.5.0-alpha20 @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/636 * fix(deps): update dependency androidx.compose.material3.adaptive:adaptive to v1.3.0-beta02 @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/637 * Add haptic feedback support for lyrics screen, shuffle/repeat buttons and add settings toggle @nekohepott32 in https://github.com/koiverse/ArchiveTune/pull/643 * fix(HapticFeedback): more reliable pause haptic @nekohepott32 in https://github.com/koiverse/ArchiveTune/pull/645 * feat: add "Remove from cache" to selected songs in CachePlaylistScreen @sang765 in https://github.com/koiverse/ArchiveTune/pull/646 * Revert "feat: add APP_UPDATE_PAT for GitHub API rate limitpass" @koiverse in https://github.com/koiverse/ArchiveTune/pull/653 * feat : New dynamic Colors Widget @harshal20m in https://github.com/koiverse/ArchiveTune/pull/655 * fix(Updater): support device (mobile/tv) and architecture flavor dimensions in APK download URL @sang765 in https://github.com/koiverse/ArchiveTune/pull/666 * chore(deps): update dependency com.google.devtools.ksp to v2.3.9 @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/678 * fix(deps): update dependency androidx.browser:browser to v1.10.0 @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/670 * Update Indonesian translation @adam-adrian in https://github.com/koiverse/ArchiveTune/pull/693 ## New Contributors * @nekohepott32 made their first contribution in https://github.com/koiverse/ArchiveTune/pull/631 * @harshal20m made their first contribution in https://github.com/koiverse/ArchiveTune/pull/655 * @adam-adrian made their first contribution in https://github.com/koiverse/ArchiveTune/pull/693
  • May 15, 2026 13.3.0
    # Changelog v13.3.0 ## ✨ New Features ### 🎧 Player & Audio Engine * Added β€œRemove from queue” action directly inside the player menu with full Queue integration * Introduced undo support for both single and multi-song queue removals * Improved queue restoration handling with cancellation-aware recovery logic * Added persistent queue restoration logic from v12.4.1 behavior
    More…
    * Implemented `buildPlayNextShuffleOrder` for smarter shuffle playback behavior (#556 #552) * Added scheme-aware data source routing for more reliable playback handling (#552) * Enhanced caching logic to recover downloads with unknown content lengths * Improved playback recovery and cleanup handling in `MusicService` * Added malformed stream error handling with improved playback error messaging * Persist playback queue during play/pause events to restore the correct position after force-stop * Improved media notification creation for enhanced playback UX and Android dynamic island support * Enhanced player backdrop with dynamic artwork scaling, resizing, and color extraction * Added high-resolution artwork loading across player, notifications, thumbnails, and metadata (#562) ### πŸ“ Lyrics & Media * Added RTL (right-to-left) text layout support for Lyrics V2 (#485) * Added lyrics translation enablement support * Added Unison as a new lyrics source * Improved karaoke animation timing and word synchronization (#462 #573) * Added blur toggle option for lyrics background effects * Automatically set default lyrics language based on device locale * Improved Lyrics V2 rendering and simplified timing synthesis logic ### 🎨 UI, Theming & Personalization * Integrated MotionScheme and refactored dynamic color handling * Migrated theme engine further toward MaterialKolor dynamic schemes * Improved system bar appearance handling based on player background style (#513 #550) * Added Quick Picks display mode settings with new UI integration * Rearranged Quick Picks preferences for better discoverability * Added cover image picker support for local playlists * Introduced new update banner and permission header in Settings * Refactored Settings UI with new `SettingsSectionLabel` and `SettingsFlatItem` components * Improved preference dialogs with pending value handling and enhanced button behavior * Refined preference layouts with rounded corners and updated structure * Added new contributors section in About screen * Added animated New Release screen with improved error handling * Enhanced AOD player layout structure and modularized controls * Added adaptive icon metadata and shortcut metadata support for Android 13+ * Added new Crimson Neon and AmourLuxe themes * Improved icon selection UI with preview cards, animations, and selection indicators * Added adaptive icon improvements and monochrome icon support for Android 13+ ### πŸ“š Library, Search & Statistics * Added backup and restore dialog with category-based selection support * Added backup categories for library, account, and settings * Added playlist song sorting preferences with persistent storage support (#581) * Added listening statistics queries grouped by hour and weekday * Introduced `ListeningBySlot` and `ListeningSummary` data models * Improved statistics aggregation and combination logic in `StatsViewModel` * Enhanced online search with indexed results, all-mode filters, and improved loading behavior * Added detailed media metrics and diagnostics in media info screen * Improved local folder exclusion flow using SAF instead of manual paths * Added conditional share FAB visibility in Year in Music screen ### 🌐 Connectivity & Network * Added DNS-over-HTTPS support and proxy connection testing (#492) * Improved network banner behavior to avoid unnecessary no-internet warnings * Added better playback login/session handling with configurable cookie clearing behavior ### πŸ›  Developer & Debugging Tools * Added real-time Logcat viewer with filtering support * Added Extended FAB for easier log sharing in DebugActivity * Added GitHub workflow to notify issue authors about new commits * Improved issue extraction logic for workflow automation --- ## πŸ› Bug Fixes ### 🎧 Playback & Streaming * Fixed crashes when downloading very large playlists * Fixed queue selection state inconsistencies after item removal * Fixed race conditions in `onGetSong` lambdas causing random crashes * Temporarily disabled crossfade preferences regardless of audio offload state * Fixed malformed thumbnail resizing and artist artwork quality issues (#562) * Fixed notification artwork resolution quality * Fixed player-related screen overlap and background rendering issues ### 🎨 UI & Layout * Fixed scrolling issues across multiple menu screens (#581) * Fixed incorrect pluralization in statistics highlights * Fixed icon animation generic typing and import ordering * Fixed image loading logic simplification regressions in icon list items * Fixed null safety issues in Search Summary navigation handling * Fixed launcher background rendering for Android 16 adaptive icons * Fixed incorrect metadata spelling and copyright formatting * Improved thumbnail normalization and URL consistency across YouTube integrations ### βš™οΈ System & Build * Updated AGP to v9.2.1 * Updated Media3 to v1.10.1 * Updated Ktor to v3.5.0 * Updated Compose and Material 3 dependencies * Added ProGuard compatibility rule for `ClassFileWriter` * Improved build suffix generation for dev builds * Improved Gradle source set handling for generated app icons * Fixed metadata parsing issues in app icon sync workflow --- ## ⚑ Performance Improvements * Optimized player color extraction and vividness adjustment (#546) * Improved queue persistence and restoration performance * Reduced unnecessary grouping overhead in library song sorting (#545) * Improved thumbnail rendering and URL normalization performance * Simplified regex and image resizing logic for YouTube utilities * Optimized song wrapping using `remember` for reduced recompositions (#574) * Improved queue persistence reliability during playback state changes * Enhanced dynamic artwork rendering and extraction efficiency --- ## πŸ›  Technical Refactors ### 🧠 Core & Playback * Refactored notification handling and removed deprecated playback notification logic * Simplified track selector implementation to prevent crashes (#521) * Improved cache handling with `setCacheKeyIfRemote` integration (#552) * Refactored queue and player persistence logic into `MusicService` * Streamlined playback auth/session management APIs * Simplified recognition job handling with cancellation support ### 🎨 UI & Compose * Removed unused scroll behaviors across settings screens * Modularized AOD player slider and controls into dedicated composables * Refactored dialog implementations to use adaptive layouts and `BoxWithConstraints` * Updated StarDialog to use `ModalBottomSheet` * Simplified settings screen structure and interaction flow * Cleaned up unused imports, hints, and legacy code paths ### πŸ“¦ Project & Infrastructure * Refined issue templates and visual evidence submission flow * Simplified GitHub workflow triggers and automation handling * Updated Android source sets and generated asset handling * Improved app icon sync tooling with metadata and WebP support * Removed deprecated Lyrics V1 preparation code * Removed app icon changer experiment from main branch * Cleaned up unused activity aliases and intent filters --- ## 🌍 Translations & Community * Updated translations through Weblate: * French * Indonesian * Vietnamese * Spanish * Italian * Russian * Portuguese (Brazil) * Hindi * Ukrainian * Turkish * German * Arabic * Arabic (Egyptian) * Chinese (Simplified) * Sanskrit * Added new contributors and community improvements * Updated documentation and metadata * General cleanup, patches, and internal maintenance updates --- ## πŸ›  Other Changes * fix(deps): update agp to v9.2.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/487 * feat(queue): Add 'Remove from queue' action and undo functionality by @sang765 in https://github.com/koiverse/ArchiveTune/pull/488 * feat(internet): Add DNS over HTTPS support and proxy connection testing by @sang765 in https://github.com/koiverse/ArchiveTune/pull/492 * fix(deps): update ktor monorepo to v3.4.3 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/491 * fix(deps): update dependency com.squareup.okhttp3:okhttp-dnsoverhttps to v5 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/493 * fix(deps): update dependency androidx.navigation:navigation-compose to v2.9.8 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/495 * fix(deps): update dependency androidx.compose.material3:material3 to v1.5.0-alpha18 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/494 * fix(deps): update compose to v1.12.0-alpha01 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/496 * chore(deps): update dependency com.google.devtools.ksp to v2.3.7 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/497 * fix(Queue): exit selection "toolbar" mode when no items are selected by @sang765 in https://github.com/koiverse/ArchiveTune/pull/500 * chore(deps): update kotlin monorepo to v2.3.21 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/501 * feat(playback): add SafeTrackSelector and improve preference components by @sang765 in https://github.com/koiverse/ArchiveTune/pull/502 * feat(Lyric): Enhance Paxsenix integration with new providers and API stats by @sang765 in https://github.com/koiverse/ArchiveTune/pull/516 * chore(deps): update gradle to v9.5.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/528 * remove lyricsV1, make LyricsV2 default, Cleanup settings. (you can decline it if you dont want to) by @Windowstechtips in https://github.com/koiverse/ArchiveTune/pull/536 * fix(deps): update agp to v9.2.1 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/559 * fix(deps): update compose to v1.12.0-alpha02 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/569 * fix(deps): update dependency androidx.compose.material3.adaptive:adaptive to v1.3.0-beta01 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/571 * fix(deps): update dependency androidx.compose.material3:material3 to v1.5.0-alpha19 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/570 * fix(deps): update dependency org.jetbrains.kotlinx:kotlinx-coroutines-guava to v1.11.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/576 * chore(deps): update actions/github-script action to v9 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/579 * chore(deps): update gradle to v9.5.1 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/592 * fix(deps): update media3 to v1.10.1 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/593 * chore(deps): update dependency com.google.devtools.ksp to v2.3.8 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/595 * fix(deps): update ktor monorepo to v3.5.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/597 --- ## πŸ“ Notes * Major focus on playback reliability, queue persistence, dynamic theming, and Lyrics V2 improvements * Continued migration toward Material 3 Expressive and modern Android APIs * Several experimental systems were refined, reverted, or cleaned up for stability * Significant improvements to artwork quality, caching behavior, and queue recovery systems
  • Apr 21, 2026 13.2.0
    # Changelog v13.2.0 ## ✨ New Features ### ArchiveTune Now Supports Local Music Playback! ### 🎧 Player & Audio Engine * Added **audio route recovery** to restore playback after device changes (#443) * Implemented **playback history tracking system** with caching and URL registration
    More…
    * Added **PlaybackStreamRecoveryTracker** for retry handling and stream failure recovery * Improved **foreground service management** with enhanced notification handling * Added **multi-URL fallback** and retry logic for more reliable playback * Implemented **voice query support** for both offline and online search * Added **queue auto-expansion** when infinite queue is disabled * Added **loading indicator** for queue initialization ### 🎡 Library, Playlists & Sync * Introduced **multi-song like with sync support** (#430) * Added **remote sync for library & playlist actions** * Improved **playlist removal consistency** with remote-first handling * Added **playlist suggestion system** with query builder customization * Enhanced **search capabilities** with result count queries and pagination (#453) * Integrated **YouTube online search** into media session (#456) ### πŸ“ Lyrics & Media * Added **lyrics sync offset adjustment** with UI controls and dialog * Improved **lyrics sharing system** with adaptive layout support * Enhanced **thumbnail handling** with structured data model ### πŸ“ Local Media Support * Introduced **local file playback support** * Added **Local Songs screen** with search, sorting, and improved UI * Implemented **local scan configuration** (duration + folder filters) * Redesigned **scan workflow UI** with better state handling ### βš™οΈ System & Platform * Added **default music player support** (#457) * Enabled **Canvas API authentication** * Added **TV variant support** (#423) * Added **low-end device mode** to disable animations * Improved **YouTube login cookie handling** ### 🎨 UI & UX * Added **segmented preference component** * Improved **FAB behavior** with label support * Enhanced **history screen** with search and state handling * Added **custom swipe background colors** for song items * Improved **Library Mix layout & controls** * Accessibility improvements in About screen --- ## πŸ› Bug Fixes ### 🎧 Playback & Streaming * Fixed **automix preview issues** for YouTube queues (#432) * Fixed **crossfade + offload conflicts** (#431) * Improved **stream expiration handling** and fallback logic (#433) * Fixed **silent audio issue on Qualcomm devices** * Improved **cached playback error handling** * Fixed **player restart when reaching ended state** ### πŸ“š Library & Data * Fixed **playlist sync inconsistencies** * Improved **song like transaction handling** * Fixed **playlist removal edge cases** * Fixed **search and coroutine-related crashes** ### 🎨 UI & Layout * Fixed **blur rendering (now real bitmap blur)** * Fixed **layout inconsistencies (fillMaxSize vs matchParentSize)** * Fixed **thumbnail cropping issues** * Fixed multiple **typos and UI spacing issues** ### πŸ”§ Misc * Fixed **dependency issues and updates** * Fixed **various regressions and minor crashes** --- ## ⚑ Performance Improvements * Reduced **main thread workload** in playback service * Improved **stream resolution and caching efficiency** * Optimized **search pagination and result handling** * Enhanced **UI rendering and blur performance** * Improved **database queries and event handling** --- ## πŸ›  Technical Refactors ### 🧠 Core & Playback * Refactored **stream client architecture** with request profiles * Unified **retry logic for playback authentication** * Improved **MusicService structure and error handling** * Simplified **tracking URL registration system** ### πŸ“¦ Data & Database * Improved **DAO queries and return types** * Added **event tracking enhancements** * Refactored **local media scanning logic** ### 🎨 UI & Components * Migrated more components to **Material 3 Expressive APIs** * Simplified **Library & Playlist UI structure** * Improved **Lyrics UI rendering and layout system** * Refactored **Preference components with Material shapes** ### 🧹 Codebase Cleanup * Removed **legacy APIs and unused logic** * Simplified **sorting, layouts, and state handling** * Improved **overall consistency and maintainability** --- ## πŸ“š Documentation * Updated **README and app metadata** * Added **local playback support documentation** * Improved **privacy notice and links** * Updated **store listings and translations** --- ## πŸ— Build / CI * Upgraded **compileSdk & targetSdk to 37** * Refactored **Gradle configuration and plugin setup** * Added **Sonatype snapshots repository** * Improved **CI workflows and artifact handling** --- ## πŸ”„ Other Changes * Dependency upgrades (Compose, AGP, libraries, actions) * Multiple **reverts for stability and experimental rollback** * Translation updates (FR, ES, VI, UK, IT, etc.) * Internal cleanup, styling tweaks, and minor improvements * Version bump to **v13.2.0** --- ## πŸ”„ Other Changes II * fix(deps): update dependency com.mikepenz:multiplatform-markdown-renderer-m3 to v0.40.2 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/441 * Update agp to v9.1.1 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/463 * Update dependency com.google.guava:guava to v33.6.0-jre by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/465 * Update dependency com.valentinilk.shimmer:compose-shimmer to v1.4.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/466 * Update actions/cache action to v5 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/468 * Update actions/checkout action to v6 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/469 * Update dependency androidx.annotation:annotation to v1.10.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/464 * chore(deps): update actions/download-artifact action to v8 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/470 * chore(deps): update actions/setup-python action to v6 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/471 * fix(deps): update dependency com.github.kyant0:m3color to v2026 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/472 * Update dependency org.jsoup:jsoup to v1.22.2 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/482 * fix(deps): update dependency sh.calvin.reorderable:reorderable to v3.1.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/483 ## πŸ“ Notes * Major focus on **local media support, playback stability, and sync systems** * Several experimental features were **refined or reverted** for stability
  • Apr 3, 2026 13.1.0
    # Changelog v13.1.0 ## ✨ New Features ### Player & Audio Engine * Introduced **V7 player styles** with enhanced layout and modular backdrop system * Added **toggle-based playback controls** for improved interaction state handling * Implemented **modules effect** and improved blur/artwork scaling in V7 backdrop * Added **Bluetooth auto-start playback** and audio device callback handling
    More…
    * Enabled **audio capture support** via `ALLOW_CAPTURE_BY_ALL` configuration (#396) * Improved **playback error handling** with refined request identity and messaging * Added **playback resumption system** with persisted queue restoration (#390) * Implemented **login context recovery** and authentication-aware playback handling (#418) ### User Interface & Theming * Full migration to **Material 3 Expressive components** across all UI * Redesigned **buttons, list items, and player layout system-wide** * Introduced **Floating Navigation Toolbar (responsive + slim mode)** * Added **Floating Action Button (FAB)** for playlist creation in Library * Added **blur density sliders** and enhanced preference components * Improved **MiniPlayer layout, controls, and artwork rendering** * Added **network status banner** across app shell * Introduced **player design style preference customization** ### Library, Playlists & Content * Added **playlist search and sorting** in Add-to-Playlist dialog * Improved **playlist selection logic and duplicate handling** * Added **playlist play button** for online playlists (#398) * Implemented **YouTube automix preview support** (#398) * Enhanced **album page continuation and parsing robustness** * Added **MediaItem enhancements** (playable flag + notification artwork resizing #416) ### Lyrics & Localization * Expanded **romanization support** (Chinese, Hindi, and more languages) * Improved **lyrics search UI and dialog experience** * Enhanced **multi-language romanization preferences** ### Networking & Streaming * Improved **stream URL resolution and throttling handling** * Added **bot detection recovery (visitor data handling)** * Enhanced **DownloadManager concurrency and request throttling** * Added **auth-scoped caching and playback authentication state system** --- ## πŸ› Bug Fixes ### Player & Playback * Fixed playback resumption logic edge cases (#410) * Resolved crossfade overlap and ducking recovery issues * Fixed artwork rendering, blur inconsistencies, and layout misalignment * Corrected playback auth state normalization and login handling (#418) ### User Interface * Fixed **Floating Navigation Toolbar constraint and color issues** * Resolved **bottom navigation offset overflow** * Fixed layout issues caused by unsafe `Infinity` constraints * Improved **ToggleButton sizing and UI consistency** * Fixed animation imports and spacing inconsistencies in Player ### Library & Data * Fixed playlist continuation and empty response handling * Resolved account/profile loading state inconsistencies * Fixed search bar padding and UI alignment issues ### System & Services * Fixed **Updater version ordering assumption** * Ensured proper **queue persistence on task removal** * Fixed **Bluetooth auto-start threading issue** * Improved **WebSocket heartbeat handling** (#401) ### Dependencies * Updated Compose, Media3, Ktor, WorkManager, Material3, and Gradle versions --- ## ⚑ Performance Improvements * Optimized **screen rendering and overall UI performance** * Improved **playlist selection and dialog performance** * Enhanced **URL caching with authentication fingerprint validation** * Reduced redundant logic in queue, artwork, and playback handling --- ## πŸ›  Technical Refactors ### Architecture & Core * Refactored **playback authentication system** with StateFlow integration * Modularized **YouTube, InnerTube, and player utilities** * Streamlined **visitor data and token handling** * Improved **DownloadUtil and MusicService caching strategies** ### UI & Components * Simplified **Floating Navigation Toolbar architecture** * Removed legacy and unused UI components (MiniPlayer container, dialogs) * Standardized **PreferenceEntry usage across settings** * Cleaned up **Player, Lyrics, and Library UI structure** ### Codebase Cleanup * Removed redundant logic, unused variables, and legacy flows * Improved **readability, maintainability, and consistency** across modules --- ## Other Changes * Multiple dependency and Gradle upgrades * Internal code structure improvements and cleanups * Minor UI styling adjustments (#387) * Reverts and experimental feature rollbacks for stability * Metadata, README, and community updates (Telegram badge) * Version bump to **v13.1.0** --- ## Other Changes II * chore(deps): update gradle to v9.4.1 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/389 * chore(deps): update gradle/actions action to v6 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/395 * fix(deps): update compose to v1.10.6 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/402 * fix(deps): update dependency androidx.work:work-runtime-ktx to v2.11.2 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/403 * fix(deps): update media3 to v1.10.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/412 * fix(deps): update ktor monorepo to v3.4.2 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/415 * fix infinite queue by @Windowstechtips in https://github.com/koiverse/ArchiveTune/pull/426 * some shiz by @Windowstechtips in https://github.com/koiverse/ArchiveTune/pull/427 * chore(deps): update androidgradleplugin to v9.1.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/428 --- ## Notes * Includes multiple issue-related fixes and enhancements: **#386, #390, #396, #398, #401, #410, #416, #418** * Some experimental toolbar and layout changes were reverted for stability --- **Full Changelog**: https://github.com/koiverse/ArchiveTune/compare/v13.0.0...v13.1.0
  • Mar 18, 2026 13.0.0
    # Changelog ## πŸš€ Highlights This release focuses on **major UI upgrades, playback improvements, lyrics enhancements, and the introduction of new core systems** like Music Together and Music Recognition. Stability, performance, and internal architecture have also been significantly refined. --- ## ✨ Features
    More…
    ### 🎧 Player & Playback * Introduced **V5 and V6 player styles**, with improved layouts and interaction design * Added **permanent shuffle mode** and enhanced repeat/shuffle controls * New **gesture controls**: * Double-tap to skip * Vertical drag to seek * Added **streams options** and improved codec visibility * Enhanced **seekbar behavior** and playback interaction handling * Added **keyboard controls** and **landscape lock support** * Improved **automix system** with smarter filtering and recommendations * Added **pause on device mute** and **Bluetooth auto-play** ### 🎨 UI / UX * Major redesign of **Settings**, **Experimental Settings**, and overall UI consistency * Added **Floating Navigation Toolbar** with improved interaction and animations * Improved **menus** with card-based and sectioned layouts * Added **search inside Settings** * Separated **Mood & Genres into dedicated screens** * Improved **carousel components** and layout responsiveness ### 🎀 Lyrics System (Major Upgrade) * Completely enhanced **TTML parsing and timing accuracy** * Improved **karaoke-style rendering and word sync** * Filters out invalid/empty lyrics before UI rendering * Added: * RTL support * System/custom font options * Lyrics preloading * Better provider handling * Improved **lyrics UI styling** with unified glass design ### πŸ“Š Year in Music * Fully redesigned **Year in Music experience** * Added: * Story-style pager * Top albums view * Year selector * Share-safe rendering system ### 🀝 Music Together (New) * Real-time **shared listening sessions** * Online session support with remote server * Guest roles with permission control * WebSocket-based synchronization * Improved error handling and connection fallback logic ### 🎡 Music Recognition (New) * Built-in **music recognition feature** * Enhanced result display with metadata and responsive layout ### πŸ–ΌοΈ Canvas System * Introduced **ArchiveTune Canvas system** * Improved artwork handling, caching, and fallback logic * Better thumbnail matching and reliability ### πŸ’Ύ Backup & Data * More reliable **backup & restore system** with detailed progress * Expanded file type support for imports * Improved **database transaction safety** ### 🌐 Localization * Added **Italian and Turkish** * Expanded support for: * Japanese, Korean, Vietnamese, and more * General translation improvements across the app --- ## πŸ› οΈ Fixes * Fixed **YouTube sync toggle reliability** and state handling * Resolved multiple **playback edge cases** (queue restore, crossfade timing, metadata updates) * Fixed **lyrics sync issues**, including TTML timing inconsistencies * Addressed **UI bugs** (layout overlap, padding, navigation alignment) * Improved **playlist handling**, including concurrency and edge cases * Fixed **network, login, and token-related issues** * Improved **Music Together stability and error reporting** * Numerous dependency updates and compatibility fixes --- ## ⚑ Performance * Cached **stream URLs** to reduce load time * Optimized **DataStore operations** and queue persistence * Improved **coroutine usage** in playback and UI layers * Reduced unnecessary recompositions and UI rebuilds --- ## πŸ”§ Refactors * Large-scale cleanup of **player, lyrics, and networking layers** * Simplified **YouTube parsing and stream handling logic** * Modularized **gesture handling and UI components** * Improved **state management across services and ViewModels** * Reworked **crossfade and audio pipeline internals** --- ## πŸ“š Documentation * Updated README with clearer feature descriptions * Added **CONTRIBUTING guide** * Improved project documentation and links --- ## πŸ—οΈ Build & CI * Improved **GitHub Actions workflows** for builds and testing * Added **universal APK reproducibility checks** * Migrated and cleaned up Gradle configuration * Updated major dependencies and tooling versions --- ## 🧾 Notes * Some experimental or redundant features were removed or reworked * Internal systems (e.g., streaming clients, token handling) have been heavily upgraded for long-term stability --- ## Other Changes II * fix(deps): update dependency androidx.datastore:datastore-preferences to v1.2.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/213 * fix(deps): update compose to v1.10.1 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/212 * fix(deps): update lifecycle to v2.10.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/214 * fix(deps): update room to v2.8.4 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/215 * chore(deps): update dependency com.google.devtools.ksp to v2.3.4 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/216 * chore(deps): update gradle to v9.3.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/217 * fix(deps): update dependency androidx.activity:activity-compose to v1.12.2 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/220 * chore(deps): update kotlin to v2.3.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/219 * fix(deps): update dependency androidx.work:work-runtime-ktx to v2.11.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/222 * fix(deps): update dependency androidx.navigation:navigation-compose to v2.9.6 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/221 * fix(deps): update dependency org.jsoup:jsoup to v1.22.1 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/224 * fix(deps): update dependency org.apache.commons:commons-lang3 to v3.20.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/223 * chore(deps): update github artifact actions (major) by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/233 * chore(deps): update actions/checkout action to v6 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/232 * fix(deps): update media3 to v1.9.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/229 * chore(deps): update gradle/actions action to v5 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/235 * fix(deps): update dependency org.mozilla:rhino to v1.9.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/234 * chore(deps): update mikepenz/release-changelog-builder-action action to v6 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/236 * fix(deps): update ktor monorepo to v3.4.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/228 * fix(deps): update dependency org.jsoup:jsoup to v1.22.1 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/226 * fix(deps): update media3 to v1.9.1 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/247 * Language PR: Vietnamese + Update dynamic theme logic by @sang765 in https://github.com/koiverse/ArchiveTune/pull/251 * chore(deps): update dependency com.google.devtools.ksp to v2.3.5 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/252 * fix(deps): update dependency androidx.work:work-runtime-ktx to v2.11.1 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/253 * fix(deps): update dependency androidx.navigation:navigation-compose to v2.9.7 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/254 * fix(deps): update compose to v1.10.2 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/255 * chore(deps): update gradle to v9.3.1 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/259 * (feat): Add option to crop YouTube thumbnail to 1:1 by @sang765 in https://github.com/koiverse/ArchiveTune/pull/262 * fix(deps): update dependency androidx.activity:activity-compose to v1.12.3 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/261 * (feat): Support Github markdown and HTML tag in update description by @sang765 in https://github.com/koiverse/ArchiveTune/pull/264 * fix(deps): update dependency com.mikepenz:multiplatform-markdown-renderer-m3 to v0.39.1 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/265 * fix(Items.kt): Square thumbnail by @sang765 in https://github.com/koiverse/ArchiveTune/pull/271 * fix(deps): update dependency com.mikepenz:multiplatform-markdown-renderer-m3 to v0.39.2 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/277 * translate: Add missing strings for Japanese, Korean and Vietnamese by @sang765 in https://github.com/koiverse/ArchiveTune/pull/278 * fix: square thumbnail not turn back after off by @sang765 in https://github.com/koiverse/ArchiveTune/pull/279 * fix(deps): update media3 to v1.9.2 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/287 * chore(deps): update dependency go to 1.25 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/288 * chore(deps): update actions/checkout action to v6 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/289 * chore(deps): update actions/setup-go action to v6 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/290 * chore(deps): update stefanzweifel/git-auto-commit-action action to v7 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/291 * fix(deps): update hilt to v2.59.1 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/285 * Fix: square thumbnail in arist by @sang765 in https://github.com/koiverse/ArchiveTune/pull/294 * chore(deps): update dependency go to 1.26 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/304 * fix(deps): update compose to v1.10.3 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/306 * fix(deps): update dependency androidx.activity:activity-compose to v1.12.4 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/307 * chore(deps): update androidgradleplugin to v9.0.1 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/310 * chore(deps): update kotlin monorepo to v2.3.10 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/266 * Add song suggestion for library playlist by @sang765 in https://github.com/koiverse/ArchiveTune/pull/299 * merge manually dev into main by @koiverse in https://github.com/koiverse/ArchiveTune/pull/312 * Feat: Add random color palette by @sang765 in https://github.com/koiverse/ArchiveTune/pull/314 * Song suggestion: Add duplicate check for song suggestion by @sang765 in https://github.com/koiverse/ArchiveTune/pull/316 * fix(deps): update dependency org.mozilla:rhino to v1.9.1 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/319 * chore(deps): update dependency com.google.devtools.ksp to v2.3.6 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/323 * Feat: Changelog by @sang765 in https://github.com/koiverse/ArchiveTune/pull/326 * feat(Theme): animate color scheme changes with spring animation by @sang765 in https://github.com/koiverse/ArchiveTune/pull/329 * fix(deps): update hilt to v2.59.2 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/334 * Fix betterlyrics fetch, Fix "Scrolling turns off lyric animation", optimize lyric animation timings, optimize Wrapping for long lyric text by @Windowstechtips in https://github.com/koiverse/ArchiveTune/pull/335 * Lyrics Rewrite! LyricsV2 by @Windowstechtips in https://github.com/koiverse/ArchiveTune/pull/339 * Optimize and fix lyrics spacing wrap issues by @Windowstechtips in https://github.com/koiverse/ArchiveTune/pull/340 * Fix issues with Non word synced lyrics (CJK) by @Windowstechtips in https://github.com/koiverse/ArchiveTune/pull/341 * Fix crossfade handoff seeking backwards at track transition by @koiverse in https://github.com/koiverse/ArchiveTune/pull/344 * [Unstable] - feat(content): Preload lyrics for optimize lyrics loading by @sang765 in https://github.com/koiverse/ArchiveTune/pull/347 * remove enlargment stuff by @Windowstechtips in https://github.com/koiverse/ArchiveTune/pull/349 * fix(deps): update compose to v1.10.4 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/350 * fix(deps): update coil to v3.4.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/348 * chore(deps): update github artifact actions (major) by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/351 * fix(deps): update ktor monorepo to v3.4.1 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/357 * chore(deps): update androidgradleplugin to v9.1.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/358 * chore(deps): update gradle to v9.4.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/359 * Crossfade: A few improvements... by @sang765 in https://github.com/koiverse/ArchiveTune/pull/363 * Player: Add real keyboard support by @sang765 in https://github.com/koiverse/ArchiveTune/pull/364 * fix(deps): update dependency com.github.arthenica:ffmpeg-kit to v6.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/367 * fix(deps): update compose to v1.10.5 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/372 * fix(deps): update dependency androidx.activity:activity-compose to v1.13.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/373 * fix(deps): update dependency androidx.datastore:datastore-preferences to v1.2.1 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/375 * chore(deps): update kotlin monorepo to v2.3.20 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/383 * fix(deps): update media3 to v1.9.3 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/384 ## New Contributors * @sang765 made their first contribution in https://github.com/koiverse/ArchiveTune/pull/251 **Full Changelog**: https://github.com/koiverse/ArchiveTune/compare/v12.4.7...v13.0.0
  • Jan 21, 2026 12.4.7
    # Changelog v12.4.7 ## ✨ New Features ### **Player & Audio Engine** * **High Fidelity Audio:** Added "Very High" and "Highest" audio quality options to settings. * **Audio Normalization:** Implemented `perceptualLoudnessDb` schema to support more accurate audio normalization. * **Audio Offload:** Introduced a new preference key and ExoPlayer configuration to support audio offloading for better battery efficiency during playback. * **Player V4 Design:** Added a new "V4" player design style, alongside a new "Glow" background animation style.
    More…
    * **Playback Control:** * Added custom shuffle and repeat mode commands to the Media Session callback. * Added specific "Start Mix" buttons for both Local and Online playlists. * Added a loading progress bar state when the player is buffering. ### **Lyrics Experience** * **Visual Overhaul:** Completely overhauled lyrics animations, specifically implementing a "BetterLyrics-style" karaoke animation that features improved gradients, glow effects, and smoother transitions. * **TTML Support:** Added full parsing support for TTML lyrics, including handling for background vocals and precise end-times. * **Styling Options:** * Added a distinct style for Romanized lyrics to differentiate them visually. * Added a "Karaoke" animation style for standard lyrics display. * Added settings to adjust preview time constants. * **Synchronization:** Implemented auto-sync logic for lyrics and a fallback animation if karaoke data is missing. ### **User Interface & Theming** * **Navigation Rail:** Implemented a Navigation Rail for wide-screen devices (replacing the bottom bar) to improve tablet/landscape usability. * **Material 3 Adoption:** Full migration to Material 3 UI components, including Switches, Sliders, Edit Texts, and Palette Pickers. * **Theme Creator:** * Added a comprehensive **Palette Picker Screen** with carousel indicators. * Added support for **Custom Theme Seeds**, "Exact Palettes," and a "Pure Black" mode. * Vibrant mesh backgrounds now feature increased blob opacity and falloff stops. * **Blur Effects:** * Added toggle options to disable blur effects specifically in Album and Library screens. * Refined the TopAppBar blur with dynamic height adjustments based on scroll position. * **Year in Music:** Added a summary feature (`YearInMusicScreen`) that generates shareable images with theme-based colors and user statistics. ### **Library & Content Management** * **Global Video Filtering:** Added a comprehensive "Hide Video" preference that filters video content across **all** application areas: * Home, Search (and Suggestions), Explore, New Releases, Artist Pages, and Playlists. * **Playlist Management:** * **Auto-Sync:** Implemented automatic synchronization for playlists with immediate triggers upon enabling. * **Duplicate Handling:** Added robust duplicate detection and state management when importing playlists. * **Reordering & Pinning:** Added support for dragging to reorder playlists and pinning favorite playlists. * **Tagging:** Added support for tagging multiple playlists and filtering by tags in the library. * **Artist Separators:** Added a dialog and options for managing custom artist separators. ### **Integrations** * **Last.fm:** * Implemented full **OAuth Login** and mobile session authentication. * Enhanced robustness for "Now Playing" updates and session key handling. * **Discord RPC:** * Added a **Discord Image Resolver** to handle rich presence assets. * Implemented connection status checks, wait logic, and automatic image type detection. * **GitHub:** Added a cached "Contributors" section to the About screen (filtering out bots). --- ## πŸ› Bug Fixes ### **Playback & Audio** * **Looping Issues:** Fixed a bug where Album Looping was not working as expected. * **Radio Mode:** Resolved an issue where Radio mode would restart the current song from the beginning upon start. * **Normalization:** Fixed bugs preventing audio normalization from functioning correctly. * **Metadata:** Corrected track duration calculations for Last.fm updates and handled null song cases to prevent crashes. ### **User Interface** * **Blur & Visibility:** * Fixed issues where the TopAppBar shadow/background was missing. * Adjusted alpha values for blur overlays to fix visibility issues ("Blur like before"). * Fixed the "Downloaded" filter pill not showing downloaded albums correctly. * **Lyrics:** Fixed scrolling motion reduction and improved gradient transitions for karaoke fills. * **Bottom Sheet:** Fixed background opacity issues in `BottomSheetPlayer`. ### **Sync & Database** * **Startup Crashes:** Fixed an ANR (App Not Responding) issue caused by SQLite deadlocks during startup after YouTube login. * **Playlists:** * Fixed inconsistencies when adding songs to playlists. * Fixed auto-sync database queries. * Improved error handling for Backup/Restore operations. * **Login Persistence:** Fixed Last.fm login dialog behavior and credential storage (reading from `local.properties`). ### **System & Services** * **Foreground Service:** Ensured compliance with Android O+ foreground service requirements to prevent crashes. * **Discord Presence:** Fixed connection stability, restart lockout logic, and shutdown resilience. * **Crash Reporting:** Enhanced the Debug Activity to include stack traces and action buttons. --- ## ⚑ Performance Improvements * **Image Caching:** Optimized `Coil` image requests by dynamically sizing requests and implementing automated cache pruning for old entries. * **Lyrics Engine:** * Implemented binary search for lyric line index lookup (significantly faster than linear search). * Optimized update delays for smoother synchronization. * **Concurrency:** * Offloaded blocking operations in `MainActivity` and `MusicService` to background dispatchers. * Implemented concurrent data loading in `HomeViewModel`. * **Database:** Optimized `PRAGMA` settings and query performance for migrations. --- ## πŸ›  Technical Refactors * **Music Service:** Massive refactor of `MusicService.kt` to delegate media notification handling, command processing, and coroutine scope management. * **Database Migration:** Consolidated migrations and added a "Schema Repair" mechanism to handle updates to version 25 (including `isLocal` default value handling). * **Navigation:** Simplified navigation logic and removed redundant "Permission Onboarding" screens. * **Code Structure:** * Moved `DiscordRPC` image logic to a centralized resolver. * Refactored `DownloadUtil` to use shared cache definitions. * Cleaned up `ArtistScreen` and `AlbumScreen` layouts to remove unused imports and improve rendering efficiency. --- ## 🌐 Localization * **New Languages:** Added support for Estonian, Vietnamese. * **Updated Translations:** French, German, Indonesian, Japanese, Korean, Portuguese (Brazil), Russian. ## Other Changes II * Rename section from 'phoneScreenshots' to 'ArchiveTune Screenshots' by @Windowstechtips in https://github.com/koiverse/ArchiveTune/pull/92 * fix TopAppBar background by @GoldenWarriorM in https://github.com/koiverse/ArchiveTune/pull/100 * French language added by @MicheDePainn in https://github.com/koiverse/ArchiveTune/pull/103 * Redesign artist by @koiverse in https://github.com/koiverse/ArchiveTune/pull/105 * fix(deps): update compose to v1.10.0-rc01 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/110 * fix(deps): update dependency androidx.activity:activity-compose to v1.12.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/111 * fix(deps): update dependency androidx.compose.material3:material3 to v1.5.0-alpha09 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/112 * fix(deps): update dependency androidx.lifecycle:lifecycle-process to v2.10.0 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/113 * fix(deps): update dependency androidx.navigation:navigation-compose to v2.9.6 by @renovate[bot] in https://github.com/koiverse/ArchiveTune/pull/114 * merge Dev to main by @koiverse in https://github.com/koiverse/ArchiveTune/pull/135 * Fix typo in README description by @Windowstechtips in https://github.com/koiverse/ArchiveTune/pull/108 * add autoscroll button animation and .clickable scroll to current lyric by @GoldenWarriorM in https://github.com/koiverse/ArchiveTune/pull/153 * fix (Queue): prevent dragged queue item from being hidden behind others and fix current track highlighting during reordering by @GoldenWarriorM in https://github.com/koiverse/ArchiveTune/pull/158 * fix (ui/Menu): improve bottom sheet menu scrolling and gesture handling by @GoldenWarriorM in https://github.com/koiverse/ArchiveTune/pull/166 * Update German translations in archivetune_strings.xml by @siggi1984 in https://github.com/koiverse/ArchiveTune/pull/168 * Update German translations in strings.xml by @siggi1984 in https://github.com/koiverse/ArchiveTune/pull/169 * Update French translation in strings.xml by @Mickael81 in https://github.com/koiverse/ArchiveTune/pull/173 * Update French translation in archivetune_strings.xml by @Mickael81 in https://github.com/koiverse/ArchiveTune/pull/174 * Fix French translation issues & Proper Apple Music style lyric implementation for karaoke style. by @Windowstechtips in https://github.com/koiverse/ArchiveTune/pull/175 * Fix web remix client not working and premium audio quality not being available. by @Mizuuta in https://github.com/koiverse/ArchiveTune/pull/183 * Update lyrics API URL in BetterLyrics.kt by @Windowstechtips in https://github.com/koiverse/ArchiveTune/pull/184 * Update API base URL for BetterLyrics by @Windowstechtips in https://github.com/koiverse/ArchiveTune/pull/185 * TTML Overhaul, Lyrics Overhaul, Stats Page Overhaul, Homepage Optimizations by @Windowstechtips in https://github.com/koiverse/ArchiveTune/pull/187 * Dev by @Windowstechtips in https://github.com/koiverse/ArchiveTune/pull/189 * Add automix and autoplay similar content to queue UI by @Windowstechtips in https://github.com/koiverse/ArchiveTune/pull/190 * Remove unnecessary explicit multidex as it enabled by default by @MrBoomDeveloper in https://github.com/koiverse/ArchiveTune/pull/193 * Refactor bottom sheet drag logic into reusable modifier by @Windowstechtips in https://github.com/koiverse/ArchiveTune/pull/194 * animated glow bg and some other fixes by @Windowstechtips in https://github.com/koiverse/ArchiveTune/pull/195 * Update Translate by @koiverse in https://github.com/koiverse/ArchiveTune/pull/196 * ❀️‍πŸ”₯ Use navigation rail instead of bottom one if screen is wide by @MrBoomDeveloper in https://github.com/koiverse/ArchiveTune/pull/200 * Refactor lyrics and player UI for performance and style by @Windowstechtips in https://github.com/koiverse/ArchiveTune/pull/202 ## New Contributors * @GoldenWarriorM made their first contribution in https://github.com/koiverse/ArchiveTune/pull/100 * @MicheDePainn made their first contribution in https://github.com/koiverse/ArchiveTune/pull/103 * @siggi1984 made their first contribution in https://github.com/koiverse/ArchiveTune/pull/168 * @Mickael81 made their first contribution in https://github.com/koiverse/ArchiveTune/pull/173 * @Mizuuta made their first contribution in https://github.com/koiverse/ArchiveTune/pull/183 * @MrBoomDeveloper made their first contribution in https://github.com/koiverse/ArchiveTune/pull/193 **Full Changelog**: https://github.com/koiverse/ArchiveTune/compare/v12.4.6...v12.4.7