Skip to content

Commit

Permalink
more-updates-from-review
Browse files Browse the repository at this point in the history
  • Loading branch information
jsterne committed Nov 30, 2021
1 parent 9534a2a commit 3cfc29b
Show file tree
Hide file tree
Showing 2 changed files with 82 additions and 82 deletions.
118 changes: 59 additions & 59 deletions yang-semver/draft-ietf-netmod-yang-semver.txt
Expand Up @@ -6,14 +6,14 @@ Network Working Group J. Clarke, Ed.
Internet-Draft R. Wilton, Ed.
Updates: 8407 (if approved) Cisco Systems, Inc.
Intended status: Standards Track R. Rahman
Expires: 22 May 2022
Expires: 2 June 2022
B. Lengyel
Ericsson
J. Sterne
Nokia
B. Claise
Huawei
18 November 2021
29 November 2021


YANG Semantic Versioning
Expand Down Expand Up @@ -42,7 +42,7 @@ Status of This Memo
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."

This Internet-Draft will expire on 22 May 2022.
This Internet-Draft will expire on 2 June 2022.

Copyright Notice

Expand All @@ -53,7 +53,7 @@ Copyright Notice



Clarke, et al. Expires 22 May 2022 [Page 1]
Clarke, et al. Expires 2 June 2022 [Page 1]

Internet-Draft YANG Semver November 2021

Expand Down Expand Up @@ -109,7 +109,7 @@ Table of Contents



Clarke, et al. Expires 22 May 2022 [Page 2]
Clarke, et al. Expires 2 June 2022 [Page 2]

Internet-Draft YANG Semver November 2021

Expand Down Expand Up @@ -165,7 +165,7 @@ Internet-Draft YANG Semver November 2021



Clarke, et al. Expires 22 May 2022 [Page 3]
Clarke, et al. Expires 2 June 2022 [Page 3]

Internet-Draft YANG Semver November 2021

Expand All @@ -175,7 +175,7 @@ Internet-Draft YANG Semver November 2021
YANG artifacts that employ semantic versioning as defined in this
document MUST use a version string (e.g., in revision-label or as a
package version) that corresponds to the following pattern:
X.Y.Z_COMPAT. Where:
'X.Y.Z_COMPAT'. Where:

