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) |
---|---|---|---|---|
XML parser omits leading/trailing whitespace in string values |
Done |
10.0.9, 11.0.1, 9.0.9 |
||
Empty XML anydata nodes cannot be normalized |
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 |
||
XML/JSON YangInstanceIdentifier codecs mis-handle key values |
Done |
10.0.5, 11.0.0, 8.0.10, 9.0.7 |
||
Fail to process deviation of augmented node without feature support |
Done |
10.0.5, 11.0.0, 8.0.10, 9.0.7 |
||
yang-maven-plugin elicits deprecation warning with maven-3.9.1 |
Done |
10.0.7, 11.0.0, 9.0.8 |
||
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 |
||
XmlParserStream reports “Unhandled mount-aware schema” |
Done |
10.0.10, 11.0.1, 9.0.9 |
||
CME in AbstractNodeContainerModificationStrategy.checkChildPreconditions() |
Done |
10.0.10, 11.0.2, 9.0.9 |
||
Improve Maven/CodeGenerator plugin interaction |
Done |
11.0.0 |
||
Update YangDataStatement to use YangDataName |
Done |
11.0.0 |
||
Improve NamespaceBehaviour/NamespaceStorageNode interactions |
Done |
11.0.0 |
||
Do not subclass NamespaceBehaviour in NamespaceBehaviourWithListeners |
Done |
11.0.0 |
||
YangTextSchemaContextResolver needs to we aware of supported features |
Done |
10.0.5, 11.0.0 |
||
Add an immediate YangTextSchemaSource |
Done |
11.0.0 |
||
Revise ExtensibleObject API |
Done |
11.0.0 |
||
Improve DataContainerNode addressing |
Done |
11.0.0 |
||
Refactor DataSchemaContextNode |
Done |
11.0.0 |
||
Require full declarations during schema tree traversal |
Done |
11.0.0 |
||
Ensure statement visibility before notifying listeners |
Done |
11.0.0 |
||
Change UsesNode.getRefines() |
Done |
11.0.0 |
||
Make YangTextSchemaSource work on CharSource |
Done |
11.0.0 |
||
Integrate EffectiveAugmentationSchema into AugmentationSchemaNode/AugmentEffectiveStatement} |
Won’t Do |
11.0.0 |
||
Remove AugmentationIdentifier and AugmentationNode |
Done |
11.0.0 |
||
Seal XmlCodec interface to deal with XmlCodecFactory warnings |
Done |
10.0.10, 11.0.1, 9.0.9 |
||
Enrich YangParserTestUtils with String literal YANG methods |
Done |
10.0.9, 11.0.0, 9.0.9 |
||
Add file-backed YangToSourcesState storage |
Done |
11.0.0 |
||
Enable execution M2E in incremental builds |
Done |
11.0.0 |
||
Integrate rfc8528-data-api into yang-data-api |
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 |
||
Add DataSchemaContext.SimpleValue.type() |
Done |
11.0.1 |
||
Capture yang-maven configuration |
Done |
11.0.0 |
||
Capture yang-maven generated files |
Done |
11.0.0 |
||
Capture yang-maven input streams |
Done |
11.0.0 |
||
Disconnect StatementContextBundle from NamespaceBehaviour.Registry |
Done |
11.0.0 |
||
Remove NamespaceBehaviour.Registry |
Done |
11.0.0 |
||
Separate NamespaceBehaviour and NamespaceStorageNode |
Done |
11.0.0 |
||
NamespaceBehaviour should not be Identifiable |
Done |
11.0.0 |
||
Do not use SchemaContext.findModule(s) |
Done |
11.0.1 |
||
Integrate rfc7952-data-{api,util} into yang-data-{api,util} |
Done |
11.0.0 |
||
Do not allow writeout of pre-Magnesium binary formats |
Done |
11.0.0 |
||
Remove DerivedNamespaceBehaviour |
Done |
11.0.0 |
||
Refactor FeatureSet to yang-model-api |
Done |
11.0.0 |
||
Deprecate MixinNode |
Done |
11.0.0 |
||
Modernize DataTreeCandidateNode methods |
Done |
11.0.0 |
||
Migrate unit test YANG inputs |
Done |
11.0.0 |
||
Do not warn about unkeyed config=true lists by default |
Done |
11.0.0 |
||
Do not throw URISyntaxException from XmlParserStream.traverse() |
Done |
11.0.1 |
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 |
||
Improve InMemoryDataTreeModification state management |
Done |
11.0.3 |
||
Improve YangInstanceIdentifier serialization error reporting |
Done |
10.0.10, 11.0.3, 9.0.9 |
||
Enhance XML prefix assignment |
Done |
10.0.10, 11.0.3, 9.0.9 |
||
Validate ietf-restconf:yang-data substatements are unique |
Done |
10.0.10, 11.0.4, 12.0.0 |
||
Do not use Optional in yang-data-tree-ri operations |
Done |
11.0.4, 12.0.0 |
||
Expose SchemaInferenceStack.effectiveStatus() |
Done |
11.0.4, 12.0.0 |
Known Issues in SR1¶
The following table lists the known issues that exist in Service Release 1.