v3.0.0
What's New in v3.0.0
Native Audio Streaming
- Direct PCM audio via AudioTrack (Sendspin protocol) — replaces ExoPlayer pipe architecture
- Zero-copy writes from WebSocket to hardware — minimal latency
- Instant play/pause response (AudioTrack flush on pause)
- Reliable background playback with WakeLock
Redesigned UI
- Fully native Jetpack Compose with Material 3 theming
- Custom typography (Poppins headings, Inter body)
- Shared composables for consistent look across all screens
- Smooth slide animations between screens
Multi-Player Support
- View and control any player on your MA server
- Player selector with real-time state updates
- Metadata clears properly when switching to idle players
Notification & Lock Screen
- MusicService independently manages metadata (works when app is closed)
- Play/pause/next/prev controls on notification and lock screen
- Album artwork, track title, artist, and seek bar
- External playback triggers (e.g., from Home Assistant) show metadata correctly
Library & Queue
- Browse artists, albums, tracks, playlists, and radio stations
- Paginated library browsing
- Queue management (view, reorder, delete items)
- Search across your entire music library
Other Improvements
- Event-driven WebSocket updates (no polling)
- Exponential backoff reconnection for both API and Sendspin connections
- ForwardingPlayer intercepts MediaSession commands and routes to MA API
Full Changelog: v2.0.2...v3.0.0