<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-netmod-iana-yang-guidance-03" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="IANA &amp; RFC Editor YANG Guidance">Guidance for Managing YANG Modules in RFCs and IANA Registries</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-iana-yang-guidance-03"/>
    <author fullname="Robert Wilton">
      <organization>Cisco</organization>
      <address>
        <email>rwilton@cisco.com</email>
      </address>
    </author>
    <date year="2026" month="July" day="06"/>
    <area>OPS</area>
    <workgroup>NETMOD</workgroup>
    <keyword>IANA</keyword>
    <keyword>RFC Editor</keyword>
    <keyword>YANG</keyword>
    <keyword>Versioning</keyword>
    <abstract>
      <?line 76?>

<t>This document provides guidance to the RFC Editor and IANA on managing YANG modules in RFCs and IANA registries, ensuring consistent application of YANG Semantic Versioning rules.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://rgwilton.github.io/iana-yang-guidance/draft-ietf-iana-yang-guidance.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-netmod-iana-yang-guidance/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Network Modelling Working Group mailing list (<eref target="mailto:netmod@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/netmod/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/netmod/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/rgwilton/iana-yang-guidance"/>.</t>
    </note>
  </front>
  <middle>
    <?line 80?>

<section anchor="for-reviewers-of-this-document">
      <name>For Reviewers of this document</name>
      <t><strong>RFC Editor - please delete this section before publication</strong></t>
      <t>This draft should be carefully reviewed by:</t>
      <ul spacing="normal">
        <li>
          <t>IANA and RFC Editor to check that they agree with the workflows</t>
        </li>
        <li>
          <t>OPS ADs &amp; IESG (if needed) that they agree that the IETF should delay publishing YANG modules in approved internet drafts until after the RFC Editor has had the opportunity to review and amend the text.</t>
        </li>
        <li>
          <t>YANG Doctors and NETMOD to ensure that they are happy with the requirements being placed upon them.</t>
        </li>
      </ul>
    </section>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>YANG <xref target="RFC6020"/> <xref target="RFC7950"/> modules are used to model network management data, protocol RPCs <xref target="RFC8526"/>, and even abstract data structures <xref target="RFC8791"/>. The IETF publishes YANG modules as part of RFCs, and the Internet Assigned Numbers Authority (IANA) maintains YANG modules that are derived from IANA registries (a.k.a. IANA-maintained YANG modules <xref target="RFC9907"/>). Both processes require careful attention to module versioning and the timing of publication to ensure that implementations can correctly assess module version compatibility when modules are updated.</t>
      <t>This document provides informational guidance to both the RFC Editor and IANA for managing YANG modules in two distinct scenarios:</t>
      <ol spacing="normal" type="1"><li>
          <t><strong>Managing YANG Modules in RFCs</strong>: When documents containing normative YANG modules are approved by the IESG and processed for publication as RFCs, both the RFC Editor and IANA have responsibilities to ensure that modules are correctly versioned and published.</t>
        </li>
        <li>
          <t><strong>Managing IANA-Maintained YANG Modules</strong>: When IANA registries are updated, any YANG modules derived from those registries must be updated accordingly with proper versioning.</t>
        </li>
      </ol>
      <t>This document describes recommended practices and procedures that reflect current consensus within the NETMOD working group and the IETF operations and management community. While following this guidance will help ensure consistent and correct handling of YANG modules, specific situations may require consultation with the YANG Doctors (as described in <xref target="sec-additional-guidance"/>).</t>
      <ul empty="true">
        <li>
          <t><strong>Note:</strong> In addition to the guidance detailed in this document, there is a broader, ongoing discussion within the IETF community around the processes and responsibilities for managing YANG modules in RFCs. For further information and the latest proposals, see <xref target="I-D.mahesh-opsawg-veloce-yang"/>. The recommendations and operational practices described here may be revised in the future to reflect outcomes from that work.</t>
        </li>
      </ul>
      <t>The procedures and classifications in this document are drawn from text and general guidance on the following IETF specifications:</t>
      <ul spacing="normal">
        <li>
          <t><xref target="RFC9907"/> - Provides general guidelines for IETF YANG module authors. It also includes guidance for IANA.</t>
        </li>
        <li>
          <t><xref target="I-D.ietf-netmod-yang-module-versioning"/> - Defines updated YANG module revision handling, including rules for backwards-compatible and non-backwards-compatible changes.</t>
        </li>
        <li>
          <t><xref target="I-D.ietf-netmod-yang-semver"/> - Defines YANG Semantic Versioning (YANG Semver) for YANG modules.</t>
        </li>
        <li>
          <t><xref target="I-D.ietf-netmod-yang-module-filename"/> - Defines filename conventions for YANG modules versioned using YANG Semver.</t>
        </li>
      </ul>
    </section>
    <section anchor="sec-conventions">
      <name>Conventions and Definitions</name>
      <t>This document uses the following terminology from <xref target="I-D.ietf-netmod-yang-module-versioning"/>:</t>
      <dl>
        <dt><strong>Backwards-Compatible (BC) Change</strong></dt>
        <dd>
          <t>A change to a YANG module that conforms to the backwards-compatible update rules defined in <xref section="3.1.1" sectionFormat="of" target="I-D.ietf-netmod-yang-module-versioning"/>. BC changes require incrementing the MINOR version number.</t>
        </dd>
        <dt><strong>Non-Backwards-Compatible (NBC) Change</strong></dt>
        <dd>
          <t>A change to a YANG module that does not conform to the backwards-compatible update rules defined in <xref section="3.1.2" sectionFormat="of" target="I-D.ietf-netmod-yang-module-versioning"/>. NBC changes require incrementing the MAJOR version number and adding the <tt>rev:non-backwards-compatible</tt> extension statement within the <tt>revision</tt> statement in the YANG module.</t>
        </dd>
      </dl>
      <t>This document uses the following terminology from <xref target="I-D.ietf-netmod-yang-semver"/>:</t>
      <dl>
        <dt><strong>YANG Semver</strong></dt>
        <dd>
          <t>YANG Semantic Versioning - a version identifier in the format <em>MAJOR.MINOR.PATCH_COMPAT</em> that indicates the compatibility level of a YANG module, as defined in <xref target="I-D.ietf-netmod-yang-semver"/>.</t>
        </dd>
        <dt><strong>Editorial Change</strong></dt>
        <dd>
          <t>A change to a YANG module that does not affect the semantic meaning or functionality of the module. Editorial changes only require incrementing the PATCH version number, as described in section 4.4 of <xref target="I-D.ietf-netmod-yang-semver"/>.</t>
        </dd>
      </dl>
      <t>In addition, this document uses this terms from <xref target="RFC9907"/>:</t>
      <dl>
        <dt><strong>IANA-maintained module</strong></dt>
        <dd>
          <t>A YANG module that is maintained by IANA and has an IANA registry associated with it (e.g., "iana-tunnel-type" <xref target="RFC8675"/> or "iana-pseudowire-types" <xref target="RFC9291"/>).</t>
        </dd>
        <dt/>
        <dd>
          <t>Once an IANA-maintained YANG module is initialized, new values are not directly added to the module. These values are instead added to the companion registry, a new version of the IANA-maintained is generated based on the changes made to the registry.</t>
        </dd>
        <dt><strong>IETF module</strong></dt>
        <dd>
          <t>A YANG module that is published by the IETF and that is not maintained by IANA.</t>
        </dd>
      </dl>
    </section>
    <section anchor="sec-background">
      <name>Background on YANG Versioning</name>
      <section anchor="yang-semantic-versioning">
        <name>YANG Semantic Versioning</name>
        <t>YANG Semantic Versioning (YANG Semver) <xref target="I-D.ietf-netmod-yang-semver"/> uses a version identifier in the format MAJOR.MINOR.PATCH (with an optional _COMPAT suffix for branched development):</t>
        <ul spacing="normal">
          <li>
            <t><strong>MAJOR</strong> version increments indicate non-backwards-compatible (NBC) changes, with <em>MINOR</em> and <em>PATCH</em> fields reset to 0.</t>
          </li>
          <li>
            <t><strong>MINOR</strong> version increments indicate backwards-compatible (BC) additions, with the <em>PATCH</em> field reset to 0.</t>
          </li>
          <li>
            <t><strong>PATCH</strong> version increments indicate editorial or documentation-only changes.</t>
          </li>
          <li>
            <t><strong>_COMPAT</strong> is used for branched development trees and is not applicable to normative modules published by the IETF or IANA-maintained modules.</t>
          </li>
        </ul>
        <t>If an update to a YANG module contains a mix of changes, then the version number is updated as per the most impactful change.  For example, if a change included both backwards-compatible feature additions and editorial changes then the <em>MINOR</em> version field is incremented and the <em>PATCH</em> version field is set to 0, e.g., as per the second example below.  If in doubt as to which category a particular change fits into, it is always better to err on the side of caution and choose the more significant version change.</t>
        <t>For example, if a published IETF YANG module is at version <em>1.2.3</em>:</t>
        <ul spacing="normal">
          <li>
            <t>An editorial only change would update it to <em>1.2.4</em></t>
          </li>
          <li>
            <t>A backwards-compatible addition would update it to <em>1.3.0</em></t>
          </li>
          <li>
            <t>A non-backwards-compatible change would update it to <em>2.0.0</em>.</t>
          </li>
        </ul>
        <t>Pre-release versions (versions with MAJOR = 0, e.g., "0.2.0", or with a pre-release suffix, e.g., "1.3.0-04") indicate modules that have not completed the IETF standardization process and whose revision content is subject to change in non-backwards-compatible ways without corresponding changes to the major version number.  Published IETF and IANA-maintained YANG modules should always be at version "1.0.0" or later, and should never include a pre-release suffix.  The initial published version should be "1.0.0".</t>
      </section>
      <section anchor="backwards-compatibility-rules">
        <name>Backwards Compatibility Rules</name>
        <t>The rules that determine whether a change to a YANG module is backwards-compatible or non-backwards-compatible are defined in <xref section="3.1" sectionFormat="of" target="I-D.ietf-netmod-yang-module-versioning"/>. These rules refine and extend the update rules specified in <xref section="11" sectionFormat="of" target="RFC7950"/>.</t>
        <t><xref section="3.1.1" sectionFormat="of" target="I-D.ietf-netmod-yang-module-versioning"/> defines backwards-compatible changes; examples include:</t>
        <ul spacing="normal">
          <li>
            <t>Adding new schema nodes (e.g., new enum values, identities, leafs, containers)</t>
          </li>
          <li>
            <t>Adding or updating "description" and "reference" statements (provided the semantic meaning is unchanged)</t>
          </li>
          <li>
            <t>Changing the status of a schema node from "current" to "deprecated" (e.g., by adding a <tt>status deprecated;</tt> statement)</t>
          </li>
        </ul>
        <t><xref section="3.1.2" sectionFormat="of" target="I-D.ietf-netmod-yang-module-versioning"/> defines non-backwards-compatible changes; examples include:</t>
        <ul spacing="normal">
          <li>
            <t>Removing schema nodes (unless they already have status "obsolete")</t>
          </li>
          <li>
            <t>Changing the status of a schema node from "current" or "deprecated" to "obsolete"</t>
          </li>
          <li>
            <t>Renaming schema nodes or changing their identifiers</t>
          </li>
          <li>
            <t>Changing data types in ways that alter syntax or semantics</t>
          </li>
          <li>
            <t>Changing numeric values assigned to enumerations</t>
          </li>
          <li>
            <t>Modifying "description" statements in ways that change semantic meaning or behavior</t>
          </li>
        </ul>
        <t>In addition,  <xref section="4.4" sectionFormat="of" target="I-D.ietf-netmod-yang-semver"/> defines editorial changes as the subset of backwards-compatible changes that have no impact on the semantics or syntax of a YANG module, such as:</t>
        <ul spacing="normal">
          <li>
            <t>Corrections to comments, descriptions, or references that do not change the semantic meaning</t>
          </li>
          <li>
            <t>Formatting improvements such as whitespace or indentation changes</t>
          </li>
          <li>
            <t>Updates to contact information or copyright statements</t>
          </li>
        </ul>
      </section>
      <section anchor="the-revnon-backwards-compatible-extension">
        <name>The rev:non-backwards-compatible Extension</name>
        <t>The YANG module versioning framework <xref target="I-D.ietf-netmod-yang-module-versioning"/> defines the "rev:non-backwards-compatible" extension statement. This extension must be added as a substatement of a revision statement whenever that revision contains non-backwards-compatible changes relative to the previous revision.</t>
        <t>The following example illustrates this extension in use. In the example, an identity 'foo' was added in version 1.3.0, but was subsequently renamed to 'bar' in version 2.0.0. Since renaming is a non-backwards-compatible change, the major version number is incremented and the <tt>rev:non-backwards-compatible</tt> extension is included in the revision statement in version 2.0.0 of the YANG module:</t>
        <figure>
          <name>Revision history example from a YANG module</name>
          <sourcecode type="yang"><![CDATA[
  revision 2025-11-15 {
    ysv:version "2.0.0";
    rev:non-backwards-compatible;
    description
      "Renamed identity 'foo' to 'bar'.";
  }
  revision 2025-06-01 {
    ysv:version "1.3.0";
    description
      "Added identity 'foo'.";
  }
  ...
]]></sourcecode>
        </figure>
      </section>
      <section anchor="module-immutability">
        <name>Module Immutability</name>
        <t>A fundamental principle of YANG module versioning is that once a module revision is published with a specific revision date and version number, its content is immutable (much like an RFC is). The published content of that revision must not change. Any change to the module content requires publishing a new revision with a new revision date and an updated YANG Semver.</t>
        <t>This immutability principle has important implications:</t>
        <ul spacing="normal">
          <li>
            <t>Normative YANG modules in Internet-Drafts must use pre-release versions (e.g., 0.1.0 or 2.0.0-draft-name) to indicate that the content may still change.</t>
          </li>
          <li>
            <t>Once a document containing normative YANG modules is approved by the IESG and has been processed by the RFC Editor, then each normative YANG module version must be updated to the correct release version (e.g., 1.0.0 or 2.0.0) before publication in an RFC or before being made available in the IANA YANG Module Names registry <xref target="IANA-YANG-PARAMETERS"/>.</t>
          </li>
          <li>
            <t>IANA-maintained YANG modules must publish a new YANG module revision any time IANA registry changes require YANG module updates.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="sec-rfc-workflow">
      <name>YANG Modules in Documents Being Published as RFCs</name>
      <t>This section describes the workflow and responsibilities for managing YANG modules in documents that have been approved by the IESG and are being processed for publication as RFCs. Both the RFC Editor and IANA have roles in this process.</t>
      <section anchor="core-requirements">
        <name>Core Requirements</name>
        <t>All new normative YANG modules published by the RFC Editor or maintained by IANA must meet the following requirements:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>YANG Semver Version</strong>: Every normative YANG module must include a semantic version number using the <tt>ysv:version</tt> statement in its most recent revision. The version must be correct relative to any previous version of the same module published either by the RFC editor or on the IANA website.</t>
          </li>
          <li>
            <t><strong>NBC Extension for NBC Changes</strong>: If the normative YANG module contains non-backwards-compatible changes relative to the previously published version, the revision statement must include the <tt>rev:non-backwards-compatible</tt> extension.  </t>
            <t>
