Welcome to jlibtorrent 2.0.11.0

This is our first build of jlibtorrent-2.0, all tests are passing but we have yet to integrate the library with a production bittorrent client such as FrostWire for Desktop and FrostWire for Android.

We’ll be doing so over the next weeks, and once we’ve throughly tested everything is working as expected we’ll promote our next build (if necessary) to a stable release you can use to update your app to support bittorrent 2.0 features, plus all the fixes in libtorrent made the last 15 months.

PRE-RELEASE BINARIES
All the jlibtorrent unit tests pass with these, however, it has not been integrated to an actual bittorrent client yet.
most likely we’ll be releasing updates soon as we migrate FrostWire clients to use jlibtorrent 2.x

  • Migration and Integration
    • Migration to support libtorrent 2.0 integration.
    • Maintained 1.2.x on a separate branch without active maintenance; pull requests are welcome.
  • SWIG Interface Enhancements
    • Modularization of SWIG Interfaces:
      • SWIG interface files have been modularized for better maintainability and readability.
      • Added separate .i files for various libtorrent components, including:
        • libtorrent_address.i
        • libtorrent_tcp_endpoint.i
        • libtorrent_udp_endpoint.i
        • libtorrent_kademlia_dht_state.i
        • libtorrent_client_data.i
        • libtorrent_sha1_hash.i
        • libtorrent_info_hash.i
        • libtorrent_storage_defs.i
        • libtorrent_bitfield.i
        • libtorrent_operations.i
        • libtorrent_error_code.i
        • libtorrent_announce.i
        • libtorrent_file_storage.i
        • libtorrent_peer_request.i
        • libtorrent_bdecode.i
        • libtorrent_torrent_info.i
        • libtorrent_torrent_flags.i
        • libtorrent_add_torrent_params.i
        • libtorrent_close_reason.i
        • libtorrent_peer_info.i
        • libtorrent_torrent_handle.i
        • libtorrent_torrent_status.i
        • libtorrent_performance_counters.i
        • libtorrent_portmap.i
        • libtorrent_piece_block.i
        • libtorrent_socket_type.i
        • libtorrent_entry.i
    • Alert Types Integration:
      • Integrated additional alert type interface files to comprehensively cover libtorrent’s alert system:
        • libtorrent_dht_announce_alert.i
        • libtorrent_external_ip_alert.i
        • libtorrent_listen_failed_alert.i
        • libtorrent_listen_succeeded_alert.i
        • libtorrent_incoming_connection_alert.i
        • libtorrent_peer_alert.i
        • libtorrent_dht_direct_response_alert.i
        • libtorrent_dht_outgoing_get_peers_alert.i
        • libtorrent_dht_pkt_alert.i
        • libtorrent_udp_error_alert.i
        • libtorrent_dht_sample_infohashes_alert.i
        • libtorrent_tracker_alert.i
        • libtorrent_dht_lookup.i
        • libtorrent_portmap_alert.i
        • libtorrent_portmap_error_alert.i
        • libtorrent_dht_mutable_item_alert.i
        • libtorrent_dht_put_alert.i
        • libtorrent_session_stats_alert.i
        • libtorrent_peer_log_alert.i
        • libtorrent_read_piece_alert.i
        • libtorrent_dht_stats_alert.i
        • libtorrent_torrent_conflict_alert.i
    • Type Aliases and Templates:
      • Introduced typed_bitfield template for handling different index types, enhancing type safety and flexibility.
    • Operator Renaming:
      • Mapped C++ operators to Java-friendly method names using %rename directives:
        • operator== to op_eq
        • operator!= to op_ne
        • operator< to op_lt
        • operator> to op_gt
        • operator<= to op_lte
        • operator>= to op_gte
        • operator~ to op_inv
        • operator^ to op_xor
        • operator| to op_or
        • operator& to op_and
        • operator[] to op_at
      • Included boost_system_error_code.i for proper error handling.
  • Build Scripts and Dependencies
    • Added New Build Options:
      • Introduced --swig-only and --build-only options to the SWIG/build scripts (run-swig.sh and build.sh).
        • --swig-only: Executes only the SWIG interface generation without initiating the build process.
        • --build-only: Runs only the build process using pre-generated SWIG wrappers, skipping the SWIG generation phase.
      • These options provide developers with greater flexibility during development and testing by allowing selective execution of build stages.
    • Build Script Enhancements:
      • Addedprepare-macos.sh script to automate the installation of dependencies and the required SWIG version on macOS systems.
        • Installs necessary packages using Homebrew (wgetpcre2).
        • Checks and installs SWIG version 4.2.1 if not already present.
        • Verifies successful installation post-build.
      • Updatedrun-swig.sh script to handle platform-specific code adjustments and ensure correct SWIG version usage.
        • Implemented additional sed commands to fix code issues in libtorrent headers before SWIG processing.
        • Added safeguards to handle SWIG failures gracefully, providing informative messages and exiting if necessary.
        • Updated build flags and configurations to align with the latest libtorrent ABI versions.
        • Set TORRENT_ABI_VERSION=4 and updated namespaces for versions 3 and 4.
  • Dependency Upgrades
    • Boost Upgrade:
      • Upgraded Boost library to version 1.86.0 to improve performance and compatibility.
    • OpenSSL Upgrade:
      • Updated OpenSSL to version 1.1.1t to enhance security and support the latest protocols.
    • Gradle Upgrade:
      • Upgraded Gradle to version 8.10.2 to leverage new features and improvements in build automation.
    • Java Development Kit (JDK):
      • Jar built with JDK 11, ensuring compatibility with the build environment.
    • Libtorrent Update:
      • Updated libtorrent to RC_2_0 (rev: 2ab8fedabb7716947edc77958da6d0b5e1040df9) to incorporate the latest fixes and features from the libtorrent 2.0 branch.
    • Android NDK Upgrade:
      • Upgraded Android NDK to version r26d (LTS) from r25c, providing the latest toolchains and platform support.
    • SWIG Upgrade:
      • Upgraded SWIG to version 4.2.1 to improve interface generation and support new language features.
  • Exception and Error Handling
    • Enhanced Exception Handling:
      • Improved exception translation from C++ to Java within SWIG interfaces to ensure robust error management.
  • Compatibility and Performance Fixes
    • Fixed Compatibility Issues:
      • Resolved syntax issues in file_storage.hpp and ip_filter.hpp to ensure successful SWIG processing and avoid compilation errors.
      • Adjusted build flags and macros for Boost and libtorrent compatibility across different platforms.
    • Performance Optimizations:
      • Optimized SWIG typemaps and wrappers for efficient data handling, minimizing performance overhead in Java bindings.
  • Directors and Inheritance
    • Enabled SWIG Directors:
      • Enabled directors for classes requiring Java-side inheritance, facilitating the overriding of C++ virtual methods in Java subclasses:
        • add_files_listener
        • set_piece_hashes_listener
        • alert_notify_callback
        • swig_plugin
        • posix_wrapper
  • Code Clean-up and Maintenance
    • Ignored Deprecated and Internal Elements:
      • Excluded numerous deprecated methods, internal functions, and classes from the SWIG interface to streamline Java bindings and prevent potential conflicts.
    • Removed Redundant Code:
      • Deleted unnecessary %ignore directives and obsolete SWIG configurations to maintain a clean and maintainable interface.
    • Enhanced Documentation:
      • Improved comments and added TODOs for future integrations, such as web_seed_entry.hpp once merged from the master branch.
