DiceRoller 4.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package DiceRoller --version 4.0.0
NuGet\Install-Package DiceRoller -Version 4.0.0
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="DiceRoller" Version="4.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DiceRoller --version 4.0.0
#r "nuget: DiceRoller, 4.0.0"
#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 DiceRoller as a Cake Addin
#addin nuget:?package=DiceRoller&version=4.0.0

// Install DiceRoller as a Cake Tool
#tool nuget:?package=DiceRoller&version=4.0.0

Extensible and well-documented dice roller with a robust set of features. Excellent for play-by-post forums, virtual tabletops, or for integrating into character sheets or encounter managers.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  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 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net452 is compatible.  net46 was computed.  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

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
4.2.0 1,555 6/15/2021
4.1.0 4,880 12/26/2019
4.0.0 2,794 12/23/2018
3.1.0 1,210 10/6/2017
3.0.2 864 9/30/2017
3.0.1 879 9/23/2017
3.0.0 875 9/16/2017
2.0.2 957 6/21/2017
2.0.1 953 5/12/2017
2.0.0 1,045 5/6/2017
1.1.0 950 4/20/2017
1.0.0 944 4/18/2017

Backwards-incompatible changes:
           - Nested rolls are fully resolved in RollResult.ToString(). For example, instead of ToString() reporting "(1d8)d6", it will now report the value rolled for the d8, e.g. "3d6"
           - RollerConfig.ExecuteMacro was removed.

           New features:
           - DiceRoller is now packaged for both .NET Standard 2.0 as well as .NET Framework 4.5.2. .NET Standard 2.0 supports .NET Framework 4.6.1+ and .NET Core 2.0.
           - Success/failure rolls can now be decorated with critical/fumbles. A critical success (a roll that is both a critical and a success) is worth 2 successes, and a critical failure (a roll that is both a fumble and a failure) is worth -2 successes. This expands support into game systems which use success-based rolls but have varying degrees of success beyond just +1 or -1.
           - Unless a success/failure roll is explicitly decorated with a critical/fumble, those rolls will not be marked as criticals or fumbles even if the max or min amount is rolled. This keeps default behavior with such rolls consistent with how they worked previously.
           - A new [numDice] macro was added, which returns the total number of dice rolled up to this point. This macro is available in all scenarios, including the stand-alone Roller.Roll; using the Play-by-Post helper is not required to use this macro.
           - A new property RollerConfig.RollDie was added to allow customizing the result of a die roll in a more friendly way. This property is a callback which receives the minimum and maximum value it can roll for a die, and should return a number within that range. By default, it will call RollerConfig.GetRandomBytes repeatedly until it gets a result it can transform into the output range without introducing any bias.
           - New APIs Roller.Max(), Roller.Min(), and Roller.Average() evaluate the dice expression and return the result as if all dice rolled their minimum, maximum, or average values.

           Bugfixes:
           - It is now possible to put an expression in parenthesis (a "nested roll") everywhere a number is expected. Previously, comparisons incorrectly rejected nested rolls.

           Dependency updates:
           - Updated Antlr4.Runtime.Standard from 4.7.1 to 4.7.2
           - Updated System.ValueTuple from 4.4.0 to 4.5.0

           Other:
           - The nuget package is now digitally signed with the certificate fingerprint a87d3b543d551ccd330c23b31b653835a86569bc. The same certificate is used to sign the .dll itself in addition to the package.

           See https://skizzerz.net/DiceRoller/Changelog for more changes.