Move release notes out of getting started guide
[docs.git] / docs / release-notes / projects / yangtools.rst
1 ==========
2 YANG Tools
3 ==========
4
5 Major Features
6 ==============
7
8 Nitrogen release marks the seventh release of YANG Tools components. We have
9 fixed lot of issues ranging from small annoyances to major reworks.
10
11 Major changes delivered in this release are
12
13 * Migration to new XML Parser
14   `Bug 5824 <https://bugs.opendaylight.org/show_bug.cgi?id=5824>`_
15   `Bug 5825 <https://bugs.opendaylight.org/show_bug.cgi?id=5825>`_
16 * Fix of new XML parser design flaws
17   `Bug 8675 <https://bugs.opendaylight.org/show_bug.cgi?id=8675>`_
18   `Bug 8715 <https://bugs.opendaylight.org/show_bug.cgi?id=8715>`_
19   `Bug 8745 <https://bugs.opendaylight.org/show_bug.cgi?id=8745>`_.
20 * InMemoryDataTree can be configured to perform full mandatory leaf
21   validation
22   `Bug 8291 <https://bugs.opendaylight.org/show_bug.cgi?id=8291>`_
23 * Deviation statements are properly activated
24   `Bug 8307 <https://bugs.opendaylight.org/show_bug.cgi?id=8307>`_
25 * TrieMap implementation
26   `Bug 7464 <https://bugs.opendaylight.org/show_bug.cgi?id=7464>`_
27 * Improvements, bug fixing and clean up yang-model-export, yang-parser-impl,
28   yang-model-api, yang-data-impl, yang-data-api
29
30
31 odl-yangtools-yang-data
32 -----------------------
33
34 * **Feature URL:** https://git.opendaylight.org/gerrit/gitweb?p=yangtools.git;a=blob_plain;f=features/odl-yangtools-yang-data/pom.xml;hb=refs/heads/v1.2.x
35 * **Feature Description:** to install YANG Data APIs and implementation.
36 * **Top Level:** Yes
37 * **User Facing:** No
38 * **Experimental:** Yes
39 * **CSIT Test:** System test waiver request pending.
40
41 odl-yangtools-common
42 --------------------
43
44 * **Feature URL:** https://git.opendaylight.org/gerrit/gitweb?p=yangtools.git;a=blob;f=features/odl-yangtools-common/pom.xml;hb=refs/heads/v1.2.x
45 * **Feature Description:** to install common concepts and utilities.
46 * **Top Level:** Yes
47 * **User Facing:** No
48 * **Experimental:** Yes
49 * **CSIT Test:** System test waiver request pending.
50
51 odl-yangtools-yang-parser
52 -------------------------
53
54 * **Feature URL:** https://git.opendaylight.org/gerrit/gitweb?p=yangtools.git;a=blob;f=features/odl-yangtools-yang-parser/pom.xml;hb=refs/heads/v1.2.x
55 * **Feature Description:** to install YANG model APIs and YANG Parser
56 * **Top Level:** Yes
57 * **User Facing:** No
58 * **Experimental:** No
59 * **CSIT Test:** https://jenkins.opendaylight.org/releng/view/yangtools/job/yangtools-csit-1node-periodic-system-only-nitrogen/
60
61 Documentation
62 =============
63 * **Developer Guide(s):**
64
65   * :ref:`yangtools-developer-guide`
66
67 Security Considerations
68 =======================
69
70 * YANG Tools libraries are designed to be embedded and not to be a stand-alone
71   application so security concerns need to be addressed by the application
72   using this library.
73
74 Quality Assurance
75 =================
76
77 * `Link to Sonar Report <https://sonar.opendaylight.org/overview?id=13079>`_
78   (Test coverage 75.4%)
79 * `Link to CSIT Jobs
80   <https://jenkins.opendaylight.org/releng/view/yangtools/job/yangtools-csit-1node-periodic-system-only-nitrogen/>`_
81
82 Migration
83 ---------
84
85 * It is possible to migrate from the previous release. Aside from adjusting to
86   the removal of deprecated API elements and changed elements, there are no
87   additional steps needed for migration to this release.
88
89 Compatibility
90 -------------
91
92 * Release is compatible with the previous one.
93 * API changes:
94
95   * `XmlParserStream.traverse (DOMSource)
96     <https://git.opendaylight.org/gerrit/#/c/60864/5>`_
97   * `Added UnrecognizedStatement and refactoring of StmtContextUtils
98     <https://git.opendaylight.org/gerrit/#/c/61571/>`_
99   * `Moving of SubstatementValidator into spi.meta package
100     <https://git.opendaylight.org/gerrit/#/c/61570/>`_
101   * EffectiveSchemaContext was moved, users are advised to use
102     SimpleSchemaContext
103   * org.opendaylight.yangtools.yang.parser.spi package was adjusted
104
105 * No configuration changes.
106
107 * Behavior changes:
108   * concepts.Registration does not allow nulls
109   * SemVer and the associated Semantic Version is now bound to OpenConfig
110   * YANG/YIN parser is less forgiving in face of ambiguous constructs
111     (like 'mandatory ture' or 'status foobar')
112
113 Bugs Fixed
114 ----------
115
116 * List of fixed `Bugs
117   <https://bugs.opendaylight.org/buglist.cgi?bug_severity=blocker&bug_severity=critical&bug_severity=major&bug_severity=normal&bug_severity=minor&bug_severity=trivial&bug_severity=enhancement&columnlist=product%2Ccomponent%2Cassigned_to%2Cbug_severity%2Ccf_issue_type%2Cshort_desc%2Cbug_status%2Cpriority%2Cdeadline%2Ccf_target_milestone&component=General&f1=cf_target_milestone&known_name=Nitrogen%3A%20Yangtools&list_id=78630&o1=substring&order=bug_id&product=yangtools&query_based_on=Nitrogen%3A%20Yangtools&query_format=advanced&resolution=FIXED&v1=Nitrogen>`_.
118
119 Known Issues
120 ------------
121
122 * `Link to Open Bugs
123   <https://bugs.opendaylight.org/buglist.cgi?bug_severity=blocker&bug_severity=critical&bug_severity=major&bug_severity=normal&bug_severity=minor&bug_severity=trivial&bug_severity=enhancement&columnlist=product%2Ccomponent%2Cassigned_to%2Cbug_severity%2Ccf_issue_type%2Cshort_desc%2Cbug_status%2Cpriority%2Cdeadline%2Ccf_target_milestone&component=General&f1=cf_target_milestone&known_name=Nitrogen%3A%20Yangtools&list_id=78805&o1=substring&product=yangtools&query_based_on=Nitrogen%3A%20Yangtools&query_format=advanced&resolution=---&v1=Nitrogen>`_
124
125 End-of-life
126 ===========
127
128 * This release has not introduced any new deprecation of a major feature
129   or API. However, there are some minor deprecations such as:
130
131   * Yang-data-impl XML codec has been deprecated
132     `<https://git.opendaylight.org/gerrit/#/c/60558/>`_
133   * YangParseException has been deprecated
134     `<https://git.opendaylight.org/gerrit/#/c/58751/>`_
135
136 * Major development is shifting to 2.0.0 version, which is guaranteed to be
137   API incompatible. Users are advised to eliminate any reliance on @Deprecated
138   components as soon as possible after adopting this release.
139   Furthermore, the use of CheckedFuture will be eliminated, hence users should
140   reduce their reliance on this class.
141   Next release will also move Optional, Function, Predicate and others
142   from Guava to their java.util equivalents.
143
144 Standards
145 =========
146
147 * YANG and YIN parser processing according to
148   `RFC 6020 <https://tools.ietf.org/html/rfc6020>`_,
149   `RFC 7950 <https://tools.ietf.org/html/rfc7950>`_ and
150   `RFC 8040 <https://tools.ietf.org/html/rfc8040>`_
151 * XML parser for YANG-modeled data according to
152   `RFC 6020 <https://tools.ietf.org/html/rfc6020>`_ and
153   `RFC 7950 <https://tools.ietf.org/html/rfc7950>`_.
154 * JSON parser for YANG-modeled data according to
155   `RFC 7951 <https://tools.ietf.org/html/rfc7951>`_
156
157 Release Mechanics
158 =================
159
160 * `Link to the release plan <https://wiki.opendaylight.org/view/Simultaneous_Release:Nitrogen_Release_Plan>`_