2.0.11.0
 * Migration to support libtorrent 2.0 integration
 * Maintained 1.2.x on a separate branch without active maintenance; pull requests are welcome
 * SWIG interface files have been modularized for better maintainability and readability
 * Added missing alert types
 * Introduced typed_bitfield template
 * Operator renaming for Java compatibility
 * Included boost_system_error_code.i
 * Added prepare-macos.sh script
 * Updated run-swig.sh script
 * Set TORRENT_ABI_VERSION=4
 * Boost 1.86.0 upgrade
 * OpenSSL 1.1.1t upgrade
 * Gradle 8.10.2 upgrade
 * Jar built with JDK 11
 * Libtorrent updated to RC_2_0 (rev:2ab8fedabb7716947edc77958da6d0b5e1040df9)
 * Android NDK r26d (LTS) upgrade (from r25c)
 * Added `--swig-only` and `--build-only` options to swig/build scripts
 * Added `prepare-macos.sh` script for macOS build setup
 * Updated `run-swig.sh` script for improved SWIG processing 
 * Upgraded SWIG to 4.2.1
 * Enhanced exception handling in SWIG interfaces
 * Fixed issues in file_storage.hpp and ip_filter.hpp
 * Adjusted build flags and macros for Boost and libtorrent compatibility
 * Enabled SWIG directors for specific classes
 * Ignored deprecated methods in SWIG interface
 * Improved documentation and added TODOs
 * 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)

