Skip to content

Releases: alanmcgovern/monotorrent

v0.99.108

03 Sep 00:04
Compare
Choose a tag to compare
v0.99.108 Pre-release
Pre-release

General

  • The engine will now make EngineSettings.MaxPendingConnections simultaneous connections instead of EngineSettings.MaxPendingConnections - 1.
  • Ensured that downloading torrents using a MagnetLink always does a Local Peer, DHT and Tracker announce to find the initial set of peers to retrieve the torrent metadata from. Previously it may have skipped the Tracker.
  • Some behind the scenes work in the tests to make them run in approximately 2.5 seconds instead of 11.

v0.99.85

30 Aug 15:06
Compare
Choose a tag to compare
v0.99.85 Pre-release
Pre-release

General

  • Improvements to LocalPeerDiscovery
  • Lots of internal refactoring which allowed for more thorough tests to be added for the encryption code, piece writing and piece picking.

v0.99.64

25 Aug 20:40
Compare
Choose a tag to compare
v0.99.64 Pre-release
Pre-release

General

  • Releases are now built using the deterministic compilation flag. This means it should be possible to independently compile bit-identical copies of the releases.
  • Added code comments to a few more properties/types.
  • Added a new public event, TorrentManager.ConnectionAttemptFailed. This provides some metadata to maybe explain why a particular connection attempt may have failed.
  • Improved the fallbacks when attempting to connect to remote peers. If the connection is dropped while using a plain-text connection, a connection attempt will be automatically retried using an RC4 encrypted connection, if it's supported.
  • Optimised TorrentManager.StopAsync so it can complete a little faster under normal conditions.
  • Changed the semantics of TorrentManager.StartAsync and TorrentManager.StopAsync to make them more user friendly. StartAsync completes as soon as the TorrentManager enters any active mode (for example Downloading, Hashing, Metadata etc). StopAsync is marked as complete as soon as all the async tasks have completed and the torrent has fully stopped.
  • Integrated a patch from @skelder to address an issue adding peers to private torrents (PR #119 )]
  • When downloading a private torrent all PeerExchange messages are ignored as only peers received from a Tracker are allowed. Optimise this scenario by excluding PeerExchange support from the list of supported features when sending the handshake message.

v0.99.40

21 Aug 15:20
Compare
Choose a tag to compare
v0.99.40 Pre-release
Pre-release

General

  • Some API breaking renames in the MonoTorrent.Tracker namespace:
    Tracker -> TrackerServer
    ScrapeParameters -> ScrapeRequest
    AnnounceParameters -> AnnounceRequest
    RequestParameters -> TrackerRequest
  • Made ClientAddressComparer and PeerIdComparer public so they can be easily used when instantiating a TrackerServer.
  • Fixed an issue in the TrackerServer implementation where the InfoHash in the files dictionary was hex encoded instead of BEncoded when responding to a HTTP scrape request.
  • Added sanity checks to the client side HttpTracker logic to ensure that the scrape response contains the expected InfoHash as a 20 byte BEncodedString.
  • Added code comments to a bunch of properties/methods.

v0.99.27

20 Aug 20:07
Compare
Choose a tag to compare
v0.99.27 Pre-release
Pre-release

General

No real changes, just removing some blocking .Result and .Wait calls and move to normal async/await where possible.

v0.99.22

20 Aug 12:09
Compare
Choose a tag to compare
v0.99.22 Pre-release
Pre-release

General

  • Added additional tests and fixed a few more cases where identifiers consisting of arbitrary bytes were being respresented as a string instead of a BEncodedString.
  • Fixed a bug where UDP trackers were non-functional because the connection id was being double encoded in network byte order.
  • Fixed some more edge cases when swapping between a single announce and tracker tiers when editing torrents.

v0.99.10

16 Aug 11:33
Compare
Choose a tag to compare
v0.99.10 Pre-release
Pre-release

General

  • Added the ability to incremental hash pieces as they are downloaded.
  • Added the ability to null out string based properties when using TorrentEditor.

v0.99.8

15 Aug 15:41
Compare
Choose a tag to compare
v0.99.8 Pre-release
Pre-release

General

Small change to ensure that PeerIds, TrackerIds and tracker Keys are always represented as a BEncodedString. They can be arbitrary bytes so don't assume they can be represented in any text encoding.

v0.99.4

14 Aug 13:15
Compare
Choose a tag to compare
v0.99.4 Pre-release
Pre-release

General

Fixed a regression requesting pieces using the fast peer extensions. The first block of the piece was not being downloaded immediately.

v0.99.2

14 Aug 10:25
Compare
Choose a tag to compare
v0.99.2 Pre-release
Pre-release

General

A few fixes around how the 'peer id', 'key' and 'tracker id' parameters are generated and sent to/from trackers. Where possible all arbitrary keys/identifiers are generated using the same scheme as the peer id, something like: MO1234-<random_data> where MO is for MonoTorrent, and 1234 is for the version 1.2.3.4.