Verona spec: Update "Version numbers" and "Version string" sections
Iris Clark
iris.clark at oracle.com
Wed Jun 1 21:18:58 UTC 2016
Hi.
The "Version numbers" and "Version string" sections of the JEP should be
aligned with the specification of java.lang.Runtime.Version (8144062). And the original jdk.Version specification (8072379). Changes include the following:
- Eliminate use of "JDK" when describing a Java SE API
- Clarifications related to zeros (trailing vs. internal components),
Comparisons, and the definition of short version strings
- Small typographical and grammatical enhancements
The attached diffs will be applied to the JEP shortly.
Thanks,
Iris
-----
4c4
< Revise the JDK's version-string scheme so that it is easier to
---
> Revise the Java SE Platform's version-string scheme so that it is easier to
81,86c81,89
< A _version number_, `$VNUM`, is a non-empty sequence of non-negative integer
< numerals, without leading or trailing zeroes, separated by period characters
< (U+002E); _i.e._, it matches the regular expression
< `^[1-9][0-9]*(((\.0)*\.[1-9][0-9]*)*)*$`. The sequence may be of arbitrary
< length but the first three elements are assigned specific meanings, as
< follows:
---
> A _version number_, `$VNUM`, is a non-empty sequence of elements separated
> by period characters (U+002E). An element is either zero, or an unsigned
> integer numeral without leading zeros. The final element in a version
> number must not be zero. The format is:
>
> ^[1-9][0-9]*(((\.0)*\.[1-9][0-9]*)*)*$
>
> The sequence may be of arbitrary length but the first three elements are
> assigned specific meanings, as follows:
97c100,101
< was `8`; the `$MAJOR` version number of JDK 9 will be `9`.
---
> is `8`; the `$MAJOR` version number of JDK 9 is `9`. When
> `$MAJOR` is incremented, all subsequent elements are removed.
107,108c111
< collectors, and ports to new hardware architectures. `$MINOR` is
< reset to zero when `$MAJOR` is incremented.
---
> collectors, and ports to new hardware architectures.
114,115c117,118
< those necessary to improve security. `$SECURITY` is reset to zero
< **only** when `$MAJOR` is incremented. A higher value of `$SECURITY`
---
> those necessary to improve security. `$SECURITY` is **not** reset to
> zero when `$MINOR` is incremented. A higher value of `$SECURITY`
131,133c134,137
< `9.10.0`. If one sequence is shorter than another then the missing
< elements of the shorter sequence are considered to be zero; _e.g._,
< `9.1.2` is equal to `9.1.2.0` but less than `9.1.2.1`.
---
> `9.10.3`. If one sequence is shorter than another then the missing
> elements of the shorter sequence are considered to be less than the
> corresponding elements of the longer sequence; _e.g._, `9.1.2` is less than
> `9.1.2.1`.
138,140c142,144
< A _version string_ `$VSTR` consists of a version number `$VNUM`, as described
< above, optionally followed by pre-release and build information, in the
< format
---
> A _version string_, `$VSTR`, consists of a version number `$VNUM`, as
> described above, optionally followed by pre-release and build information,
> in the format
142c146
< $VNUM(-$PRE)?(\+$BUILD)?(-$OPT)?
---
> $VNUM(-$PRE)?(\+($BUILD)?(-$OPT)?)?
155c159,160
< Numeric identifiers have lower precedence than non-numeric identifiers.
---
> Numeric identifiers are considered to be less than non-numeric
> identifiers.
170,171c175,182
< When comparing two version strings the value of `$OPT`, if present,
< is always ignored.
---
> When comparing two version strings the value of `$OPT`, if present, may
> or may not be significant depending on the chosen comparison method.
>
> A version number `10-ea` matches `$VNUM = "10"` and `$PRE = "ea"`. The
> version number `10+-ea` matches `$VNUM = "10"` and `$OPT = "ea"`.
>
> A _short version string_, (`$SVSTR`), often useful in less formal contexts,
> is a version number optionally followed by a pre-release identifier:
173,174c184
< A _short version string_ (`$SVSTR`), often useful in less formal contexts, is
simply
< `$VNUM` optionally ended with `-$PRE`.
---
> $VNUM(-$PRE)?
More information about the verona-dev
mailing list