FrostWire 2.7.9 Build 736: Elevating Security, Performance, and User Experience

Download the installer for Android/Chromebook
⬇️ frostwire-android-release-2.7.9-b736-plus.apk 95.2 MB

We’re excited to announce the release of FrostWire 2.7.9, build 736, packed with a host of improvements designed to enhance your experience. Whether you’re using FrostWire to download your favorite content or simply manage your media, this update focuses on making the app faster, more secure, and easier to use.

Enhanced Security for Peace of Mind

Security is always a top priority, and in this release, we’ve implemented significant improvements to SSL/TLS validation. This includes better handling of domain and certificate validation, ensuring that your downloads are secure. We’ve also added “frostwire.com” to our list of trusted SSL domains and introduced dynamic validation for subdomains, making your connection even more robust and trustworthy.

Streamlined Performance with Memory Efficiency

We know how important it is for the app to run smoothly, especially on devices with limited resources. In this update, we’ve optimized the way FrostWire handles memory, particularly during search operations. The result? A faster, smoother experience that uses less memory, giving you a seamless experience regardless of your device’s capabilities.

User Interface Improvements

Finding and accessing content has never been easier. We’ve refined the placement of the FrostClick search within the app, making it more intuitive and accessible. This enhancement is designed to help you discover new content with minimal effort.

Squashing Bugs for Stability

No one likes crashes or errors, so we’ve been hard at work identifying and fixing potential issues. We’ve resolved several bugs that could lead to NullPointerExceptions and ClassCastExceptions, ensuring that the app remains stable and reliable during use.

Upgraded Core Components

To keep FrostWire up-to-date with the latest development practices, we’ve updated several core components. This includes moving to Gradle version 8.9 and upgrading libraries such as Kotlin and Firebase. These updates ensure that FrostWire not only runs more efficiently but also remains compatible with the latest Android developments.

What This Means for You

This latest version of FrostWire is all about providing a smoother, more secure, and more enjoyable experience. Whether you’re a long-time user or new to the app, we believe these enhancements will make FrostWire an even more indispensable tool for managing and enjoying your media.

Download FrostWire 2.7.9 today and experience the benefits of the latest updates. We’re always eager to hear your feedback, so don’t hesitate to share your thoughts on this release. Happy downloading!

changelog for developers/hackers

FrostWire 2.7.9 build 736 AUG/24/2024

  • Enhanced SSL/TLS validation with improved domain and certificate handling in Ssl.java
  • Added “frostwire.com” to the list of valid SSL certificate domains
  • Implemented dynamic validation for subdomains
  • Updated NullTrustManager to manage and log SSL certificates more effectively
  • Simplified item access methods in TellurideSearchResultDownloadDialog
  • Removed unnecessary casting to improve code readability and efficiency
  • Corrected iswindows function in common.sh for proper integer comparison
  • Updated function’s usage in configure_update.sh for correct return status handling
  • Adjusted YTSearchPerformer for more memory-efficient handling of search results
  • Improved placement of FrostClick search within the Android UI
  • Fixed potential NullPointerException in TellurideSearchResultDownloadDialog
  • Fix potential NullPointerException in SearchFragment by ensuring valid FragmentManager
  • Fix ClassCastException in TellurideCourierCallback by adding type check for adapter instance
  • Enhanced URL opening method to handle cases where no default browser is found
  • Updated Gradle wrapper to use version 8.9
  • yt_dlp 2024.08.06
  • com.google.firebase:firebase-bom:33.2.0
  • com.google.gms:google-services:4.4.2
  • com.google.firebase:firebase-crashlytics-gradle:3.0.2
  • org.jetbrains.kotlin:kotlin-stdlib-jdk8:2.0.20
  • androidx.lifecycle:lifecycle-viewmodel-ktx:2.8.4

