YANG Tools¶
Overview¶
YANG Tools provides a set of libraries to deal with YANG models and data modeled using them.
Behavior/Feature Changes¶
The mapping of YANG augmentations in yang-data-api
has changed. Where previously these have
been supported by AugmetationNode
and addressable via AugmentationIdentifier
, any augmented
nodes are now direct children of their data tree
parent nodes.
YangTextSchemaSource
is now a CharSource
rather than a ByteSource
. This eliminates ambiguity
and assumptions made on the text encoding character set, pushing the responsibility down to users
introducing schema sources into the system.
New Features¶
yang-maven-plugin
now executes during incremental builds and does its best to not overwrite
unchanged outputs.
Removed Features¶
AugmentationNode
and AugmentationIdentifer
constructs have been removed.
Deprecated Features¶
No deprecated features.
Resolved Issues¶
The following table lists the issues resolved in this release.
Type |
Key |
Summary |
Resolution |
Fix Version(s) |
---|---|---|---|---|
ChoiceNodeContextNode’s handling of case augmentations |
Duplicate |
11.0.0 |
||
Failed to process YANGs containing refine of a if-feature’d target |
Done |
10.0.8, 11.0.0, 9.0.9 |
||
yang-maven-plugin elicits deprecation warning with maven-3.9.1 |
Done |
10.0.7, 11.0.0, 9.0.8 |
||
XML/JSON YangInstanceIdentifier codecs mis-handle key values |
Done |
10.0.5, 11.0.0, 8.0.10, 9.0.7 |
||
CME in AbstractNodeContainerModificationStrategy.checkChildPreconditions() |
Done |
10.0.10, 11.0.2, 9.0.9 |
||
XML parser omits leading/trailing whitespace in string values |
Done |
10.0.9, 11.0.1, 9.0.9 |
||
XmlParserStream reports “Unhandled mount-aware schema” |
Done |
10.0.10, 11.0.1, 9.0.9 |
||
Fail to process deviation of augmented node without feature support |
Done |
10.0.5, 11.0.0, 8.0.10, 9.0.7 |
||
Fail to process deviation/augmentation from multiple modules |
Done |
10.0.5, 11.0.0, 8.0.10, 9.0.7 |
||
Empty XML anydata nodes cannot be normalized |
Done |
10.0.5, 11.0.0, 8.0.10, 9.0.7 |
||
Improve Maven/CodeGenerator plugin interaction |
Done |
11.0.0 |
||
Refactor DataSchemaContextNode |
Done |
11.0.0 |
||
Integrate EffectiveAugmentationSchema into AugmentationSchemaNode/AugmentEffectiveStatement} |
Won’t Do |
11.0.0 |
||
Change UsesNode.getRefines() |
Done |
11.0.0 |
||
Ensure statement visibility before notifying listeners |
Done |
11.0.0 |
||
Require full declarations during schema tree traversal |
Done |
11.0.0 |
||
Improve DataContainerNode addressing |
Done |
11.0.0 |
||
Capture AnnotationName |
Done |
11.0.0 |
||
Revise ExtensibleObject API |
Done |
11.0.0 |
||
Make YangTextSchemaSource work on CharSource |
Done |
11.0.0 |
||
Add an immediate YangTextSchemaSource |
Done |
11.0.0 |
||
Improve NamespaceBehaviour/NamespaceStorageNode interactions |
Done |
11.0.0 |
||
YangTextSchemaContextResolver needs to we aware of supported features |
Done |
10.0.5, 11.0.0 |
||
Seal XmlCodec interface to deal with XmlCodecFactory warnings |
Done |
10.0.10, 11.0.1, 9.0.9 |
||
Update YangDataStatement to use YangDataName |
Done |
11.0.0 |
||
Do not subclass NamespaceBehaviour in NamespaceBehaviourWithListeners |
Done |
11.0.0 |
||
Remove AugmentationIdentifier and AugmentationNode |
Done |
11.0.0 |
||
Add file-backed YangToSourcesState storage |
Done |
11.0.0 |
||
Add data.api.schema.NormalizedYangData |
Done |
11.0.0 |
||
Expose YangInstanceIdentifier codec from codec factories |
Done |
10.0.10, 11.0.2, 9.0.9 |
||
Enrich YangParserTestUtils with String literal YANG methods |
Done |
10.0.9, 11.0.0, 9.0.9 |
||
Integrate rfc8528-data-api into yang-data-api |
Done |
11.0.0 |
||
Enable execution M2E in incremental builds |
Done |
11.0.0 |
||
NamespaceBehaviour should not be Identifiable |
Done |
11.0.0 |
||
Separate NamespaceBehaviour and NamespaceStorageNode |
Done |
11.0.0 |
||
Remove NamespaceBehaviour.Registry |
Done |
11.0.0 |
||
Disconnect StatementContextBundle from NamespaceBehaviour.Registry |
Done |
11.0.0 |
||
Capture yang-maven configuration |
Done |
11.0.0 |
||
Add DataSchemaContext.SimpleValue.type() |
Done |
11.0.1 |
||
Do not use SchemaContext.findModule(s) |
Done |
11.0.1 |
||
Capture yang-maven generated files |
Done |
11.0.0 |
||
Capture yang-maven input streams |
Done |
11.0.0 |
||
Do not warn about unkeyed config=true lists by default |
Done |
11.0.0 |
||
Modernize DataTreeCandidateNode methods |
Done |
11.0.0 |
||
Deprecate MixinNode |
Done |
11.0.0 |
||
Migrate unit test YANG inputs |
Done |
11.0.0 |
||
Refactor FeatureSet to yang-model-api |
Done |
11.0.0 |
||
Remove DerivedNamespaceBehaviour |
Done |
11.0.0 |
||
Do not allow writeout of pre-Magnesium binary formats |
Done |
11.0.0 |
||
Integrate rfc7952-data-{api,util} into yang-data-{api,util} |
Done |
11.0.0 |
Known Issues¶
The following table lists the known issues that exist in this release.
Type |
Key |
Summary |
Status |
Affected Version(s) |
Fix Version(s) |
---|---|---|---|---|---|
XmlStringInstanceIdentifierCodec is using JSON encoding for writeValue() |
Resolved |
10.0.9, 11.0.2, 8.0.10, 9.0.8 |
10.0.10, 11.0.3, 9.0.9 |
||
Fail to parse YANG module with a node with if-feature augmented within grouping |
Resolved |
10.0.9, 11.0.0, 9.0.8 |
10.0.11, 11.0.4, 12.0.0, 9.0.9 |
Resolved Issues in SR1¶
The following table lists the issues resolved in Service Release 1.
Type |
Key |
Summary |
Resolution |
Fix Version(s) |
---|---|---|---|---|
XmlStringInstanceIdentifierCodec is using JSON encoding for writeValue() |
Done |
10.0.10, 11.0.3, 9.0.9 |
||
Fail to parse YANG module with a node with if-feature augmented within grouping |
Done |
10.0.11, 11.0.4, 12.0.0, 9.0.9 |
||
Expose SchemaInferenceStack.effectiveStatus() |
Done |
11.0.4, 12.0.0 |
||
Enhance XML prefix assignment |
Done |
10.0.10, 11.0.3, 9.0.9 |
||
Improve YangInstanceIdentifier serialization error reporting |
Done |
10.0.10, 11.0.3, 9.0.9 |
||
Improve InMemoryDataTreeModification state management |
Done |
11.0.3 |
||
Do not use Optional in yang-data-tree-ri operations |
Done |
11.0.4, 12.0.0 |
||
Validate ietf-restconf:yang-data substatements are unique |
Done |
10.0.10, 11.0.4, 12.0.0 |
Known Issues in SR1¶
The following table lists the known issues that exist in Service Release 1.
Resolved Issues in SR2¶
The following table lists the issues resolved in Service Release 2.
Type |
Key |
Summary |
Resolution |
Fix Version(s) |
---|---|---|---|---|
Improve ImmutableOffsetMapTemplate error reporting |
Done |
10.0.13, 11.0.5, 12.0.0 |
||
Deprecate SchemaContextListener |
Done |
11.0.5 |
Known Issues in SR2¶
The following table lists the known issues that exist in Service Release 2.
Type |
Key |
Summary |
Status |
Affected Version(s) |
Fix Version(s) |
---|---|---|---|---|---|
Unstable NodeWithValue.toString() |
Resolved |
10.0.12, 11.0.5, 12.0.0, 13.0.0, 9.0.10 |
11.0.6, 13.0.1 |