libtorrent v2.0-RC2 Release Notes

Release Date: 2020-07-30 // over 3 years ago
  • 🚀 In this 2nd release candidate of libtorrent-2.0, a fair number of issues has been fixed in the 1.2.x branch and been merged into the 2.0 one.

    📚 One notable update is an overhaul of the documentation, a pre-release of it can be found here.

    ⚡️ The updated changelog for libtorrent-2.0 is:

    • deprecate set_file_hash() in torrent creator, as it's superceded by v2 torrents
    • deprecate mutable access to info_section in torrent_info
    • removed deprecated lazy_entry/lazy_bdecode
    • 🗄 stats_alert deprecated
    • ✂ remove bittyrant choking algorithm
    • update userdata in add_torrent_params to be type-safe and add to torrent_handle
    • add ip_filter to session_params
    • ➕ added support for wolfSSL for SHA-1 hash and HTTPS (no Torrents over SSL)
    • 👍 requires OpenSSL minimum version 1.0.0 with SNI support
    • deprecated save_state() and load_state() on session in favour of new
      write_session_params() and read_session_params()
    • added support for BitTorrent v2 (see docs/upgrade_to_2.0.html)
    • create_torrent() pad_file_limit parameter removed
    • ⚡️ create_torrent() merkle- and optimize-alignment flags removed
    • 🚚 merkle_tree removed from add_torrent_params
    • announce_entry expose information per v1 and v2 info-hash announces
    • ✂ torrent_removed_alert, torrent_deleted_alert, torrent_delete_failed_alert: info_hash member is no longer a sha-1 hash, but (deprecated) implicitly convertible to one
    • undeprecate error_file_metadata for torrent errors related to its metadata
    • ✂ remove support for adding a torrent under a UUID (used for previous RSS support)
    • ✂ remove deprecated feature to add torrents by file:// URL
    • ✂ remove deprecated feature to download .torrent file from URL
    • 🏗 requires boost >= 1.66 to build
    • ⚡️ update networking API to networking TS compatible boost.asio
    • overhauled disk I/O subsystem to use memory mapped files (where available)
    • 🏗 libtorrent now requires C++14 to build
    • ➕ added support for GnuTLS for HTTPS and torrents over SSL

    🔀 As well as new fixes merged in from 1.2.8:

    • don't time out tracker announces as eagerly while resolving hostnames
    • 🛠 fix NAT-PMP shutdown issue
    • 👌 improve hostname lookup by merging identical lookups
    • 🛠 fix network route enumeration for large routing tables
    • 🛠 fixed issue where pop_alerts() could return old, invalid alerts
    • 🛠 fix issue when receiving have-all message before the metadata
    • don't leave lingering part files handles open
    • disallow calling add_piece() during checking
    • 🛠 fix incorrect filename truncation at multi-byte character
    • always announce listen port 1 when using a proxy