What’s New in FrostWire 6.13.3

Installers:
frostwire-6.13.3.windows.exe

frostwire-6.13.3-x86_64.dmg
frostwire-6.13.3-arm64.dmg


frostwire-6.13.3.amd64.deb
frostwire-6.13.3.amd64.rpm
frostwire-6.13.3.amd64.tar.gz

We’re excited to announce the release of FrostWire 6.13.3, which brings a host of improvements and new features to enhance your experience. Here’s a detailed look at what’s new in this update:


Key Updates and Enhancements

  1. Java Runtime Environment Update
    • We’ve upgraded to Java Runtime Environment 22.0.2, ensuring better performance, security, and compatibility.
  2. Telluride Video Downloader Update
    • The Telluride Video Downloader has been updated to build 33. This update includes various bug fixes and performance improvements for a smoother downloading experience.
  3. Enhanced SSL/TLS Validation
    • We’ve improved SSL/TLS validation by enhancing domain and certificate handling. This change includes better domain verification and improved certificate handling to ensure more secure connections.
  4. Refactored Image Loading
    • Image loading has been refactored to use HttpClient, which provides better handling and performance when loading images. This change will result in faster image loading and better reliability.
  5. YT Search Fixes
    • The YT search functionality has been fixed and improved. We’ve addressed several issues to ensure more accurate search results and a more stable experience. Additionally, you can now view raw HTML output for debugging purposes if needed.

Detailed Changes

  • TellurideAbstractListener.java: We corrected a typo in the comments, changing “succint” to “succinct”.
  • YTSearchPerformer.java:
    • Updated the search URL to include the app=desktop parameter, ensuring compatibility with recent changes on YT’s end.
    • Added methods to handle HTML content and decode hexadecimal encodings, improving search result extraction and handling.
    • Introduced normalizeScriptTags to clean up script tags in HTML, ensuring accurate parsing and result extraction.
  • Ssl.java:
    • Added “frostwire.com” to the list of valid domains for SSL verification.
    • Improved hostname validation logic to handle subdomains and update the valid domain set dynamically.
    • Enhanced certificate handling by storing accepted certificates and logging certificate validation results for better transparency.
  • gradle-wrapper.properties: Updated to use Gradle 8.9 for the latest features and improvements. Added validation for the distribution URL to ensure security.
  • gradlew: Updated the script to use the correct URL for the Unix start script template and refined JVM options handling.
  • ImageCache.java: Refactored to use HttpClient for fetching images, improving the reliability of image loading.
  • FrostWireUtils.java: Updated the version and build number to reflect the new release.
  • YTSearchPerformerTest.java: Enhanced logging to capture HTML output when no results are found, aiding in debugging.

We hope you enjoy the new features and improvements in this update. As always, we appreciate your feedback and support. If you encounter any issues or have suggestions, please let us know!

Happy downloading!

The FrostWire Team


changelog

frostwire (6.13.3) stable; urgency=high

  • Java Runtime Environment 22.0.2 update
  • Telluride Video Downloader build 33
  • Enhance SSL/TLS Validation with Improved Domain and Certificate Handling
  • Refactor Image Loading to Use HttpClient for Better Handling
  • YT search fixed

— FrostWire Team contact@frostwire.com Wed, 21 Aug 2024 15:45:00 -0600

FrostWire’s Telluride Command Line Video Downloader Build 33 Released

We’re excited to announce the release of FrostWire’s Telluride Build 33 on August 10, 2024. This update brings important enhancements and development tool updates to keep your experience smooth and efficient.

Signed Binaries:
windows x86_64 telluride.exe

macos x86_64 telluride_macos.x86_64

macos arm64 telluride_macos.arm64

linux x86_64 telluride_linux

Key Updates:

