pub_semver 2.2.0 copy "pub_semver: ^2.2.0" to clipboard
pub_semver: ^2.2.0 copied to clipboard

Versions and version constraints implementing pub's versioning policy. This is very similar to vanilla semver, with a few corner cases.

2.2.0 #

  • Remove dependency on package:meta.
  • Mark Version class as final instead of with @sealed.
  • Clarify that the lists returned by the preRelease and build properties of Version and the ranges property of VersionUnion should not be modified.
  • Note that VersionConstraint.any and VersionConstraint.empty static fields shouldn't be reassigned and will be made final in a future release.

2.1.5 #

  • Require Dart 3.4.0.
  • Move to dart-lang/tools monorepo.

2.1.4 #

  • Added topics to pubspec.yaml.

2.1.3 #

  • Add type parameters to the signatures of the Version.preRelease and Version.build fields (List ==> List<Object>). #74.
  • Require Dart 2.17.

2.1.2 #

  • Add markdown badges to the readme.

2.1.1 #

  • Fixed the version parsing pattern to only accept dots between version components.

2.1.0 #

  • Added Version.canonicalizedVersion to help scrub leading zeros and highlight that Version.toString() preserves leading zeros.
  • Annotated Version with @sealed to discourage users from implementing the interface.

2.0.0 #

  • Stable null safety release.
  • Version.primary now throws StateError if the versions argument is empty.

1.4.4 #

  • Fix a bug of VersionRange.union where ranges bounded at infinity would get combined wrongly.

1.4.3 #

  • Update Dart SDK constraint to >=2.0.0 <3.0.0.
  • Update package:collection constraint to ^1.0.0.

1.4.2 #

  • Set max SDK version to <3.0.0.

1.4.1 #

  • Fix a bug where there upper bound of a version range with a build identifier could accidentally be rewritten.

1.4.0 #

  • Add a Version.firstPreRelease getter that returns the first possible pre-release of a version.

  • Add a Version.isFirstPreRelease getter that returns whether a version is the first possible pre-release.

  • new VersionRange() with an exclusive maximum now replaces the maximum with its first pre-release version. This matches the existing semantics, where an exclusive maximum would exclude pre-release versions of that maximum.

    Explicitly representing this by changing the maximum version ensures that all operations behave correctly with respect to the special pre-release semantics. In particular, it fixes bugs where, for example, (>=1.0.0 <2.0.0-dev).union(>=2.0.0-dev <2.0.0) and (>=1.0.0 <3.0.0).difference(^1.0.0) wouldn't include 2.0.0-dev.

  • Add an alwaysIncludeMaxPreRelease parameter to new VersionRange(), which disables the replacement described above and allows users to create ranges that do include the pre-release versions of an exclusive max version.

1.3.7 #

  • Fix more bugs with VersionRange.intersect(), VersionRange.difference(), and VersionRange.union() involving version ranges with pre-release maximums.

1.3.6 #

  • Fix a bug where constraints that only allowed pre-release versions would be parsed as empty constraints.

1.3.5 #

  • Fix a bug where VersionRange.intersect() would return incorrect results for pre-release versions with the same base version number as release versions.

1.3.4 #

  • Fix a bug where VersionRange.allowsAll(), VersionRange.allowsAny(), and VersionRange.difference() would return incorrect results for pre-release versions with the same base version number as release versions.

1.3.3 #

  • Fix a bug where VersionRange.difference() with a union constraint that covered the entire range would crash.

1.3.2 #

  • Fix a checked-mode error in VersionRange.difference().

1.3.1 #

  • Fix a new strong mode error.

1.3.0 #

  • Make the VersionUnion class public. This was previously used internally to implement new VersionConstraint.unionOf() and VersionConstraint.union(). Now it's public so you can use it too.

  • Added VersionConstraint.difference(). This returns a constraint matching all versions matched by one constraint but not another.

  • Make VersionRange implement Comparable<VersionRange>. Ranges are ordered first by lower bound, then by upper bound.

1.2.4 #

  • Fix all remaining strong mode warnings.

1.2.3 #

  • Addressed three strong mode warnings.

1.2.2 #

  • Make the package analyze under strong mode and compile with the DDC (Dart Dev Compiler). Fix two issues with a private subclass of VersionConstraint having different types for overridden methods.

1.2.1 #

  • Allow version ranges like >=1.2.3-dev.1 <1.2.3 to match pre-release versions of 1.2.3. Previously, these didn't match, since the pre-release versions had the same major, minor, and patch numbers as the max; now an exception has been added if they also have the same major, minor, and patch numbers as the min and the min is also a pre-release version.

1.2.0 #

  • Add a VersionConstraint.union() method and a new VersionConstraint.unionOf() constructor. These each return a constraint that matches multiple existing constraints.

  • Add a VersionConstraint.allowsAll() method, which returns whether one constraint is a superset of another.

  • Add a VersionConstraint.allowsAny() method, which returns whether one constraint overlaps another.

  • Version now implements VersionRange.

1.1.0 #

  • Add support for the ^ operator for compatible versions according to pub's notion of compatibility. ^1.2.3 is equivalent to >=1.2.3 <2.0.0; ^0.1.2 is equivalent to >=0.1.2 <0.2.0.

  • Add Version.nextBreaking, which returns the next version that introduces breaking changes after a given version.

  • Add new VersionConstraint.compatibleWith(), which returns a range covering all versions compatible with a given version.

  • Add a custom VersionRange.hashCode to make it properly hashable.

1.0.0 #

  • Initial release.
162
likes
160
points
5.56M
downloads

Documentation

API reference

Publisher

verified publishertools.dart.dev

Weekly Downloads

Versions and version constraints implementing pub's versioning policy. This is very similar to vanilla semver, with a few corner cases.

Repository (GitHub)
View/report issues
Contributing

Topics

#dart-pub #semver

License

BSD-3-Clause (license)

Dependencies

collection

More

Packages that depend on pub_semver