Update MRI project release notes
[docs.git] / docs / release-notes / projects / yangtools.rst
1 ==========
2 YANG Tools
3 ==========
4
5 Overview
6 ========
7
8 YANG Tools provides a set of libraries to deal with YANG models and data modeled using them.
9
10 Behavior/Feature Changes
11 ========================
12 YANG parser's memory efficiency has been improved by about 5x on service-provider-grade device
13 models. This comes at the cost of removal of ``SchemaNode.getPath()`` method. The returned
14 ``SchemaPath`` did not correctly provide statement identification anyway, so was of quite limited
15 use in general schema navigation. Users relying on it for lookups need to update their algorithm
16 to explicitly track schema tree navigation -- using utilities like ``SchemaInferenceStack``,
17 ``EffectiveStatementInference``, ``DataSchemaContextTree``.
18
19 The type mapping of ``type decimal64`` has been changed to a dedicated ``Decimal64`` class, similar
20 to ``uint8`` and other built-in YANG types.
21
22 YANG parser will now validate the argument to ``unique`` statement against its surroundings.
23 This specifically means that if a ``unique`` statement contains schema node identifiers that do
24 not resolve to valid statements, the module will be rejected with a SourceException.
25
26 YANG parser will now rejects attempts to import-with-revision a YANG-1.1 module into a YANG-1
27 module, as per RFC7950 guidelines.
28
29 New Features
30 ============
31 No new features.
32
33 Deprecated Features
34 ===================
35 Code generation plugin APIs for ``yang-maven-plugin`` contained in the ``yang-maven-plugin-spi``
36 artifact are deprecated and will be removed in the next major release. Their replacement live
37 in maven-agnostic ``plugin-generator-api``.
38
39 The ``SchemaPath`` class has been deprecated and will be removed in the next major release. Please
40 use its correct replacements, ``SchemaNodeIdentifier`` and ``EffectiveStatementInference``, which
41 provide more powerful capabilities.
42
43 The ``CheckedBuilder`` and ``Builder`` concepts have been deprecated and will be removed in the next
44 major release. Use of these interfaces makes life difficult when reasoning about callers of a
45 particular ``build()`` method.
46
47 The ``IllegalArgumentCodec`` concept has been deprecated and will be removed in the next major release.
48 Its semantics are quite confusing and it turned out to be hiding more problems than solving. Users
49 are advised to define their replacements with semantics appropriate to their use case.
50
51 Resolved Issues
52 ===============
53 The following table lists the issues resolved in this release.
54
55 .. jira_fixed_issues::
56    :project: YANGTOOLS
57    :versions: 7.0.0-7.0.9
58
59 Known Issues
60 ============
61 The following table lists the known issues that exist in this release.
62
63 .. jira_known_issues::
64    :project: YANGTOOLS
65    :versions: 7.0.0-7.0.9