Python 3.12.5: The update to Python 3.12.5 brings enhanced performance, new features, and better compatibility with the latest libraries and tools. This ensures that FrostWire’s Telluride is built on the most current and efficient Python environment, improving overall stability and future-proofing the application.
yt_dlp-2024.8.6: Updated to the latest version, ensuring you have the most reliable and up-to-date video downloading capabilities.
Development Tools: We’ve upgraded several essential development tools:
pip-24.2: Improved package management for a more streamlined development process.
astroid-3.2.4: Enhanced static analysis for better code quality.
pylint-3.2.6: Updated linter to help maintain high coding standards.
pyinstaller-6.10.0: Latest build tool updates for creating standalone executables.
This release ensures that FrostWire’s Telluride remains robust and aligned with the latest in development best practices. Download the latest build and enjoy the improved performance and reliability!

Stay tuned for more updates, and as always, we appreciate your continued support.

Unlock the Power of FrostWire 2.7.8: Enhanced Features and Seamless Updates

IMPORTANT: We are giving up on the Android Store and will distribute FrostWire for Android through our website, github and sourceforge. We were taken down from the store once again this month, and google play isn’t cooperating to reinstate us. So, we’ll just distribute FrostWire Plus, absolutely free from now on. We count on your support to continue to grow and evolve FrostWire for years to come.

We’re thrilled to announce the release of FrostWire 2.7.8 build 731, packed with exciting updates, crucial fixes, and enhanced features to elevate your media experience. Whether you’re downloading your favorite videos or managing your media library, FrostWire 2.7.8 ensures a seamless and efficient process.

Key Updates and Fixes:

  • X Video Download Issue Fixed: We’ve resolved the problem where video file names were excessively long, ensuring smoother downloads and better file management.
  • Improved Search Functionality: Enjoy more accurate search results with our latest fixes, making it easier to find the content you love.
  • EZTV and Yify Search Removed: To streamline our services, we’ve removed EZTV and Yify searches.
  • Updated Gradle and Plugins: FrostWire now runs on Gradle version 8.6 and the Android Gradle plugin versions 8.2.1 and 8.3.2, providing enhanced performance and compatibility.
  • Enhanced Python Integration: With the integration of com.chaquo.python:gradle:15.0.1 and Python updated to version 3.12, expect more robust and efficient script executions.
  • Bug Fixes: We’ve addressed null pointer exceptions in AbstractConfirmListDialog and TellurideCourierCallback, along with improving null checks for miniPlayer and coverImage.
  • Compliance Enhancements: Miscellaneous updates ensure better compliance with Play Store guidelines.

Library Updates: We’ve updated several key libraries, including androidx, Google Firebase, and Kotlin, to their latest versions for improved functionality and security.

What This Means for You:

These updates are designed to provide a smoother, more efficient, and more enjoyable user experience. By fixing critical bugs and updating essential components, FrostWire 2.7.8 ensures you can continue to download and enjoy your media effortlessly.

Download the latest version now and experience the enhanced performance and new features for yourself!

FrostWire 2.7.8 build 731 MAY/15/2024

  • Fixes X Video Download issue where video file names were too long
  • Search fixes
  • EZTV search removed
  • Yify search removed
  • Updated Gradle to version 8.6
  • Updated Android Gradle plugin to 8.2.1 and 8.3.2
  • Updated Python integration with com.chaquo.python:gradle:15.0.1
  • Fixed null pointer exceptions in AbstractConfirmListDialog and TellurideCourierCallback
  • Improved null checks for miniPlayer and coverImage
  • Miscellaneous Play Store compliance enhancements
  • Python version updated to 3.12
  • Python: yt-dlp-2024.4.9
  • androidx.browser:browser:1.8.0 update
  • androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0 update
  • androidx.media2:media2-player:1.3.0 update
  • androidx.media2:media2-session:1.3.0 update
  • androidx.media2:media2-widget:1.3.0 update
  • androidx.vectordrawable:vectordrawable-animated:1.2.0 update
  • com.android.billingclient:billing:7.0.0 update
  • com.applovin:applovin-sdk:12.4.3 update
  • com.google.android.material:material:1.12.0 update
  • com.google.firebase:firebase-crashlytics-gradle:3.0.1 update
  • com.google.gms:google-services:4.4.1 update
  • com.google.firebase:firebase-bom:33.0.0 update
  • org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.24 update

FrostWire “Rebirth” 2.7.7 – A New Dawn for Android Users

