YumaPlayer v1.2.0-RC.1
A massive milestone update representing over a month of intensive development and a complete architectural overhaul. This release introduces a dedicated low-level audio DSP engine, the YDS 2.1 design system with a draggable Telegram-spec navigation island, native Spotify browsing, Canvas loops, robust proxy networking, and deep performance optimizations.
✨ Major Highlights
🎛️ Audio Engine & Smart Automix (:core:audio-dsp)
- Dual-Deck Continuous Crossfade: True gapless playback using two independent, synchronized audio deck controllers with atomic role swapping. Zero silence between tracks.
- DJ Transition Intelligence: Automated outro/intro cue detection, energy cliff analysis, BPM matching, and complementary bass-swap filters (0.45–0.55 window).
- Audiophile Codec Pipeline: Dedicated 24-bit packed PCM processing, Kopus-first Opus decoding with MediaCodec fallback, and native FLAC length resolution.
- Stall Guard & Recovery: Intelligent fallback to hard cuts during network drops, background stream revival upon reconnection, and strict source-scoped cache identities.
- N+1 Prefetching: Seamless background caching of upcoming tracks into the local download cache.
🏝️ YDS 2.1 & Gesture Physics
- Draggable Navigation Island: Compact, draggable floating dock inspired by Telegram specifications, featuring dynamic corner morphing, scroll-hide sync, and local haptic feedback.
- Unified Player Sheet V2: Re-engineered gesture physics with GPU-accelerated backdrop blur (
Haze), isolated drag layers, and independent artwork scaling. - Canvas Backdrop Engine: Hardware-accelerated background video loops supporting up to 4K resolution, backed by an isolated cache to prevent ghosting during track changes.
- Spoiler Veil: Interactive Telegram-grade particle engine to obscure tokens and sensitive settings.
- Particle Splash Screen: Customizable startup burst physics with shape selectors and offline state management.
🟢 Native Spotify Catalog
- Native Album Screen: Browse Spotify albums and custom playlists directly inside Yuma without external app dependencies.
- Two-Tier Search & Deduplication: Multi-stage scoring algorithm with cross-script deduplication and semaphore-throttled YouTube matching.
- Locale-Aware Metadata: Automatic synchronization with the device's locale and language headers.
🛡️ Network, Stability & SponsorBlock
- SponsorBlock Integration: Configurable in-app segment skipping (fillers, reminders, music hooks).
- SOCKS5 Proxy Support: Native proxy routing with JVM Authenticator support.
- Stream Decryption v3: Updated signature deobfuscation and PoToken generation routines to handle strict YouTube stream delivery.
- Memory Leak Elimination: Integrated LeakCanary 2.14, resolved theme lifecycle leaks, stopped background palette extract loops, and bounded karaoke memory allocations.
🛠️ Detailed Changes
Playback & Queue
- Auto-scroll to currently playing track inside the queue layer.
- Reordered queue operations to use immutable item UIDs instead of volatile layout indices.
- Bounded memory allocations for karaoke lyrics models to eliminate Out-Of-Memory crashes.
- Extracted Discord RPC and playback history tracking into isolated specialists.
Integrations & Settings
- SponsorBlock Controls: In-app settings to auto-skip or notify for sponsor segments, music hooks, fillers, and subscription reminders on YouTube Music tracks.
- Random Background on Startup: Optional dynamic styling that rolls a random home background palette upon launching the app.
- Enhanced Privacy & Security: Sensitive tokens and proxy credentials can now be concealed with the interactive Spoiler Veil.
UI & Screens
- Home Screen: Adaptive card dimensions, alternating contextual greeting header, and isolated category chip sections with zero layout jump.
- Canvas Player Progress: Replaced Material 3 slider with a custom Canvas-based
PlayerProgressSliderwith transition markers. - Modular Screen Architecture: Decomposed
MainActivitydown to 145 lines; refactored Artist, Album, Playlist, and Search screens into strict contracts and components under 250 lines. - About Screen: Integrated real-time team, respecters, and translator credits directly from repository data.
Localization
- Added full support for Slovak and Georgian.
- Comprehensive translation updates across dozens of languages via Hosted Weblate: Indonesian, Spanish, Japanese, German, Hindi, Italian, Turkish, Portuguese (Brazil), Ukrainian, Russian, Arabic, French, Dutch, and more.
👥 Contributors & Special Thanks
Massive thanks to everyone who contributed code, helped translate YumaPlayer on Hosted Weblate, and supported the project:
- Contributors & Translators:
- Community: Thank you to everyone submitting bug reports, validating early builds, and helping maintain translations.
⚠️ Known Limitations for RC.1
- 18+ Search Videos: Playback of age-restricted video streams originating directly from raw search queries is temporarily restricted due to client authentication checks; official artist audio tracks and albums remain unaffected.
- Automix Background Analysis: Initial local track analysis runs silently in the background on the first playback pass before transition markers are stored in the database.