What does plus one (+1) mean in dart's dependency versioning
+
means it is a regular release build,
while -
would indicate a pre-release build.
(No build number after x.y.z
also indicates a release build like +
)
The following part of the version is some build number that does not have a fixed format.
See also
- https://www.dartlang.org/tools/pub/versioning
- https://semver.org/spec/v2.0.0-rc.1.html
From https://semver.org/spec/v2.0.0-rc.1.html
A pre-release version MAY be denoted by appending a dash and a series of dot separated identifiers immediately following the patch version. Identifiers MUST be comprised of only ASCII alphanumerics and dash [0-9A-Za-z-]. Pre-release versions satisfy but have a lower precedence than the associated normal version. Examples: 1.0.0-alpha, 1.0.0-alpha.1, 1.0.0-0.3.7, 1.0.0-x.7.z.92.
A build version MAY be denoted by appending a plus sign and a series of dot separated identifiers immediately following the patch version or pre-release version. Identifiers MUST be comprised of only ASCII alphanumerics and dash [0-9A-Za-z-]. Build versions satisfy and have a higher precedence than the associated normal version. Examples: 1.0.0+build.1, 1.3.7+build.11.e0f985a.
Hint: Pre-release versions (with -
) are ignored by flutter packages get
unless the -
is explicitly part of the version constraint in pubspec.yaml
like
foo_package: ^1.2.3-beta
In Dart conventions the +1
is used when publishing a patch release where the first number in the version is 0
. The version 1.2.1+1
is not idiomatic. Essentially there are two patterns in use depending on whether the author considers the package stable enough to reach 1.0.0
:
0.major.minor+patch
major.minor.patch