Skip to content

Releases: alanmcgovern/monotorrent

v1.0.15

02 Feb 09:17
Compare
Choose a tag to compare

General

  • Fixed a very minor memory allocation regression from 1.0.13.
  • Significant memory usage reductions for torrents with hundreds, or thousands, of files.
  • Web Seeding will work with https in addition to the original http support.
  • Several WebRequest related operations are forcibly moved to the ThreadPool to ensure the main thread is not blocked unexpectedly.
  • Added some new Torrent.LoadAsync methods to complement the pre-existing Torrent.Load methods.
  • Local Peer Discovery now uses batching to reduce overheads when dozens/hundreds of torrents are started concurrently.

v1.0.14

30 Jan 08:08
Compare
Choose a tag to compare

General

  • Improve compatibility when running under UWP. A workaround for dotnet/corert#5603 was added.

v1.0.13

30 Jan 03:57
Compare
Choose a tag to compare

General

  • Added some tests to improve overall code coverage.
  • The UW client identifier is now recognised as uTorrentWeb.
  • A list of peers are retained when a torrent is stopped and restarted. This will allow connections to be initiated before the first announce completes. It can be useful when the tracker is unreliable. Peers which are retained are replaced with fresh peers as soon as a tracker, or DHT, announce completes. This ensures the freshest set of peers is always used when initiating connections.
  • Improved performance of reading/writing files. Patch thanks to @ilyalatt .
  • Misc code formatting for consistency.

v1.0.12

16 Jan 15:21
Compare
Choose a tag to compare

General

  • Multi-file torrents downloaded using magnet links will be placed in a containing directory, just like they would if they were loaded from a .torrent file. Patch from @jpmikkers
  • Tracker.Status is more accurately updated for Http and Udp based trackers.
  • The paths for files in a .torrent are validated when loading a torrent in addition to when a torrent is being created. The validation ensures that path traversal attacks will cause the torrent to fail to load.
  • Added the ability to put a timeout on the final announce when calling TorrentManager.StopAsync (TimeSpan) or ClientEngine.StopAllAsync (TimeSpan). In the event the Tracker is unresponsive, the announce will be cancelled after the timeout is reached, allowing TorrentManager to enter the Stopped state.

v1.0.11

08 Jan 12:50
Compare
Choose a tag to compare

General

  • Ensure that tracker scrape and announce requests always run on a background thread to avoid slowing down the core engine.
  • Added a tweak so that invalid 'nodes' elements in the torrent metadata will be gracefully ignored.
  • Fixed a bug in PauseAsync introduced when adding the ability to pause in Hashing mode.

v1.0.10

11 Dec 16:20
Compare
Choose a tag to compare

General

  • The correct events are raised when hashing is paused/resumed.
  • When a TorrentManager is stopped all the files associated with it should be reliably closed.
  • The bitfield representing the completion status of a TorrentFile is always accurately refreshed when partial downloading is enabled and that TorrentFile is marked as DoNotDownload.
  • Minor improvements to the SuperSeeding mode.
  • Fixed an issue when downloading torrents using an infohash instead of the full .torrent file. If a peer connection was in the middle of the initial handshake process when the final metadata piece was received, the connection would not be updated appropriately.
  • Small tweaks to EndGame mode to ensure it always respects file prioritisation (i.e. files marked as DoNotDownload).

v1.0.9

02 Dec 08:36
Compare
Choose a tag to compare

General

  • Updates the ReusableTasks dependency to 1.0.6 to pull in a fix for ReusableTaskCompletionSource.

v1.0.9-beta

28 Nov 13:29
Compare
Choose a tag to compare
v1.0.9-beta Pre-release
Pre-release

General

  • Update the minimum required ReusableTasks version to 1.0.6-beta to see if it resolves a task reuse issue.

v1.0.8

19 Nov 10:54
Compare
Choose a tag to compare

General

  • Reduced the layer of 'async' methods for IPV4 and IPV6 connections
  • Minor improvements to endgame mode. The window within which a torrent has entered endgame mode has been enlarged, and performance has been improved in the case where a piece which completes in endgame mode fails it's hash check. It will be re-requested much faster now.
  • Webseeding has been fully re-enabled and new parameters have been added to EngineSettings to control its behaviour.
  • Fixed auto piece size calculations in TorrentCreator
  • TorrentCreator has has some minor performance improvements.

v1.0.7

02 Nov 19:30
Compare
Choose a tag to compare

General

  • Peers discovered on the local network will be treated as high priority when choosing a peer to connect to.
  • Reduced memory usage when sending Have messages to peers when a piece is complete.
  • Put a cap on the maximum number of peers stored in memory.
  • Small memory allocation improvements when negotiating encrypted connections.