This is a patch release. If you are already on v1.8.0, this update installs normally with no data loss.
If you are updating from v1.7.x or earlier, see the v1.8.0 release notes for migration instructions.
What's New
New Features
- LibreTube Import: Import subscriptions directly from a LibreTube backup file. Embedded avatars are reused; only missing thumbnails trigger a network fetch.
- Metrolist Import: Import music playlists from a Metrolist backup (.zip). All playlists and tracks are imported with full thumbnail and duration data. Local-file-only entries are skipped.
- Playlist Downloads: Download full video playlists with one tap. Capped at 720p for reliable MP4 output.
- Playlist Page Redesign: Music playlists now show large centered artwork with an ambient blurred background matching the music player. Title, artist, track count, duration, and description displayed below. Top bar transitions from transparent to solid on scroll.
- Add Songs to Playlist: Playlists now have an inline search bar. Typing triggers live debounced search — tap the + icon on any result to add it instantly.
- Mini Player Click-to-Expand: Tapping anywhere on the collapsed mini video player expands it to full screen. Close and play/pause buttons still work as expected.
- Copy Logs Button: The video player error overlay now has a "Copy Logs" button that copies device info, Android version, ExoPlayer state, and recent player events to the clipboard for easy bug reporting.
Imports & Onboarding
- Background Import System: Imports are now managed by an activity-scoped ViewModel and survive screen navigation. Leaving the Import screen no longer cancels the operation.
- Import Progress Notifications: A persistent notification shows live import progress while running. A completion notification is posted when finished.
- Live Progress Banner: An animated progress banner appears inside the Import screen and onboarding Import step during active imports.
- NewPipe Handle URLs: Fixed subscriptions from NewPipe exports using handle-style URLs being silently skipped. The parser now resolves handles correctly.
- YouTube Takeout BOM Fix: Fixed Takeout CSV files with UTF-8 BOM causing the first channel ID to parse incorrectly. Quoted channel names from regional exports are also handled.
- Channel Avatar Resolution: Fixed avatar fetching for handle channels. The URL is now constructed as youtube.com/handle instead of youtube.com/channel/handle.
Performance
- Instant Music Playback: Tracks now begin buffering immediately on tap instead of waiting for stream URL resolution. ExoPlayer starts its audio pipeline right away using a resolving data source. Cached URLs (up to 10 minutes based on server-reported expiry) are served instantly. Duplicate history writes on each tap have been removed.
Video Player Fixes
- YouTube Session Expiry: Fixed the "YouTube data changed" error where videos failed with a generic network error. HTTP 403 and 410 responses are now detected as expired stream URLs and trigger a silent re-fetch, resuming playback without user action.
- Screen Off/On Refocus: Fixed the player showing 0:00 / 0:00 after turning the screen off and back on. The refocus handler now detects and recovers from three stuck states: IDLE, ghost-READY, and false-ENDED.
- Expanded Error Coverage: The error handler now covers every PlaybackException code in Media3 1.4.x, including decoder format errors, DRM failures, audio track errors, and cleartext-not-permitted. All errors feed into the diagnostic buffer for the Copy Logs feature.
Bug Fixes
- Mini Player Snap Regression: Fixed the mini player randomly snapping to collapsed state after v1.8.0. Caused by maxOffset resetting when the bottom nav bar visibility changed. Now held constant throughout the session.
- Mini Player Fling Direction: Fixed upward fling gestures being ignored. The drag handler now explicitly handles negative velocity for expand gestures.
- Live Stream Segments: Fixed 30-second live stream issue and added a live-specific progress bar.
- Playlist Shuffle: Fixed the shuffle button being wired as a no-op. It now shuffles the track list and starts playback from the first shuffled track.
- Playlist Search Keyboard Overlap: Fixed the inline search bar being hidden behind the soft keyboard. The list now applies IME padding and scrolls to the search bar on focus.
- Playlist Search Trigger: Fixed results not appearing until the IME action was pressed. Results now fetch automatically 350ms after each keystroke.
System Requirements
- Android 8.0 (API 26) or higher
- 2GB RAM recommended
Full Changelog: v1.8.0...v1.8.1