🔥 FrostWire’s Phoenix Moment: Rebirth from the Ashes! 🔥

Download for Android/Chromebook: frostwire-android-release-2.7.7-b730-plus.apk

Great news for our FrostWire community! We’re thrilled to announce the launch of FrostWire 2.7.7 build 730 for Android, marking a significant milestone in our journey. This update isn’t just a set of improvements; it symbolizes our resilient comeback, akin to a mythical phoenix rising from the ashes.

Today, January 5th 2024 we’ve been finally been reinstated in the Google Play Store.

What’s New in 2.7.7?

Subscription Page Enhancements: Navigating and managing your subscriptions is now smoother and more intuitive.

Expanded Ad-Removal Options: Plus users with Google Play can now purchase an Ad-Removal subscription, offering an even cleaner experience.

Tech Upgrades: We’ve integrated the latest tech stack including updates to Kotlin, Firebase, Gradle, and more, ensuring a robust and efficient app performance.

Python’s Latest: Featuring Python’s yt_dlp 2023.12.30 for enhanced functionality.

Ad & Mediation SDK Updates: We’ve upgraded to the latest versions for a seamless ad experience.
This update is particularly special as it comes just after FrostWire’s reinstatement on the Google Play Store. It’s not just an update; it’s a celebration of persistence, innovation, and community spirit.

A Vision of Resilience: The Ice Phoenix

As we celebrate this rebirth, imagine an “Ice Phoenix” rising majestically from a frosty terrain. This mythical creature, with its crystalline feathers and a shimmering aura, soars upwards amidst swirling snowflakes. Its wings glint with a spectrum of icy blues and purples, casting a radiant glow. As it ascends, it leaves behind a trail of sparkling frost, symbolizing renewal and endless possibilities. This Ice Phoenix is not just a fantasy; it embodies the spirit of FrostWire – ever resilient, ever evolving.

Stay tuned for the visual depiction of this breathtaking scene, a fitting metaphor for FrostWire’s journey!

Download or update to FrostWire 2.7.7 on Android and Chromebook and join us in this exciting new chapter.
Your support and feedback have been our guiding stars.

Let’s keep soaring higher, together!

Changelog

FrostWire 2.7.7 build 730

  • Subscription page improvements
  • Plus users with Google Play can also buy Ad-Removal subscription
  • com.google.android.material:material:1.11.0
  • org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.22
  • androidx.exifinterface:exifinterface:1.3.7
  • com.applovin:applovin-sdk:12.1.0
  • com.applovin.mediation:unityads-adapter:4.9.2.1
  • python: yt_dlp 2023.12.30
  • dev: com.google.firebase:firebase-bom:32.7.0
  • dev: com.android.tools.build:gradle:8.2.0

FrostWire 6.13.1 for Windows, Mac and Linux is here with foundational upgrades

Hey there, FrostWire fam!

We’ve got some exciting news to share! We’ve just rolled out FrostWire for Desktop 6.13.1 and it’s packed with improvements and updates that we believe you’re going to love.

If you don’t feel like reading, here are the installers:
Windows: frostwire-6.13.1.windows.github.exe

Mac M1/M2 (arm64): frostwire-6.13.1-arm64.dmg
Mac Intel (x86_64): frostwire-6.13.1-x86_64.dmg

Linux (debian/ubuntu x86_64): frostwire-6.13.1.amd64.deb
Linux (rpm x86_64): frostwire-6.13.1.amd64.rpm
Linux (any x86_64): frostwire-6.13.1.amd64.tar.gz

Here’s a quick breakdown of what’s new:

  1. Java Runtime Environment 21 Update: We’re keeping things up-to-date with the latest JRE 21. This ensures smoother operation and keeps your FrostWire experience secure and stable.
  2. org.xerial:sqlite-jdbc:3.43.0.0 Update: Technical jargon aside, this is an essential component for data management within the application. And guess what? We’ve upgraded it to provide you with better performance.
  3. Telluride Video Downloader with Python 3.12.0: Yup, we’ve given our video downloader a boost! Now powered by Python 3.12.0, expect faster and more efficient downloads.

All these updates were designed with YOU in mind. We want to ensure that FrostWire remains your go-to platform for all your downloading needs.

