github ArchiveTuneApp/ArchiveTune v13.6.0
13.6.0

3 hours ago

Changelog

Focuses on playback reliability, Chromecast integration, Music Together improvements, onboarding, backup handling, update delivery, and broader UI stability. This release also includes performance improvements, internal refactors, localization updates, and build pipeline refinements.

Major Highlights

Playback, Player & Audio

This release improves playback stability across multiple player styles, especially around CanvasArtwork, cached playback, fallback handling, and stream recovery.

  • Stabilized CanvasArtwork playback across V7 and compatible player styles.
  • Improved fallback playback, cached canvas reuse, and compatibility handling.
  • Disabled problematic audio decoding paths where needed to prevent playback crashes.
  • Improved recovery from invalid stream sessions, stale playback state, and cached playback span issues.
  • Fixed player queue access from player controls.
  • Fixed queue selection toolbar crashes, toolbar spacing, and selection count behavior.
  • Added a local song shuffle action for faster local playback control.
  • Improved open-ended read handling for WebM and Ogg playback streams.

Contributors: @rukamori, @mikooochi
Related: #823, #835, #851, #870, #885, #886

Chromecast, Cast & GMS Integration

Chromecast support has been added and the Cast experience has been redesigned for better reliability and a more modern interface.

  • Added Chromecast / Cast support for GMS builds.
  • Added LAN mode and HTTPS handling for Cast playback.
  • Replaced the legacy Cast router UI with a Jetpack Compose Cast menu.
  • Improved cast route selection behavior.
  • Added receiver branding support for ArchiveTune Cast.
  • Stabilized the Cast bridge, route picker menu, selectable-route handling, and AppCompat route dialog support.
  • Improved GMS Bluetooth scan permission handling.

Contributors: @mikooochi, @rukamori

Music Together & Social Presence

Music Together now provides clearer session ownership and participant state, with improved layout behavior and Discord Rich Presence reliability.

  • Added ownership transfer for Music Together sessions.
  • Added join and leave notifications for shared playback sessions.
  • Added Music Together access from the floating navigation toolbar.
  • Refactored Music Together screen state handling.
  • Improved adaptive layout behavior for responsive rendering.
  • Centralized Discord RPC sync flow.
  • Improved replay hold-aware Discord presence behavior.
  • Fixed Discord Rich Presence album button URLs.
  • Hydrated Discord presence links from the music service.

Contributors: @rukamori, @adam-adrian
Related: #864, #871, #877, #899

Library, Playlists & Search

Playlist management and search behavior have been improved with new controls, better state persistence, and cleaner UI handling.

  • Added playlist hiding from the library context menu.
  • Added playlist sort direction controls.
  • Restored custom playlist reordering.
  • Personalized top discovery sections in Search.
  • Switched Search to official tab behavior.
  • Fixed local playlist song selection persistence after refresh.
  • Restored remote history song playback.
  • Improved hidden playlist toggle styling.
  • Merged playlist action controls for cleaner playlist management.
  • Added NG language-code support.

Contributors: @rukamori, @sang765, @mikooochi
Related: #836

Onboarding, Backup & Update Flow

The first-run experience, backup restoration, and update flow have been expanded and refined.

  • Added a first-run onboarding flow.
  • Refined onboarding page design and fixed onboarding UI issues.
  • Added RestoreBackupFileActivity with .backup intent handling and validation.
  • Redesigned the update screen structure.
  • Added in-app GMS update downloads.
  • Allowed update triggering for FOSS builds.
  • Improved update download progress dialogs.
  • Centered download dialog content.
  • Added direct-download warning strings.
  • Fixed GMS nightly artifact URLs.
  • Restricted direct APK downloads to GMS builds.

Contributors: @mikooochi, @sang765, @rukamori
Related: #872

Widgets, Quick Settings & System UI

System-level integrations received new widget and quick settings support.

  • Added the Listening Insights widget with additional listening information.
  • Added AOD quick settings tile support.
  • Improved AOD launch behavior by expanding the player before entering AOD mode.
  • Added snackbar notifications.
  • Added AI translate dialog background mode.

Contributors: @rukamori, @sang765
Related: #878, #893

Stability & Bug Fixes

Playback & Media Reliability

  • Fixed V7 Canvas playback instability.
  • Fixed Canvas fallback behavior and cached Canvas compatibility.
  • Fixed Canvas decoding crash cases.
  • Fixed playback effect rebinding.
  • Fixed cached Canvas handling.
  • Fixed search bar text-input crash cases.
  • Fixed playback recovery callback typing.
  • Fixed bad stream-session recovery.
  • Fixed local songs incorrectly using YouTube radio.
  • Ensured radio playback replaces the queue correctly.
  • Fixed Music Together playback sync reliability.
  • Widened Music Together screen state flow typing.
  • Switched device mute detection to AudioManager for more reliable mute-state handling.

Contributors: @rukamori, @mikooochi
Related: #864, #871, #877

Lyrics & Translation

  • Fixed lyrics preload getting stuck by falling back through available providers.
  • Preserved original lyrics after translation.
  • Restored TTML word phonetics.
  • Stripped embedded word timing tags from lyrics output.
  • Removed the top grabber indicator from the lyrics screen.
  • Blocked player-control touch passthrough from the lyrics screen.

Contributors: @rukamori
Related: #823, #890

