Geekeey.SemVer (1.0.0)
Installation
dotnet nuget add source --name geekeey --username your_username --password your_token dotnet add package --source geekeey --version 1.0.0 Geekeey.SemVerAbout this package
A .NET library for parsing, comparing, formatting, and serializing semantic versions and version ranges.
SemVer is a .NET library for parsing, comparing, formatting, and serializing semantic versions and version ranges.
Features
- Parsing: parse semantic version strings into structured objects.
- Comparison: compare versions with operators or
CompareTo. - Ranges: evaluate npm-style and Maven-style version ranges.
- Serialization: use
System.Text.Jsonconverters for versions and ranges.
Getting Started
Install the NuGet package:
dotnet add package Geekeey.SemVer
You may need to add our NuGet feed to your nuget.config this can be done by running the following command:
dotnet nuget add source -n geekeey https://code.geekeey.de/api/packages/geekeey/nuget/index.json
Usage
using Geekeey.SemVer;
var version = SemanticVersion.Parse("1.2.3-beta+build.7");
var next = new SemanticVersion(1, 3, 0);
Console.WriteLine(version);
Console.WriteLine(version.Major);
Console.WriteLine(version.Prerelease);
Console.WriteLine(version.Metadata);
Console.WriteLine(version < next);
if (SemanticVersion.TryParse("1.2.3-alpha", out var parsed))
{
Console.WriteLine(parsed);
}
Version ranges support npm-style and Maven-style syntax.
using Geekeey.SemVer;
var npmRange = SemanticVersionRange.Parse("^1.2.3");
var mavenRange = SemanticVersionRange.Parse("[1.2.3,2.0.0)");
var candidate = SemanticVersion.Parse("1.4.2");
Console.WriteLine(npmRange.Contains(candidate));
Console.WriteLine(mavenRange.Contains(candidate));
Console.WriteLine(npmRange.ToString("m", null));
Console.WriteLine(mavenRange.ToString("ns", null));
Both SemanticVersion and SemanticVersionRange integrate with System.Text.Json.
using System.Text.Json;
using Geekeey.SemVer;
var versionJson = JsonSerializer.Serialize(SemanticVersion.Parse("1.2.3-beta+build.7"));
var rangeJson = JsonSerializer.Serialize(SemanticVersionRange.Parse("^1.2.3"));
var roundTrippedVersion = JsonSerializer.Deserialize<SemanticVersion>(versionJson);
var roundTrippedRange = JsonSerializer.Deserialize<SemanticVersionRange>(rangeJson);
Details
2026-05-21 19:48:01 +00:00
Assets (4)
Versions (1)
View all
NuGet
0
The Geekeey Team
69 KiB
geekeey.semver.1.0.0.nupkg
37 KiB
geekeey.semver.nuspec
944 B
geekeey.semver.1.0.0.snupkg
12 KiB
geekeey.semver.pdb
18 KiB
1.0.0
2026-05-21