* X, Y and Z are mandatory non-negative integers that are each less
than or equal to 2147483647 (i.e., the maximum signed 32-bit
Expand Down Expand Up @@ -221,7 +221,7 @@ Internet-Draft YANG Semver November 2021



Clarke, et al. Expires 22 May 2022 [Page 4]
Clarke, et al. Expires 2 June 2022 [Page 4]

Internet-Draft YANG Semver November 2021

Expand Down Expand Up @@ -277,7 +277,7 @@ Internet-Draft YANG Semver November 2021



Clarke, et al. Expires 22 May 2022 [Page 5]
Clarke, et al. Expires 2 June 2022 [Page 5]

Internet-Draft YANG Semver November 2021

Expand All @@ -291,7 +291,7 @@ Internet-Draft YANG Semver November 2021
PATCH version number can indicate editorial, backwards-compatible,
or non-backwards-compatible changes relative to versions with the
same MAJOR and MINOR version numbers, but lower PATCH version
number, depending on what form modifier "_COMPAT" takes:
number, depending on what form modifier '_COMPAT' takes:

- If the modifier string is absent, the change represents an
editorial change. An editorial change is defined to be a
Expand All @@ -315,25 +315,25 @@ Internet-Draft YANG Semver November 2021
- "_non_compatible" - the change represents a non-backwards-
compatible change

The _COMPAT modifier string is "sticky". Once a revision of a module
has a modifier in the revision label, then all descendants of that
revision will also have a modifier. The modifier can change from
_compatible to _non_compatible in a descendant revision, but the
modifier MUST NOT change from _non_compatible to _compatible and MUST
NOT be removed. The persistence of the _non_compatible modifier
ensures that comparisions of revision labels do not give the false
impression of compatibility between two potentially non-compatible
revisions. If _non_compatible was removed, for example between
revisions 3.3.2_non_compatible and 3.3.3 (where 3.3.3 was simply an
editorial change), then comparing revision labels of 3.3.3 back to an
ancestor 3.0.0 would look like they are backwards compatible when
they are not (since 3.3.2_non_compatible was in the chain of
The "_COMPAT" modifier string is "sticky". Once a revision of a
module has a modifier in the revision label, then all descendants of
that revision with the same X.Y version digits will also have a
modifier. The modifier can change from "_compatible" to
"_non_compatible" in a descendant revision, but the modifier MUST NOT
change from "_non_compatible" to "_compatible" and MUST NOT be
removed. The persistence of the "_non_compatible" modifier ensures
that comparisions of revision labels do not give the false impression
of compatibility between two potentially non-compatible revisions.
If "_non_compatible" was removed, for example between revisions
"3.3.2_non_compatible" and "3.3.3" (where "3.3.3" was simply an
editorial change), then comparing revision labels of "3.3.3" back to
an ancestor "3.0.0" would look like they are backwards compatible
when they are not (since "3.3.2_non_compatible" was in the chain of
ancestors and introduced a non-backwards-compatible change).




Clarke, et al. Expires 22 May 2022 [Page 6]
Clarke, et al. Expires 2 June 2022 [Page 6]

Internet-Draft YANG Semver November 2021

Expand Down Expand Up @@ -389,7 +389,7 @@ Internet-Draft YANG Semver November 2021



Clarke, et al. Expires 22 May 2022 [Page 7]
Clarke, et al. Expires 2 June 2022 [Page 7]

Internet-Draft YANG Semver November 2021

Expand Down Expand Up @@ -445,7 +445,7 @@ Internet-Draft YANG Semver November 2021



Clarke, et al. Expires 22 May 2022 [Page 8]
Clarke, et al. Expires 2 June 2022 [Page 8]

Internet-Draft YANG Semver November 2021

Expand Down Expand Up @@ -480,13 +480,13 @@ Internet-Draft YANG Semver November 2021

1.0.0 < 1.1.0 < 1.2.0 < 1.3.0 < 1.4.0

There is no ordering relationship between 1.1.1_non_compatible and
either 1.2.0 or 1.2.1_non_compatible, except that they share the
common ancestor of 1.1.0.
There is no ordering relationship between "1.1.1_non_compatible" and
either "1.2.0" or "1.2.1_non_compatible", except that they share the
common ancestor of "1.1.0".

Looking at the version number alone does not indicate ancestry. The
module definition in 2.0.0, for example, does not contain all the
contents of 1.3.0. Version 2.0.0 is not derived from 1.3.0.
module definition in "2.0.0", for example, does not contain all the
contents of "1.3.0". Version "2.0.0" is not derived from "1.3.0".

3.3. YANG Semantic Version Update Rules

Expand All @@ -501,7 +501,7 @@ Internet-Draft YANG Semver November 2021



Clarke, et al. Expires 22 May 2022 [Page 9]
Clarke, et al. Expires 2 June 2022 [Page 9]

Internet-Draft YANG Semver November 2021

Expand All @@ -520,14 +520,13 @@ Internet-Draft YANG Semver November 2021
i "X.Y.Z" - the artifact version SHOULD be updated to
"X.Y+1.0", unless that version has already been used for
this artifact but with different content, when the artifact
version SHOULD be updated to "X.Y.Z+1_compatible"" instead.
version SHOULD be updated to "X.Y.Z+1_compatible" instead.

ii "X.Y.Z_compatible" - the artifact version SHOULD be updated
to "X.Y.Z+1_compatible".

iii "X.Y.Z_non_compatible" - the artifact version SHOULD be
updated to "X.Y.Z+1_non_compatible" (to ensure that
information about a break in compatibility is not lost).
updated to "X.Y.Z+1_non_compatible".

3. If an artifact is being updated in an editorial way, then the
next version number depends on the format of the current version
Expand All @@ -540,8 +539,7 @@ Internet-Draft YANG Semver November 2021
to "X.Y.Z+1_compatible".

iii "X.Y.Z_non_compatible" - the artifact version SHOULD be
updated to "X.Y.Z+1_non_compatible" (to ensure that
information about a break in compatibility is not lost).
updated to "X.Y.Z+1_non_compatible".

4. YANG artifact semantic version numbers beginning with 0, i.e.,
"0.X.Y", are regarded as pre-release definitions and need not
Expand All @@ -557,7 +555,9 @@ Internet-Draft YANG Semver November 2021



Clarke, et al. Expires 22 May 2022 [Page 10]


Clarke, et al. Expires 2 June 2022 [Page 10]

Internet-Draft YANG Semver November 2021

Expand Down Expand Up @@ -613,7 +613,7 @@ Internet-Draft YANG Semver November 2021



Clarke, et al. Expires 22 May 2022 [Page 11]
Clarke, et al. Expires 2 June 2022 [Page 11]

Internet-Draft YANG Semver November 2021

Expand Down Expand Up @@ -669,7 +669,7 @@ Internet-Draft YANG Semver November 2021



Clarke, et al. Expires 22 May 2022 [Page 12]
Clarke, et al. Expires 2 June 2022 [Page 12]

Internet-Draft YANG Semver November 2021

Expand Down Expand Up @@ -725,23 +725,23 @@ Internet-Draft YANG Semver November 2021



Clarke, et al. Expires 22 May 2022 [Page 13]
Clarke, et al. Expires 2 June 2022 [Page 13]

Internet-Draft YANG Semver November 2021


Note: the import lookup does not stop when a non-backward-compatible
change is encountered. That is, if module B imports a module A at or
derived from version 2.0.0, resolving that import will pass through a
revision of module A with version 2.1.0_non_compatible in order to
determine if the present instance of module A derives from 2.0.0.
revision of module A with version "2.1.0_non_compatible" in order to
determine if the present instance of module A derives from "2.0.0".

If an import by revision-or-derived cannot locate the specified
revision-label in a given module's revision history, that import will
fail. This is noted in the case of version gaps. That is, if a
module's history includes 1.0.0, 1.1.0, and 1.3.0, an import from
revision-or-derived at 1.2.0 will be unable to locate the specified
revision entry and thus the import cannot be satisfied.
module's history includes "1.0.0", "1.1.0", and "1.3.0", an import
from revision-or-derived at "1.2.0" will be unable to locate the
specified revision entry and thus the import cannot be satisfied.

5. Guidelines for Using Semver During Module Development

Expand Down Expand Up @@ -781,7 +781,7 @@ Internet-Draft YANG Semver November 2021



Clarke, et al. Expires 22 May 2022 [Page 14]
Clarke, et al. Expires 2 June 2022 [Page 14]

Internet-Draft YANG Semver November 2021

Expand Down Expand Up @@ -837,7 +837,7 @@ Internet-Draft YANG Semver November 2021



Clarke, et al. Expires 22 May 2022 [Page 15]
Clarke, et al. Expires 2 June 2022 [Page 15]

Internet-Draft YANG Semver November 2021

Expand Down Expand Up @@ -893,7 +893,7 @@ Internet-Draft YANG Semver November 2021



Clarke, et al. Expires 22 May 2022 [Page 16]
Clarke, et al. Expires 2 June 2022 [Page 16]

Internet-Draft YANG Semver November 2021

Expand Down Expand Up @@ -949,7 +949,7 @@ Internet-Draft YANG Semver November 2021



Clarke, et al. Expires 22 May 2022 [Page 17]
Clarke, et al. Expires 2 June 2022 [Page 17]

Internet-Draft YANG Semver November 2021

Expand Down Expand Up @@ -1005,7 +1005,7 @@ Internet-Draft YANG Semver November 2021



Clarke, et al. Expires 22 May 2022 [Page 18]
Clarke, et al. Expires 2 June 2022 [Page 18]

Internet-Draft YANG Semver November 2021

Expand Down Expand Up @@ -1061,7 +1061,7 @@ Internet-Draft YANG Semver November 2021



Clarke, et al. Expires 22 May 2022 [Page 19]
Clarke, et al. Expires 2 June 2022 [Page 19]

Internet-Draft YANG Semver November 2021

Expand Down Expand Up @@ -1117,7 +1117,7 @@ Internet-Draft YANG Semver November 2021



Clarke, et al. Expires 22 May 2022 [Page 20]
Clarke, et al. Expires 2 June 2022 [Page 20]

Internet-Draft YANG Semver November 2021

Expand Down Expand Up @@ -1173,7 +1173,7 @@ Internet-Draft YANG Semver November 2021



Clarke, et al. Expires 22 May 2022 [Page 21]
Clarke, et al. Expires 2 June 2022 [Page 21]

Internet-Draft YANG Semver November 2021

Expand Down Expand Up @@ -1229,7 +1229,7 @@ Internet-Draft YANG Semver November 2021



Clarke, et al. Expires 22 May 2022 [Page 22]
Clarke, et al. Expires 2 June 2022 [Page 22]

Internet-Draft YANG Semver November 2021

Expand Down Expand Up @@ -1285,7 +1285,7 @@ Appendix A. Example IETF Module Development



Clarke, et al. Expires 22 May 2022 [Page 23]
Clarke, et al. Expires 2 June 2022 [Page 23]

Internet-Draft YANG Semver November 2021

Expand Down Expand Up @@ -1341,7 +1341,7 @@ Authors' Addresses



Clarke, et al. Expires 22 May 2022 [Page 24]
Clarke, et al. Expires 2 June 2022 [Page 24]

Internet-Draft YANG Semver November 2021

Expand Down Expand Up @@ -1397,4 +1397,4 @@ Internet-Draft YANG Semver November 2021



Clarke, et al. Expires 22 May 2022 [Page 25]
Clarke, et al. Expires 2 June 2022 [Page 25]

0 comments on commit 3cfc29b

Please sign in to comment.