MonoTorrent 3.0.0-beta.rev0034

This is a prerelease version of MonoTorrent.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package MonoTorrent --version 3.0.0-beta.rev0034
NuGet\Install-Package MonoTorrent -Version 3.0.0-beta.rev0034
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MonoTorrent" Version="3.0.0-beta.rev0034" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MonoTorrent --version 3.0.0-beta.rev0034
#r "nuget: MonoTorrent, 3.0.0-beta.rev0034"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install MonoTorrent as a Cake Addin
#addin nuget:?package=MonoTorrent&version=3.0.0-beta.rev0034&prerelease

// Install MonoTorrent as a Cake Tool
#tool nuget:?package=MonoTorrent&version=3.0.0-beta.rev0034&prerelease

What's Changed

  • Set up CI with Azure Pipelines yaml by @alanmcgovern in https://github.com/alanmcgovern/monotorrent/pull/552
  • Tidy up DiskWriter by @alanmcgovern in https://github.com/alanmcgovern/monotorrent/pull/557
  • Small perf and memory optimisations by @alanmcgovern in https://github.com/alanmcgovern/monotorrent/pull/558
  • Added more tweaks to TorrentCreator to improve how events are emitted after the recent refactorings.
  • Misc API changes to migrate some classes to structs, and some structs to readonly structs.
  • Migrated PiecePicker to exclusively use PieceSegment rather than BlockInfo. Selecting pieces just needs the piece index and block index. It does not need the block length, which is what BlockInfo provides. BitTorrent V2 makes block length a much more complex thing to define.
  • Updated how the built-in disk writer handles concurrency when writing to the same file. When targeting .NET 6.0 and above the new, higher performance, RandomAccess API is used to read/write data. For .NET versions older than 6.0 multiple concurrent FileStreams are opened to allow safe concurrent reads/writes.
  • AllowedFast messages are now combined into an AllowedFastBundle to save a small amount of memory
  • Messages used to be decoded using a Dictionary lookup. This was converted to a simple array lookup, which makes it a much cheaper operation for one of the most commonly called codepaths in the library.

Full Changelog: https://github.com/alanmcgovern/monotorrent/compare/release-v3.0.0-beta-0010...release-v3.0.0-beta-0034

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 is compatible.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on MonoTorrent:

Package Downloads
H.Runners.TorrentRunner

Allows you to download torrents.

BitTorrentStorage

Bit Torrent Storage

GitHub repositories (10)

Showing the top 5 popular GitHub repositories that depend on MonoTorrent:

Repository Stars
Sonarr/Sonarr
Smart PVR for newsgroup and bittorrent users.
Radarr/Radarr
Movie organizer/manager for usenet and torrent users.
Prowlarr/Prowlarr
Lidarr/Lidarr
Looks and smells like Sonarr but made for music.
Readarr/Readarr
Book Manager and Automation (Sonarr for Ebooks)
Version Downloads Last updated
3.0.0-beta.rev0159 1,867 2/1/2023
3.0.0-beta.rev0157 121 2/1/2023
3.0.0-beta.rev0106 653 12/23/2022
3.0.0-beta.rev0104 108 12/15/2022
3.0.0-beta.rev0102 354 12/6/2022
3.0.0-beta.rev0068 213 11/12/2022
3.0.0-beta.rev0064 118 11/6/2022
3.0.0-beta.rev0050 107 11/2/2022
3.0.0-beta.rev0034 149 10/18/2022
3.0.0-beta.rev0015 148 9/26/2022
3.0.0-beta.rev0010 214 8/7/2022
3.0.0-beta.rev0000 180 7/10/2022
3.0.0-alpha.unstable.rev0233 121 7/8/2022
3.0.0-alpha.unstable.rev0217 119 6/25/2022
2.0.7 56,663 12/23/2022
2.0.6 5,308 7/19/2022
2.0.5 16,784 3/27/2022
2.0.4 321,809 1/13/2022
2.0.3 1,417 12/22/2021
2.0.2 1,273 12/4/2021
2.0.1 5,345 10/29/2021
2.0.0 15,103 5/4/2021
2.0.0-alpha.unstable.rev0193 206 4/3/2021
2.0.0-alpha.unstable.rev0192 178 4/2/2021
2.0.0-alpha.unstable.rev0167 179 3/18/2021
2.0.0-alpha.unstable.rev0147 189 3/13/2021
2.0.0-alpha.unstable.rev0132 191 2/25/2021
2.0.0-alpha.unstable.rev0123 189 2/20/2021
2.0.0-alpha.unstable.rev0122 162 2/18/2021
2.0.0-alpha.unstable.rev0112 187 2/17/2021
2.0.0-alpha.unstable.rev0107 204 2/10/2021
2.0.0-alpha.unstable.rev0037 256 12/19/2020
2.0.0-alpha.unstable.rev0031 233 12/18/2020
2.0.0-alpha.unstable.rev0017 208 12/10/2020
2.0.0-alpha.unstable.build1 250 12/7/2020
1.0.30 1,296 1/7/2022
1.0.29 11,306 2/16/2021
1.0.28 6,565 11/25/2020
1.0.27 1,499 11/24/2020
1.0.26 1,336 11/24/2020
1.0.25 1,453 11/14/2020
1.0.24 2,403 8/12/2020
1.0.23 2,195 7/6/2020
1.0.22 4,871 5/26/2020
1.0.21 2,928 4/24/2020
1.0.20 1,858 4/13/2020
1.0.19 20,280 3/27/2020
1.0.18 2,355 3/16/2020
1.0.17 1,453 3/9/2020
1.0.16 1,470 3/3/2020
1.0.16-alpha 1,245 2/5/2020
1.0.15 1,509 2/2/2020
1.0.14 1,375 1/30/2020
1.0.13 1,473 1/30/2020
1.0.12 1,511 1/16/2020
1.0.11 4,016 1/8/2020
1.0.10 1,941 12/11/2019
1.0.9 1,741 12/2/2019
1.0.9-beta 1,167 11/28/2019
1.0.8 1,487 11/19/2019
1.0.7 1,504 11/2/2019
1.0.6 1,423 11/1/2019
1.0.5 1,378 11/1/2019
1.0.4 1,445 10/30/2019
1.0.3 1,531 10/16/2019
1.0.2 1,492 9/27/2019
1.0.1 1,524 9/6/2019
1.0.0 1,604 9/6/2019
0.99.136-beta 1,225 9/6/2019
0.99.134-beta 1,204 9/5/2019
0.99.119-alpha 1,147 9/4/2019
0.9.0 10,451 6/10/2011