Libtorrent4j Versions Save

libtorrent for java, a swig Java interface for libtorrent

v2.0.4-21

2 years ago
  • using libtorrent master
  • 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:source code cleanup, performance and stability

v2.0.2-13

3 years ago
  • using libtorrent master
  • updated to OpenSSL 1.1.1j
  • improved java api layer
  • lt:updated libdatachannel to v0.11.9
  • lt:deprecate sha-1 file hashes (torrent file extension field)
  • 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:remove misleading (and redundant) peer log message
  • 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
  • lt:deprecate volatile_read_cache
  • lt:source code cleanup, performance and stability