In current tooling, general enforcement of this rule is performed by update comparison checks such as the <tt>--check-update-from</tt> option to <tt>pyang</tt>. Please also note, the <tt>pyang</tt> checks provided by the <tt>--ietf</tt> option only provide a narrower validation based on revision-to-revision YANG Semver major-version changes.</t>
          </li>
          <li>
            <t><strong>Revision Immutability</strong>: A published YANG module with a specific revision date and version number is immutable. Its content must not change without also changing the revision date and version number. For this reason, normative YANG modules in Internet-Drafts use pre-release versions (e.g., versions with MAJOR = 0 such as 0.1.0, or versions with a pre-release suffix such as 2.0.0-05, where the -05 is the Internet Draft number where the YANG module was updated) to indicate that content may still change before final publication.</t>
          </li>
          <li>
            <t><strong>RFC Code Markers</strong>: Normative YANG modules in RFCs must be properly marked with <tt>&lt;CODE BEGINS&gt;</tt> and <tt>&lt;CODE ENDS&gt;</tt> markers (or equivalent in the source format) to enable automated extraction per <xref section="3.2" sectionFormat="of" target="RFC9907"/>. The markers must include the filename following the conventions in <xref target="I-D.ietf-netmod-yang-module-filename"/>.</t>
          </li>
        </ol>
      </section>
      <section anchor="workflow-steps">
        <name>Workflow Steps</name>
        <t>The following steps describe the coordinated process between the RFC Editor and IANA for handling YANG modules during RFC publication:</t>
        <section anchor="step-1-iesg-approval-with-pre-release-version">
          <name>Step 1: IESG Approval with Pre-Release Version</name>
          <t>When a document is approved by the IESG, any normative YANG modules it contains typically have pre-release version numbers (e.g., 0.4.0, 1.1.0-03, or 2.0.0-07). These pre-release versions indicate that the module content may still be subject to editorial changes during RFC Editor processing.</t>
        </section>
        <section anchor="step-2-rfc-editor-processing">
          <name>Step 2: RFC Editor Processing</name>
          <t>During RFC Editor processing, the RFC Editor may make editorial changes to the YANG module, such as:</t>
          <ul spacing="normal">
            <li>
              <t>Improving description text for clarity without changing semantic meaning</t>
            </li>
            <li>
              <t>Updating references to use final RFC numbers instead of draft names</t>
            </li>
            <li>
              <t>Correcting typographical errors</t>
            </li>
            <li>
              <t>Standardizing formatting and style</t>
            </li>
          </ul>
          <t>These editorial changes are appropriate and expected. Consistent with the editing practices when preparing edited RFCs, the RFC Editor should:</t>
          <ul spacing="normal">
            <li>
              <t>Coordinate with document authors regarding any substantive changes.</t>
            </li>
            <li>
              <t>Ensure that only editorial changes (as defined in <xref target="sec-background"/>) are made without author consultation.</t>
            </li>
            <li>
              <t>For normative YANG modules that have previously been published, e.g., updated YANG modules in -bis documents:
              </t>
              <ul spacing="normal">
                <li>
                  <t>If more significant changes are needed that might be backwards-compatible or non-backwards-compatible, consult with the authors to determine the correct version number and whether the <tt>rev:non-backwards-compatible</tt> extension is required.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Ensure that the final module is correctly formatted (e.g., by running <xref target="pyang-formatting"/>).</t>
            </li>
          </ul>
        </section>
        <section anchor="step-3-finalizing-the-module-version">
          <name>Step 3: Finalizing the Module Version</name>
          <t>Before publication, each normative YANG module version must be updated from the pre-release version to a release version. The RFC Editor, in coordination with the document authors:</t>
          <ul spacing="normal">
            <li>
              <t>Updates the revision date to reflect the date of the final revision for each normative YANG module.</t>
            </li>
            <li>
              <t>Updates the version to remove pre-release indicators for each normative YANG module (e.g., 0.1.0 → 1.0.0, or 1.1.0-&lt;draft-num&gt; → 1.1.0).</t>
            </li>
            <li>
              <t>For normative YANG modules that have previously been published, e.g., updated YANG modules in -bis documents:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Uses <tt>pyang</tt> (<xref target="pyang-next-version"/>) to compare the candidate module against the previously published version and obtain a recommended next YANG Semver, subject to the tool limitations described in <xref target="pyang-next-version"/> and <xref target="tool-limitations"/>.
 Tooling is not infallible, so if the suggested version from the tooling is unexpected then please reach out for additional guidance, as per <xref target="sec-additional-guidance"/>.</t>
                </li>
                <li>
                  <t>Checks, and if necessary adds, the <tt>rev:non-backwards-compatible</tt> extension if NBC changes have occurred since the previous publication.</t>
                </li>
              </ul>
            </li>
          </ul>
        </section>
        <section anchor="step-4-validate-the-module">
          <name>Step 4: Validate the Module</name>
          <t>Normative YANG modules are expected to be provided to the RFC Editor for publication already passing validation (<tt>pyang</tt> and <tt>yanglint</tt>).  However, it is possible that mistakes could be introduced when editing a YANG module so validation should be re-run to ensure that IETF does not publish invalid YANG modules.</t>
          <t>After all updates are completed, or as updates are made, and after any formatting, then appropriate YANG validation tools must be run over the resultant module to ensure that there are no warnings or errors.  At time of publication, it is suggested that both <tt>pyang</tt> validation (<xref target="pyang-validation"/>) and <tt>yanglint</tt> validation (<xref target="yang-lint-validation"/>) be performed.</t>
          <t>If the tools return any warnings or errors then the authors should help fix them, potentially seeking additional guidance if required, as per <xref target="sec-additional-guidance"/>.</t>
          <t>If further changes are made, then for previously published modules, the step 3 versioning check must be re-run to ensure that the module version is still correct.</t>
        </section>
        <section anchor="step-5-iana-delay-of-publication">
          <name>Step 5: IANA Delay of Publication</name>
          <t>IANA should delay publishing a normative YANG module to the IANA YANG Parameters registry until the RFC Editor has completed editing the module. This coordination ensures that:</t>
          <ul spacing="normal">
            <li>
              <t>The IANA-published version matches the RFC-published version exactly</t>
            </li>
            <li>
              <t>No discrepancies exist between the two authoritative sources</t>
            </li>
            <li>
              <t>The module reference to the RFC (if present) is correct</t>
            </li>
          </ul>
        </section>
        <section anchor="step-6-coordinated-publication">
          <name>Step 6: Coordinated Publication</name>
          <t>Once the RFC Editor has finalized the module:</t>
          <ul spacing="normal">
            <li>
              <t>The RFC is published with the final module content</t>
            </li>
            <li>
              <t>IANA publishes the module version to the IANA YANG Parameters "YANG Module Names" registry at approximately the same time, as per <xref target="RFC6020"/><xref target="RFC9890"/></t>
            </li>
            <li>
              <t>The module filename follows the conventions in <xref target="I-D.ietf-netmod-yang-module-filename"/></t>
            </li>
          </ul>
        </section>
      </section>
    </section>
    <section anchor="sec-iana-modules">
      <name>IANA-Maintained YANG Modules</name>
      <t>This section describes the process for IANA to update and publish YANG modules that are maintained by IANA and derived from IANA registries.</t>
      <section anchor="overview">
        <name>Overview</name>
        <t>Some IANA registries have corresponding YANG modules that represent registry contents in a machine-readable format, and that are published at <xref target="IANA-YANG-PARAMETERS"/>.  Examples include:</t>
        <ul spacing="normal">
          <li>
            <t><strong>iana-if-type.yang</strong> - derived from the Interface Types (ifType) registry <xref target="iana-iftype-registry"/></t>
          </li>
          <li>
            <t><strong>iana-routing-types.yang</strong> - derived from Address Family Numbers <xref target="iana-afnum-registry"/> and SAFI Parameters <xref target="iana-safi-registry"/> registries</t>
          </li>
          <li>
            <t><strong>iana-bgp-types.yang</strong> - derived from BGP Parameters registries <xref target="iana-bgp-parameters"/></t>
          </li>
        </ul>
        <t>When these registries are updated, the corresponding YANG modules must be updated accordingly by IANA, following the same versioning rules described in <xref target="sec-background"/>.  These considerations must be followed in addition to the guidance in <xref section="5.3" sectionFormat="of" target="RFC9907"/>.</t>
      </section>
      <section anchor="characteristics-of-iana-maintained-modules">
        <name>Characteristics of IANA-Maintained Modules</name>
        <t>IANA-maintained YANG modules typically:</t>
        <ul spacing="normal">
          <li>
            <t>Have names starting with "iana-"</t>
          </li>
          <li>
            <t>Contain primarily enumeration typedefs or identity definitions that are derived from registry entries</t>
          </li>
          <li>
            <t>Are updated more frequently than IETF-defined modules</t>
          </li>
          <li>
            <t>Follow a linear version history without branching</t>
          </li>
          <li>
            <t>Have a much simpler structure than general-purpose YANG modules, which simplifies classification of changes</t>
          </li>
        </ul>
        <t>Because IANA-maintained YANG modules are always expected to follow a linear version history without branching, the <em>_COMPAT</em> modifier defined in <xref target="I-D.ietf-netmod-yang-semver"/> is not needed or used for these modules. The <em>_COMPAT</em> modifier is only required for non-linear branched histories of YANG module versions. Therefore, only the <em>MAJOR.MINOR.PATCH</em> elements of YANG Semver need be considered for IANA-maintained modules.</t>
      </section>
      <section anchor="rules-applicable-to-iana-maintained-modules">
        <name>Rules Applicable to IANA-Maintained Modules</name>
        <t>IANA-maintained YANG modules typically contain only enumerations (enum) and identity definitions, as they represent simple registry mappings. Hence, the most relevant compatibility rules for these modules are:</t>
        <t><strong>Editorial Changes:</strong></t>
        <ul spacing="normal">
          <li>
            <t>Clarifying "description" statements without changing meaning</t>
          </li>
          <li>
            <t>Adding or updating "reference" statements</t>
          </li>
          <li>
            <t>Fixing typographical errors in description text</t>
          </li>
          <li>
            <t>Updating contact information</t>
          </li>
          <li>
            <t>Formatting improvements</t>
          </li>
        </ul>
        <t><strong>Backwards-Compatible Changes:</strong></t>
        <ul spacing="normal">
          <li>
            <t>Adding a new enum value or identity</t>
          </li>
          <li>
            <t>Changing status from "current" to "deprecated"</t>
          </li>
          <li>
            <t>Removing schema nodes that already have status "obsolete"</t>
          </li>
        </ul>
        <t><strong>Non-Backwards-Compatible Changes:</strong></t>
        <ul spacing="normal">
          <li>
            <t>Removing an enum value or identity (unless status is "obsolete")</t>
          </li>
          <li>
            <t>Changing status from "current" or "deprecated" to "obsolete"</t>
          </li>
          <li>
            <t>Renaming an enum or identity</t>
          </li>
          <li>
            <t>Changing the numeric value assigned to an enum</t>
          </li>
          <li>
            <t>Modifying "description" statements in a way that changes the semantic meaning</t>
          </li>
        </ul>
        <t><strong>Important</strong>: If multiple updates to the registry are made at the same time resulting in a single update to the IANA maintained YANG module then the new module version number is decided by the impact of the most significant change.</t>
        <section anchor="special-yang-considerations-for-deprecated-registry-entries">
          <name>Special YANG Considerations for Deprecated Registry Entries</name>
          <t>IANA registries and YANG modules use the term <em>deprecated</em> differently:</t>
          <ul spacing="normal">
            <li>
              <t>In IANA registries, deprecated generally means the value should not be used for new deployments.</t>
            </li>
            <li>
              <t>In YANG modules, <tt>status deprecated</tt> means the definition is still supported (including for new deployments) but it is expected to be obsoleted (or removed) in a future module version.</t>
            </li>
          </ul>
          <t>To avoid confusion, when an IANA registry entry is marked deprecated, the corresponding enum or identity description should indicate that the base IANA registry entry is deprecated and therefore the entry should not be used. I.e., the following sentence should be added to the end of the enum/identity description: <tt>This value is deprecated in the base IANA registry which means that its use is NOT RECOMMENDED.</tt></t>
        </section>
      </section>
      <section anchor="process-for-updating-iana-maintained-yang-modules">
        <name>Process for Updating IANA-Maintained YANG Modules</name>
        <t>When a change is made to an IANA registry that has a corresponding YANG module, it is recommended that IANA update the module following these steps:</t>
        <section anchor="step-1-follow-rfc-defined-rules">
          <name>Step 1: Follow RFC-Defined Rules</name>
          <t>First, consult the RFC that defines the IANA registry and its associated YANG module. That RFC may specify:</t>
          <ul spacing="normal">
            <li>
              <t>Specific rules for how registry entries map to YANG constructs</t>
            </li>
            <li>
              <t>Guidance on when and how to update the module</t>
            </li>
            <li>
              <t>Contact information for expert reviewers</t>
            </li>
            <li>
              <t>Special considerations for the particular registry</t>
            </li>
          </ul>
          <t>Always follow the specific guidance in the RFC that created the registry and module.</t>
        </section>
        <section anchor="step-2-identify-the-registry-change">
          <name>Step 2: Identify the Registry Change</name>
          <t>Determine exactly what changed in the registry:</t>
          <ul spacing="normal">
            <li>
              <t>Was a new entry added?</t>
            </li>
            <li>
              <t>Was an existing entry modified (description, reference, status)?</t>
            </li>
            <li>
              <t>Was an entry deprecated or obsoleted?</t>
            </li>
            <li>
              <t>Was an entry removed?</t>
            </li>
            <li>
              <t>Were multiple changes made simultaneously?</t>
            </li>
          </ul>
        </section>
        <section anchor="step-3-apply-equivalent-changes-to-the-yang-module">
          <name>Step 3: Apply Equivalent Changes to the YANG Module</name>
          <t>Update the YANG module to reflect the registry changes. For IANA-maintained modules, this typically involves:</t>
          <ul spacing="normal">
            <li>
              <t>Adding a new enum value or identity for new registry entries</t>
            </li>
            <li>
              <t>Updating description or reference statements for modified entries</t>
            </li>
            <li>
              <t>Changing status statements for deprecated or obsoleted entries</t>
            </li>
            <li>
              <t>Removing entries only if they are obsolete or if the defining RFC specifies removal</t>
            </li>
            <li>
              <t>Add a revision statement (using the current date) describing the change, and a reference, if appropriate.</t>
            </li>
            <li>
              <t><em>(Optional) include a version statement with the anticipated new version and a <tt>rev:non-backwards-compatible</tt> statement if it is a non-backwards-compatible change.</em></t>
            </li>
            <li>
              <t><em>(Optional) Use tooling to format the YANG module, as described in <xref target="pyang-formatting"/>.</em></t>
            </li>
          </ul>
        </section>
        <section anchor="step-4-use-pyang-tooling-to-checkrecommend-next-version">
          <name>Step 4: Use Pyang Tooling to Check/Recommend Next Version</name>
          <t>Use the tools described in <xref target="pyang-next-version"/> to recommend or check (if provided in step 3) the next module version.  Be aware of the tooling limitations, as per <xref target="tool-limitations"/>, and sanity check that the version recommended by the tooling is what is expected based on the changes.</t>
          <ul spacing="normal">
            <li>
              <t>Add or update the version statement with the correct version</t>
            </li>
            <li>
              <t>Add <tt>rev:non-backwards-compatible</tt> extension if NBC changes have occurred</t>
            </li>
          </ul>
        </section>
        <section anchor="step-5-validate-the-module">
          <name>Step 5: Validate the Module</name>
          <t>Use validation tools, as per <xref target="pyang-validation"/>, to ensure the updated module is syntactically correct.  Since these modules are simple, just checking with the <tt>pyang</tt> tool is sufficient but <tt>yanglint</tt>(<xref target="yang-lint-validation"/>) may be used as an alternative.</t>
        </section>
        <section anchor="step-6-seek-additional-help-if-needed">
          <name>Step 6: Seek additional help if Needed</name>
          <t>In most cases, the classification will be straightforward. However, if any of the following apply, IANA should seek additional guidance as described in <xref target="sec-additional-guidance"/>:</t>
          <ul spacing="normal">
            <li>
              <t>The change classification is unclear</t>
            </li>
            <li>
              <t>The tool output is unexpected or contradictory</t>
            </li>
            <li>
              <t>Description changes, where it is not obvious if they change semantic meaning</t>
            </li>
            <li>
              <t>Any situation not covered by the guidance above, or examples in <xref target="appendix-scenarios"/></t>
            </li>
          </ul>
        </section>
        <section anchor="step-7-publish-the-updated-module">
          <name>Step 7: Publish the Updated Module</name>
          <t>Once the module is validated and the version is confirmed:</t>
          <ul spacing="normal">
            <li>
              <t>Publish the updated module to the IANA website</t>
            </li>
            <li>
              <t>Publish the module using two URLs, one using the version and one using the revision date: <tt>&lt;module-name&gt;#&lt;version&gt;.yang</tt> and <tt>&lt;module-name&gt;@&lt;revision-date&gt;.yang</tt>, as per <xref target="I-D.ietf-netmod-yang-module-filename"/>.</t>
            </li>
            <li>
              <t>Update any relevant registries or indexes</t>
            </li>
            <li>
              <t>Ensure the new version is discoverable and accessible</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="examples">
        <name>Examples</name>
        <t>Detailed examples of common scenarios (adding entries, updating references, deprecating entries, etc.) are given in <xref target="appendix-scenarios"/>.</t>
      </section>
    </section>
    <section anchor="sec-additional-guidance">
      <name>Seeking Additional Guidance</name>
      <section anchor="when-to-seek-guidance">
        <name>When to Seek Guidance</name>
        <t>The RFC Editor and IANA should contact the YANG Doctors in the following situations:</t>
        <ol spacing="normal" type="1"><li>
            <t><strong>Classification Uncertainty</strong> - When it's unclear whether a change is NBC, BC, or Editorial</t>
          </li>
          <li>
            <t><strong>Tool Disagreement</strong> - When validation tools give unexpected or contradictory results</t>
          </li>
          <li>
            <t><strong>Description Changes</strong> - When it is unclear whether a description update alters semantic meaning</t>
          </li>
          <li>
            <t><strong>Unusual Situations</strong> - Any scenario not clearly covered in this document</t>
          </li>
          <li>
            <t><strong>Registry Restructuring</strong> - Major changes to how a registry is organized</t>
          </li>
          <li>
            <t><strong>RFC Editor Processing</strong> - When RFC Editor changes may go beyond editorial scope</t>
          </li>
        </ol>
      </section>
      <section anchor="how-to-seek-guidance">
        <name>How to Seek Guidance</name>
        <t>Email the YANG Doctor Secretaries, who will consult with the YANG Doctors
