Skip to content

Releases: alanmcgovern/monotorrent

v3.0.0-beta-0264

17 Jul 22:59
Compare
Choose a tag to compare
v3.0.0-beta-0264 Pre-release
Pre-release

What's Changed

Full Changelog: release-v3.0.0-beta-0240...release-v3.0.0-beta-0264

release-v3.0.0-beta-0240

30 Jun 23:31
Compare
Choose a tag to compare
Pre-release

What's Changed

  • [core] Add logging when handling requests in the Tracker server by @alanmcgovern in #620
  • [core] Try harder to send a valid port to the tracker by @alanmcgovern in #624
  • [core] Remove the restriction on 'MoveFileAsync' by @alanmcgovern in #625
  • [server] Properly handle invalid port values by @alanmcgovern in #623
  • [core] Don't require peer_ids to match expectations by @alanmcgovern in #628
  • [PieceWriter] Fix a threading bug and clean up stale state by @alanmcgovern in #629
  • Fixing "Contribute" links. by @MarioFinale in #641
  • The ReusableTask dependency has been updated to incorporate recent performance optimisations
  • Several performance improvements made to BitField. Additional optimisations were made for .NET7 and newer by using more modern APIs.
  • Improved DiskManager behaviour by ensuring expensive operations (opening or truncating files) are consistently executed asynchronously by a threadpool thread.
  • Sparse files are now created using the built-in API, when it's available.
  • Optimised the RC4 encryption routines by migrating to Span based APIs.
  • Further improvements to BitTorrent v2 support - fixing several more corner cases exposed when trying to download a torrent consisting of ~100GB of data, but which used a piece length of 16kB.
  • Relaxed the restriction on he upper size for a message received from another peer. The limit is now 64kB or the size of the BitField needed to represent all pieces in the torrent. If you have 1,000,000 pieces in your torrent, you'll have a bitfield which is substantially larger than 64kB.

New Contributors

Full Changelog: release-v3.0.0-beta-0159...release-v3.0.0-beta-0240

v3.0.0-beta-0159

01 Feb 21:53
Compare
Choose a tag to compare
v3.0.0-beta-0159 Pre-release
Pre-release

General

Just adding a little more logging to help diagnose issues in future. Functionally identical to release 3.0.0-beta-0157 when logging is not enabled.

Full Changelog: release-v3.0.0-beta-0157...release-v3.0.0-beta-0159

v3.0.0-beta-0157

01 Feb 21:36
Compare
Choose a tag to compare
v3.0.0-beta-0157 Pre-release
Pre-release

General

This release has several improvements to how IPv6 support is implemented, adding support for IPv6 Tracker Extension and including support for the latest refresh of both BEP 11 and BEP 15.

Additionally, it is now possible to call TorrentManager.MoveFileAsync while a torrent is actively downloading, and support for dynamically moving files is compatible with EngineSettings.UsePartialFiles. There are also several tweaks to BEP52/BEP47 support, improving support for hybrid torrents which contain multiple sequential empty files.

What's Changed

Full Changelog: release-v3.0.0-beta-0106...release-v3.0.0-beta-0157

v2.0.7

23 Dec 17:27
Compare
Choose a tag to compare

What's Changed

  • [core] Skip parsing key if value is an empty string by @winterqt in #584

New Contributors

Full Changelog: release-v2.0.6...release-v2.0.7

v3.0.0-beta-0106

23 Dec 17:20
55770f9
Compare
Choose a tag to compare
v3.0.0-beta-0106 Pre-release
Pre-release

What's Changed

  • [core] Skip parsing key if value is an empty string by @winterqt in #584

New Contributors

Full Changelog: release-v3.0.0-beta-0104...release-v3.0.0-beta-0106

v3.0.0-beta-0104

15 Dec 19:06
d321ab7
Compare
Choose a tag to compare
v3.0.0-beta-0104 Pre-release
Pre-release

What's Changed

Full Changelog: release-v3.0.0-beta-0102...release-v3.0.0-beta-0104

v3.0.0-beta-0102

06 Dec 16:42
85888fa
Compare
Choose a tag to compare
v3.0.0-beta-0102 Pre-release
Pre-release

General

  • Several fixes to how webseeds are implemented/integrated, thanks to @borigas .
  • If a regular block of data is requested from a peer and they do not fulfil that request, a timeout is applied and the connection is closed. The same timeout is now applied when requesting metadata and bittorrent v2 piece hashes from peers. This fixes a bug whereby a peer who does not fulfil the request would result in the engine stalling instead of re-fetching the metadata/v2 piece hash from another peer.

What's Changed

  • [tests] Stop the HttpListener as part of teardown by @alanmcgovern in #574
  • Simplify how modes are implemented in the engine by @alanmcgovern in #575
  • Ensure the engine re-announces on a regular cadence when in Metadata mode (i.e. downloading with a magnet link) and PieceHashes mode (when fetching bittorrent v2 piece hashes from other peers).
  • Start web seed if the speed trigger is 0 by @borigas in #577
  • Web Seed Integration Tests by @borigas in #576. This also includes fixes for several issues with support for bittorrent v2 and padding files (BEP52 and BEP47).
  • [tests] Close the response after writing the status code by @alanmcgovern in #578
  • Specify 'Release' configurations properly by @alanmcgovern in #579

Full Changelog: release-v3.0.0-beta-0068...release-v3.0.0-beta-0102

v3.0.0-beta-0068

12 Nov 15:57
7233923
Compare
Choose a tag to compare
v3.0.0-beta-0068 Pre-release
Pre-release

What's Changed

  • [core] Refactor how announce requests are handled. by @alanmcgovern in #572 . Torrents which have 10, or more, tiers of trackers will have significantly reduced memory consumption in the event trackers within those tiers are non-responsive or offline.

Full Changelog: release-v3.0.0-beta-0064...release-v3.0.0-beta-0068

v3.0.0-beta-0064

06 Nov 23:38
420cb93
Compare
Choose a tag to compare
v3.0.0-beta-0064 Pre-release
Pre-release

What's Changed

  • Removed PieceRequesterSettings.IgnoreChokeState. This was an experiment used to port 'Metadata' mode and 'PieceHashes' mode to use the same piece picking logic as when actual torrent data is downloaded. This was a success and this behaviour was implemented using a custom IRequester instead, eliminating the need for this hacky behaviour.
  • Fixed a bug where 'endgame' mode wasn't enabled when fetching metadata from other peers, resulting in slower performance when fetching the torrent metadata for a magnet link.
  • Fixed a bug where outstanding requests for 'metadata' or bittorrent v2 'piece hahes' were not always cancelled when a peer disconnected.
  • Integration tests by @borigas in #567
  • Handle timeouts requesting metadata by @alanmcgovern in #568

Full Changelog: release-v3.0.0-beta-0050...release-v3.0.0-beta-0064