Slotly.Versioning
10.0.2
dotnet add package Slotly.Versioning --version 10.0.2
NuGet\Install-Package Slotly.Versioning -Version 10.0.2
<PackageReference Include="Slotly.Versioning" Version="10.0.2" />
<PackageVersion Include="Slotly.Versioning" Version="10.0.2" />
<PackageReference Include="Slotly.Versioning" />
paket add Slotly.Versioning --version 10.0.2
#r "nuget: Slotly.Versioning, 10.0.2"
#:package Slotly.Versioning@10.0.2
#addin nuget:?package=Slotly.Versioning&version=10.0.2
#tool nuget:?package=Slotly.Versioning&version=10.0.2
Slotly.Versioning
Semantic versioning parser and range matcher for the Slotly plugin framework.
Part of the Slotly plugin framework.
Features
- SemVersion immutable value type implementing SemVer 2.0.0 with parsing, comparison, and equality
- SemVersionRange supporting exact, caret (
^), tilde (~), comparison (>=,<), hyphen (1.0.0 - 2.0.0), and union (||) ranges - Full operator overloads (
==,!=,<,>,<=,>=) onSemVersion - Prerelease and build metadata support
- Result-based parsing returning
VersionInvalidErroron failure
Installation
dotnet add package Slotly.Versioning
Usage
Parse, compare, and match semantic versions against ranges:
using Slotly.Versioning;
// Parse a version
Result<SemVersion, PluginError> result = SemVersion.Parse("2.1.0-beta.1+build.42");
SemVersion version = result.Unwrap();
Console.WriteLine($"Major: {version.Major}"); // 2
Console.WriteLine($"Prerelease: {version.IsPrerelease}"); // true
// Compare versions
SemVersion v1 = SemVersion.Parse("1.0.0").Unwrap();
SemVersion v2 = SemVersion.Parse("2.0.0").Unwrap();
Console.WriteLine(v1 < v2); // true
// Parse and check version ranges
SemVersionRange range = SemVersionRange.Parse("^1.2.0").Unwrap();
Console.WriteLine(range.IsSatisfied(SemVersion.Parse("1.9.0").Unwrap())); // true
Console.WriteLine(range.IsSatisfied(SemVersion.Parse("2.0.0").Unwrap())); // false
// Complex range with union
SemVersionRange complex = SemVersionRange.Parse(">=1.0.0 <2.0.0 || ^3.0.0").Unwrap();
Console.WriteLine(complex.IsSatisfied(SemVersion.Parse("1.5.0").Unwrap())); // true
Console.WriteLine(complex.IsSatisfied(SemVersion.Parse("3.1.0").Unwrap())); // true
License
MIT -- see LICENSE for details.
| Product | Versions 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | 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.1
- Slotly.Core (>= 10.0.2)
-
net10.0
- Slotly.Core (>= 10.0.2)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Slotly.Versioning:
| Package | Downloads |
|---|---|
|
Slotly.Dependencies
Plugin dependency resolution with topological sorting for the Slotly plugin framework. |
|
|
Slotly.Registry
Plugin registry and catalog for the Slotly plugin framework. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version 10.0.2: Updated Rustly dependency to 10.2.1 (EnumValue returns Option, Newtonsoft.Json support, EnumValue JSON/TypeConverter).