Big shoutout to our FrostWire team for their relentless effort in bringing you this update.

Remember, if you ever have feedback, suggestions, or just want to send some love, don’t hesitate to drop us a line in the comments, or on X @frostwire

Happy downloading, everyone! 🚀

Cheers, The FrostWire Team

Embracing Progress: Dive into FrostWire’s Telluride Build 29 Updates!


Downloads

windows:
telluride.exe

macOS:
telluride_macos.arm64
telluride_macos.x86_64

linux:
telluride_linux

Usage

usage: telluride_macos.arm64 [-h] [--audio-only] [--meta-only] [page_url]

positional arguments:
  page_url          The URL of the page that hosts the video you need to backup locally

options:
  -h, --help        show this help message and exit
  --audio-only, -a  Downloads the video and keeps only a separate audio file usually a .mp3. (requires ffmpeg installed in the system)
  --meta-only, -m   Prints a JSON dictionary with all the metadata available on the video file found in the page_url. Does not download the
                    video file

In the ever-evolving digital cosmos, FrostWire’s commitment to refining the user experience and enhancing the developmental scaffold remains steadfast. With the release of Telluride Cloud Video Downloader’s Build 29, the horizon broadens, hinting at more efficient video downloading and a more robust developer toolkit. Let’s unbox the latest offerings from this stalwart in the digital video downloading realm!


Highlighting the Major Updates in Build 29

Before we delve deeper, here’s a snapshot of the recent enhancements:

  1. yt_dlp’s Fresh Update to 2023.10.13: A beacon of efficient video downloading, this upgrade promises refined video extraction capabilities, potentially expanding the list of supported platforms and optimizing the downloading process.
  2. Developer Tool Rejuvenations:
    • pyinstaller’s Twin Updates to 6.1.0: Evidently, PyInstaller has garnered attention with not one, but two mentions (possibly a typo, but we’ll assume it’s doubly important). This version paves the way for converting Python programs into stand-alone executables with enhanced compatibility and features.
    • Astroid Evolution to 3.0.1: In its continuous quest for a fortified code foundation, the update in astroid—a critical static reasoning library—vouches for more profound code insights, ensuring a cleaner and more robust codebase.
    • pip Ascends to 23.3: The lifeblood of Python package management, pip’s upgrade ensures a smoother, more secure package installation experience, catering to the latest Python packages available in the ecosystem.

Here’s the Cool Part: Advanced Features for Developers! 🛠️

We know many of you love to tinker and integrate tools into your own apps. Telluride provides a nifty JSON functionality. Run it with the --meta-only argument, and it will print out a neat JSON dictionary packed with all the metadata available for a video from a given URL.

This is a fantastic feature for devs looking to show download links or implement downloading functionalities in their apps. Your app can simply read this JSON output and make magic happen!

New and Noteworthy: FrostWire 2.7.3 for Android Is Here!

👉Download frostwire-android-release-2.7.3-b723-plus.apk free here 👈

Hey FrostWire fans! 🎉

It’s mid-October, and as the leaves change colors and the air becomes crisp, we’re stoked to bring you some fresh updates to your favorite Android app. We’ve just rolled out FrostWire 2.7.3 build 723, and here’s the scoop on what’s new and improved.

Bug Fixes and Better User Experience 🐞

First off, we heard you loud and clear. Some of our users pointed out that they had issues with their Play Store Ad-removal subscriptions not reflecting locally. Fret not, we’ve squashed that bug! Your ad-free experience should now be smoother than ever.

Library Updates 📚

A slew of our underlying libraries have been updated to their latest and greatest versions. This isn’t just tech jargon; these updates ensure that your app runs faster, smoother, and more securely. Here are a few highlights:

  • Gson Library now at version 2.10.1, ensuring seamless data transitions.
  • Google Services have been upgraded to 4.4.0.
  • Crashlytics from Firebase, at 2.9.9, will keep tabs on any issues so we can tackle them swiftly.
  • A boost in Material Design with com.google.android.material at 1.10.0 brings subtle and pleasing design refinements.
  • For our Kotlin aficionados, we’ve moved up to kotlin-stdlib-jdk8:1.9.10.
  • We also got the latest yt_dlp 2023.10.13 for Python, ensuring you get the best video download experience.

