Skip to content

Releases: WalkerCodeRanger/semver

semver v2.3.0

21 Feb 01:15
Compare
Choose a tag to compare

A minor release to add semantic version ranges.

  • Added SemVersionRange class 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

12 Jun 18:25
Compare
Choose a tag to compare

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 static ComparePrecedence(SemVersion, SemVersion) and PrecedenceEquals(SemVersion, SemVersion) methods for comparing precedence
  • New CompareSortOrderTo(SemVersion) and static CompareSortOrder(SemVersion, SemVersion) methods for comparing sort order
    • Use existing Equals(SemVersion) and Equals(SemVersion, SemVersion) to compare sort order equality
  • New PrecedenceComparer and SortOrderComparer static properties
    • Provide a comparer that implements IEqualityComparer<SemVersion> and IComparer<SemVersion> to compare by precedence and sort order respectively
    • These can be used for sorting, binary search, and using SemVersion as a dictionary key
  • Marked Compare(SemVersion, SemVersion), CompareByPrecedence(SemVersion), CompareTo(SemVersion), CompareTo(object), and PrecedenceMatches(SemVersion) obsolete
  • Marked comparison operators obsolete (#53)

semver v2.1.0

19 Mar 21:51
Compare
Choose a tag to compare

A minor release to improve parsing, construction, and modification.

  • Greatly improved doc comments
  • New Parse() and TryParse() overloads taking SemVersionStyles
    • SemVersionStyles provide greater flexibility in what formats to accept (feature #38)
    • Improved performance and more detailed exception messages (feature #62)
    • New methods enforce rule about leading zeros in prerelease identifiers (bug #16)
    • Old Parse() and TryParse() overloads marked obsolete
  • New With(), WithParsedFrom(), WithX(), WithoutX() methods to replace Change() method (feature #65)
    • New methods fully validate parameters to prevent invalid versions
    • New method names clearly indicate that the method does not mutate the existing SemVersion
    • Old Change() method marked obsolete
  • Added PrereleaseIdentifiers property providing access to individual identifiers (feature #37)
  • Added MetadataIdentifiers property providing access to individual identifiers (feature #37)
  • New Metadata property for consistent terminology use matching the semver spec
    • Marked Build property obsolete
  • Added IsPrerelease and IsRelease properties (feature #44)
  • New constructor overloads and SemVersion.ParsedFrom() method (bugs #40, #41)
    • New overloads accept prerelease portion and metadata as individual identifiers
    • New overloads validate all parameters to prevent invalid semantic versions
    • Marked old constructor overload obsolete
  • SemVersion now implements IEquatable<SemVersion> (feature #34)
  • New SemVersion.FromVersion() and ToVersion() methods for conversion from and to System.Version (bug #32)
    • Corrects the mapping between version parts
    • Marked old constructor obsolete
  • Added .NET Standard 2.0 assembly version to avoid warnings about .NET Standard 1.0 (feature #30)
  • Assembly version fixed at 2.1.0.0 until v3.0 (bug #61)
  • Marked implicit conversion from string obsolete (feature #46)
  • Improved hash code calculation

semver v2.0.6

28 Dec 03:09
Compare
Choose a tag to compare

A patch release to mitigate the possibility of ReDoS attacks (issue #58)

  • Modified parsing RegEx to use atomic groups
  • Added RegEx parsing timeout of ½ second

semver v2.0.5

27 Oct 18:14
Compare
Choose a tag to compare

A patch release to improve documentation, performance, test coverage, and development environment.

  • Improved API documentation and readme
  • Improved performance of TryParse, ToString, <=, and >=
  • Use invariant culture for parsing
  • Now publishing symbols package (#50)
  • Use SemVer in the AssemblyInformationalVersion (#43)

Development environment improvements:

  • Many more unit tests
  • New build and deploy process
  • Set up Microsoft.CodeAnalysis.FxCopAnalyzers and fix warnings
  • Upgraded project to VS 2019

semver v2.0.4

13 Oct 21:29
Compare
Choose a tag to compare

A patch release that appears to be an identical version to v2.0.3.

(This release note was written long after the release. The exact reason for a v2.0.4 release is now unknown. However, git tags for the releases are on the same commit. In addition, the packages appear to be essentially identical except for the version numbers even down to the byte length of the DLLs and both list 02eb12743a as the commit hash in their product version)

semver v2.0.3

01 Aug 07:08
Compare
Choose a tag to compare

A major release to support .NET Standard.

Breaking Changes:

  • Removes support for .NET Framework 2.0 to 4.0 (.NET Framework ≥4.5 still supported)

Other Changes:

semver v1.1.2

28 Sep 21:47
Compare
Choose a tag to compare

A patch release.

semver v1.1.1

28 Sep 21:49
Compare
Choose a tag to compare

A patch release.

semver v1.1.0

28 Sep 21:53
Compare
Choose a tag to compare

A minor release.