This release note covers everything shipped in FrostWire for Android 3.1.0 build 771 and 3.1.1 build 772.
frostwire-android-release-3.1.1-b772-plus.apk
Release At A Glance
- 120 notable changes in total
- 69 fixes
- 13 improvements
- 5 new features
- 33 maintenance updates
Biggest Themes In This Release
- Much stronger playback reliability, especially for cold starts, notifications, direct-file playback, album art, queue state, and now-playing UI updates
- Better torrent and transfer stability, including previous-session restore, large torrent file lists, transfer list responsiveness, and VPN or Wi-Fi protection behavior
- Better search and download reliability for YouTube, SoundCloud, and Internet Archive
- Fewer ANRs, StrictMode violations, lifecycle crashes, and Android 12-14 compatibility issues
- Safer, more modern app infrastructure with Media3, DataStore, updated dependencies, and broad deprecated-API cleanup
New Features
- Added I2P support and I2P settings so users can route transfers through anonymous proxy infrastructure
- Added YouTube playlist URL search and playlist-aware download flow
- Added a terminal launcher for building, installing, and running FrostWire Android without Android Studio
- Added a live logcat viewer to the launcher workflow for faster debugging
- Added clearer VPN and Wi-Fi protection status feedback in the Transfers screen
Player And Library Improvements
- Migrated the music player from the old MediaPlayer stack to ExoPlayer and Media3 for more reliable playback behavior
- Migrated playback integration from RemoteControlClient to MediaSession APIs
- Adopted the standard Android media notification style with output device selector support
- Made player controls, metadata, play or pause state, repeat, and shuffle react faster
- Fixed cold-start playback issues that could restart the first song, miss metadata, or hide the system notification
- Fixed player notification behavior across next, previous, auto-advance, and direct-file playback
- Fixed direct playback for freshly downloaded audio before MediaStore indexing finishes
- Fixed album art fallback loading for direct-file playback and freshly downloaded tracks
- Fixed the elapsed-time labels and seekbar so they refresh as soon as track metadata is available
- Fixed My Music and Now Playing deletion flow on Android 11+ by using the system MediaStore delete confirmation flow
- Fixed ghost entries in Recent and Favorites after deleting songs
Transfers, Torrents, And Search
- Fixed previous-session torrent restores so old transfers reliably come back after relaunch
- Fixed large torrent file lists that could stall, ANR, or take too long to appear in Transfer Detail
- Fixed torrent status rendering that could freeze the Transfers list
- Fixed transfer rows and Transfer Detail file rows getting temporarily out of sync with live state
- Fixed transfer audio play buttons so they open FrostWire’s own player correctly
- Fixed Wi-Fi-only and VPN guard protection behavior after Android networking API changes
- Improved torrent and magnet handling from browsers and download managers
- Fixed tracker edit and remove actions when the underlying tracker list changed
- Fixed YouTube 403s, dropped headers, empty downloads, slow playback start, and file type detection issues
- Restored SoundCloud search reliability and improved filtering of results that cannot really be downloaded
- Restored Internet Archive downloads from search results
Performance And Stability
- Removed dozens of ContentResolver queries and file-system operations from the UI thread
- Eliminated multiple StrictMode violations across storage access, file opening, preference saves, and UI-triggered background work
- Fixed crashes tied to foreground-service startup, player shutdown, rejected executor tasks, and missing native torrent libraries
- Added safer handling for native jlibtorrent startup failures so the app stays usable even when the torrent engine cannot initialize
- Fixed several detached-fragment and stale-activity crashes across search, profiles, playlists, settings, and dialogs
- Fixed Android 13+ permission prompting so storage or media permissions no longer re-trigger repeatedly on resume
- Fixed shutdown path StrictMode warnings caused by reflective task finishing
Platform And Architecture Work
- Migrated app preferences from SharedPreferences to Jetpack DataStore
- Added a central configuration repository for defaults, migrations, and safer preference access
- Modernized fragment APIs, activity result flows, menu handling, notifications, and many deprecated Android platform calls
- Updated yt-dlp, Chaquopy, Python, Firebase, AndroidX, WorkManager, Coil, and other core libraries
- Removed outdated notification helpers, old media button plumbing, obsolete build flags, and unused 32-bit support
- Cleaned up legacy search engines and dead code paths that no longer reflected working services
What 3.1.1 Adds On Top Of 3.1.0
- Startup and foreground-service crash fixes
- More reliable restore of previous-session torrents
- Faster and safer Transfer Detail file loading
- Fixes for My Music deletion on Android 11+
- Fixes for now-playing clocks and seekbar updates
- Android 13+ permission prompt loop fix
- StrictMode cleanup for MainActivity shutdown
Bottom Line
3.1.1 is a cumulative stability release built on top of the major 3.1.0 modernization work. The biggest user-facing wins are smoother playback, more dependable torrent restore and transfer screens, better download reliability, and fewer Android-version-specific crashes and stalls.
