Releases: WalkerCodeRanger/semver
Releases · WalkerCodeRanger/semver
Release list
semver v3.0.0
A major release to support arbitrary-sized version numbers, prevent invalid version numbers, remove obsolete functionality, and strong name the assembly.
Breaking Changes:
SemVersion.ParseandSemVersion.TryParsenow default to strict parsing. UseSemVersionStylesto control parsingSemVersion.Major,SemVersion.Minor,SemVersion.Patch, andPrereleaseIdentifier.NumericValueproperties are nowBigInteger(#73)- Removed obsolete methods (#70, #47), including:
- Implicit conversion from
string(#47). UseSemVersion.Parseinstead SemVersion(int major, int minor = 0, int patch = 0, string prerelease = "", string build = "")constructor. Use another constructor orSemVersion.ParsedFrominsteadSemVersion.ParseandSemVersion.TryParseoverloads with thestrictparameter. They now default to strict. UseSemVersionStylesto control parsing- Comparison with
SemVersion.CompareTo,SemVersion.Compare,SemVersion.CompareByPrecedence,<,<=,>,>=, orSemVersion.PrecedenceMatches. UseSemVersion.ComparePrecedenceTo,SemVersion.CompareSortOrderTo,SemVersion.ComparePrecedence, orSemVersion.CompareSortOrderinstead. SemVersion.Build. UseSemVersion.MetadatainsteadSemVersion.Change. UseSemVersion.WithorSemVersion.WithXmethods insteadSemVersion(Version)constructor. UseSemVersion.FromVersioninstead
- Implicit conversion from
SemVersionno longer implementsIComparable<SemVersion>orIComparable. UseSemVersion.PrecedenceComparerorSemVersion.SortOrderComparerinstead- Added strong name to assembly (#23)
- Dropped support for frameworks older than .NET Standard 2.0 (i.e., .NET Framework < 4.6.2 & .NET Core < 2.0) (#68)
- Construction of versions with negative major, minor, or patch is no longer allowed (#40)
- Negative
maxLengthparameter values now throwArgumentOutOfRangeException(#72)
Other Changes:
- Arbitrary-sized version numbers are now supported, including in prerelease identifiers (#73)
semver v2.3.0
A minor release to add semantic version ranges.
- Added
SemVersionRangeclass and related classes for creating, parsing, and manipulating semantic version ranges. Supports an npm like range syntax as well as the actual npm syntax. - Marked obsolete methods with
EditorBrowsable(EditorBrowsableState.Never)so that they would not appear in auto-complete.
semver v2.2.0
A minor release to improve comparison. Existing comparison methods and operators were confusing (#15, #26) and had bugs (#39, #53, #69).
- New
ComparePrecedenceTo(SemVersion),PrecedenceEquals(Semver), and staticComparePrecedence(SemVersion, SemVersion)andPrecedenceEquals(SemVersion, SemVersion)methods for comparing precedence - New
CompareSortOrderTo(SemVersion)and staticCompareSortOrder(SemVersion, SemVersion)methods for comparing sort order- Use existing
Equals(SemVersion)andEquals(SemVersion, SemVersion)to compare sort order equality
- Use existing
- New
PrecedenceComparerandSortOrderComparerstatic properties- Provide a comparer that implements
IEqualityComparer<SemVersion>andIComparer<SemVersion>to compare by precedence and sort order respectively - These can be used for sorting, binary search, and using
SemVersionas a dictionary key
- Provide a comparer that implements
- Marked
Compare(SemVersion, SemVersion),CompareByPrecedence(SemVersion),CompareTo(SemVersion),CompareTo(object), andPrecedenceMatches(SemVersion)obsolete - Marked comparison operators obsolete (#53)