Skip to content

Releases: alanmcgovern/monotorrent

v0.99.0

13 Aug 18:09
Compare
Choose a tag to compare
v0.99.0 Pre-release
Pre-release

This release is a fairly dramatic set of changes. It's intended to pave the way to a 1.0.0.0 release in the not too distant future.

There are quite a few changes so I'll just list the highlights:

General

  • The library has been ported to be a .NET Standard 2.0 library (netstandard2.0).
  • MonoTorrent.Dht.dll has been merged into MonoTorrent.dll. The reason for the separation before was purely due to some packaging/licensing concerns about DHT itself from over a decade ago. Those concerns are no longer relevant!
  • The older style BeginXXX/ReceiveXXX workflows have been entirely replaced by modern async/await.
  • API which used to be public is now internal or private. The intention was to hide API which users of MonoTorrent should never need actual access to. If there are cases where required API is now internal, it will be restored in form which works with the new async/await nature of the library.
  • The library will follow the SemVer versioning scheme.
  • The library will be strong named.

Optimisations

  • Some minor memory retention issues have been resolved. Thanks to @OneFingerCodingWarrior for reporting them and proposing some fixes.
  • Far fewer HaveMessage objects are instantiated when informing peers that a new piece is available.
  • Lots of misc optimisations to reduce allocations.

Fixed bugs

  • Pending DHT queries could be abandoned, under some circumstances, when a query using the same transaction ID is received from another peer.
  • Pending DHT queries are fully abandoned when an Error response is received.