Semver 3.0.0
dotnet add package Semver --version 3.0.0
NuGet\Install-Package Semver -Version 3.0.0
<PackageReference Include="Semver" Version="3.0.0" />
paket add Semver --version 3.0.0
#r "nuget: Semver, 3.0.0"
// Install Semver as a Cake Addin #addin nuget:?package=Semver&version=3.0.0 // Install Semver as a Cake Tool #tool nuget:?package=Semver&version=3.0.0
A Semantic Version Library for .NET
Create, parse, and manipulate semantic version numbers with the SemVersion
class and semantic
version ranges with the SemVersionRange
class. This library complies with v2.0.0 of the semantic
versioning spec from semver.org.
API docs for the most recent release are available online at semver-nuget.org.
Parsing
var version = SemVersion.Parse("1.1.0-rc.1+e471d15", SemVersionStyles.Strict);
Constructing
var v1 = new SemVersion(1, 0);
var vNextRc = SemVersion.ParsedFrom(1, 1, 0, "rc.1");
Comparing
if (version.ComparePrecedenceTo(vNextRc) == 0)
Console.WriteLine($"{version} has the same precedence as {vNextRc}");
if (version.CompareSortOrderTo(vNextRc) > 0)
Console.WriteLine($"{version} sorts after {vNextRc}");
Outputs:
1.1.0-rc.1+e471d15 has the same precedence as 1.1.0-rc.1
1.1.0-rc.1+e471d15 sorts after 1.1.0-rc.1
Manipulating
Console.WriteLine($"Current: {version}");
if (version.IsPrerelease)
{
Console.WriteLine($"Prerelease: {version.Prerelease}");
Console.WriteLine($"Next release version is: {version.WithoutPrereleaseOrMetadata()}");
}
Outputs:
Current: 1.1.0-rc.1+e471d15
Prerelease: rc.1
Next release version is: 1.1.0
Version Ranges
var range = SemVersionRange.Parse("^1.0.0");
var prereleaseRange = SemVersionRange.ParseNpm("^1.0.0", includeAllPrerelease: true);
Console.WriteLine($"Range: {range}");
Console.WriteLine($"Prerelease range: {prereleaseRange}");
Console.WriteLine($"Range includes version {version}: {range.Contains(version)}");
Console.WriteLine($"Prerelease range includes version {version}: {prereleaseRange.Contains(version)}");
// Alternative: another way to call SemVersionRange.Contains(version)
version.Satisfies(range);
// Alternative: slower because it parses the range on every call
version.SatisfiesNpm("^1.0.0", includeAllPrerelease: true)
Outputs:
Range: 1.*
Prerelease range: *-* 1.*
Range includes version 1.1.0-rc.1+e471d15: False
Prerelease range includes version 1.1.0-rc.1+e471d15: True
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 is compatible. 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 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. |
-
.NETStandard 2.0
- IndexRange (>= 1.0.3)
- Microsoft.Bcl.HashCode (>= 1.1.1)
- Microsoft.Extensions.Primitives (>= 2.0.0)
-
.NETStandard 2.1
- Microsoft.Extensions.Primitives (>= 3.0.3)
-
net5.0
- Microsoft.Extensions.Primitives (>= 5.0.1)
NuGet packages (103)
Showing the top 5 NuGet packages that depend on Semver:
Package | Downloads |
---|---|
Pulumi
The Pulumi .NET SDK lets you write cloud programs in C#, F#, and VB.NET. |
|
UmbracoCms.Core
Contains the core assemblies needed to run Umbraco Cms. This package only contains assemblies and can be used for package development. Use the UmbracoCms package to setup Umbraco in Visual Studio as an ASP.NET project. |
|
Apprio.Enablement.Platform
Package Description |
|
Apprio.Enablement.Telemetry.Exceptions
Package Description |
|
Cake.SemVer
Cake Build addon to provide Semantice Versioning classes and aliases. |
GitHub repositories (35)
Showing the top 5 popular GitHub repositories that depend on Semver:
Repository | Stars |
---|---|
dotnet/tye
Tye is a tool that makes developing, testing, and deploying microservices and distributed applications easier. Project Tye includes a local orchestrator to make developing microservices easier and the ability to deploy microservices to Kubernetes with minimal configuration.
|
|
ChilliCream/graphql-platform
Welcome to the home of the Hot Chocolate GraphQL server for .NET, the Strawberry Shake GraphQL client for .NET and Banana Cake Pop the awesome Monaco based GraphQL IDE.
|
|
LykosAI/StabilityMatrix
Multi-Platform Package Manager for Stable Diffusion
|
|
microsoft/onefuzz
A self-hosted Fuzzing-As-A-Service platform
|
|
betwixt-labs/bebop
🎷No ceremony, just code. Blazing fast, typesafe binary serialization.
|
Version | Downloads | Last updated | |
---|---|---|---|
3.0.0 | 48,032 | 10/23/2024 | |
3.0.0-beta.2 | 706 | 9/29/2024 | |
3.0.0-beta.1 | 17,363 | 8/21/2023 | |
3.0.0-beta.0 | 5,080 | 5/7/2023 | |
2.3.0 | 3,881,940 | 2/21/2023 | |
2.3.0-beta.0 | 2,727 | 12/28/2022 | |
2.3.0-alpha.0 | 6,925 | 7/17/2022 | |
2.2.0 | 1,945,293 | 6/12/2022 | |
2.2.0-rc.0 | 1,505 | 5/15/2022 | |
2.1.0 | 4,203,715 | 3/19/2022 | |
2.1.0-rc.1 | 438 | 3/19/2022 | |
2.1.0-rc.0 | 663 | 3/7/2022 | |
2.0.6 | 7,475,284 | 12/28/2019 | |
2.0.5 | 313,195 | 10/27/2019 | |
2.0.4 | 3,198,266 | 8/1/2016 | |
2.0.3 | 19,470 | 7/31/2016 | |
1.1.2 | 3,232,725 | 5/13/2014 | |
1.1.1 | 3,932 | 11/24/2013 | |
1.1.0 | 3,238 | 11/15/2013 | |
1.0.5 | 2,735 | 7/1/2013 | |
1.0.4 | 2,420 | 7/1/2013 | |
1.0.3 | 2,545 | 1/10/2013 | |
1.0.1 | 2,250 | 1/10/2013 | |
1.0.0 | 3,551 | 1/9/2013 |