8 Oxgeyn release marks the eightth release of YANG Tools components. The focus
9 of this release was to clean up deprecated APIs and perform maintenance
10 which requires breaking API compatibility -- hence producing a 2.0.x release
13 Major items delivered are:
14 * Split up yang-parser-impl, allowing components to be plugged more cleanly
15 * Remove use of Guava's Optional in favor of Java 8's equivalent
16 * Define yang-parser-api
17 * Mandatory leaves are enforced by default
18 * RFC7951-compliant JSON codec
19 * Features have been split into stable and experimental
20 * Old XML parser has been removed
21 * YANG model revisions are represented via a dedicated class, not Date
22 * YANG type empty is represented as a dedicated class, not Void
27 * **Feature URL:** https://git.opendaylight.org/gerrit/gitweb?p=yangtools.git;a=blob_plain;f=features/odl-triemap/pom.xml;hb=refs/tags/v2.0.1
28 * **Feature Description:** to install concurrent-hash-trie-based Map implementation
31 * **Experimental:** No
32 * **CSIT Test:** System test waiver request pending.
37 * **Feature URL:** https://git.opendaylight.org/gerrit/gitweb?p=yangtools.git;a=blob_plain;f=features/odl-yangtools-common/pom.xml;hb=refs/tags/v2.0.1
38 * **Feature Description:** to install JSON and XML parsers
41 * **Experimental:** No
42 * **CSIT Test:** System test waiver request pending.
47 * **Feature URL:** https://git.opendaylight.org/gerrit/gitweb?p=yangtools.git;a=blob_plain;f=features/odl-yangtools-common/pom.xml;hb=refs/tags/v2.0.1
48 * **Feature Description:** to install common concepts and utilities.
51 * **Experimental:** No
52 * **CSIT Test:** System test waiver request pending.
54 odl-yangtools-data-api
55 ----------------------
57 * **Feature URL:** https://git.opendaylight.org/gerrit/gitweb?p=yangtools.git;a=blob_plain;f=features/odl-yangtools-data-api/pom.xml;hb=refs/tags/v2.0.1
58 * **Feature Description:** to install YANG Data APIs.
61 * **Experimental:** No
62 * **CSIT Test:** System test waiver request pending.
67 * **Feature URL:** https://git.opendaylight.org/gerrit/gitweb?p=yangtools.git;a=blob_plain;f=features/odl-yangtools-data/pom.xml;hb=refs/tags/v2.0.1
68 * **Feature Description:** to install YANG Data implementation.
71 * **Experimental:** No
72 * **CSIT Test:** System test waiver request pending.
77 * **Feature URL:** https://git.opendaylight.org/gerrit/gitweb?p=yangtools.git;a=blob_plain;f=features/odl-yangtools-export/pom.xml;hb=refs/tags/v2.0.1
78 * **Feature Description:** to install YANG model export utilities.
81 * **Experimental:** No
82 * **CSIT Test:** System test waiver request pending.
84 odl-yangtools-parser-api
85 ------------------------
87 * **Feature URL:** https://git.opendaylight.org/gerrit/gitweb?p=yangtools.git;a=blob_plain;f=features/odl-yangtools-parser-api/pom.xml;hb=refs/tags/v2.0.1
88 * **Feature Description:** to install YANG model APIs
91 * **Experimental:** No
92 * **CSIT Test:** System test waiver request pending.
97 * **Feature URL:** https://git.opendaylight.org/gerrit/gitweb?p=yangtools.git;a=blob_plain;f=features/odl-yangtools-parser/pom.xml;hb=refs/tags/v2.0.1
98 * **Feature Description:** to install YANG Parser
100 * **User Facing:** No
101 * **Experimental:** No
102 * **CSIT Test:** https://jenkins.opendaylight.org/releng/view/yangtools/job/yangtools-csit-1node-periodic-system-only-oxygen/
107 * **Feature URL:** https://git.opendaylight.org/gerrit/gitweb?p=yangtools.git;a=blob_plain;f=features/odl-yangtools-xpath/pom.xml;hb=refs/tags/v2.0.1
108 * **Feature Description:** to install XPath evaluation engine
110 * **User Facing:** No
111 * **Experimental:** No
112 * **CSIT Test:** System test waiver request pending.
117 * **Feature URL:** https://git.opendaylight.org/gerrit/gitweb?p=yangtools.git;a=blob_plain;f=features/odl-exp-objcache/pom.xml;hb=refs/tags/v2.0.1
118 * **Feature Description:** to install Object Cache APIs and implementation
120 * **User Facing:** No
121 * **Experimental:** Yes
122 * **CSIT Test:** System test waiver request pending.
126 * **Developer Guide(s):**
128 * :ref:`yangtools-developer-guide`
130 Security Considerations
131 =======================
133 * YANG Tools libraries are designed to be embedded and not to be a stand-alone
134 application so security concerns need to be addressed by the application
140 * `Link to Sonar Report <https://sonar.opendaylight.org/dashboard?id=org.opendaylight.yangtools%3Ayangtools-aggregator>`_
141 Test coverage 62.3%, which constitutes a drop by 12%. This is caused by the parser being more modular, hence tests which
142 previously accounted to code coverage are no longer counted. We will address this with targeted unit tests if following
145 <https://jenkins.opendaylight.org/releng/view/yangtools/job/yangtools-csit-1node-periodic-system-only-oxygen/>`_
150 * This release constitutes a major shift in all APIs exposed by yangtools. Code
151 users need to adjust their feature refences and adjust to changed method
152 signatures. Most users should not be impacted as they should be interacting
158 * Release is not compatible with the previous one. The APIs changed are too numerous to list here.
160 * No configuration changes.
163 * Mandatory leaf presence is enforced by default
164 * Pattern invert-match modifier is honored in both JSON and XML codecs
169 * List of fixed `Bugs <https://jira.opendaylight.org/issues/?jql=project%20%3D%20YANGTOOLS%20AND%20fixVersion%20%3D%202.0.0%20OR%20fixVersion%20%3D%202.0.1>`
174 * List of open `Bugs <https://jira.opendaylight.org/issues/?jql=project%20%3D%20YANGTOOLS%20AND%20affectedVersion%20%3D%202.0.1?`
179 * odl-exp-objcache is marked as experimental and will be removed in the next
180 major (3.0.0) release.
182 * This release contains deprecated API elements in all code artifacts. These
183 will be removed in the next major (3.0.0) release.
185 * All API elements are expected to remain compatible for at least the duration
186 of Fluorine release cycle.
191 * YANG and YIN parser processing according to
192 `RFC 6020 <https://tools.ietf.org/html/rfc6020>`_,
193 `RFC 6536 <https://tools.ietf.org/html/rfc6536>`_,
194 `RFC 7950 <https://tools.ietf.org/html/rfc7950>`_,
195 `RFC 7952 <https://tools.ietf.org/html/rfc7950>`_ and
196 `RFC 8040 <https://tools.ietf.org/html/rfc8040>`_
197 * XML parser for YANG-modeled data according to
198 `RFC 6020 <https://tools.ietf.org/html/rfc6020>`_ and
199 `RFC 7950 <https://tools.ietf.org/html/rfc7950>`_.
200 * JSON parser for YANG-modeled data according to
201 `RFC 7951 <https://tools.ietf.org/html/rfc7951>`_
206 * `Link to the release plan <https://wiki.opendaylight.org/view/Simultaneous_Release:Oxygen_Release_Plan>`_