FrostWire for Android 3.1.1 Build 772

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.

Leave a comment