| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| frostwire-android-release-3.0.7-b761-plus.apk | 2025-10-16 | 123.1 MB | |
| frostwire-android-3.0.7-build-761 source code.tar.gz | 2025-10-16 | 33.9 MB | |
| frostwire-android-3.0.7-build-761 source code.zip | 2025-10-16 | 35.8 MB | |
| README.md | 2025-10-16 | 29.4 kB | |
| Totals: 4 Items | 192.8 MB | 2 | |
FrostWire 3.0.7 (Build 761) — Comprehensive Change Report
Release Date: October 16, 2025
Based on: FrostWire 2.x → 3.x transition (Android)
🧱 Architectural & Core Upgrades
Migration to jlibtorrent 2.0.12.5
- Full adoption of BitTorrent v2 protocol, including hybrid torrent support and BEP52 compliance.
- Hundreds of performance and stability fixes from upstream libtorrent RC_2_0 branch.
- C++20 standardization: all native builds now compiled with
C++20(C++2aon Windows/MinGW). - Boost 1.88.0, OpenSSL 3.5.2, and SWIG 4.3.1 upgrades for improved compatibility and security.
- Android NDK r28c (16KB page support) → future-proofed for Android 14+ devices.
- JDK 17 build target with full
JAVA_17compatibility. - Mavenized jlibtorrent packages (
com.frostwire:jlibtorrent) for easier integration.
Key New Libtorrent (lt) Features
- Added async APIs:
post_trackers(),post_status(),post_peer_info(),post_piece_availability(),post_file_progress(), etc. - Enhanced
torrent_handlewith new overloads (get_resume_data(flags),add_piece(async)). - New runtime checks for
add_torrent_params::save_pathvalidation. - Major uTP performance improvements: reduced redundant ACKs, resends, and improved congestion control.
- Improved I/O subsystem: switched to memory-mapped files with better sparse region handling.
- Added stricter BEP compliance (filename validation, piece layers, IPv6 priority, I2P improvements).
- Async I/O improvements → better throughput and less thread contention.
⚙️ FrostWire App-Level Enhancements
New Features
- TorrentCSV and Knaben integrated as new torrent search performers.
- Incoming Port Range configuration (
Settings > Torrent Settings > Port Range). - Automatic seeding of finished HTTP downloads, replicating desktop seeding behavior.
- Ad-free experience: all 3rd-party ads and trackers removed.
Only FrostWire support requests, VPN suggestions, and promotional downloads remain. - Updated
yt_dlpbinary to 2025.09.26 for YouTube & media downloading. - Distraction-free search mode enabled by default for cleaner UI.
Performance Optimizations
- Search sorting improved from
O(n² log n)→O(n log n)complexity. - Connection pooling unlocked via OkHttpClient reuse.
- Reduced GC pressure and CPU load in download and search pipelines.
- Fuzzy matching (
PerformersHelper): optimized Levenshtein computation, 8.8× faster sanitization. - I/O operations optimized with buffered streams — up to 96% CPU savings on syscalls.
- Regex eliminations in URL and string sanitizers for major allocation reductions.
- Threading refactors: removal of
Thread.yield()and newRunnabletask model inSearchManager. - Logger,
ThreadPool, andRecyclerViewhot paths heavily optimized. - Startup time reduced via deferred heavy initialization.
- Memory safety improvements with
Bitmap.recycle()andinSampleSizescaling to prevent OOMs.
UI & UX
- Picasso replaced for Coil
- Crash and ANR resilience: multiple handler and dispatcher fixes in
MusicPlaybackService. - ForegroundServiceStartNotAllowedException handling for Android 14+.
- New concurrent-safe URL resolver (
UrlUtils.getFastestMirrorDomain). - Thread-safe WorkManager configuration to prevent
JobScheduleralarm limit exceptions. - Optimized music metadata cleanup and playlist handling in background.
🧠 Code Quality & Refactoring
- SearchManager rewritten to use modern
Runnabletask submission. - Hashtable throttling replaced with lock-free
ConcurrentHashMap. - Removed deprecated APIs (
setDrawingCacheEnabled, replaced with Canvas API). - Consistent GPL v3.0 license headers across all source files.
- Modularized SWIG interface files for maintainability.
- Added
prepare-macos.shand improved build scripts (run-swig.sh,build-only,swig-onlyoptions). - Enhanced exception handling, typed bitfields, and Boost error code wrapping in SWIG bindings.
🧩 Stability & Crash Fixes
- Fixed multiple ANRs in:
MusicPlaybackService.setDataSourceMusicPlaybackService.playFDs- Large result sorting
Picassobackground handlers- Fixed NullPointerExceptions in
ImageFetcherandHandlerDispatcher. - Fixed ClassCastException in
SearchResultListAdapter. - Fixed ConcurrentModificationException in
Ssl$FWHostnameVerifier. - Fixed ForegroundServiceStartNotAllowedException for Android 14+.
- Fixed thread leaks and race conditions in mirror resolution and image loading.
- Fixed context leaks and improved lifecycle handling in broadcast receivers.
- Fixed OOM risks via aggressive bitmap cleanup and sample downscaling.
🧰 Library & Dependency Upgrades
| Library | Version |
|---|---|
org.jetbrains:annotations |
26.0.2-1 |
androidx.appcompat:appcompat |
1.7.1 |
androidx.browser:browser |
1.9.0 |
androidx.core:core |
1.17.0 |
androidx.exifinterface:exifinterface |
1.4.1 |
androidx.lifecycle:lifecycle-viewmodel-ktx |
2.9.4 |
androidx.work:work-runtime-ktx |
2.10.4 |
com.google.android.material:material |
1.13.0 |
com.google.code.gson:gson |
2.13.2 |
com.google.re2j:re2j |
1.8 |
com.squareup.okhttp3:okhttp |
5.1.0 |
io.coil-kt.coil3:coil |
3.0.4 |
iio.coil-kt.coil3:coil-network-okhttp |
3.0.4 |
com.chaquo.python:gradle |
16.1.0 |
org.codehaus.groovy:groovy-all |
3.0.25 |
com.google.gms:google-services |
4.4.3 |
com.google.firebase:firebase-crashlytics-gradle |
3.0.6 |
com.google.firebase:firebase-bom |
34.3.0 |
🔧 Libtorrent 2.0 Highlights (Technical Breakdown)
Major Improvements
- Disk I/O overhaul → memory-mapped files, reduced syscall overhead.
- uTP protocol refinements for stable low-latency streaming.
- Improved BEP compliance (BEP40, BEP52, IPv6).
- Added BitTorrent v2 torrent creation, validation, and mixed v1/v2 swarm handling.
- Resilient resume data loading/saving with new v2 formats.
- SOCKS5, I2P, DHT, proxy layers fixed and modernized.
- Improved DNS caching and error handling.
- Thread-safe piece picker,
file_progress, andhash_pickerfixes. - Removed deprecated APIs:
lazy_entry,save_state(),load_state(),bittyrant. - Dropped iconv dependency, lighter build footprint.
I2P & Privacy
- Added I2P inbound/outbound length variance settings.
- Fixed I2P announce parsing and protocol quoting.
- Added mixed swarm control (I2P + clearnet).
🧾 Summary
FrostWire 3 marks a major modernization leap — moving to: - BitTorrent v2 ecosystem, - 16KB page-aware Android binaries, - Ad-free user experience, - Fully optimized search and transfer performance.
This release focuses heavily on speed, stability, and code hygiene: - Native layer rewritten in C++20, - App layer streamlined for Android 14+, - Improved resource handling, - Significant performance wins in networking, searching, and I/O.
FrostWire 3.0.7 Build 761
The most stable, efficient, and privacy-respecting FrostWire release to date.
FrostWire 3.0.7 build 761 OCT/16/2025
- new:Powered by jlibtorrent 2.0.12.5 with bittorrent v2 protocol support with hundreds of bug fixes and performance improvements
- new:Knaben search performer, a new torrent search source
- new:TorrentCSV search performer, a new torrent search source
- new:Settings > Torrent Settings > Incoming Connection Port Range selection
- new:Seed finished HTTP transfers if seeding is enabled (automatically creates torrent of finished download like on desktop)
- new:No more third party ads or advertising tracking of any kind. Only frostwire support requests, vpn suggestions and promotional free downloads.
- yt_dlp-2025.10.14
- replaced:Picasso for Coil image loading library
- removed:Torlock search performer (old site is down, new site is malicious)
- freeze:ensure MusicUtils.removeFromPlaylist ContentResolver activity is in the background
- freeze:sorting through too many results could cause an ANR when cleaning up titles
- freeze:ANR in MusicPlaybackService.setDataSource
- freeze:ANR in MusicPlaybackService.playFDs
- fix:logic bug in PerformersHelper.countMatchedTokens(), matched tokens were not counted correctly
- fix:ForegroundServiceStartNotAllowedException by adding foreground check and error handling
- fix:Android 14+ ForegroundServiceStartNotAllowedException in MusicPlaybackService
- fix:Android JobScheduler alarm limit exceeded crashes by configuring WorkManager
- fix:ClassCastException in SearchResultListAdapter OnLinkClickListener
- fix:HandlerDispatcher NullPointerException crashes in Picasso image loading (removed on build 760)
- freeze:in playFDs
- freeze:in MusicPlaybackService.setDataSource
- crash:NPE in ImageFetcher.loadCurrentArtwork()
- improvement:PerformersHelper.sanitize() 8.8x speed gains in title normalization by not using a regex and instead simple string replacements
- improvement:Optimize stackBlur() with array pooling to reduce allocations
- maintenance:Avoid possible context leak on EngineBroadcastReceiver
- maintenance:all license headers are GPL 3.0
- maintenance:archive.org search fixed
- maintenance:ArchiveorgSearchPerformer -> InternetArchiveSearchPerformer
- maintenance:glotorrents search fixed
- maintenance:idope search fixed
- maintenance:magnetdl search fixed
- maintenance:add BitmapFactory.inSampleSize to prevent OOM crashes
- maintenance:Add Bitmap.recycle() to prevent native memory leaks
- maintenance:Replace deprecated setDrawingCacheEnabled() with Canvas API
- speed-up:Optimize search sorting from O(n² log n) to O(n log n)
- speed-up:reuse OkHttpClient instances to unlock connection pooling and reduce GC pressure
- speed-up:Replace global Hashtable throttling with lock-free ConcurrentHashMap in TaskThrottle
- speed-up:Cache torrent-search date parsers to eliminate per-result SimpleDateFormat allocations
- speed-up:Use buffered I/O for large transfers in OkHttpClientWrapper.save and ZipUtils.unzip. Up to 96% CPU savings in sys write calls, 30-50% reduction in CPU during I/O operations, search results should come out a lot faster
- speed-up:Optimize Levenshtein distance allocation footprint in PerformersHelper fuzzy matching
- speed-up:Optimize hot paths for string sanitizers - eliminate regex compilation overhead in search and scrapes (UrlUtils and StringUtils)
- speed-up:Optimize hot paths for Logger, ThreadPool, and collection sizing
- speed-up:Optimize MainApplication startup by deferring heavy initialization
- speed-up:Optimize RecyclerView onBindViewHolder() hot paths
- refactor: SearchManager tasks to Runnable and remove Thread.yield() from hot path
- crash:ConcurrentModificationException in Ssl$FWHostnameVerifier
- fix:Picasso HandlerDispatcher NullPointerException on network state changes when app is backgrounded by keeping Picasso alive instead of shutting down (removed on build 760)
- fix:thread leak and data race in UrlUtils.getFastestMirrorDomain
- Distraction free search now on by default, much better experience
- org.jetbrains:annotations:26.0.2-1
- androidx.appcompat:appcompat:1.7.1
- androidx.browser:browser:1.9.0
- com.chaquo.python:gradle:16.1.0, now with linked 16KB mode compatible with android compile sdk 36
- org.codehaus.groovy:groovy-all:3.0.25
- com.squareup.picasso3:picasso:3.0.0-alpha06 and refactor of ImageLoader to use it (removed on build 760)
- new: io.coil-kt.coil3:coil:3.0.4 and io.coil-kt.coil3:coil-network-okhttp:3.0.4
- com.google.gms:google-services:4.4.3
- com.google.firebase:firebase-crashlytics-gradle:3.0.6
- androidx.core:core:1.17.0
- androidx.exifinterface:exifinterface:1.4.1
- androidx.lifecycle:lifecycle-viewmodel-ktx:2.9.4
- com.google.android.material:material:1.13.0
- com.google.code.gson:gson:2.13.2
- com.google.re2j:re2j:1.8
- com.squareup.okhttp3:okhttp:5.1.0
- androidx.work:work-runtime-ktx:2.10.4
- com.google.firebase:firebase-bom:34.3.0
- removed: com.applovin:applovin-sdk
- removed: com.applovin.mediation:unityads-adapter
- Maintenance:all license headers are consistent with GPL 3.0
- jlibtorrent:libraries are now compiled with C++20 (ming/windows with C++2a which is the same)
- jlibtorrent:g++-9 upgraded to g++-11 for linux build
- jlibtorrent:new Sha256Hash::swig()
- jlibtorrent:new SessionManager::find(Sha256Hash) and SessionManager::find(TorrentInfo) methods
- jlibtorrent:built with android NDK r28c with 16K page size support
- Android 64-bit binaries are compiled to have 16KB max-page-size
- jlibtorrent:New com.frostwire:jlibtorrent- maven packages for easier integration with gradle/maven
- jlibtorrent:new torrent_handle::get_resume_data() : add_torrent_params
- jlibtorrent:new torrent_handle::get_resume_data(resume_data_flags_t flags) : add_torrent_params
- jlibtorrent:new settings_pack.int_types i2p_inbound_length_variance
- jlibtorrent:new settings_pack.int_types i2p_outbound_length_variance
- jlibtorrent:Jar built with JDK 17 - JAVA_17 compatibility
- jlibtorrentBoost 1.88.0 upgrade
- jlibtorrent:OpenSSL 3.5.2 upgrade (from 1.1.1t)
- jlibtorrent:Upgraded SWIG to 4.3.1
- jlibtorrent:Gradle 9.0.0
- dev: junit upgraded from 4.13.1 -> 4.13.2
- lt:add option to send host header in HTTP proxy CONNECT command
- lt:cache DNS failures for a shorter time
- lt:file_renamed_alert is always posted, regardless of alert mask
- lt:add feature to request resume data synchronously
- lt:don't leak file descriptors to child processes (O_CLOEXEC)
- lt:optimize the utp resend
- lt:optimize tracker announcements
- fix handling of invalid filenames
- add support for I2CP inbound.lengthVariance and outbound.lengthVariance tunnel settings
- lt: validate add_torrent_params::save_path at run-time
- lt: use stricter rules for what filenames are valid on Android
- lt: fix applying IP filter to DHT traffic (HanabishiRecca)
- lt: fix race condition when cancelling requests after becoming a seed
- lt: fix performance bug in the file pool, evicting MRU instead of LRU (HanabishiRecca)
- lt: fix bug where file_progress could sometimes be reported as >100%
- jlibtorrent:BDecodeNode: hasList, hasDict, hasString, hasInt, getList, getDict, getString, getInt
- lt:limit piece size in torrent creator
- lt:don't hint FADV_RANDOM on posix systems. May improve seeding performance
- lt:allow boost connect while checking resume data if no_verify_files flag is set
- lt:fix BEP-40 peer priority for IPv6
- lt:fix file pre-allocation when changing file priority (HanabishiRecca)
- jlibtorrent:SWIG interface files have been modularized for better maintainability and readability
- jlibtorrent:Added missing alert types
- jlibtorrent:Introduced typed_bitfield template
- jlibtorrent:Operator renaming for Java compatibility
- jlibtorrent:Included boost_system_error_code.i
- jlibtorrent:Added prepare-macos.sh script
- jlibtorrent:Updated run-swig.sh script
- jlibtorrent:Set TORRENT_ABI_VERSION=4
- jlibtorrent:Libtorrent updated to RC_2_0 (rev:2ab8fedabb7716947edc77958da6d0b5e1040df9)
- jlibtorrent:Android NDK r26d (LTS) upgrade (from r25c)
- jlibtorrent:Added `--swig-only` and `--build-only` options to swig/build scripts
- jlibtorrent:Added `prepare-macos.sh` script for macOS build setup
- jlibtorrent:Updated `run-swig.sh` script for improved SWIG processing
- jlibtorrent:Enhanced exception handling in SWIG interfaces
- jlibtorrent:Fixed issues in file_storage.hpp and ip_filter.hpp
- jlibtorrent:Adjusted build flags and macros for Boost and libtorrent compatibility
- jlibtorrent:Enabled SWIG directors for specific classes
- lt:fix uTP issue where closing the connection could corrupt the payload
- lt:apply DSCP/TOS to sockets before initiating the TCP connection
- lt:assume copy_file_range() exists on linux (unless old glibc)
- lt:fix issue where set_piece_deadline() did not correctly post read_piece_alert
- lt:fix integer overflow in piece picker
- lt:torrent_status::num_pieces counts pieces passed hash check, as documented
- lt:check settings_pack::max_out_request_queue before performance alert
- lt:allow on_unknown_torrent method in the absence of active torrents (new plugin feature added)
- lt:add feature to async_move_storage() to not move files
- lt:fix reject resume data if it contains mismatching info hashes
- lt:fix clear the candidate_cache when clear peer_list
- lt:fix missing python converter for dht::announce_flags_t
- lt:fix issue with web seed connections when they close and re-open
- lt:fallocate() not supported is not a fatal error
- lt:fix proxying of IPv6 connections via IPv4 proxy
- lt:treat CGNAT address range as local IPs
- lt:add stricter checking of piece layers when loading torrents
- lt:add stricter checking of v1 and v2 hashes being consistent
- lt:cache failed DNS lookups as well as successful ones
- lt:add an i2p torrent state to control interactions with clear swarms
- lt:fix i2p SAM protocol parsing of quoted messages
- lt:expose i2p peer destination in peer_info
- lt:fix i2p tracker announces
- lt:fix issue with read_piece() stopping torrent on pieces not yet downloaded
- lt:improve handling of allow_i2p_mixed setting to work for magnet links
- lt:fix web seed request for renamed single-file torrents
- lt:fix issue where web seeds could disappear from resume data
- lt:extend save_resume with additional conditional flags
- lt:fix issue with retrying trackers in tiers > 0
- lt:fix last_upload and last_download resume data fields to use posix time
- lt:improve error messages for no_connect_privileged_ports, by untangle it from the port filter
- lt:fix I2P issue introduced in 2.0.0
- lt:add async tracker status query, post_trackers()
- lt:add async torrent status query, post_status()
- lt:support loading version 2 of resume data format
- lt:fix issue with odd piece sizes
- lt:add async piece availability query, post_piece_availability()
- lt:add async download queue query, post_download_queue()
- lt:add async file_progress query, post_file_progress()
- lt:add async peer_info query, post_peer_info()
- lt:fix uTP streams timing out instead of closing cleanly
- lt:add write_torrent_file_buf() overload for generating .torrent files
- lt:add create_torrent::generate_buf() function to generate into a buffer
- lt:fix copy_file when the file ends with a sparse region
- lt:uTP performance, fix packet loss when sending is stalled
- lt:fix trackers being stuck after session pause/resume
- lt:fix bug in hash_picker with empty files
- lt:uTP performance, prevent premature timeouts/resends
- lt:add option to not memory map files below a certain size
- lt:settings_pack now returns default values when queried for missing settings
- lt:fix copy_file fall-back when SEEK_HOL/SEEK_DATA is not supported
- lt:improve error reporting from file copy and move
- lt:tweak pad file placement to match reference implementation (tail-padding)
- lt:uTP performance, more lenient nagle's algorithm to always allow one outstanding undersized packet
- lt:uTP performance, piggy-back held back undersized packet with ACKs
- lt:uTP performance, don't send redundant deferred ACKs
- lt:support incoming SOCKS5 packets with hostnames as source address, for UDP trackers
- lt:ignore duplicate network interface change notifications on linux
- lt:fix total_want/want accounting when forcing a recheck
- lt:fix merging metadata with magnet links added on top of existing torrents
- lt:add torrent_flag to default all file priorities to dont_download
- lt:fix &so= feature in magnet links
- lt:improve compatibility of SOCKS5 UDP ASSOCIATE
- lt:fix madvise range for flushing cache in mmap_storage
- lt:open files with no_cache set in O_SYNC mode~
- lt:fix issue in use of copy_file_range() on linux
- lt:avoid open-file race in the file_view_pool
- lt:fix issue where stop-when-ready would not close files
- lt:fix issue with duplicate hybrid torrent via separate v1 and v2 magnet links
- lt:added new function to load torrent files, load_torrent_*()
- lt:support sync_file_range() on linux
- lt:fix issue in write_torrent_file() when file size is exactly piece size
- lt:fix file_num_blocks() and file_num_pieces() for empty files
- lt:add new overload to make_magnet_uri()
- lt:add missing protocol version to tracker_reply_alert and tracker_error_alert
- lt:fix privilege issue with SetFileValidData()
- lt:add asynchronous overload of torrent_handle::add_piece()
- lt:default to a single hashing thread, for full checks
- lt:Fix bug when checking files and the first piece is invalid
- lt:fix issue creating a v2 torrent from torrent_info containing an empty file
- lt:make recheck files also update which files use partfile
- lt:add write_through disk_io_write_mode, which flushes pieces to disk immediately
- lt:improve copy file function to preserve sparse regions (when supported)
- lt:add function to truncate over-sized files part of a torrent
- lt:fix directory creation on windows shared folders
- lt:add flag to make add_files() not record file attributes
- lt:deprecate (unused) allow_partial_disk_writes settings
- lt:fix disk-full error reporting in mmap_disk_io
- lt:fixed similar-torrents feature for v2 torrents
- lt:fix potential unbounded recursion in add_completed_job, in disk I/O
- lt:deprecated (unused) volatile_read_cache setting
- lt:fix part files being marked as hidden on window
- lt:on windows, explicitly flush memory mapped files periodically
- lt:fix build with WolfSSL
- lt:fix issue where incoming uTP connections were not accepted over SOCKS5
- lt:fix several issues in handling of checking files of v2 torrents, esp. from magnet links
- lt:make the token limit when parsing metadata from magnet files configurable
- lt:fix issue with stalled pieces on disk full errors
- lt:fix missing python binding for file_progress_flags
- lt:fix torrent_file_with_hashes() to fail when we don't have the piece layers
- lt:restore path character encoding conversion for non UTF-8 locales on linux
- lt:fix use-after-free bug in make_magnet_uri
- lt:add write_torrent_file() to produce a .torrent file from add_torrent_params
- lt:allow loading v2 .torrent files without piece layer
- lt:fix issue with adding v2 torrents with invalid file root hash
- lt:fix piece picker bug causing double-picks with prefer-contiguous enabled
- lt:expose session_params in python bindings
- lt:fix (deprecated) use of add_torrent_params::info_hash
- lt:fix issue creating and loading v2 torrents with empty files. Improves conformance to BEP52 reference implementation
- lt:add new torrent_file_with_hashes() which includes piece layers for creating .torrent files
- lt:add file_prio_alert, posted when file priorities are updated
- lt:fix issue where set_piece_hashes() would not propagate file errors
- lt:add missing python binding for event_t
- lt:add work-around for systems without fseeko() (such as Android)
- lt:add convenience header libtorrent/libtorrent.hpp
- lt:increase default max_allowed_in_request_queue
- lt:fix loading non-ascii filenames on windows with torrent_info constructor (2.0 regression)
- lt:add std::hash<> specialization for info_hash_t
- lt:fix integer overflow in hash_picker and properly restrict max file sizes in torrents
- lt:strengthen SSRF mitigation for web seeds
- lt:add v1() and v2() functions to torrent_info
- lt:fix piece_layers() to work for single-piece files
- lt:fix python binding regression in session constructor flags
- lt:fix unaligned piece requests in mmap_storage
- lt:improve client_data_t ergonomics
- lt:fix issue with concurrent access to part files
- lt:fix attribute in single-file v2 torrent creation
- lt:fix padding for empty files in v2 torrent creation
- lt:add function to ask a file_storage whether it's v2 or not
- lt:fix mtime field when creating single-file v2 torrents
- lt:fix performance regression in checking files
- lt:disable use of SetFileValidData() by default (windows). A new setting allows enabling it
- lt:dropped dependency on iconv
- lt:deprecate set_file_hash() in torrent creator, as it's superceded by v2 torrents
- lt:deprecate mutable access to info_section in torrent_info
- lt:removed deprecated lazy_entry/lazy_bdecode
- lt:stats_alert deprecated
- lt:remove bittyrant choking algorithm
- lt:update userdata in add_torrent_params to be type-safe and add to torrent_handle
- lt:add ip_filter to session_params
- lt:added support for wolfSSL for SHA-1 hash and HTTPS (no Torrents over SSL)
- lt:requires OpenSSL minimum version 1.0.0 with SNI support
- lt:deprecated save_state() and load_state() on session in favour of new
- lt:write_session_params() and read_session_params()
- lt:added support for BitTorrent v2 (see docs/upgrade_to_2.0.html)
- lt:create_torrent() pad_file_limit parameter removed
- lt:create_torrent() merkle- and optimize-alignment flags removed
- lt:merkle_tree removed from add_torrent_params
- lt:announce_entry expose information per v1 and v2 info-hash announces
- lt:deprecated sha1_hash info_hash members on torrent_removed_alert,
- lt:torrent_deleted_alert, torrent_delete_failed_alert and add_torrent_params
- lt:undeprecate error_file_metadata for torrent errors related to its metadata
- lt:remove support for adding a torrent under a UUID (used for previous RSS support)
- lt:remove deprecated feature to add torrents by file:// URL
- lt:remove deprecated feature to download .torrent file from URL
- lt:requires boost >= 1.66 to build
- lt:update networking API to networking TS compatible boost.asio
- lt:overhauled disk I/O subsystem to use memory mapped files (where available)
- lt:libtorrent now requires C++14 to build
- lt:added support for GnuTLS for HTTPS and torrents over SSL
- lt:fix issue where stop-when-ready would not close files
- lt:uTP performance, fix packet loss when sending is stalled
- lt:uTP performance, prevent premature timeouts/resends
- lt:uTP performance, more lenient nagle's algorithm to always allow one outstanding undersized packet
- lt:uTP performance, piggy-back held back undersized packet with ACKs
- lt:uTP performance, don't send redundant deferred ACKs
- lt:fix wanted_done/done accounting when force-rechecking
- lt:expose userdata via torrent_handle (back-port from 2.0)
- lt:fix renaming of filenames that are too long for the filesystem
- lt:made UPnP and LSD code avoid using select_reactor (to work around an issue on windows in boost.asio < 1.80)
```
[](https://sourceforge.net/projects/frostwire/files/frostwire-android-3.0.4-build-758/)
## What's Changed
* Fix ANR in TransferListAdapter caused by blocking JNI calls to libtorrent status by @Copilot in https://github.com/frostwire/frostwire/pull/1217
* WIP: [all] Refactor Archiveorg search performer by @generic-pers0n in https://github.com/frostwire/frostwire/pull/1172
**Full Changelog**: https://github.com/frostwire/frostwire/compare/frostwire-android-3.0.6-build-760...frostwire-android-3.0.7-build-761