mailing list as needed and then coordinate a response:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Email</strong>: yangdoctors-chairs@ietf.org</t>
          </li>
          <li>
            <t><strong>Purpose</strong>: Technical review and guidance on YANG module versioning.</t>
          </li>
          <li>
            <t><strong>Response Time</strong>: Typically 1-2 weeks</t>
          </li>
        </ul>
        <t>When emailing, please include:</t>
        <ul spacing="normal">
          <li>
            <t>Description of the change or situation</t>
          </li>
          <li>
            <t>The affected YANG module and relevant excerpts</t>
          </li>
          <li>
            <t>Your proposed classification and version change</t>
          </li>
          <li>
            <t>Specific questions or concerns</t>
          </li>
          <li>
            <t>Any relevant tool output</t>
          </li>
          <li>
            <t>An indication if an urgent reply is required.</t>
          </li>
        </ul>
        <t>The expectation is that the YANG Doctors should reply to the request within the time frame given above, but if a reply isn't forthcoming then please escalate via the OPS ADs.</t>
      </section>
      <section anchor="example-request">
        <name>Example Request</name>
        <sourcecode type="text"><![CDATA[
<BEGIN TEMPLATE TEXT>

Subject: YANG Versioning Question - iana-if-type Update

Dear YANG Doctor Secretaries,

I need guidance on classifying a change to the iana-if-type module.

Change Description:
The Interface Types registry has updated the description for
interface type 6 (ethernet) to clarify that it includes both
10BASE-T and 100BASE-T variants.

Proposed YANG Change:
Update the description statement for the "ethernet" enum to
include the clarification.

Question:
Should this be classified as Editorial (PATCH increment) since
it's clarifying existing behavior, or as BC (MINOR increment)
because it's adding new information?

The old description said: "Ethernet interface"
The new description says: "Ethernet interface, including
10BASE-T and 100BASE-T variants"

Current module version: 1.5.0
Proposed version: 1.5.1 (if Editorial) or 1.6.0 (if BC)

Thank you for your guidance.

<END TEMPLATE TEXT>
]]></sourcecode>
      </section>
    </section>
    <section anchor="sec-operational">
      <name>Operational Considerations</name>
      <t>This entire document provides operational guidance for the RFC Editor and IANA on how to process and publish YANG modules. The procedures described in <xref target="sec-rfc-workflow"/> and <xref target="sec-iana-modules"/> are designed to ensure consistent and correct versioning of YANG modules across all IETF and IANA publications.</t>
      <t>Correct versioning is critical because consumers of YANG modules rely on the semantic version number to understand the compatibility and risk associated with updating to a new module version:</t>
      <ul spacing="normal">
        <li>
          <t><strong>PATCH version increments</strong> signal that only editorial changes have been made, indicating very low risk for updates</t>
        </li>
        <li>
          <t><strong>MINOR version increments</strong> signal backwards-compatible additions, indicating that existing implementations will continue to work but new features are available</t>
        </li>
        <li>
          <t><strong>MAJOR version increments</strong> signal non-backwards-compatible changes, indicating that implementations must carefully evaluate the impact before updating</t>
        </li>
      </ul>
      <t>Following the guidance in this document helps ensure that version numbers accurately communicate these compatibility expectations to the YANG module consumer community.</t>
      <t>When uncertain about the correct classification or version for a module, the operational recommendation is to choose the more conservative option:</t>
      <ul spacing="normal">
        <li>
          <t>If uncertain between editorial and backwards-compatible, choose backwards-compatible (MINOR rather than PATCH)</t>
        </li>
        <li>
          <t>If uncertain between backwards-compatible and non-backwards-compatible, choose non-backwards-compatible (MAJOR rather than MINOR, and include the NBC extension)</t>
        </li>
      </ul>
      <t>This conservative approach ensures that consumers are appropriately warned about potential compatibility implications, even if the actual risk turns out to be lower than indicated.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document gives instructions to IANA on how to handle YANG modules that are published in RFCs and also YANG modules that are derived from IANA registries.</t>
      <t>Incorrect interpretation of this document could cause incorrect handling or versioning of IANA-maintained YANG modules.</t>
      <t>This document recommends the usage of various tools.  Bugs or attacks on these tools could cause the tools to give incorrect or misleading guidance.  In all cases, secondary evaluation of output of the tools should be performed to confirm that they are giving the anticipated results.  The <em>YANG Doctor Secretaries</em> or <em>Operations and Management Area Directors</em> can also be contacted for further advice, if required.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document provides operational guidance to IANA and the RFC Editor for managing YANG modules. It does not require IANA to create or modify any registries, nor does it define any new registration procedures.</t>
      <t>The guidance in this document is intended to clarify and standardize how IANA processes YANG modules in the "YANG Module Names" registry <xref target="IANA-YANG-PARAMETERS"/> and how IANA maintains YANG modules derived from IANA registries.</t>
      <t>IANA should follow the procedures described in <xref target="sec-rfc-workflow"/> when processing YANG modules from RFCs and the procedures described in <xref target="sec-iana-modules"/> when updating IANA-maintained YANG modules.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6020"/>
          <seriesInfo name="DOI" value="10.17487/RFC6020"/>
        </reference>
        <reference anchor="RFC7950">
          <front>
            <title>The YANG 1.1 Data Modeling Language</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols. This document describes the syntax and semantics of version 1.1 of the YANG language. YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification. There are a small number of backward incompatibilities from YANG version 1. This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7950"/>
          <seriesInfo name="DOI" value="10.17487/RFC7950"/>
        </reference>
        <reference anchor="RFC8340">
          <front>
            <title>YANG Tree Diagrams</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document captures the current syntax used in YANG module tree diagrams. The purpose of this document is to provide a single location for this definition. This syntax may be updated from time to time based on the evolution of the YANG language.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="215"/>
          <seriesInfo name="RFC" value="8340"/>
          <seriesInfo name="DOI" value="10.17487/RFC8340"/>
        </reference>
        <reference anchor="I-D.ietf-netmod-yang-module-versioning">
          <front>
            <title>Updated YANG Module Revision Handling</title>
            <author fullname="Robert Wilton" initials="R." surname="Wilton">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Reshad Rahman" initials="R." surname="Rahman">
              <organization>Equinix</organization>
            </author>
            <author fullname="Balázs Lengyel" initials="B." surname="Lengyel">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Joe Clarke" initials="J." surname="Clarke">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Jason Sterne" initials="J." surname="Sterne">
              <organization>Nokia</organization>
            </author>
            <date day="29" month="June" year="2026"/>
            <abstract>
              <t>   This document refines the RFC 7950 module update rules.  It specifies
   a new YANG module update procedure that can document when non-
   backwards-compatible changes have occurred during the evolution of a
   YANG module.  It extends the YANG import statement with a suggestion
   for a minimum revision.  This helps document inter-module
   dependencies.  It provides guidelines for managing the lifecycle of
   YANG modules and individual schema nodes.  This document updates RFC
   7950, RFC 6020, RFC 8525, and RFC 9907.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-yang-module-versioning-17"/>
        </reference>
        <reference anchor="I-D.ietf-netmod-yang-semver">
          <front>
            <title>YANG Semantic Versioning</title>
            <author fullname="Joe Clarke" initials="J." surname="Clarke">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Robert Wilton" initials="R." surname="Wilton">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Reshad Rahman" initials="R." surname="Rahman">
              <organization>Equinix</organization>
            </author>
            <author fullname="Balázs Lengyel" initials="B." surname="Lengyel">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Jason Sterne" initials="J." surname="Sterne">
              <organization>Nokia</organization>
            </author>
            <author fullname="Benoît Claise" initials="B." surname="Claise">
              <organization>Everything OPS</organization>
            </author>
            <date day="7" month="May" year="2026"/>
            <abstract>
              <t>   This document specifies a YANG extension along with guidelines for
   applying an extended set of semantic versioning rules to revisions of
   YANG artifacts (e.g., modules and packages).  Additionally, this
   document defines a YANG extension for controlling module imports
   based on these modified semantic versioning rules.

   This document updates RFCs 7950, 9907, and 8525.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-yang-semver-26"/>
        </reference>
        <reference anchor="RFC9907">
          <front>
            <title>Guidelines for Authors and Reviewers of Documents Containing YANG Data Models</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="March" year="2026"/>
            <abstract>
              <t>This document provides guidelines for authors and reviewers of specifications containing YANG data models, including IANA-maintained YANG modules. Recommendations and procedures are defined, which are intended to increase interoperability and usability of Network Configuration Protocol (NETCONF) and RESTCONF protocol implementations that utilize YANG modules.</t>
              <t>This document obsoletes RFC 8407; it also updates RFC 8126 by providing additional guidelines for writing the IANA considerations for RFCs that specify IANA-maintained YANG modules.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="216"/>
          <seriesInfo name="RFC" value="9907"/>
          <seriesInfo name="DOI" value="10.17487/RFC9907"/>
        </reference>
        <reference anchor="RFC9890">
          <front>
            <title>An Update to YANG Module Names Registration</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="Q. Wu" initials="Q." surname="Wu"/>
            <date month="October" year="2025"/>
            <abstract>
              <t>This document amends the IANA guidance on the uniqueness of YANG module and submodule names.</t>
              <t>The document updates RFC 6020 to clarify how modules and their revisions are handled by IANA.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9890"/>
          <seriesInfo name="DOI" value="10.17487/RFC9890"/>
        </reference>
        <reference anchor="I-D.ietf-netmod-yang-module-filename">
          <front>
            <title>YANG module file name convention</title>
            <author fullname="Per Andersson" initials="P." surname="Andersson">
              <organization>Ionio Systems</organization>
            </author>
            <date day="4" month="June" year="2026"/>
            <abstract>
              <t>   This document defines the YANG module file name convention.  The
   convention extends the YANG module file name using revision-date,
   with the YANG semantic version extension.  The YANG semantic version
   extension allows for an informative version to be associated with a
   particular YANG module revision.

   This document updates RFCs 6020, 7950, and 9907.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-yang-module-filename-14"/>
        </reference>
        <reference anchor="IANA-YANG-PARAMETERS" target="https://www.iana.org/assignments/yang-parameters/yang-parameters.xhtml">
          <front>
            <title>YANG Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8526">
          <front>
            <title>NETCONF Extensions to Support the Network Management Datastore Architecture</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." surname="Schoenwaelder"/>
            <author fullname="P. Shafer" initials="P." surname="Shafer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="R. Wilton" initials="R." surname="Wilton"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>This document extends the Network Configuration Protocol (NETCONF) defined in RFC 6241 in order to support the Network Management Datastore Architecture (NMDA) defined in RFC 8342.</t>
              <t>This document updates RFCs 6241 and 7950. The update to RFC 6241 adds new and operations and augments existing,, and operations. The update to RFC 7950 requires the usage of the YANG library (described in RFC 8525) by NETCONF servers implementing the NMDA.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8526"/>
          <seriesInfo name="DOI" value="10.17487/RFC8526"/>
        </reference>
        <reference anchor="RFC8791">
          <front>
            <title>YANG Data Structure Extensions</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Björklund" initials="M." surname="Björklund"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="June" year="2020"/>
            <abstract>
              <t>This document describes YANG mechanisms for defining abstract data structures with YANG.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8791"/>
          <seriesInfo name="DOI" value="10.17487/RFC8791"/>
        </reference>
        <reference anchor="I-D.ietf-netmod-yang-schema-comparison">
          <front>
            <title>YANG Schema Comparison</title>
            <author fullname="Per Andersson" initials="P." surname="Andersson">
              <organization>Ionio Systems</organization>
            </author>
            <author fullname="Robert Wilton" initials="R." surname="Wilton">
              <organization>Cisco Systems, Inc.</organization>
            </author>
            <author fullname="Michal Vaško" initials="M." surname="Vaško">
              <organization>CESNET</organization>
            </author>
            <date day="3" month="July" year="2026"/>
            <abstract>
              <t>   This document specifies an algorithm for comparing two revisions of a
   YANG schema to determine the scope of changes and produce a list of
   the changes between the revisions.  The output of the algorithm can
   be used to help select an appropriate revision-label or YANG semantic
   version number for a new revision.  Included is also a YANG module
   describing the possible output of this algorithm.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-yang-schema-comparison-09"/>
        </reference>
        <reference anchor="I-D.mahesh-opsawg-veloce-yang">
          <front>
            <title>YANG deVELpment PrOCEss and maintenance (VELOCE)</title>
            <author fullname="Mahesh Jethanandani" initials="M." surname="Jethanandani">
              <organization>Arrcus, Inc</organization>
            </author>
            <date day="5" month="May" year="2026"/>
            <abstract>
              <t>   This document describes a YANG deVELpment PrOCEss and maintenance
   (VELOCE) that is more suitable for the development of YANG modules or
   YANG modules update within the IETF.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Source for this draft and an issue tracker can be found at
   https://github.com/mjethanandani/veloce.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-mahesh-opsawg-veloce-yang-01"/>
        </reference>
        <reference anchor="iana-iftype-registry" target="https://www.iana.org/assignments/smi-numbers">
          <front>
            <title>Interface Types (ifType) Registry</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="iana-afnum-registry" target="https://www.iana.org/assignments/address-family-numbers">
          <front>
            <title>Address Family Numbers</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="iana-safi-registry" target="https://www.iana.org/assignments/safi-parameters">
          <front>
            <title>SAFI Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="iana-bgp-parameters" target="https://www.iana.org/assignments/bgp-parameters">
          <front>
            <title>BGP Parameters</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC8675">
          <front>
            <title>A YANG Data Model for Tunnel Interface Types</title>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <author fullname="I. Farrer" initials="I." surname="Farrer"/>
            <author fullname="R. Asati" initials="R." surname="Asati"/>
            <date month="November" year="2019"/>
            <abstract>
              <t>This document specifies the initial version of a YANG module "iana-tunnel-type", which contains a collection of IANA-maintained YANG identities used as interface types for tunnel interfaces. The module reflects the "tunnelType" registry maintained by IANA. The latest revision of this YANG module can be obtained from the IANA website.</t>
              <t>Tunnel type values are not directly added to the Tunnel Interface Types YANG module; they must instead be added to the "tunnelType" IANA registry. Once a new tunnel type registration is made by IANA for a new tunneling scheme or even an existing one that is not already listed in the current registry (e.g., LISP, NSH), IANA will update the Tunnel Interface Types YANG module accordingly.</t>
              <t>Some of the IETF-defined tunneling techniques are not listed in the current IANA registry. It is not the intent of this document to update the existing IANA registry with a comprehensive list of tunnel technologies. Registrants must follow the IETF registration procedure for interface types whenever a new tunnel type is needed.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8675"/>
          <seriesInfo name="DOI" value="10.17487/RFC8675"/>
        </reference>
        <reference anchor="RFC9291">
          <front>
            <title>A YANG Network Data Model for Layer 2 VPNs</title>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="O. Gonzalez de Dios" initials="O." role="editor" surname="Gonzalez de Dios"/>
            <author fullname="S. Barguil" initials="S." surname="Barguil"/>
            <author fullname="L. Munoz" initials="L." surname="Munoz"/>
            <date month="September" year="2022"/>
            <abstract>
              <t>This document defines an L2VPN Network Model (L2NM) that can be used to manage the provisioning of Layer 2 Virtual Private Network (L2VPN) services within a network (e.g., a service provider network). The L2NM complements the L2VPN Service Model (L2SM) by providing a network-centric view of the service that is internal to a service provider. The L2NM is particularly meant to be used by a network controller to derive the configuration information that will be sent to relevant network devices.</t>
              <t>Also, this document defines a YANG module to manage Ethernet segments and the initial versions of two IANA-maintained modules that include a set of identities of BGP Layer 2 encapsulation types and pseudowire types.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9291"/>
          <seriesInfo name="DOI" value="10.17487/RFC9291"/>
        </reference>
      </references>
    </references>
    <?line 542?>

