Skip to content

semver v3.0.0

Latest
Compare
Choose a tag to compare
@WalkerCodeRanger WalkerCodeRanger released this 23 Oct 22:34
· 6 commits to master since this release

A major release to support arbitrary-sized version numbers, prevent invalid version numbers, remove obsolete functionality, and strong name the assembly.

Breaking Changes:

  • SemVersion.Parse and SemVersion.TryParse now default to strict parsing. Use SemVersionStyles to control parsing
  • SemVersion.Major, SemVersion.Minor, SemVersion.Patch, and PrereleaseIdentifier.NumericValue properties are now BigInteger (#73)
  • Removed obsolete methods (#70, #47), including:
    • Implicit conversion from string (#47). Use SemVersion.Parse instead
    • SemVersion(int major, int minor = 0, int patch = 0, string prerelease = "", string build = "") constructor. Use another constructor or SemVersion.ParsedFrom instead
    • SemVersion.Parse and SemVersion.TryParse overloads with the strict parameter. They now default to strict. Use SemVersionStyles to control parsing
    • Comparison with SemVersion.CompareTo, SemVersion.Compare, SemVersion.CompareByPrecedence, <, <=, >, >=, or SemVersion.PrecedenceMatches. Use SemVersion.ComparePrecedenceTo, SemVersion.CompareSortOrderTo, SemVersion.ComparePrecedence, or SemVersion.CompareSortOrder instead.
    • SemVersion.Build. Use SemVersion.Metadata instead
    • SemVersion.Change. Use SemVersion.With or SemVersion.WithX methods instead
    • SemVersion(Version) constructor. Use SemVersion.FromVersion instead
  • SemVersion no longer implements IComparable<SemVersion> or IComparable. Use SemVersion.PrecedenceComparer or SemVersion.SortOrderComparer instead
  • 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 maxLength parameter values now throw ArgumentOutOfRangeException (#72)

Other Changes:

  • Arbitrary-sized version numbers are now supported, including in prerelease identifiers (#73)