UI, Layout & Responsiveness

  • Unified player-aware bottom padding across settings screens.
  • Fixed Add to Playlist dialog adaptive layout so actions remain visible.
  • Removed the dark background from the create row.
  • Redesigned the Tags Management dialog with an adaptive layout.
  • Added adaptive Playback Error information layout.
  • Added adaptive Music Together activity layout.
  • Fixed Home screen speed dial auto-fit height.
  • Fixed speed dial icon contrast.
  • Fixed floating navigation toolbar brightness.
  • Fixed pure-black mode FAB transparency in the floating toolbar.
  • Fixed onboarding segmented list item calls.
  • Disabled slider style for V7, V8, and V9 player styles where it caused appearance issues.

Contributors: @adam-adrian, @rukamori, @mikooochi
Related: #834, #876, #883

Queue, Player Menu & Navigation

  • Removed unused radio menu actions from the player menu.
  • Removed the library create-playlist FAB from the floating navigation toolbar.
  • Removed queue selection count from the toolbar.
  • Prevented selection toolbar constraint crashes.
  • Fixed queue opening from player controls.
  • Replaced the legacy queue selector.

Contributors: @rukamori
Related: #886

YouTube, Playlists & Data Handling

  • Fixed YouTube playlist mutations when delegated authentication becomes stale.
  • Fixed Library Mix screen most-played album display.
  • Fixed remote history song playback.
  • Improved WebM and Ogg stream handling for open-ended reads.

Contributors: @rukamori, @mikooochi
Related: #891

Performance Improvements

  • Reused cached Canvas videos to reduce repeated Canvas resolution work.
  • Reused cached playback spans to reduce repeated playback processing.
  • Improved WebM and Ogg stream handling for open-ended reads.
  • Enabled Gradle build caching.
  • Refined MusicService DataSpec length handling.
  • Removed unused cached-resource checks.
  • Improved update download progress handling.
  • Refined update screen structure.

Contributors: @rukamori, @mikooochi

Internal Cleanup & Refactors

Architecture & Navigation

  • Moved Search to the top route for a cleaner navigation structure.
  • Moved vibration settings into Privacy settings.
  • Added translucent top app bar icon buttons in MainActivity.
  • Lightened Mood & Genres cards.
  • Refreshed resource icons.

Contributors: @rukamori
Related: #849

Lyrics, Providers & Modules

  • Extracted lyrics providers into a submodule.
  • Moved pointer-input handling to the Apple Music controls column for safer input consumption.
  • Preserved original lyrics state through translation and provider workflows.

Contributors: @sang765, @rukamori
Related: #880

Cast & Playback Internals

  • Replaced the flat-list Cast route sheet with a Compose-based route flow.
  • Specified Cast screen state typing for MutableStateFlow.
  • Centralized Cast route selection success handling before hiding the route picker.
  • Refined MusicService playback sync behavior.
  • Refined DataSpec handling.
  • Improved cached playback logic.

Contributors: @mikooochi, @rukamori

Build, CI & Release Reliability

  • Made release signing optional.
  • Added support for FOSS release signing.
  • Added GMS naming to build artifacts.
  • Gated issue notifications on successful APK builds.
  • Triggered development notifications after APK builds.
  • Enabled Gradle build cache.
  • Disabled cache duration for changing modules.
  • Fixed compile issues around widget updater scope, extra branches, and missing resources.
  • Updated submodule references.
  • Merged submodule changes.
  • Removed the Izzy variant.
  • Moved the Discord OAuth callback activity into the shared manifest.
  • Cleaned unused strings, resources, and codebase entries.
  • Updated random speed dial color behavior.
  • Prevented icon color overrides.
  • Updated About ViewModel and cleaned attribution-related code.
  • Bumped version to 13.6.0.

Contributors: @rukamori

Localization & Community

  • Added missing Vietnamese and Japanese translations.
  • Updated translations through Weblate for Korean, Spanish, German, French, Indonesian, Japanese, Estonian, Russian, Vietnamese, Portuguese (Brazil), Malay, Arabic, Arabic (Egyptian), Italian, Turkish, Chinese Simplified, Hebrew, Malayalam, Dutch, Ukrainian, Sanskrit, Hindi, and Tamil.
  • Updated translation files.
  • Added missing string resources.

Contributors: @sang765, @codeberg Translate, @rukamori
Related: #892

Pull Request Highlights

  • #834 — Unified player-aware bottom padding across settings screens by @adam-adrian.
  • #836 — Added playlist hiding from the library context menu by @sang765.
  • #872 — Added RestoreBackupFileActivity with .backup intent handling and validation by @sang765.
  • #880 — Extracted lyrics providers into a submodule by @sang765.
  • #892 — Added missing Vietnamese and Japanese translations by @sang765.
  • #893 — Added snackbar notifications and AI translate dialog background mode by @sang765.
  • #899 — Centralized Discord RPC sync flow and replay hold-aware behavior by @adam-adrian.

Contributors

Thanks to everyone who contributed to this release:

@hsp1020, @gallegonovato, @flue17, @adam-adrian, @rukamori, Priit Jõerüüt, @AlmaziikDev, @RubCut, @danz, @NENO756, @semmy, @ciaociaociao, @raden, @Zepp043, @Yar270, man_with_scars, @Vistaus, @mybxdxyz, @vintagezero, @midomizo933, @Chandramauli-Arm64, @ValteMCPE, @Mickael81, @naturbrilian.

Referenced Issues & Pull Requests

#823, #834, #835, #836, #849, #851, #864, #870, #871, #872, #876, #877, #878, #880, #883, #885, #886, #890, #891, #892, #893, #899

Full Changelog

v13.5.0...v13.6.0

Don't miss a new ArchiveTune release

NewReleases is sending notifications on new releases.