Developer Sweet Treats 🛠

For the developers in our midst or those curious about the nuts and bolts that make FrostWire tick, we’ve undertaken some backend spring cleaning:

  • Deprecated elements in our Gradle build script have been fixed, making our development process more streamlined.
  • We’ve updated our Gradle build tooling to com.android.tools.build:gradle:8.1.2 and using gradle-8.4-bin.zip.
  • Last but not least, our Firebase library got a boost with firebase-bom:32.3.1.

That’s a wrap for this update! As always, our team has been working diligently to enhance your FrostWire experience. Download the update, give it a spin, and let us know what you think. Your feedback fuels our fire, and we can’t wait to hear from you.

Stay warm, stay safe, and keep torrenting! 🍂🔥

Cheers,
The FrostWire Team

Changelog

FrostWire 2.7.3 build 723 - OCT/17/2023
 - Fixed bug where Play Store Ad-removal subscriptions weren't updating locally.
 - com.google.code.gson:gson:2.10.1
 - com.google.gms:google-services:4.4.0
 - com.google.firebase:firebase-crashlytics-gradle:2.9.9
 - com.google.android.material:material:1.10.0
 - org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.9.10
 - androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2
 - com.applovin:applovin-sdk:11.11.3
 - com.applovin.mediation:unityads-adapter:4.9.1.0
 - python: yt_dlp 2023.10.13
 - dev: gradle build script deprecation fixes, cleanup
 - dev: com.android.tools.build:gradle:8.1.2
 - dev: gradle-8.4-bin.zip
 - dev: com.google.firebase:firebase-bom:32.3.1

🎉 Exciting News from FrostWire! 🎉 6.13.0 is out for desktop

Hey FrostWire Fam!

Guess what? We’ve just launched FrostWire 6.13.0 🚀 and it’s sizzling with awesome updates that we can’t wait for you to try out! The latest version is crafted with 💙, ensuring that your experience is smoother, faster, and more reliable!

🚀 What’s New?

We’ve spiced things up with the latest release. Without keeping you on tenterhooks, here’s a sneak peek into what’s wrapped inside:

  • 🚀 Faster Startup Time: You might just notice that FrostWire gets going much quicker than before. Let us know if you also feel the speed!
  • Java Runtime Environment 21 Update: Keeping up with the tech trends, we’ve updated the Java Runtime Environment to version 21, ensuring stability and performance enhancements.
  • 📁 SQLite Update: The org.xerial:sqlite-jdbc has been updated to version 3.43.0.0, helping the internal databases run smoother and more efficiently.
  • 🎥 Telluride Video Downloader Build 28: Plus, now featuring Python 3.12.0, making your video downloading experience even smoother!

🤝 We Want to Hear from You on X

Your feedback has always been our treasure trove in making FrostWire better with each release. So, dive in, explore all the new features, and let us know what you think on X @frostwire!

Did you experience that swift startup we’re so excited about?
Any other thoughts, shouts, or whispers? Send them our way!

This is only the first of several incremental updates we’ll be launching for the 6.13.x series, more to come in the following days and weeks, FrostWire is never finished.

🖥️ Ready to Upgrade?

Embrace all these fantastic new features and improvements now! Just click on the links below and get started with FrostWire 6.13.0 on your device:

  • Windows 🪟: x86_64
  • Mac 🍏: (installer coming soon, had some issues with the signature, waiting for Apple to renew our Apple Developer Membership)
  • Linux 🐧: Download for Linux DEB RPM or TAR.GZ

👥 Join Our Community

Let’s keep the FrostWire community vibrant and engaged!
Connect with us and other FrostWire users on our Reddit forum, X, Facebook, or Instagram.

Share your experiences, seek help, or simply drop by to say hi!

🙏 Thank You for Your Continuous Support

A huge shout-out to all our users for being the heartbeat of FrostWire! Your unwavering support, feedback, and love have always driven us to bring the best to you.

Enjoy the new FrostWire, and here’s to many more updates to come!

Stay frosty, folks! ❄️

With Warm Regards, The FrostWire Team 🧡