lt:add write_torrent_file(), a function to save a .torrent file from an
add_torrent_params
lt:don't require piece layers in v2 torrent files, but ensure they are
valid if they are present
lt:use can_disconnect in torrent when is finished
lt:use can_disconnect in bt_peer_connection upload-to-upload connection
lt:fix seed rank calculation when we're the only known seed
lt:fix issue when checking certain v2 torrents
lt:make the hash_picker tolerate a valid-hashes buffer that's lying
lt:fix issue where a peer may not send a hash request after a piece failure
lt:fix issue when asking for file progress right when starting a
force-recheck
lt:source code cleanup, performance and stability
v2.0.4-20
2 years ago
using libtorrent master
added Sha256Hash
lt:updated libdatachannel to v0.13.4
lt:fix checking torrents
lt:removed time_critical_mode from piece_picker::pick_pieces,
peer_connection and request_blocks.
lt:ensure peer_info::client is always valid UTF-8
lt:don't check pieces we already have (such as pad files), when running a
full check
lt:improve piece-picker pad-file granularity to bytes (from blocks)
lt:improve precision of total_wanted and total_wanted_done
lt:fix shutdown issue with incoming SSL connections
lt:fix issue with adding v2 torrents with invalid file root hash
lt:simplify some checks of pieces against the ignored list in the piece
picker
lt:fix piece picker bug causing double-picks with prefer-contiguous enabled
lt:source code cleanup, performance and stability
v2.0.3-19
3 years ago
using libtorrent master
updated to boost 1.76.0
lt:clear seed flag when we receive an incomplete bitfield from a peer
lt:improve handling of seed flag in PEX messages
lt:mitigate accounting error in http seed connection
lt:fix issue of accruing unlimited DHT node candidates when DHT is disabled
lt:fix bug in parsing chunked encoding
lt:a better fix to active, seeding and finished duration timers
lt:fix incorrect reporting of active_duration when entering graceful-pause
lt:fix redundant file_size check in torrent_info
lt:fix support for the executable file permission attribute (and avoid
making every file executable, on unix-like systems)
lt:source code cleanup, performance and stability
v2.0.3-18
3 years ago
fixed AlertType for missing file_prio_alert entry
v2.0.3-17
3 years ago
using libtorrent master
improved java api layer
lt:fix issue creating and loading v2 torrents with empty files
lt:updated libdatachannel to v0.12.2
lt:source code cleanup, performance and stability
v2.0.3-16
3 years ago
using libtorrent master
improved java api layer
lt:updated libdatachannel to v0.12.1
lt:fix issue where hash2 disk jobs would not be assigned to the hashing
threads in the disk I/O thread pool
lt:add first and last piece range to sequential download mode
lt:make mmap disk io shutdown more reliable. don't ever miss a notification
lt:fix identify BitSpirit 3.6
lt:source code cleanup, performance and stability
v2.0.3-15
3 years ago
using libtorrent master
updated to OpenSSL 1.1.1k
using android NDK r22b
lt:add new torrent_file_with_hashes() which includes piece layers for
creating .torrent files
lt:use /etc/ssl/cert.pem to validate HTTPS trackers and web servers on
MacOS
lt:raise the severity of peers sending invalid messages to 'peer_error'.
Simplify m_upload_only to just record the explicit upload-only state
communicated via the extension message. Implied upload only is moved to
the upload_only() query. Add simulations for peer connection tests.
Mostly for have-all, have-none and bitfields, and some simple invalid
requests. This will serve as a platform to add more sophisticated tests.
lt:restore peer_connection::is_seed to not take m_have_all into account.
It caused some regression in edge cases
lt:add a file_prio_alert, posted when file priorities are applied
lt:prefer __builtin_popcountl() over portable C implementation of
popcnt. This enables the ARM64 SIMD instruction on Apple M1
lt:fix issue with setting file priorities and saving resume data. The
need-save-resume flag should not be set until after the new file
priorities have been applied. Don't set the need-save-resume flag just
by loading the resume data (when applying the file priorities into the
piece priorities)
lt:source code cleanup, performance and stability
v2.0.2-14
3 years ago
using libtorrent master
minimum supported Android 32 bits API >= 19
minimum supported Android 64 bits API >= 21
using android NDK r22
using android prebuilt toolchain
using android LLD linker
lt:fix size_on_disk patch
lt:fix torrent_info::v2 to be correct after freeing piece layers from
torrent_info
lt:allow no-interest timeouts of peer connections before all connections
slots are full
lt:add flag to force canonical file order and padding for v1-only torrents
lt:return nullptr instead of crashing in get_storage_impl
lt:fix issue where peers entering upload-mode cannot leave upload-mode
lt:fix issue where a DHT message would count as an incoming connection
lt:add size_on_disk() to file_storage and torrent_info, reporting the total
size of non-pad files
lt:fix issue when failing to parse outgoing_interfaces setting
lt:fix issue where set_piece_hashes() would not propagate file errors
lt:fix super-seeding issue that could cause a segfault
lt:mark need-save-resume when adding a tracker
lt:fix need_save_resume_data() for renaming files, share-mode, upload-mode,
disable- pex, lsd, and dht.
lt:fix issue in parsing invalid webtorrent tracker responses
lt:fix incoming TCP connections when using tracker-only proxy
lt:correctly store "max_uploads" value in resume data
lt:fix error messages related to opening files, specifically truncate
and allocate failures (which currently are incorrectly attributed to
open file)
lt:add work-around for systems without fseeko() (such as Android)
lt:source code cleanup, performance and stability
v2.0.2-12
3 years ago
using libtorrent master
fixed missing fseeko64 symbol at runtime
fixed download priority type mismatch (now it is byte)
lt:cleanup use of _FILE_OFFSET_BITS
lt:ensure we don't attempt to make outgoing connections to RTC peers
lt:don't announce stopped-event to websocket trackers. This (appears) to
solve a shutdown stall where we send stopped-announces after aborting
outstanding announces (including the persistent websocket connection).
The announce causes the persistent connection to be re-established and
sometimes not torn down properly again, to complete the shut down
lt:increase the default setting for max_allowed_in_request_queue
from 500 to 2000. The entries in this queue are relatively small,
and allowing too few may negatively impact high-throughput peers