<section anchor="appendix-tooling">
      <name>Available Tooling</name>
      <t>This appendix describes tooling available to assist the RFC Editor and IANA in validating and versioning YANG modules. The tools and capabilities described here reflect the state of tooling as of the publication of this document. Tool capabilities are expected to evolve over time, and newer or improved tools may become available. The NETMOD working group and YANG Doctors can provide updated guidance on current best practices for tooling.</t>
      <section anchor="yang-validation-tools">
        <name>YANG Validation Tools</name>
        <section anchor="pyang">
          <name>pyang</name>
          <t><strong>Purpose</strong>: <tt>pyang</tt> is a comprehensive YANG validator and converter tool that can validate syntax, check for backwards-compatible violations, and generate documentation.</t>
          <t><strong>Primary Use Cases</strong>:</t>
          <ol spacing="normal" type="1"><li>
              <t>Validating YANG module syntax and compliance with IETF conventions</t>
            </li>
            <li>
              <t>Formatting YANG modules in a consistent way prior to publication</t>
            </li>
            <li>
              <t>Suggesting proposed next version when updating a YANG module</t>
            </li>
            <li>
              <t>Generating tree diagrams for documentation</t>
            </li>
          </ol>
          <t><strong>Installation</strong>: <tt>pyang</tt> is available via PyPI (<tt>pip install pyang</tt>) or from <eref target="https://github.com/mbj4668/pyang">https://github.com/mbj4668/pyang</eref>.  It is recommended to periodically check and update the version to pick up bugfixes and new functionality (which could include stricter checks).</t>
          <t><strong>Note to RFC Editor and reviewers, some of the tooling enhancements documented here are not yet been merged into the master pyang repository, so depending on publication timing we need to add further references.</strong></t>
          <t>To ensure that <tt>pyang</tt> correctly processes the YANG files, then the correct versions of any YANG module dependencies must also be used, this is often the latest version of the published YANG modules, but if a draft contains a set of YANG modules, or if there are set of drafts with YANG modules being published together then all the YANG modules in those drafts must be extracted together and validated.  These dependent YANG modules can either be stored in the same directory as the YANG module being validated/checked, or they can be stored in a separate directory and passed using the <tt>-p</tt> argument to provide a path to the directory.</t>
          <section anchor="pyang-validation">
            <name>Basic YANG Syntax Validation</name>
            <t>This command below validates the module syntax and checks compliance with IETF-specific conventions. The output will show any errors or warnings. Normative IETF YANG modules and IANA-maintained YANG modules should have no errors or warnings before publication.</t>
            <sourcecode type="shell"><![CDATA[
pyang --ietf --strict --max-line-length=69 -Werror -p <dep-module-directory> ietf-module-name.yang
]]></sourcecode>
          </section>
          <section anchor="pyang-formatting">
            <name>Consistent formatting of YANG modules</name>
            <t>Pyang can be used to reformat a YANG file, particularly fixing line length issues and correcting any indentation mistakes.  Some complex expressions, e.g., <tt>must</tt>, <tt>when</tt> and path statements may not be automatically split to the correct line length and may need to be done manually.  Running the basic syntax validation command on the output file indicates whether any further manual line folding is required.</t>
            <sourcecode type="shell"><![CDATA[
pyang -f yang --yang-line-length=69 --yang-canonical -Werror -p <dep-module-directory> -o <output-file> <treeOpts> ietf-module-name.yang
]]></sourcecode>
          </section>
          <section anchor="pyang-next-version">
            <name>Suggesting proposed next version when updating a YANG module</name>
            <t>Pyang can be used to compare the changes between two YANG module versions and either validate that a suitable next version number has been used, or to suggest what the appropriate next version should be, or if further manual checks should be performed, e.g., for changes to description statements.</t>
            <t>If the new module version already includes a version statement for the latest revision then <tt>pyang</tt> can perform a limited set of policy checks against the declared version.  In the current implementation, this is not a full exact-match validation for every possible declared version.  Instead, the tool reports specific cases where the declared version is inconsistent with detected known NBC changes or with certain possible-NBC outcomes.  Otherwise, if the latest revision does not contain a version statement then it will suggest the new version that should be used.</t>
            <t>If the previous revision being compared does not contain a <tt>ysv:version</tt> statement, then the tool assumes an old version of 1.0.0 and reports that assumption explicitly in its output.</t>
            <t>If the old version is itself a pre-release form, for example with MAJOR = 0 or with pre-release metadata, then the current implementation may be unable to recommend a next release version automatically.</t>
            <sourcecode type="shell"><![CDATA[
pyang --check-update-semver --check-update-from module-name@old-version.yang module-name@new-version.yang
]]></sourcecode>
            <t><strong>Interpreting Tool Output</strong></t>
            <t>The command output:</t>
            <ul spacing="normal">
              <li>
                <t>prints the suggested next YANG Semver, when the tool can determine one, based on the changes.  It may print:
                </t>
                <ul spacing="normal">
                  <li>
                    <t><tt>ASSUMED-OLD-YANG-SEMVER</tt> line if the previous revision does not contain a <tt>ysv:version</tt> statement.</t>
                  </li>
                  <li>
                    <t><tt>SUGGESTED-NEXT-YANG-SEMVER: unavailable (...)</tt>, if the previous version is in a pre-release form that the current implementation cannot automatically advance.</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>indicates whether the <tt>rev:non-backwards-compatible</tt> extension statement is needed.</t>
              </li>
              <li>
                <t>highlights any non-backwards-compatible changes, which are reported as errors.</t>
              </li>
              <li>
                <t>indicates if there are changes to any statements, e.g., description, that require further analysis to decide whether a semantic change has occurred and hence if the change is non-backwards-compatible rather than editorial.</t>
              </li>
              <li>
                <t>may emit additional semver policy diagnostics if a declared new <tt>ysv:version</tt> is inconsistent with the tool's semver policy checks.</t>
              </li>
            </ul>
            <t><strong>Example Tool Output 1</strong>:</t>
            <t>This example illustrates what the expected output would be for an update to a YANG module that is derived from an IANA registry update that defines a new enum or identity.  This is a minor version change and hence the version change recommended by the tool is from 1.0.0 → 1.1.0.</t>
            <sourcecode type="text"><![CDATA[
SUGGESTED-NEXT-YANG-SEMVER: 1.1.0
]]></sourcecode>
            <t><strong>Example Tool Output 2</strong>:</t>
            <t>This example output below due to deleting an enum entry indicates an NBC change has occurred. Hence the tool recommends a major version number change from 1.0.0 → 2.0.0 and the addition of the <tt>rev:non-backwards-compatible</tt> statement.</t>
            <sourcecode type="text"><![CDATA[
SUGGESTED-NEXT-YANG-SEMVER: 2.0.0
NBC-CHANGE(S):
iana-ssh-mac-algs@2026-03-06.yang:45: error: rev:non-backwards-compatible is required for this revision
iana-ssh-mac-algs@2026-03-06.yang:62: error: the enum 'AEAD_AES_256_GCM', defined at iana-ssh-mac-algs@2024-10-16.yang:109 is illegally removed or marked obsolete
iana-ssh-mac-algs@2026-03-06.yang:62: error: the value for enum 'hmac-sha2-256', has changed from 7 to 6 (RFC 7950: sec. 11, p5, bullet 1)
iana-ssh-mac-algs@2026-03-06.yang:62: error: the value for enum 'hmac-sha2-512', has changed from 8 to 7 (RFC 7950: sec. 11, p5, bullet 1)
]]></sourcecode>
            <t><strong>Example Tool Output 3</strong>:</t>
            <t>This example output is for a change to a description statement.  The tool output suggests a version change from 1.0.0 → 1.0.1, which is correct if there is no change in semantics.  It also highlights that it may be necessary to consult with the authors to determine if a semantic change has occurred, if that is not obvious.  If after reviewing, the conclusion is that a semantic change has occurred, then the version change should be from 1.0.0 → 2.0.0 and the <tt>rev:non-backwards-compatible</tt> statement should be added.</t>
            <sourcecode type="text"><![CDATA[
SUGGESTED-NEXT-YANG-SEMVER: 1.0.1
POSSIBLE-NBC-CHANGE(S):
Consult document authors and YANG Doctors.
iana-ssh-mac-algs@2025-03-17.yang:138: warning: the description change may have changed the semantics of the node
]]></sourcecode>
          </section>
          <section anchor="pyang-tree">
            <name>Generating tree diagrams for documentation</name>
            <t>Pyang can be used to generate tree diagram output that conforms to <xref target="RFC8340"/>.  The command below generates the tree diagram for <tt>ietf-module-name.yang</tt>, limited to a line length of 69 characters and writes it into the specified <tt>output-file</tt>.  The <tt>tree-options</tt> is based on the options in <tt>pyang</tt> that are prefixed with <tt>--tree</tt> and can be seen by running <tt>pyang --help</tt>.  Common options may include printing out grouping (<tt>--tree-print-groupings</tt>) or printing out structures (<tt>--tree-print-structures</tt>).</t>
            <sourcecode type="shell"><![CDATA[
pyang -f tree --tree-line-length=69 -Werror -p <dep-module-directory> -o <output-file> <tree-options> ietf-module-name.yang
]]></sourcecode>
          </section>
        </section>
        <section anchor="yang-lint-validation">
          <name>yanglint</name>
          <t><strong>Purpose</strong>: <tt>yanglint</tt> is a YANG validator and data manipulation tool from the libyang project, useful for validating modules and instance data.</t>
          <t><strong>Primary Use Cases</strong>:</t>
          <ul spacing="normal">
            <li>
              <t>Validating YANG module syntax</t>
            </li>
            <li>
              <t>Checking cross-module dependencies</t>
            </li>
            <li>
              <t>Validating instance data against YANG schemas</t>
            </li>
          </ul>
          <t><strong>Installation</strong>: <tt>yanglint</tt> is part of libyang, available from <eref target="https://github.com/CESNET/libyang">https://github.com/CESNET/libyang</eref></t>
          <t><strong>Syntax Validation</strong>:</t>
          <sourcecode type="shell"><![CDATA[
yanglint -p /path/to/yang/modules module-name.yang
]]></sourcecode>
          <t>The <tt>-p</tt> option specifies a directory containing imported modules.</t>
          <t>This command validates the module syntax. No output indicates successful validation; errors will be displayed if found.</t>
        </section>
        <section anchor="yang-catalog-tools">
          <name>YANG Catalog Tools</name>
          <t><strong>Purpose</strong>: The YANG Catalog (<eref target="https://www.yangcatalog.org">https://www.yangcatalog.org</eref>) provides online tools for module validation, comparison, and discovery.</t>
          <t><strong>Primary Use Cases</strong>:</t>
          <ul spacing="normal">
            <li>
              <t>Validating YANG modules without local tool installation</t>
            </li>
            <li>
              <t>Comparing different versions of modules</t>
            </li>
            <li>
              <t>Viewing module dependencies and impact analysis</t>
            </li>
            <li>
              <t>Searching for existing modules and versions</t>
            </li>
          </ul>
          <t><strong>Usage</strong>:</t>
          <t>Access the web interface at <eref target="https://www.yangcatalog.org">https://www.yangcatalog.org</eref> and use the "Validator" and "YANG Impact Analysis" tools.</t>
          <t><strong>Interpreting Results</strong>:</t>
          <t>The online tools provide visual feedback on validation results and module comparisons. The impact analysis tool can show which other modules depend on a given module, helping assess the impact of changes.</t>
        </section>
      </section>
      <section anchor="tool-limitations">
        <name>Tool Limitations</name>
        <t>While tools are valuable for YANG module validation and versioning, they have a couple of limitations relevant to their usage here:</t>
        <t><strong>Limitation 1: Cannot Always Distinguish Editorial from BC/NBC Changes</strong></t>
        <t>Current tools cannot determine whether a description change is purely editorial (clarifying existing meaning) or non-backwards-compatible (changing meaning in semantically significant way). Human or AI judgment is required to make this distinction.</t>
        <t>Example: Changing "Ethernet interface" to "Ethernet interface, includes all Ethernet interface speeds" could be editorial (if those variants were always included).  But changing an "ip" type from a description saying "IPv4 address or IPv6 address" to just "IPv4 address" would be regarded as an NBC change because the scope of the type has clearly changed and may impact users of that type.</t>
        <t><strong>Limitation 2: May Produce False Positives or False Negatives</strong></t>
        <t>Tool implementations may have bugs or may not cover all edge cases in the YANG versioning rules.  Generally, in any ambiguous cases, the tools are being designed to either explicitly flag this or choose the more impactful option.  It is assumed to be better for clients to potentially flag an NBC change that is not really there than to mistakenly flag an NBC change as only being a BC change.</t>
        <t>Hence the recommendation is to always review tool output critically and seek additional review (<xref target="sec-additional-guidance"/>) when uncertainty remains.</t>
      </section>
    </section>
    <section anchor="appendix-scenarios">
      <name>Summary of IANA Registry Action Scenarios</name>
      <t>This appendix provides a comprehensive reference of common scenarios encountered when updating IANA-maintained YANG module derived from IANA registries.  Each scenario describes the registry action, the corresponding YANG module change, the classification (NBC/BC/Editorial), the version change required, and whether the <tt>rev:non-backwards-compatible</tt> extension must be added.</t>
      <section anchor="quick-reference-table">
        <name>Quick Reference Table</name>
        <t>The assumption is that the YANG module uses the registry entry name, numeric identifier, description, status, and any reference fields as part of the YANG entries.  If additional fields from the registry are used in the YANG module (e.g., perhaps the YANG description is constructed from multiple registry fields) then any changes to those fields will require a new version of the YANG module to be published and an appropriate new version number, chosen based on the actual change to the YANG module.</t>
        <t><strong>Important Principle</strong>: The source or trigger of a change (errata, new RFC, registry update, expert review, etc.) does NOT determine whether it is NBC, BC, or Editorial. What matters is the resultant change made to the YANG module content.</t>
        <table>
          <name>Registry Action → YANG Module Update Reference Table</name>
          <thead>
            <tr>
              <th align="left">Registry Action</th>
              <th align="left">YANG Change</th>
              <th align="left">Classification</th>
              <th align="left">Version</th>
              <th align="left">NBC Ext</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Add new registration</td>
              <td align="left">Add enum/identity</td>
              <td align="left">BC</td>
              <td align="left">MINOR</td>
              <td align="left">No</td>
            </tr>
            <tr>
              <td align="left">Update reference (Draft → RFC)</td>
              <td align="left">Update reference</td>
              <td align="left">Editorial</td>
              <td align="left">PATCH</td>
              <td align="left">No</td>
            </tr>
            <tr>
              <td align="left">Update reference (obsoleted RFC)</td>
              <td align="left">Update reference</td>
              <td align="left">Editorial</td>
              <td align="left">PATCH</td>
              <td align="left">No</td>
            </tr>
            <tr>
              <td align="left">Add additional reference</td>
              <td align="left">Update reference</td>
              <td align="left">Editorial</td>
              <td align="left">PATCH</td>
              <td align="left">No</td>
            </tr>
            <tr>
              <td align="left">Change or remove reference</td>
              <td align="left">Update reference</td>
              <td align="left">Editorial</td>
              <td align="left">PATCH</td>
              <td align="left">No</td>
            </tr>
            <tr>
              <td align="left">Update description (clarify)</td>
              <td align="left">Update description</td>
              <td align="left">Editorial</td>
              <td align="left">PATCH</td>
              <td align="left">No</td>
            </tr>
            <tr>
              <td align="left">Update description (change meaning)</td>
              <td align="left">Update description</td>
              <td align="left">NBC</td>
              <td align="left">MAJOR</td>
              <td align="left">Yes</td>
            </tr>
            <tr>
              <td align="left">Deprecate entry (keep name)</td>
              <td align="left">status deprecated</td>
              <td align="left">BC</td>
              <td align="left">MINOR</td>
              <td align="left">No</td>
            </tr>
            <tr>
              <td align="left">Obsolete entry</td>
              <td align="left">status obsolete</td>
              <td align="left">NBC</td>
              <td align="left">MAJOR</td>
              <td align="left">Yes</td>
            </tr>
            <tr>
              <td align="left">Rename entry</td>
              <td align="left">Change identifier</td>
              <td align="left">NBC</td>
              <td align="left">MAJOR</td>
              <td align="left">Yes</td>
            </tr>
            <tr>
              <td align="left">Remove obsolete entry</td>
              <td align="left">Remove enum/identity</td>
              <td align="left">BC</td>
              <td align="left">MINOR</td>
              <td align="left">No</td>
            </tr>
            <tr>
              <td align="left">Remove non-obsolete entry</td>
              <td align="left">Remove enum/identity</td>
              <td align="left">NBC</td>
              <td align="left">MAJOR</td>
              <td align="left">Yes</td>
            </tr>
            <tr>
              <td align="left">Change value number</td>
              <td align="left">Change value</td>
              <td align="left">NBC</td>
              <td align="left">MAJOR</td>
              <td align="left">Yes</td>
            </tr>
            <tr>
              <td align="left">Reuse old value (previously removed)</td>
              <td align="left">Same as adding new entry</td>
              <td align="left">BC</td>
              <td align="left">MINOR</td>
              <td align="left">No</td>
            </tr>
            <tr>
              <td align="left">Add footnote</td>
              <td align="left">Optionally update description</td>
              <td align="left">Editorial</td>
              <td align="left">PATCH</td>
              <td align="left">No</td>
            </tr>
            <tr>
              <td align="left">Non-YANG field changes</td>
              <td align="left">Depends on how the module is updated</td>
              <td align="left">Analyze</td>
              <td align="left">Varies</td>
              <td align="left">Maybe</td>
            </tr>
            <tr>
              <td align="left">Errata</td>
              <td align="left">Depends on content</td>
              <td align="left">Analyze</td>
              <td align="left">Varies</td>
              <td align="left">Maybe</td>
            </tr>
            <tr>
              <td align="left">Early alloc expired (left as-is)</td>
              <td align="left">No change</td>
              <td align="left">N/A</td>
              <td align="left">None</td>
              <td align="left">No</td>
            </tr>
            <tr>
              <td align="left">Early alloc expired (removed)</td>
              <td align="left">Follow removal rules</td>
              <td align="left">NBC</td>
              <td align="left">MAJOR</td>
              <td align="left">Yes</td>
            </tr>
            <tr>
              <td align="left">Revive expired (removed) allocation</td>
              <td align="left">Add enum/identity</td>
              <td align="left">BC</td>
              <td align="left">MINOR</td>
              <td align="left">No</td>
            </tr>
          </tbody>
        </table>
        <t><strong>Key</strong>:</t>
        <ul spacing="normal">
          <li>
            <t><strong>BC</strong> = Backwards-Compatible; <strong>NBC</strong> = Non-Backwards-Compatible</t>
          </li>
          <li>
            <t><strong>MAJOR/MINOR/PATCH</strong> refer to the YANG Semver version components</t>
          </li>
          <li>
            <t><strong>NBC Ext</strong> = Whether <tt>rev:non-backwards-compatible</tt> extension is required</t>
          </li>
          <li>
            <t><strong>Varies</strong> or <strong>Maybe</strong> indicates the specific change must be analyzed using the detailed scenarios below</t>
          </li>
        </ul>
      </section>
      <section anchor="detailed-common-scenarios">
        <name>Detailed Common Scenarios</name>
        <t>Note: The following scenarios only contain snippets of YANG to illustrate the change being made and are not intended to represent complete example modules, or be able to compile or validate.</t>
        <section anchor="scenario-1-adding-a-new-registry-entry">
          <name>Scenario 1: Adding a New Registry Entry</name>
          <t><strong>Registry Action</strong>: A new entry is added to an IANA registry.</t>
          <t><strong>YANG Module Change</strong>: Add a new enum value or identity.</t>
          <t><strong>Classification</strong>: Backwards-Compatible (BC)</t>
          <t><strong>Version Change</strong>: Increment MINOR version (e.g., 1.0.0 → 1.1.0)</t>
          <t><strong>NBC Extension Required</strong>: No</t>
          <t><strong>Rationale</strong>: Adding a new type is backwards compatible because it cannot break backwards-compatibility of existing implementations.</t>
          <t><strong>Example</strong>:</t>
          <t>Previous version, <em>1.0.0</em>:</t>
          <sourcecode type="yang"><![CDATA[
revision 2025-11-01 {
  ysv:version "1.0.0";
  description "Initial revision.";
}

typedef interface-type {
  type enumeration {
    enum ethernet {
      value 6;
      description "Ethernet interface";
    }
  }
}
]]></sourcecode>
          <t>New version, <em>1.1.0</em>, after addition of 'wifi' enum type:</t>
          <sourcecode type="yang"><![CDATA[
revision 2025-11-15 {
  ysv:version "1.1.0";
  description "Added 'wifi' (71).";
}
revision 2025-11-01 {
  ysv:version "1.0.0";
  description "Initial revision.";
}

typedef interface-type {
  type enumeration {
    enum ethernet {
      value 6;
      description "Ethernet interface";
    }
    enum wifi {
      value 71;
      description "IEEE 802.11 wireless interface";
    }
  }
}
]]></sourcecode>
        </section>
        <section anchor="scenario-2-updating-references">
          <name>Scenario 2: Updating References</name>
          <t><strong>Registry Action</strong>: A reference is updated (e.g., RFC obsoleted, additional reference added, draft reference changed to RFC number).</t>
          <t><strong>YANG Module Change</strong>: Update the "reference" statement.</t>
          <t><strong>Classification</strong>: Editorial</t>
          <t><strong>Version Change</strong>: Increment PATCH version (e.g., 2.3.0 → 2.3.1)</t>
          <t><strong>NBC Extension Required</strong>: No</t>
          <t><strong>Rationale</strong>: Reference statements may be added or updated without affecting compatibility of existing implementations.</t>
          <t><strong>Example</strong>:</t>
          <t>Previous version, <em>2.3.0</em>:</t>
          <sourcecode type="yang"><![CDATA[
revision 2025-11-01 {
  ysv:version "2.3.0";
  description "Added 'foo' (42).";
}

typedef interface-type {
  type enumeration {
    ...
    enum foo {
      value 42;
      description "Foo interface type.";
      reference "RFC 1234";
    }
  }
}
]]></sourcecode>
          <t>New version (<em>2.3.1</em>) after the reference for 'foo' is updated to RFC 5678:</t>
          <sourcecode type="yang"><![CDATA[
revision 2025-11-15 {
  ysv:version "2.3.1";
  description "Updated reference for 'foo' (42).";
}
revision 2025-11-01 {
  ysv:version "2.3.0";
  description "Added 'foo' (42).";
}

typedef interface-type {
  type enumeration {
    ...
    enum foo {
      value 42;
      description "Foo interface type.";
      reference "RFC 5678 (obsoletes RFC 1234)";
    }
  }
}
]]></sourcecode>
        </section>
        <section anchor="scenario-3-deprecating-a-registry-entry">
          <name>Scenario 3: Deprecating a Registry Entry</name>
          <t><strong>Registry Action</strong>: A registry entry is marked as deprecated (name and description remain visible).</t>
          <t><strong>YANG Module Change</strong>: Change status from "current" to "deprecated".</t>
          <t><strong>Classification</strong>: Backwards-Compatible (BC)</t>
          <t><strong>Version Change</strong>: Increment MINOR version (e.g., 2.3.1 → 2.4.0)</t>
          <t><strong>NBC Extension Required</strong>: No</t>
          <t><strong>Rationale</strong>: Changing status to deprecated is backwards-compatible but the description must also be updated to highlight the difference in meaning between IANA registries and YANG modules.</t>
          <t><strong>Example</strong>:</t>
          <t>Previous version, <em>2.3.1</em>:</t>
          <sourcecode type="yang"><![CDATA[
revision 2025-11-15 {
  ysv:version "2.3.1";
  description "Updated reference 'foo' (42).";
}

typedef interface-type {
  type enumeration {
    ...
    enum oldtype {
      value 99;
      description "Old interface type";
    }
  }
}

]]></sourcecode>
          <t>New version (<em>2.4.0</em>) after deprecation:</t>
          <sourcecode type="yang"><![CDATA[
revision 2025-11-23 {
  ysv:version "2.4.0";
  description "Deprecated 'oldtype' (99).";
}
revision 2025-11-15 {
  ysv:version "2.3.1";
  description "Updated reference 'foo' (42).";
}

typedef interface-type {
  type enumeration {
    ...
    enum oldtype {
      value 99;
      status deprecated;
      description
        "Old interface type. This value is deprecated in the base IANA
        registry which means that its use is NOT RECOMMENDED.";
    }
  }
}
]]></sourcecode>
        </section>
        <section anchor="scenario-4-obsoleting-a-registry-entry">
          <name>Scenario 4: Obsoleting a Registry Entry</name>
          <t><strong>Registry Action</strong>: A registry entry is marked as obsolete.</t>
          <t><strong>YANG Module Change</strong>: Change status from "deprecated" (or "current") to "obsolete".</t>
          <t><strong>Classification</strong>: Non-Backwards-Compatible (NBC)</t>
          <t><strong>Version Change</strong>: Increment MAJOR version (e.g., 2.4.0 → 3.0.0)</t>
          <t><strong>NBC Extension Required</strong>: Yes</t>
          <t><strong>Rationale</strong>: Changing status to obsolete indicates the value must not be used, breaking compatibility.  Note, the description comment about deprecation can also be removed.</t>
          <t><strong>Example</strong>:</t>
          <t>Previous version (<em>2.4.0</em>):</t>
          <sourcecode type="yang"><![CDATA[
revision 2025-11-23 {
  ysv:version "2.4.0";
  description
    "Deprecated 'oldtype' (99).";
}

typedef interface-type {
  type enumeration {
    ...
    enum oldtype {
      value 99;
      status deprecated;
      description
        "Old interface type. This value is deprecated in the base IANA
        registry which means that its use is NOT RECOMMENDED.";
    }
  }
}
]]></sourcecode>
          <t>New version (<em>3.0.0</em>) after obsoletion:</t>
          <sourcecode type="yang"><![CDATA[
revision 2025-11-30 {
  ysv:version "3.0.0";
  rev:non-backwards-compatible;
  description
    "Obsoleted 'oldtype' (99).";
}
revision 2025-11-23 {
  ysv:version "2.4.0";
  description
    "Deprecated 'oldtype' (99).";
}

typedef interface-type {
  type enumeration {
    ...
    enum oldtype {
      value 99;
      status obsolete;
      description
        "Old interface type.";
    }
  }
}
]]></sourcecode>
        </section>
        <section anchor="scenario-5-removing-a-registry-entry-completely">
          <name>Scenario 5: Removing a Registry Entry Completely</name>
          <t><strong>Registry Action</strong>: A registry entry is removed with no trace.</t>
          <t><strong>YANG Module Change</strong>: Remove the enum or identity from the module.</t>
          <t><strong>Classification</strong>: Non-Backwards-Compatible (NBC)</t>
          <t><strong>Version Change</strong>: Increment MAJOR version (e.g., 2.2.0 → 3.0.0)</t>
          <t><strong>NBC Extension Required</strong>: Yes</t>
          <t><strong>Rationale</strong>: Removing a schema node is NBC per Section 3.1.2.1 of <xref target="I-D.ietf-netmod-yang-module-versioning"/>.</t>
          <t><strong>Example</strong>:</t>
          <t>Previous version (<em>2.2.0</em>):</t>
          <sourcecode type="yang"><![CDATA[
revision 2026-02-01 {
  ysv:version "2.2.0";
  description
    "Added 'legacy-wireless' identity.";
}

identity interface-type {
  description
    "Base identity for interface types.";
}

identity legacy-wireless {
  base interface-type;
  description
    "Legacy wireless interface.";
}
]]></sourcecode>
          <t>New version (<em>3.0.0</em>) after removal:</t>
          <sourcecode type="yang"><![CDATA[
revision 2026-03-15 {
  ysv:version "3.0.0";
  rev:non-backwards-compatible;
  description
    "Removed 'legacy-wireless' identity.";
}
revision 2026-02-01 {
  ysv:version "2.2.0";
  description
    "Added 'legacy-wireless' identity.";
}

identity interface-type {
  description "Base identity for interface types.";
}
]]></sourcecode>
        </section>
        <section anchor="scenario-6-renaming-a-registry-entry">
          <name>Scenario 6: Renaming a Registry Entry</name>
          <t><strong>Registry Action</strong>: The name of a registry entry is changed.</t>
          <t><strong>YANG Module Change</strong>: Change the enum or identity identifier.</t>
          <t><strong>Classification</strong>: Non-Backwards-Compatible (NBC)</t>
          <t><strong>Version Change</strong>: Increment MAJOR version (e.g., 3.1.0 → 4.0.0)</t>
          <t><strong>NBC Extension Required</strong>: Yes</t>
          <t><strong>Rationale</strong>: Renaming breaks programmatic references to the identifier.</t>
          <t><strong>Example</strong>:</t>
          <t>Previous version (<em>3.1.0</em>):</t>
          <sourcecode type="yang"><![CDATA[
revision 2026-04-01 {
  ysv:version "3.1.0";
  description "Added 'old-gre' identity.";
}

identity tunnel-type {
  description "Base identity for tunnel types.";
}

identity old-gre {
  base tunnel-type;
  description "GRE tunnel (legacy name).";
}
]]></sourcecode>
          <t>New version (<em>4.0.0</em>) after rename:</t>
          <sourcecode type="yang"><![CDATA[
revision 2026-05-01 {
  ysv:version "4.0.0";
  rev:non-backwards-compatible;
  description "Renamed 'old-gre' identity to 'gre'.";
}
revision 2026-04-01 {
  ysv:version "3.1.0";
  description "Added old-gre identity.";
}

identity tunnel-type {
  description "Base identity for tunnel types.";
}

identity gre {
  base tunnel-type;
  description "GRE tunnel.";
}
]]></sourcecode>
        </section>
        <section anchor="scenario-7-changing-a-value-number">
          <name>Scenario 7: Changing a Value Number</name>
          <t><strong>Registry Action</strong>: The numeric value assigned to a registry entry is changed.</t>
          <t><strong>YANG Module Change</strong>: Change the value assigned to an enum.</t>
          <t><strong>Classification</strong>: Non-Backwards-Compatible (NBC)</t>
          <t><strong>Version Change</strong>: Increment MAJOR version (e.g., 2.3.0 → 3.0.0)</t>
          <t><strong>NBC Extension Required</strong>: Yes</t>
          <t><strong>Rationale</strong>: Changing values breaks compatibility for implementations using those values.</t>
          <t><strong>Example</strong>:</t>
          <t>Previous version (<em>2.3.0</em>):</t>
          <sourcecode type="yang"><![CDATA[
revision 2026-01-10 {
  ysv:version "2.3.0";
  description "Added multiple identities.";
}

typedef interface-type {
  type enumeration {
    enum fastether {
      value 210;
      description "Fast Ethernet interface.";
    }
    enum atm {
      value 211;
      description "ATM interface.";
    }
  }
}
]]></sourcecode>
          <t>New version (<em>3.0.0</em>) after value change:</t>
          <sourcecode type="yang"><![CDATA[
revision 2026-02-20 {
  ysv:version "3.0.0";
  rev:non-backwards-compatible;
  description "Changed 'fastether' value to 215.";
}
revision 2026-01-10 {
  ysv:version "2.3.0";
  description "Added multiple identities.";
}

typedef interface-type {
  type enumeration {
    enum fastether {
      value 215;
      description "Fast Ethernet interface.";
    }
    enum atm {
      value 211;
      description "ATM interface.";
    }
  }
}
]]></sourcecode>
        </section>
        <section anchor="scenario-8-updating-description-clarification">
          <name>Scenario 8: Updating Description (Clarification)</name>
          <t><strong>Registry Action</strong>: Description is updated to clarify existing behavior without changing meaning.</t>
          <t><strong>YANG Module Change</strong>: Update the description statement.</t>
          <t><strong>Classification</strong>: Editorial</t>
          <t><strong>Version Change</strong>: Increment PATCH version (e.g., 2.1.3 → 2.1.4)</t>
          <t><strong>NBC Extension Required</strong>: No</t>
          <t><strong>Example</strong>:</t>
          <t>Previous version (<em>2.1.3</em>):</t>
          <sourcecode type="yang"><![CDATA[
revision 2026-02-05 {
  ysv:version "2.1.3";
  description "Clarified description for 'foo'.";
}

identity ethernet {
  base interface-type;
  description "Ethernet interface.";
}
]]></sourcecode>
          <t>New version (<em>2.1.4</em>) after clarification:</t>
          <sourcecode type="yang"><![CDATA[
revision 2026-02-12 {
  ysv:version "2.1.4";
  description "Clarified description for 'ethernet'.";
}
revision 2026-02-05 {
  ysv:version "2.1.3";
  description "Clarified description for 'foo'.";
}

identity ethernet {
  base interface-type;
  description
    "Ethernet interface, includes 10BASE-T, 100BASE-T, and
     1000BASE-T variants.";
}
]]></sourcecode>
        </section>
        <section anchor="scenario-9-updating-description-semantic-change">
          <name>Scenario 9: Updating Description (Semantic Change)</name>
          <t><strong>Registry Action</strong>: Description is updated in a way that changes the semantic meaning or behavior.</t>
          <t><strong>YANG Module Change</strong>: Update the description statement.</t>
          <t><strong>Classification</strong>: Non-Backwards-Compatible (NBC)</t>
          <t><strong>Version Change</strong>: Increment MAJOR version (e.g., 2.2.0 → 3.0.0)</t>
          <t><strong>NBC Extension Required</strong>: Yes</t>
          <t><strong>Example</strong>:</t>
          <t>Previous version (<em>2.2.0</em>):</t>
          <sourcecode type="yang"><![CDATA[
revision 2026-03-01 {
  ysv:version "2.2.0";
  description "Defined 'ip' identity.";
}

identity ip {
  base interface-type;
  description "Interface supports IPv4.";
}
]]></sourcecode>
          <t>New version (<em>3.0.0</em>) after semantic change:</t>
          <sourcecode type="yang"><![CDATA[
revision 2026-04-01 {
  ysv:version "3.0.0";
  rev:non-backwards-compatible;
  description "Changed description for 'ip' identity";
}
revision 2026-03-01 {
  ysv:version "2.2.0";
  description "Defined 'ip' identity.";
}

identity ip {
  base interface-type;
  description "Interface supports IPv4 and IPv6.";
}
]]></sourcecode>
        </section>
        <section anchor="scenario-10-handling-errata">
          <name>Scenario 10: Handling Errata</name>
          <t><strong>Registry Action</strong>: An errata report is filed for the registry or module.</t>
          <t><strong>YANG Module Change</strong>: Depends on the specific errata content.</t>
          <t><strong>Classification</strong>: Analyze the actual change, not the source (errata vs. new RFC does not determine classification).</t>
          <t><strong>Version Change</strong>: Follow the rules based on the actual change being made to the IANA registry entry.</t>
          <t><strong>NBC Extension Required</strong>: May be required depending on the change.</t>
          <t><strong>Examples</strong>:</t>
          <ul spacing="normal">
            <li>
              <t>Errata fixes typo in description → Editorial / PATCH</t>
            </li>
            <li>
              <t>Errata adds missing enum → BC / MINOR</t>
            </li>
            <li>
              <t>Errata corrects wrong value assignment → NBC / MAJOR</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The creation of this document was motivated by questions from IANA team members Amanda Baber and Sabrina Tanamal regarding the correct handling of YANG module versioning. This was followed by a productive in-person discussion at IETF 124 between members of the YANG versioning design team, the IANA team, NETMOD working group chairs, RFC Editor representatives, and the OPS Area Director.</t>
      <t>Participants in that meeting included: Amanda Baber, Jason Sterne, Joe Clarke, Kent Watsen, Lou Berger, Mahesh Jethanandani, Per Andersson, Reshad Rahman, Rob Wilton, and Sabrina Tanamal.</t>
      <t>Special thanks to Joe Clarke for his presentation on YANG versioning tooling at IETF 124, which informed the tooling guidance in <xref target="appendix-tooling"/>.</t>
      <t>The authors thank the RFC Editor and IANA teams for their collaboration in refining the operational procedures described in this document.</t>
      <t>The authors would like to thank those providing comments on the draft, including: Amanda Baber, Jason Sterne, Joe Clarke, Mahesh Jethanandani, Mohamed Boucadair, Reshad Rahman, Sabrina Tanamal, and Sandy Ginoza.</t>
      <t>The authors also thank the NETMOD working group for their extensive work on YANG versioning specifications that form the foundation of this guidance, including the module versioning framework, semantic versioning, and associated tooling.</t>
      <t>The initial substantive revision of this document used Claude Sonnet 4.5 to create prose and examples, which have been subsequently reviewed and refined by the YANG Versioning design team and the NETMOD working group.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
