Update NEWS for 8.1.0
[odlparent.git] / docs / NEWS.rst
1 ========================
2 ODL Parent release notes
3 ========================
4
5 Version 8.1.0
6 -------------
7 This is a minor upgrade from version 8.1.0, with some potentially-breaking
8 changes.
9
10 The most prominent is the upgrade to Karaf 4.3.0, which brings in a host of
11 updates to related components -- including OSGi Release 7 and Jackson 2.11.x.
12
13 Feature updates
14 ~~~~~~~~~~~~~~~
15 * The ``odl-jackson-2.10`` feature and artifact were renamed to ``odl-jackson-2.11``
16   to reflect the bump in Jackson version.
17
18 Third-party dependencies
19 ~~~~~~~~~~~~~~~~~~~~~~~~
20 * Bouncy Castle `1.66 → 1.68 <https://www.bouncycastle.org/releasenotes.html>`__
21
22 * Checkstyle 8.36.1 → 8.39.0, release notes:
23   * `8.36.2 <https://checkstyle.org/releasenotes.html#Release_8.36.2>`__
24   * `8.37.0 <https://checkstyle.org/releasenotes.html#Release_8.37.0>`__
25   * `8.38.0 <https://checkstyle.org/releasenotes.html#Release_8.38.0>`__
26   * `8.39.0 <https://checkstyle.org/releasenotes.html#Release_8.39.0>`__
27
28 * commons-net 3.7 → 3.7.2, release notes:
29   * `3.7.1 <https://commons.apache.org/proper/commons-net/changes-report.html#a3.7.1>`__
30   * `3.7.2 <https://commons.apache.org/proper/commons-net/changes-report.html#a3.7.2>`__
31
32 * enunciate `2.13.1 → 2.13.2 <https://github.com/stoicflame/enunciate/releases/tag/v2.13.2>`__
33
34 * Jackson 2.10.5 → 2.11.4, release notes:
35   * `2.11.0 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.11>`__
36   * `2.11.1 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.11.1>`__
37   * `2.11.2 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.11.2>`__
38   * `2.11.3 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.11.3>`__
39   * `2.11.4 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.11.4>`__
40
41 * Karaf `4.2.10 → 4.3.0 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12343304>`__
42
43 * Netty 4.1.53 → 4.1.58, release notes:
44   * `4.1.54 <https://netty.io/news/2020/11/11/4-1-54-Final.html>`__
45   * `4.1.55 <https://netty.io/news/2020/12/08/4-1-55-Final.html>`__
46   * `4.1.56 <https://netty.io/news/2020/12/17/4-1-56-Final.html>`__
47   * `4.1.57 <https://netty.io/news/2021/01/12/4-1-57-Final.html>`__
48   * `4.1.58 <https://netty.io/news/2021/01/13/4-1-58-Final.html>`__
49
50 * Google Truth `1.0.1 → 1.1 <https://github.com/google/truth/releases/tag/release_1_1>`__
51
52 * Powermock 2.0.7 → 2.0.9, release notes:
53   * `2.0.8 <https://github.com/powermock/powermock/blob/release/2.x/docs/release-notes/official.md#208>`__
54   * `2.0.9 <https://github.com/powermock/powermock/blob/release/2.x/docs/release-notes/official.md#209>`__
55
56 * Sevntu `1.37.1 → 1.38.0 <https://sevntu-checkstyle.github.io/sevntu.checkstyle/#1.37.0>`__
57
58 * XBean finder `4.17 → 4.18 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310312&version=12348171>`__
59
60 * xmlunit 2.7.0 → 2.8.2, release notes:
61   * `2.8.0 <https://github.com/xmlunit/xmlunit/releases/tag/v2.8.0>`__
62   * `2.8.1 <https://github.com/xmlunit/xmlunit/releases/tag/v2.8.1>`__
63   * `2.8.2 <https://github.com/xmlunit/xmlunit/releases/tag/v2.8.2>`__
64
65 * Xtend `2.23.0 → 2.24.0 <https://www.eclipse.org/xtend/releasenotes.html#/releasenotes/2020/12/01/version-2-24-0>`__
66
67 Plugin upgrades
68 ~~~~~~~~~~~~~~~
69 * build-helper-maven-plugin `3.1.0 → 3.2.0 <https://github.com/mojohaus/build-helper-maven-plugin/issues?q=is%3Aissue+milestone%3A3.1.0+is%3Aclosed>`__
70
71 * duplicate-finder-maven-plugin `1.4.0 → 1.5.0 <https://github.com/basepom/duplicate-finder-maven-plugin/releases/tag/duplicate-finder-maven-plugin-1.5.0>`__
72
73 * exec-maven-plugin `1.6.0 → 3.0.0 <https://github.com/mojohaus/exec-maven-plugin/releases/tag/exec-maven-plugin-3.0.0>`__
74
75 * maven-pmd-plugin `3.13.0 → 3.14.0 <https://www.mail-archive.com/announce@maven.apache.org/msg00978.html>`__
76
77 * maven-resource-plugin `3.9.0 → 3.9.1 <https://www.mail-archive.com/announce@maven.apache.org/msg00972.html>`__
78
79 * maven-site-plugin `3.9.0 → 3.9.1 <https://www.mail-archive.com/announce@maven.apache.org/msg00966.html>`__
80
81 * versions-maven-plugin `2.7 → 2.8.1 <https://github.com/mojohaus/versions-maven-plugin/releases/tag/versions-maven-plugin-2.8.1>`__
82
83
84 Version 8.0.1
85 -------------
86 This is a minor big-fix/enhancement update from verision 8.0.0.
87
88 Improvements
89 ~~~~~~~~~~~~
90 * ``javax.inject`` is now provided by the artifact from `GuicedEE <https://guicedee.com/>`__.
91   This improves things a lot, as it is a proper jar (not MANIFEST.MF warning), it also is
92   a JPMS module, hence can be used for linkage. This dependency is properly ``scope=provided``,
93   so it should not leak into runtimes where it should not be.
94   See `ODLPARENT-247 <https://jira.opendaylight.org/browse/ODLPARENT-247>`__ for details.
95
96 * Transitive dependencies of Guava are now mostly filtered from runtime, so that we do not
97   require ``wrap`` for them. We still retain checker-qual, as we are actively using those
98   and it is a proper bundle.
99   See `ODLPARENT-248 <https://jira.opendaylight.org/browse/ODLPARENT-248>`__ for details.
100
101 Third-party dependencies
102 ~~~~~~~~~~~~~~~~~~~~~~~~
103 * Jackson `2.10.4 → 2.10.5 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.10.5>`__
104
105 * JaCoCo `0.8.5 → 0.8.6 <https://github.com/jacoco/jacoco/releases/tag/v0.8.6>`__
106
107 * JUnit `4.13.0 → 4.13.1 <https://github.com/junit-team/junit4/blob/HEAD/doc/ReleaseNotes4.13.1.md>`__
108
109 * Karaf `4.2.9 → 4.2.10 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12348288>`__
110
111 * Netty `4.1.52 → 4.1.53 <https://netty.io/news/2020/10/13/4-1-53-Final.html>`__
112
113 * Pax-Exam `4.13.3 → 4.13.4 <https://ops4j1.jira.com/secure/ReleaseNote.jspa?projectId=10170&version=24393>`__
114
115 * Woodstox 6.2.1 → 6.2.3, fixed issues:
116   * `6.2.2 <https://github.com/FasterXML/woodstox/issues/112>`__
117   * `6.2.3 <https://github.com/FasterXML/woodstox/issues/117>`__
118
119
120 Version 8.0.0
121 -------------
122 This is a major upgrade from version 7, with breaking changes; downstream projects may need to make changes to upgrade
123 to this version.
124
125 Improvements
126 ~~~~~~~~~~~~
127 * ``modernizer-maven-plugin`` configuration has been updated to issue warnings for constructs
128   improved in all Java versions up to and including Java 11.
129
130 * ``modernizer-maven-plugin`` is configured by default to fail the build when it issues any
131   warnings. This behavior can be opted-out of on a per-artifact basis by defining
132   ``odlparent.modernizer.enforce`` property to ``false``.
133
134 Upstream version removals
135 ~~~~~~~~~~~~~~~~~~~~~~~~~
136 The following upstream dependencies have been removed from dependency management:
137
138 * ``javax.json``. This dependency is used only in Neutron project, hence this version is best
139   maintained there. See `ODLPARENT-238 <https://jira.opendaylight.org/browse/ODLPARENT-238>`__
140   for details.
141
142 * All ``org.eclipse.persistence`` artifacts. These dependencies are only used in Neutron,
143   which actually duplicates the declarations, hence they are best maintained there.
144   See `ODLPARENT-237 <https://jira.opendaylight.org/browse/ODLPARENT-237>`__ for details.
145
146 * All ``org.apache.sshd`` and ``net.i2p.crypto`` artifacts. Overriding versions does not play
147   nice with Karaf's versions during ``feature:install``, causing issues when the installing
148   over an SSH connection. NETCONF project is providing a repackaged version in OpenDaylight
149   namespace. See `ODLPARENT-233 <https://jira.opendaylight.org/browse/ODLPARENT-233>`__ for
150   details.
151
152 * ``jettison``. This dependency is used only in LISP Flow Mapping project for integration
153   tests, hence this version is best maintained there.
154   See `ODLPARENT-239 <https://jira.opendaylight.org/browse/ODLPARENT-239>`__ for details.
155
156 * All ``com.typesafe``, ``io.aeron``, ``org.agrona``, ``org.scala-lang`` declarations. Akka is
157   removing their support for OSGi, with no working releases in their current ``2.6.x.`` branch.
158   Since dealing with these requires quite a bit of dance, which needs to sit outside of odlparent POM,
159   the controller project will package Akka to the extent it needs.
160   See `ODLPARENT-243 <https://jira.opendaylight.org/browse/ODLPARENT-243>`__ for details.
161
162 * ``org.apache.felix.dependencymanager`` and ``org.apache.felix.dependencymanager.shell``. These
163   components are ancient, having been replaced by either Blueprint or Declarative Services. The only
164   project using these is AAA, hence it is best to maintain these declarations there.
165
166 Feature removals
167 ~~~~~~~~~~~~~~~~
168 * ``odl-apache-sshd`` feature has been removed, mirroring the removal of related dependency
169   declarations. See `ODLPARENT-233 <https://jira.opendaylight.org/browse/ODLPARENT-233>`__ for details.
170
171 * ``odl-akka-all``, ``odl-akka-scala-2.13``, ``odl-akka-system-2.5``, ``odl-akka-clustering-2.5``
172   and ``odl-akka-persistence-2.5`` features. mirroring the removal of related dependency declarations.
173   See `ODLPARENT-243 <https://jira.opendaylight.org/browse/ODLPARENT-243>`__ for details.
174
175 Third-party dependencies
176 ~~~~~~~~~~~~~~~~~~~~~~~~
177 * awaitility `3.0.0 → 4.0.3 <https://github.com/awaitility/awaitility/wiki/ReleaseNotes40>`__
178
179 * checkstyle 8.34 → 8.36.1, release notes:
180   * `8.35 <https://checkstyle.org/releasenotes.html#Release_8.35>`__
181   * `8.36 <https://checkstyle.org/releasenotes.html#Release_8.36>`__
182   * `8.36.1 <https://checkstyle.org/releasenotes.html#Release_8.36.1>`__
183
184 * commons-codec `1.14 → 1.15 <https://commons.apache.org/proper/commons-codec/changes-report.html#a1.15>`__
185
186 * commons-io `2.7 → 2.8.0 <https://commons.apache.org/proper/commons-io/changes-report.html#a2.8.0>`__
187
188 * commons-net `3.6 → 3.7 <https://commons.apache.org/proper/commons-net/changes-report.html#a3.7>`__
189
190 * dropwizard-metrics 4.1.9 → 4.1.12.1, release notes:
191   * `4.1.10 <https://github.com/dropwizard/metrics/releases/tag/v4.1.10>`__
192   * `4.1.10.1 <https://github.com/dropwizard/metrics/releases/tag/v4.1.10.1>`__
193   * `4.1.11 <https://github.com/dropwizard/metrics/releases/tag/v4.1.11>`__
194   * `4.1.12 <https://github.com/dropwizard/metrics/releases/tag/v4.1.12>`__
195   * `4.1.12.1 <https://github.com/dropwizard/metrics/releases/tag/v4.1.12.1>`__
196
197 * Guava `28.2 → 29.0 <https://github.com/google/guava/releases/tag/v29.0>`__
198
199 * immutables.org → 2.8.8, release notes:
200   * `2.8.0 <https://github.com/immutables/immutables/releases/tag/2.8.0>`__
201   * `2.8.1 <https://github.com/immutables/immutables/releases/tag/2.8.1>`__
202   * `2.8.2 <https://github.com/immutables/immutables/releases/tag/2.8.2>`__
203   * `2.8.3 <https://github.com/immutables/immutables/releases/tag/2.8.3>`__
204   * `2.8.4 <https://github.com/immutables/immutables/releases/tag/2.8.4>`__
205   * `2.8.8 <https://github.com/immutables/immutables/releases/tag/2.8.8>`__
206
207 * mockito `3.3.3 → 3.5.11 <https://github.com/mockito/mockito/blob/release/3.x/doc/release-notes/official.md>`__
208
209 * Netty `4.1.51 → 4.1.52 <https://netty.io/news/2020/09/08/4-1-52-Final.html>`__
210
211 * Xtend `2.22.0 → 2.23.0 <https://www.eclipse.org/xtend/releasenotes.html#/releasenotes/2020/09/01/version-2-23-0>`__
212
213 Plugin upgrades
214 ~~~~~~~~~~~~~~~
215 * maven-archetype-plugin `3.1.2 → 3.2.0 <https://blogs.apache.org/maven/entry/apache-maven-archetype-plugin-version1>`__
216
217 * project-info-reports-plugin `3.1.0 → 3.1.1 <https://blogs.apache.org/maven/entry/apache-maven-project-info-reports1>`__
218
219 Version 7.0.5
220 -------------
221 This is a bug-fix upgrade from version 7.0.4.
222
223 Bug fixes
224 ~~~~~~~~~
225 * ``odl-netty-4`` feature definition specified both ``x86_64`` and ``aarch64`` artifacts
226   for ``netty-native-epoll``. This actually results only in ``aarch64`` package being
227   installed, rendering epoll unavailable on ``x86_64`` architecture. This has been corrected
228   by removing the ``aarch64`` package.
229   See `ODLPARENT-240 <https://jira.opendaylight.org/browse/ODLPARENT-240>`__ for details.
230
231 Version 7.0.4
232 -------------
233 This is a security/bug-fix upgrade from version 7.0.3.
234
235 Bug fixes
236 ~~~~~~~~~
237 * ``Single Feature Test`` setup of the JVM for Karaf container ended up using
238   wrong versions of Karaf components, leading to a failure to initialize
239   OSGiLocator and subsequent warnings with stack traces. This has now been
240   corrected.
241   See `ODLPARENT-228 <https://jira.opendaylight.org/browse/ODLPARENT-228>`__ for details.
242 * Pax-Exam setup interacts badly with pipes used by maven-surefire plugin,
243   leading to pauses lasting around 30 seconds after SFT test success.
244   This has now been worked around by using maven-surefire-plugin version 3.0.0-M5,
245   with TCP sockets used for communication.
246   See `ODLPARENT-179 <https://jira.opendaylight.org/browse/ODLPARENT-179>`__ for details.
247 * Our Jersey dependency was held back on version 2.25.1 during Neon upgrade cycle, mostly
248   due to large-scale incompatibilities around JAX-RS version. We have upgraded to Karaf-4.2.8+,
249   which pulls in JAX-RS 2.1, hence re-aligning to a more modern version, 2.27, is now
250   feasible.
251   See `ODLPARENT-208 <https://jira.opendaylight.org/browse/ODLPARENT-208>`__ for details.
252
253 Third-party dependencies
254 ~~~~~~~~~~~~~~~~~~~~~~~~
255 * Bouncy Castle `1.65 → 1.66 <https://www.bouncycastle.org/releasenotes.html>`__
256
257 * Checkstyle 8.32 → 8.34, release notes:
258   * `8.33 <https://checkstyle.org/releasenotes.html#Release_8.33>`__
259   * `8.34 <https://checkstyle.org/releasenotes.html#Release_8.34>`__
260
261 * commons-io `2.6 → 2.7 <https://commons.apache.org/proper/commons-io/changes-report.html#a2.7>`__
262
263 * Jersey 2.25.1 → 2.27, release notes:
264   * `2.26 <https://eclipse-ee4j.github.io/jersey.github.io/release-notes/2.26.html>`__
265   * `2.27 <https://eclipse-ee4j.github.io/jersey.github.io/release-notes/2.27.html>`__
266
267 * Karaf `4.2.8 → 4.2.9, with related upgrades <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12345539>`__
268
269 * Netty 4.1.49 → 4.1.51, release notes:
270   * `4.1.50 <https://netty.io/news/2020/05/13/4-1-50-Final.html>`__
271   * `4.1.51 <https://netty.io/news/2020/07/09/4-1-51-Final.html>`__
272
273 * Scala `2.13.2 → 2.13.3 <https://github.com/scala/scala/releases/tag/v2.13.3>`__
274
275 * TrieMap `1.1.0 → 1.2.0 <https://github.com/PANTHEONtech/triemap/releases/tag/triemap-1.2.0>`__
276
277 * XBean finder 4.14 → 4.17, release notes:
278   * `4.15 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310312&version=12345583>`__
279   * `4.16 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310312&version=12345584>`__
280   * `4.17 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310312&version=12346905>`__
281
282 Plugin upgrades
283 ~~~~~~~~~~~~~~~
284 * maven-project-info-reports-plugin `3.0.0 → 3.1.0 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317821&version=12346620>`__.
285
286 * maven-shade-plugin `3.2.3 → 3.2.4 <https://blogs.apache.org/maven/entry/apache-maven-shade-plugin-version5>`__
287
288 Version 7.0.3
289 -------------
290 This is a security/bug-fix upgrade from version 7.0.2. Changes in this release
291 pertain strictly to Karaf packaging and do not affect other runtimes.
292
293 Bug fixes
294 ~~~~~~~~~
295 * Felix SCR 2.1.16, as shipping before Karaf-4.2.9, contains a bug, which could
296   lead to NullPointerException being thrown when components were examined. This
297   has been rectified via upgrade to Felix SCR 2.1.20.
298   See `ODLPARENT-236 <https://jira.opendaylight.org/browse/ODLPARENT-236>`__ for details.
299 * Karaf-4.2.8 changed packaged log4j2 version, rendering the configuration supplied
300   with ``ODLPARENT-231`` inconsistent. This has led to a warning being printed in the
301   Karaf console on each startup. This has now been corrected.
302 * Karaf-4.2.8 is packaging pax-logging-1.11.4, which embeds a a vulnerable version
303   of log4j2 (2.3.0). This would render the upgrades delivered in version 7.0.2
304   ineffective at runtime, potentially leading to exposure. This has been corrected
305   with upgrade of pax-logging to 1.11.6, which is packaging log4j2-2.3.2.
306
307 Version 7.0.2
308 -------------
309 This is a security/bug-fix upgrade from version 7.0.1.
310
311 Improvements
312 ~~~~~~~~~~~~
313 * Infrastructure for identifying confidential log messages was added, along with
314   Karaf configuration update to routing such messages into a separate log file.
315   See `ODLPARENT-231 <https://jira.opendaylight.org/browse/ODLPARENT-231>`__ for details.
316
317 * Netty has been disconnected from Javassist way back in its 4.1.9 release, but
318   we failed to notice. This has now been rectified by ``odl-netty-4`` not depending
319   on ``odl-javassist-3``.
320
321 Third-party dependencies
322 ~~~~~~~~~~~~~~~~~~~~~~~~
323 * Checkstyle `8.31 → 8.32 <https://checkstyle.org/releasenotes.html#Release_8.32>`__
324
325 * Dropwizard Metrics 4.1.5 → 4.1.9, release notes:
326   * `4.1.6 <https://github.com/dropwizard/metrics/releases/tag/v4.1.6>`__
327   * `4.1.7 <https://github.com/dropwizard/metrics/releases/tag/v4.1.7>`__
328   * `4.1.8 <https://github.com/dropwizard/metrics/releases/tag/v4.1.8>`__
329   * `4.1.9 <https://github.com/dropwizard/metrics/releases/tag/v4.1.9>`__
330
331 * Enunciate 2.12.1 → 2.13.1, release notes:
332   * `2.13.0 <https://github.com/stoicflame/enunciate/releases/tag/v2.13.0>`__
333   * `2.13.1 <https://github.com/stoicflame/enunciate/releases/tag/v2.13.1>`__
334
335 * Jackson 2.10.2 → 2.10.4, release notes:
336   * `2.10.3 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.10.3>`__
337   * `2.10.4 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.10.4>`__
338
339 * log4j2 2.13.1 → 2.13.3, release notes:
340   * `2.13.2 <https://logging.apache.org/log4j/2.x/changes-report.html#a2.13.2>`__
341   * `2.13.3 <https://logging.apache.org/log4j/2.x/changes-report.html#a2.13.3>`__
342
343 * Netty `4.1.48 → 4.1.49 <https://netty.io/news/2020/02/28/4-1-46-Final.html>`__
344
345 * Powermock `2.0.6 → 2.0.7 <https://github.com/powermock/powermock/blob/release/2.x/docs/release-notes/official.md#207>`__
346
347 * Scala `2.13.1 → 2.13.2 <https://github.com/scala/scala/releases/tag/v2.13.2>`__
348
349 * Woodstox 6.1.1 → 6.2.1, release notes:
350   * `6.2.0 <https://github.com/FasterXML/woodstox/wiki/Woodstox-Release-6.2#620-25-apr-2020>`__
351   * `6.2.1 <https://github.com/FasterXML/woodstox/wiki/Woodstox-Release-6.2#621-13-may-2020>`__
352
353 * xmlunit 2.6.3 → 2.7.0, release notes:
354   * `2.6.4 <https://github.com/xmlunit/xmlunit/releases/tag/v2.6.4>`__
355   * `2.7.0 <https://github.com/xmlunit/xmlunit/releases/tag/v2.7.0>`__
356
357 Plugin upgrades
358 ~~~~~~~~~~~~~~~
359 * builder-helper-maven-plugin `3.0.0 → 3.1.0 <https://github.com/mojohaus/build-helper-maven-plugin/issues?q=is%3Aissue+milestone%3A3.1.0+is%3Aclosed>`__
360
361 * duplicate-finder-maven-plugin `1.3.0 → 1.4.0 <https://github.com/basepom/duplicate-finder-maven-plugin/releases/tag/duplicate-finder-maven-plugin-1.4.0>`__
362
363 * maven-antrun-plugin `1.8 → 3.0.0 <https://blogs.apache.org/maven/entry/apache-maven-antrun-plugin-version>`__
364
365 * maven-assembly-plugin `3.2.0 → 3.3.0 <https://blogs.apache.org/maven/entry/apache-maven-assembly-plugin-version1>`__
366
367 * maven-invoker-plugin `3.2.0 → 3.2.1 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317525&version=12344863>`__
368
369 * maven-remote-resources-plugin `1.6.0 → 1.7.0 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317825&version=12331232>`__
370
371 * maven-shade-plugin `3.2.2 → 3.2.3 <https://blogs.apache.org/maven/entry/apache-maven-shade-plugin-version4>`__
372
373 Version 7.0.1
374 -------------
375 This is a bug-fix upgrade from version 7.0.0.
376
377 Bug fixes
378 ~~~~~~~~~
379 * Upgrade of ``maven-javadoc-plugin`` is causing issues in downstream javadoc jobs and therefore it has been reverted.
380   See `ODLPARENT-229 <https://jira.opendaylight.org/browse/ODLPARENT-229>`__ for details.
381
382 Third-party dependencies
383 ~~~~~~~~~~~~~~~~~~~~~~~~
384 * Akka `2.5.30 → 2.5.31 <https://akka.io/blog/news/2020/03/31/akka-2.5.31-released>`__
385
386 * Bouncy Castle `1.64 → 1.65 <https://www.bouncycastle.org/releasenotes.html>`__
387
388 * Checkstyle `8.30 → 8.31 <https://checkstyle.org/releasenotes.html#Release_8.31>`__
389
390 * commons-lang3 `3.9 → 3.10 <https://commons.apache.org/proper/commons-lang/changes-report.html#a3.10>`__
391
392 * Xtend 1.19.0 → 1.21.0, release notes:
393   * `1.20.0 <https://www.eclipse.org/xtend/releasenotes.html#/releasenotes/2019/12/03/version-2-20-0>`__
394   * `1.21.0 <https://www.eclipse.org/xtend/releasenotes.html#/releasenotes/2020/03/03/version-2-21-0>`__
395
396 Version 7.0.0
397 -------------
398 This is a major upgrade from version 6, with breaking changes; downstream projects may need to make changes to upgrade
399 to this version.
400
401 Property removals
402 ~~~~~~~~~~~~~~~~~
403 * ``enforcer.version`` and ``projectinfo`` properties were removed. These properties do not serve any legal purpose as
404   the plugins referenced by them are declared in ``pluginManagement`` section.
405
406 Upstream version removals
407 ~~~~~~~~~~~~~~~~~~~~~~~~~
408 The following upstream dependencies have been removed from dependency management:
409
410 * ``immutables.org/value`` without ``<classifier>annotations</classifier>``
411
412 * ``javax.xml.bind/jaxb-api``, replaced with ``jakarta.xml.bind/jakarta.xml.bind-api``
413
414 * ``com.google.inject/guice``
415
416 * ``com.mycila.guice.extensions/mycila-guice-jsr250``
417
418 * ``org.apache.shiro/shiro-core``
419
420 * ``org.apache.shiro/shiro-web``
421
422 Feature removals
423 ~~~~~~~~~~~~~~~~
424 * ``odl-akka-leveldb-0.10`` feature was removed. This feature provided leveldb-backed implementation of Akka
425   Persistence, which is not supported for production environments by upstream. Furthermore this feature relied on a
426   custom-built binary, which we do not have a means to reproduce -- limiting our portability. The controller project,
427   which is the only downstream user of persistence provides an alternative implementation, hence we are removing this
428   historical baggage. See `ODLPARENT-213 <https://jira.opendaylight.org/browse/ODLPARENT-213>`__ for details.
429
430 * ``odl-caffeine-2`` feature was removed. This feature provided a ``JSR-107 JCache`` implementation, an API deemed to
431   be problematic where high-performance and correctness in required.
432
433 New features
434 ~~~~~~~~~~~~
435 * OSGi R6 Declarative Services enabled in Karaf. The ``scr`` feature is now part of startup features, hence Service
436   Component Runtime can be used without incurring an additional refresh.
437   See `ODLPARENT-227 <https://jira.opendaylight.org/browse/ODLPARENT-227>`__ for details.
438
439 Third-party dependencies
440 ~~~~~~~~~~~~~~~~~~~~~~~~
441 * Akka `2.5.29 → 2.5.30 <https://akka.io/blog/news/2020/03/12/akka-2.5.30-released>`__
442
443 * antl4r `4.7.2 → 4.8-1 <https://github.com/antlr/antlr4/releases/tag/4.8>`__
444
445 * Asciidoctor `1.5.7.1 → 1.5.8 <https://github.com/asciidoctor/asciidoctor/releases/tag/v1.5.8>`__
446
447 * Checkstyle 8.26 → 8.30, release notes:
448   * `8.27 <https://checkstyle.org/releasenotes.html#Release_8.27>`__
449   * `8.28 <https://checkstyle.org/releasenotes.html#Release_8.28>`__
450   * `8.29 <https://checkstyle.org/releasenotes.html#Release_8.29>`__
451   * `8.30 <https://checkstyle.org/releasenotes.html#Release_8.30>`__
452
453 * Dropwizard Metrics 4.0.5 → 4.1.5, release notes:
454   * `4.1.0-rc0 <https://github.com/dropwizard/metrics/releases/tag/v4.1.0-rc0>`__
455   * `4.1.0-rc2 <https://github.com/dropwizard/metrics/releases/tag/v4.1.0-rc2>`__
456   * `4.1.0-rc3 <https://github.com/dropwizard/metrics/releases/tag/v4.1.0-rc3>`__
457   * `4.1.1 <https://github.com/dropwizard/metrics/releases/tag/v4.1.1>`__
458   * `4.1.2 <https://github.com/dropwizard/metrics/releases/tag/v4.1.2>`__
459   * `4.1.3 <https://github.com/dropwizard/metrics/releases/tag/v4.1.3>`__
460   * `4.1.4 <https://github.com/dropwizard/metrics/releases/tag/v4.1.4>`__
461
462 * Google Truth 0.43 → 1.0.1, release notes:
463   * `0.44 <https://github.com/google/truth/releases/tag/release_0_44>`__
464   * `0.45 <https://github.com/google/truth/releases/tag/release_0_45>`__
465   * `0.46 <https://github.com/google/truth/releases/tag/release_0_46>`__
466   * `1.0-rc1 <https://github.com/google/truth/releases/tag/release_1_0_rc1>`__
467   * `1.0-rc2 <https://github.com/google/truth/releases/tag/release_1_0_rc2>`__
468   * `1.0 <https://github.com/google/truth/releases/tag/release_1_0>`__
469   * `1.0.1 <https://github.com/google/truth/releases/tag/release_1_0_1>`__
470
471 * Guava 27.1 → 28.2, release notes:
472   * `28.0 <https://github.com/google/guava/releases/tag/v28.0>`__
473   * `28.1 <https://github.com/google/guava/releases/tag/v28.1>`__
474   * `28.2 <https://github.com/google/guava/releases/tag/v28.2>`__
475
476 * Javassist 3.26.0 → 3.27.0
477
478 * jdt-annotations 2.2.100 → 2.2.400
479
480 * Karaf 4.2.6 → 4.2.8, with related upgrades, release notes:
481   * `4.2.7 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12345539>`__
482   * `4.2.8 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12346100>`__
483
484 * log4j2 `2.13.0 → 2.13.1 <https://logging.apache.org/log4j/2.x/changes-report.html#a2.13.1>`__
485
486 * Netty 4.1.45 → 4.1.48, release notes:
487   * `4.1.46 <https://netty.io/news/2020/02/28/4-1-46-Final.html>`__
488   * `4.1.47 <https://netty.io/news/2020/03/09/4-1-47-Final.html>`__
489   * `4.1.48 <https://netty.io/news/2020/03/17/4-1-48-Final.html>`__
490
491 * Powermock 2.0.4 → 2.0.6, release notes:
492   * `2.0.5 <https://github.com/powermock/powermock/blob/release/2.x/docs/release-notes/official.md#205>`__
493   * `2.0.6 <https://github.com/powermock/powermock/blob/release/2.x/docs/release-notes/official.md#206>`__
494
495 * Scala 2.12.10 → 2.13.1, release notes:
496   * `2.13.0 <https://github.com/scala/scala/releases/tag/v2.13.0>`__
497   * `2.13.1 <https://github.com/scala/scala/releases/tag/v2.13.1>`__
498
499 * scala-java8-compat 0.8.0 → 0.9.1, release notes:
500   * `0.9.0 <https://github.com/scala/scala-java8-compat/releases/tag/v0.9.0>`__
501   * `0.9.1 <https://github.com/scala/scala-java8-compat/releases/tag/v0.9.1>`__
502
503 * Sevntu 1.36.0 → 1.37.1, release notes:
504   * `1.37.0 <https://sevntu-checkstyle.github.io/sevntu.checkstyle/#1.37.0>`__
505   * `1.37.1 <https://sevntu-checkstyle.github.io/sevntu.checkstyle/#1.37.1>`__
506
507 * woodstox-core 5.3.0 → 6.1.1
508
509 Plugin upgrades
510 ~~~~~~~~~~~~~~~
511
512 * findbugs-slf4j `1.4.0 → 1.5.0 <https://github.com/KengoTODA/findbugs-slf4j/blob/master/CHANGELOG.md#150---2019-07-04>`__
513
514 * maven-checkstyle-plugin `3.1.0 → 3.1.1 <https://blogs.apache.org/maven/entry/apache-maven-checkstyle-plugin-version1>`__
515
516 * maven-dependency-plugin `3.1.1 → 3.1.2 <https://blogs.apache.org/maven/entry/apache-maven-dependency-plugin-version2>`__
517
518 * maven-enforcer-plugin `3.0.0-M2 → 3.0.0-M3 <https://blogs.apache.org/maven/entry/apache-maven-enforcer-version-3>`__
519
520 * maven-javadoc-plugin `3.1.1 → 3.2.0 <https://blogs.apache.org/maven/entry/apache-maven-javadoc-plugin-version1>`__
521
522 * maven-shade-plugin `3.2.1 → 3.2.2 <https://blogs.apache.org/maven/entry/apache-maven-shade-plugin-version3>`__
523
524 * modernizer-maven-plugin `2.0.0 → 2.1.0 <https://github.com/gaul/modernizer-maven-plugin/releases/tag/modernizer-maven-plugin-2.1.0>`__
525
526 * pmd-maven-plugin `3.12.0 → 3.13.0 <https://blogs.apache.org/maven/entry/apache-maven-pmd-plugin-version2>`__
527
528 Version 6.0.5
529 -------------
530 This is a bug-fix upgrade from version 6.0.4.
531
532 Third-party dependencies
533 ~~~~~~~~~~~~~~~~~~~~~~~~
534 * Akka 2.5.26 → 2.5.29, release notes:
535   * `2.5.27 <https://akka.io/blog/news/2019/12/10/akka-2.5.27-released>`__
536   * `2.5.29 <https://akka.io/blog/news/2020/01/28/akka-2.5.29-released>`__
537
538 * commons-codec `1.13 → 1.14 <https://commons.apache.org/proper/commons-codec/changes-report.html#a1.14>`__
539
540 * Jackson `2.9.10 → 2.9.10.20200103 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9#micro-patches>`__
541
542 Plugin upgrades
543 ~~~~~~~~~~~~~~~
544 * maven-source-plugin `3.2.0 → 3.2.1 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317924&version=12346480>`__
545
546 Version 6.0.4
547 -------------
548 This is a bug-fix upgrade from version 6.0.3.
549
550 Bug fixes
551 ~~~~~~~~~
552 * ``single-feature-test`` was using outdated repositories, including Maven Central,
553   which `broke on Jan 15, 2020 <https://support.sonatype.com/hc/en-us/articles/360041287334-Central-501-HTTPS-Required>`__.
554   This has been corrected.
555
556 Third-party dependencies
557 ~~~~~~~~~~~~~~~~~~~~~~~~
558
559 * JUnit 4.11 → 4.13, release notes:
560   * `4.12 <https://github.com/junit-team/junit4/blob/master/doc/ReleaseNotes4.12.md>`__
561   * `4.13 <https://github.com/junit-team/junit4/blob/master/doc/ReleaseNotes4.13.md>`__
562
563 * log4j2 2.11.2 → 2.13.0, release notes:
564   * `2.12.0 <https://logging.apache.org/log4j/2.x/changes-report.html#a2.13.0>`__
565   * `2.12.1 <https://logging.apache.org/log4j/2.x/changes-report.html#a2.12.1>`__
566   * `2.13.0 <https://logging.apache.org/log4j/2.x/changes-report.html#a2.13.0>`__
567
568 * netty 4.1.42 → 4.1.45, release notes:
569   * `4.1.43 <https://netty.io/news/2019/10/24/4-1-43-Final.html>`__
570   * `4.1.44 <https://netty.io/news/2019/12/18/4-1-44-Final.html>`__
571   * `4.1.45 <https://netty.io/news/2020/01/13/4-1-45-Final.html>`__
572
573 Plugin upgrades
574 ~~~~~~~~~~~~~~~
575 * maven-assembly-plugin 2.2-beta5 → 3.2.0
576
577 * maven-archetype-plugin `3.1.1 → 3.1.2 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317122&version=12345957>`__
578
579 Version 6.0.3
580 -------------
581 This is a bug-fix upgrade from version 6.0.2.
582
583 Bug fixes
584 ~~~~~~~~~
585 * The fix for `ODLPARENT-216 <https://jira.opendaylight.org/browse/ODLPARENT-216>`__ ended up
586   breaking ``org.kohsuke.metainf-services`` integration. While this could be fixed in downstreams
587   by adding proper </annotationProcessorPaths> entry, it is a regression from 6.0.1.
588
589 Version 6.0.2
590 -------------
591 This is a security/bug-fix upgrade from version 6.0.1.
592
593 Bug fixes
594 ~~~~~~~~~
595 * ``single-feature-parent`` was setting up Karaf repositories incorrectly, leading to
596   the test using unpatched Karaf resources. This has now been fixed and the test run
597   is using environment equivalent to the contents of the distribution. See
598   `ODLPARENT-209 <https://jira.opendaylight.org/browse/ODLPARENT-209>`__ for details.
599
600 * ``immutables.org`` integration relied on pre-JDK9 way of integration, where the annotation processor
601   was just dropped as a dependency. This does not work with JDK9+ artifacts which are also explicit
602   JMPS modules. Note that users are advised to switch to depending on the ``annotations``-classified
603   artifact. See `ODLPARENT-216 <https://jira.opendaylight.org/browse/ODLPARENT-216>`__ for details.
604
605 * Assembled Karaf distribution did not perform proper JDK checks and allowed launching with JDK8,
606   leading to a failure to install OpenDaylight components with an error stack, which confuses users
607   not familiar with OSGi. The distribution now refuses to start with anything other than JDK11. See
608   `ODLPARENT-218 <https://jira.opendaylight.org/browse/ODLPARENT-218>`__ for details.
609
610 Third-party dependencies
611 ~~~~~~~~~~~~~~~~~~~~~~~~
612
613 * Akka `2.5.25 → 2.5.26 <https://akka.io/blog/news/2019/10/17/akka-2.5.26-released>`__
614
615 * Checkstyle 8.20 → 8.26, release notes:
616   * `8.21 <https://checkstyle.org/releasenotes.html#Release_8.21>`__
617   * `8.22 <https://checkstyle.org/releasenotes.html#Release_8.22>`__
618   * `8.23 <https://checkstyle.org/releasenotes.html#Release_8.23>`__
619   * `8.24 <https://checkstyle.org/releasenotes.html#Release_8.24>`__
620   * `8.25 <https://checkstyle.org/releasenotes.html#Release_8.25>`__
621   * `8.26 <https://checkstyle.org/releasenotes.html#Release_8.26>`__
622
623 * H2 database `1.4.199 → 1.4.200 <http://www.h2database.com/html/changelog.html>`__
624
625 * Hamcrest `2.1 → 2.2 <https://github.com/hamcrest/JavaHamcrest/releases/tag/v2.2>`__
626
627 * JaCoCo `0.8.4 → 0.8.5 <https://github.com/jacoco/jacoco/releases/tag/v0.8.5>`__
628
629 * Karaf 4.2.2 → 4.2.6, release notes:
630   * `4.2.3 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12344587>`__
631   * `4.2.4 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12344856>`__
632   * `4.2.5 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12345153>`__
633   * `4.2.6 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12345365>`__
634
635 * Powermock `2.0.2 → 2.0.4 <https://github.com/powermock/powermock/blob/release/2.x/docs/release-notes/official.md#204>`__
636
637 * Sevntu `1.35.0 → 1.36.0 <https://sevntu-checkstyle.github.io/sevntu.checkstyle/#1.36.0>`__
638
639 Plugin upgrades
640 ~~~~~~~~~~~~~~~
641
642 * maven-bundle-plugin `4.1.0 → 4.2.0 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310100&version=12345491>`__
643
644 * maven-jar-plugin `3.1.2 → 3.2.0 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317526&version=12345503>`__
645
646 * maven-source-plugin `3.1.0 → 3.2.0 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317924&version=12345522>`__
647
648 * modernizer-maven-plugin `1.9.0 → 2.0.0 <https://github.com/gaul/modernizer-maven-plugin/releases/tag/modernizer-maven-plugin-2.0.0>`__
649
650 Version 6.0.1
651 -------------
652 This is a security/bug-fix upgrade from version 6.0.0.
653
654 Bug fixes
655 ~~~~~~~~~
656 * ``karaf-plugin`` ignored exceptions coming from its failure to resolve ${karaf.etc} variable. This
657   has now been fixed and the URL handling has been revised to fix build on Windows. See
658   `ODLPARENT-214 <https://jira.opendaylight.org/browse/ODLPARENT-214>`__ for details.
659
660 * ``leveldb-jni`` jar, which has been seeded to nexus.opendaylight.org long time ago is not published
661   in Maven Central. This has been resolved by repackaging this jar and publishing it from odlparent.
662   See `ODLPARENT-210 <https://jira.opendaylight.org/browse/ODLPARENT-210>`__ for details.
663
664 Third-party dependencies
665 ~~~~~~~~~~~~~~~~~~~~~~~~
666
667 * Bouncy Castle `1.63 → 1.64 <http://www.bouncycastle.org/releasenotes.html>`__
668
669 * Jackson `2.9.9 → 2.9.10 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.10>`__
670
671 * Javassist 3.24.1-GA → 3.26.0-GA
672
673 * Guice 4.1.0 → 4.2.2, release notes:
674   * `4.2.0 <https://github.com/google/guice/wiki/Guice42>`__
675   * `4.2.1 <https://github.com/google/guice/wiki/Guice421>`__
676   * `4.2.2 <https://github.com/google/guice/wiki/Guice422>`__
677
678 * Mockito 2.25.1 → 2.28.2, release notes:
679   * `2.25.2 <https://github.com/mockito/mockito/blob/release/2.x/doc/release-notes/official.md#2252>`__
680   * `2.25.3 <https://github.com/mockito/mockito/blob/release/2.x/doc/release-notes/official.md#2253>`__
681   * `2.25.4 <https://github.com/mockito/mockito/blob/release/2.x/doc/release-notes/official.md#2254>`__
682   * `2.25.5 <https://github.com/mockito/mockito/blob/release/2.x/doc/release-notes/official.md#2255>`__
683   * `2.25.6 <https://github.com/mockito/mockito/blob/release/2.x/doc/release-notes/official.md#2256>`__
684   * `2.25.7 <https://github.com/mockito/mockito/blob/release/2.x/doc/release-notes/official.md#2257>`__
685   * `2.26.1 <https://github.com/mockito/mockito/blob/release/2.x/doc/release-notes/official.md#2261>`__
686   * `2.26.2 <https://github.com/mockito/mockito/blob/release/2.x/doc/release-notes/official.md#2262>`__
687   * `2.27.1 <https://github.com/mockito/mockito/blob/release/2.x/doc/release-notes/official.md#2271>`__
688   * `2.27.2 <https://github.com/mockito/mockito/blob/release/2.x/doc/release-notes/official.md#2272>`__
689   * `2.27.3 <https://github.com/mockito/mockito/blob/release/2.x/doc/release-notes/official.md#2273>`__
690   * `2.27.4 <https://github.com/mockito/mockito/blob/release/2.x/doc/release-notes/official.md#2274>`__
691   * `2.27.5 <https://github.com/mockito/mockito/blob/release/2.x/doc/release-notes/official.md#2275>`__
692   * `2.28.0 <https://github.com/mockito/mockito/blob/release/2.x/doc/release-notes/official.md#2280>`__
693
694 * Netty 4.1.39 → 4.1.42, release notes:
695   * `4.1.41 <https://netty.io/news/2019/09/12/4-1-41-Final.html>`__
696   * `4.1.42 <https://netty.io/news/2019/09/25/4-1-42-Final.html>`__
697
698 * pt-triemap `1.0.6 → 1.1.0 <https://github.com/PantheonTechnologies/triemap/releases/tag/triemap-1.1.0>`__
699
700 * reactive-streams `1.0.2 → 1.0.3 <http://www.reactive-streams.org/announce-1.0.3>`__
701
702 * stax2-api `3.1.4 → 4.2 <https://github.com/FasterXML/stax2-api/blob/master/release-notes/VERSION>`__
703
704 * woodstox-core 5.0.3 → 5.3.0, release notes:
705   * `5.1.0 <https://github.com/FasterXML/woodstox/wiki/Woodstox-Release-5.1>`__
706   * `5.2.0 <https://github.com/FasterXML/woodstox/wiki/Woodstox-Release-5.2>`__
707   * `5.3.0 <https://github.com/FasterXML/woodstox/wiki/Woodstox-Release-5.3>`__
708
709 Version 6.0.0
710 -------------
711 This is a major upgrade from version 5, with breaking changes; projects will
712 need to make changes to upgrade to this version.
713
714 Java 11 is required
715 ~~~~~~~~~~~~~~~~~~~
716 This release sets ``maven.compiler.release=11`` and enforces that the JDK used to build
717 is Java 11+. As there may be issues with various maven plugins when faced with JDK9+
718 constructs and JDK11+ classes, target release can be controlled on a per-artifact
719 basis (i.e. target Java 10 with ``maven.compiler.release=10`` property).
720
721 This release has been validated with ``openjdk-11.0.4`` and is not supported on any lower
722 version. As usual, we recommend using latest available JDK/JRE for Java 11 during development
723 and deployment.
724
725 Checkstyle/SpotBugs/Modernizer run by default
726 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
727 With this release code artifacts always run ``maven-checkstyle-plugin``, ``spotbugs-maven-plugin``
728 and ``modernizer-maven-plugin``. Checkstyle and SpotBugs run in enforcing mode, i.e. will fail
729 build if any violations are found. Modernizer is configured to report Java 8-compatible constructs
730 and will not fail the build unless instructed to do so.
731
732 Behavior of each of these is controlled via a maven property on a per-artifact basis:
733
734 * ``odlparent.checkstyle.enforce`` controls checkstyle enforcement: defaults to ``true``, but can be set to ``false``
735 * ``odlparent.checkstyle.skip`` controls checkstyle invocation: defaults to ``false``, but can be set to ``true``
736 * ``odlparent.spotbugs.enforce`` controls SpotBugs enforcement: defaults to ``true``, but can be set to ``false``
737 * ``odlparent.spotbugs.skip`` controls SpotBugs invocation: defaults to ``false``, but can be set to ``true``
738 * ``odlparent.modernizer.enforce`` controls modernizer enforcement: defaults to ``false``, but can be set to ``true``
739 * ``odlparent.modernizer.skip`` controls modernizer invocation: defaults to ``false``, but can be set to ``true``
740 * ``odlparent.modernizer.target`` controls modernizer Java version: defaults to ``1.8``, but can be set to ``1.11`` or similar
741
742 Bug fixes
743 ~~~~~~~~~
744
745 * ``blueprint container`` had ``org.apache.aries.blueprint.preemptiveShutdown`` set to false
746   to enable it to work with Config Subsystem. As that component is long gone, this property has
747   been removed as part of `ODLPARENT-34 <https://jira.opendaylight.org/browse/ODLPARENT-34>`__.
748   Furthermore, system properties related to Config Subsystem/NETCONF integration have been removed
749   as well.
750
751 Upstream version removals
752 ~~~~~~~~~~~~~~~~~~~~~~~~~
753
754 The following upstream dependencies have been removed from dependency management:
755
756 * com.google.code.findbugs/jsr305
757
758 Third-party dependencies
759 ~~~~~~~~~~~~~~~~~~~~~~~~
760
761 The dependency on `xmlunit-assertj` and `modernizer-maven-annotations` has been added and the following
762 dependencies have been upgraded:
763
764 * Akka 2.5.23 → 2.5.25, release notes:
765   * `2.5.24 <https://akka.io/blog/news/2019/08/09/akka-2.5.24-released>`__
766   * `2.5.25 <https://akka.io/blog/news/2019/08/20/akka-2.5.25-released>`__
767
768 * apache-sshd `2.2.0 → 2.3.0 <https://github.com/apache/mina-sshd/blob/master/docs/changes/2.3.0.md>`__
769
770 * Bouncy Castle `1.62 → 1.63 <https://www.bouncycastle.org/releasenotes.html>`__
771
772 * commons-beanutils `1.9.3 → 1.9.4 <https://www.apache.org/dist/commons/beanutils/RELEASE-NOTES.txt>`__
773
774 * commons-codec `1.12 → 1.13 <http://www.apache.org/dist/commons/codec/RELEASE-NOTES.txt>`__
775
776 * commons-text 1.6 → 1.8, release notes:
777   * `1.7 <https://commons.apache.org/proper/commons-text/changes-report.html#a1.7>`__
778   * `1.8 <https://commons.apache.org/proper/commons-text/changes-report.html#a1.8>`__
779
780 * Checkstyle 8.18 → 8.20, release notes:
781   * `8.19 <https://checkstyle.org/releasenotes.html#Release_8.19>`__
782   * `8.20 <https://checkstyle.org/releasenotes.html#Release_8.20>`__
783
784 * jackson-databind `2.9.9 → 2.9.9.3 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9#micro-patches>`__
785
786 * jaxb-api 2.2.8 → 2.3.0, aligning it with Karaf-provided version
787
788 * Netty 4.1.36 → 4.1.39, release notes:
789   * `4.1.37 <https://netty.io/news/2019/06/28/4-1-37-Final.html>`__
790   * `4.1.38 <https://netty.io/news/2019/07/24/4-1-38-Final.html>`__
791   * `4.1.39 <https://netty.io/news/2019/08/13/4-1-39-Final.html>`__
792
793 * Sevntu 1.32.0 → 1.35.0, release notes:
794   * `1.33.0 <https://sevntu-checkstyle.github.io/sevntu.checkstyle/#1.33.0>`__
795   * `1.34.0 <https://sevntu-checkstyle.github.io/sevntu.checkstyle/#1.34.0>`__
796   * `1.34.1 <https://sevntu-checkstyle.github.io/sevntu.checkstyle/#1.34.1>`__
797   * `1.35.0 <https://sevntu-checkstyle.github.io/sevntu.checkstyle/#1.35.0>`__
798
799 * Scala 2.12.8 → 2.12.9, release notes:
800   * `2.12.9 <https://github.com/scala/scala/releases/tag/v2.12.9>`__
801   * `2.12.10 <https://github.com/scala/scala/releases/tag/v2.12.10>`__
802
803 * slf4j `1.7.25 → 1.7.28 <https://www.slf4j.org/news.html>`__
804
805 * triemap `1.0.5 → 1.0.6 <https://github.com/PantheonTechnologies/triemap/releases/tag/triemap-1.0.6>`__
806
807 * typesafe/ssl-config `0.3.7 → 0.3.8 <https://github.com/lightbend/ssl-config/compare/v0.3.7...v0.3.8>`__
808
809 * Xtend 1.17.1 → 1.19.0, release notes:
810   * `1.18.0 <https://www.eclipse.org/xtend/releasenotes.html#/releasenotes/2019/06/04/version-2-18-0>`__
811   * `1.19.0 <https://www.eclipse.org/Xtext/releasenotes.html#/releasenotes/2019/09/03/version-2-19-0>`__
812
813 Plugin upgrades
814 ~~~~~~~~~~~~~~~
815
816 * git-commit-id-plugin 2.2.6 → 3.0.1, release notes:
817   * `3.0.0 <https://github.com/git-commit-id/maven-git-commit-id-plugin/releases/tag/v3.0.0>`__
818   * `3.0.1 <https://github.com/git-commit-id/maven-git-commit-id-plugin/releases/tag/v3.0.1>`__
819
820 * maven-javadoc-plugin `3.1.0 → 3.1.1 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317529&version=12345060>`__
821
822 * pmd-maven-plugin `3.11.0 → 3.12.0 <https://blogs.apache.org/maven/entry/apache-maven-pmd-plugin-version1>`__
823
824 * spotbugs-maven-plugin 3.1.11  → 3.1.12.2, release notes:
825   * `3.1.12 <https://github.com/spotbugs/spotbugs-maven-plugin/compare/spotbugs-maven-plugin-3.1.11...spotbugs-maven-plugin-3.1.12>`__
826   * `3.1.12.1 <https://github.com/spotbugs/spotbugs-maven-plugin/releases/tag/spotbugs-maven-plugin-3.1.12.1>`__
827   * `3.1.12.2 <https://github.com/spotbugs/spotbugs-maven-plugin/releases/tag/spotbugs-maven-plugin-3.1.12.2>`__
828
829 Version 5.0.1
830 -------------
831
832 This is a bug-fix upgrade from version 5.0.0.
833
834 Third-party dependencies
835 ~~~~~~~~~~~~~~~~~~~~~~~~
836
837 The following dependencies have been upgraded:
838
839 * Akka 2.5.21 → 2.5.23, release notes:
840   * `2.5.22 <https://akka.io/blog/news/2019/04/03/akka-2.5.22-released>`__
841   * `2.5.23 <https://akka.io/blog/news/2019/05/21/akka-2.5.23-released>`__
842
843 * asciidoctorj-diagram 1.5.12 → 1.5.16
844
845 * Bouncy Castle `1.61 → 1.62 <http://www.bouncycastle.org/releasenotes.html>`__
846
847 * commons-lang3 `3.8.1 → 3.9 <http://www.apache.org/dist/commons/lang/RELEASE-NOTES.txt>`__
848
849 * JaCoCo `0.8.3 → 0.8.4 <https://github.com/jacoco/jacoco/releases/tag/v0.8.4>`__
850
851 * Jackson `2.9.8 → 2.9.9 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.9>`__
852
853 * Jolokia 1.6.0 → 1.6.2, release notes:
854   * `1.6.1 <https://jolokia.org/changes-report.html#a1.6.1>`__
855   * `1.6.2 <https://jolokia.org/changes-report.html#a1.6.2>`__
856
857 * Mockito `2.25.0 → 2.25.1 <https://github.com/mockito/mockito/blob/release/2.x/doc/release-notes/official.md#2251>`__
858
859 * Netty 4.1.34 → 4.1.36, release notes:
860   * `4.1.35 <https://netty.io/news/2019/04/17/4-1-35-Final.html>`__
861   * `4.1.36 <https://netty.io/news/2019/04/30/4-1-36-Final.html>`__
862
863 * PowerMock 2.0.0 → 2.0.2, release notes:
864   * `2.0.1 <https://github.com/powermock/powermock/releases/tag/powermock-2.0.1>`__
865   * `2.0.2 <https://github.com/powermock/powermock/releases/tag/powermock-2.0.2>`__
866
867 * Reactive Streams `1.0.1 → 1.0.2 <https://www.lightbend.com/blog/update-reactive-streams-102-released>`__
868
869 * scala-parser-combinators `1.1.1 → 1.1.2 <https://github.com/scala/scala-parser-combinators/releases/tag/v1.1.2>`__
870
871 * Sevntu `1.32.0 → 1.33.0 <http://sevntu-checkstyle.github.io/sevntu.checkstyle/#1.33.0>`__
872
873 * Typesafe Config `1.3.2 → 1.3.3 <https://github.com/lightbend/config/releases/tag/v1.3.3>`__
874
875 * triemap `1.0.4 → 1.0.5 <https://github.com/PantheonTechnologies/triemap/releases/tag/triemap-1.0.5>`__
876
877 * XBean finder 4.12 → 4.14, release notes:
878   * `4.13 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12344253&projectId=12310312>`__
879   * `4.14 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310312&version=12345220>`__
880
881 * xmlunit `2.6.2 → 2.6.3 <https://github.com/xmlunit/xmlunit/releases/tag/v2.6.3>`__
882
883 * Xtend `2.17.0 → 2.17.1 <https://www.eclipse.org/xtend/releasenotes.html#/releasenotes/2019/04/03/version-2-17-1>`__
884
885 Plugin upgrades
886 ~~~~~~~~~~~~~~~
887
888 * maven-archetype-plugin 3.0.1 → 3.1.1, release notes:
889   * `3.1.0 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317122&version=12340346>`__
890   * `3.1.1 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317122&version=12345450>`__
891
892 * maven-bundle-plugin `4.1.0 → 4.2.0 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12310100&version=12345047>`__
893
894 * maven-checkstyle-plugin `3.1.0 → 3.1.0 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317223&version=12342397>`__
895
896 * maven-compiler-plugin `3.8.0 → 3.8.1 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317225&version=12343484>`__
897
898 * maven-help-plugin `3.1.1 → 3.2.0 <https://blog.soebes.de/blog/2019/04/22/apache-maven-help-plugin-version-3-dot-2-0-released/>`__
899
900 * maven-jar-plugin `3.1.1 → 3.1.2 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317526&version=12344629>`__
901
902 * maven-plugin-plugin `3.5.2 → 3.6.0 <https://blogs.apache.org/maven/entry/apache-maven-plugin-tools-version1>`__
903
904 * maven-source-plugin `3.0.1 → 3.1.0 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317924&version=12336941>`__
905
906 * maven-surefire-plugin 2.22.1 → 2.22.2
907
908 New plugins
909 ~~~~~~~~~~~
910
911 * ``modernizer-maven-plugin`` declared, allowing downstreams to more easily activate it,
912   and so detect code which should be updated to more modern equivalent.
913
914 New features
915 ~~~~~~~~~~~~
916
917 * ``odl-caffeine-2`` provides a pre-packaged feature for the Caffeine caching framework,
918   along with the Guava compabitility layer.
919
920 Version 5.0.0
921 -------------
922
923 This is a major upgrade from version 4, with breaking changes; projects will
924 need to make changes to upgrade to this version.
925
926 The most significant change is `ODLPARENT-198 <https://jira.opendaylight.org/browse/ODLPARENT-198>`__,
927 which removes JSR305 from default dependencies and does not present it at class path by default.
928
929 Deleted artifacts
930 ~~~~~~~~~~~~~~~~~
931
932 ``findbugs`` has been removed, as its only purpose was to provide FindBugs
933 rule definitions. Equivalent definitions are available in ``spotbugs``.
934
935 Bug fixes
936 ~~~~~~~~~
937
938 * ``blueprint-maven-plugin`` used to scan the entire classpath, resulting in potential conflicts
939   across projects. Scanning is now limited to ``${project.groupId}``, limiting conflict domain
940   to single project. See `ODLPARENT-109 <https://jira.opendaylight.org/browse/ODLPARENT-109>`__.
941
942 * ``bundle-maven-plugin`` configuration ignored generated ServiceLoader service entries,
943   which has now been fixed. See `ODLPARENT-197 <https://jira.opendaylight.org/browse/ODLPARENT-197>`__.
944
945 * Bundle tests are now enabled by default. See `ODLPARENT-158 <https://jira.opendaylight.org/browse/ODLPARENT-158>`__
946   and `ODLPARENT-80 <https://jira.opendaylight.org/browse/ODLPARENT-80>`__ for details.
947
948 * Karaf log file rollover was not explictly set up, leading to inability to easily override
949   the defaults. See `ODLPARENT-153 <https://jira.opendaylight.org/browse/ODLPARENT-153>`__ for details.
950
951 * Karaf log file used to use default maximum 16MiB file size, this has now been increased to 64MiB.
952   See `ODLPARENT-154 <https://jira.opendaylight.org/browse/ODLPARENT-154>`__.
953
954 * ``features-test`` excluded opendaylight-karaf-empty's transitive dependencies, leading
955   to the need to re-declare them in single-feature-parent. This re-declaration was forgotten
956   in for ``bcpkix-framework-ext`` and ``bcprov-framework-ext`` bundles, which lead to them
957   not being present in the local repository. See `ODLPARENT-130 <https://jira.opendaylight.org/browse/ODLPARENT-130>`__.
958
959 Upstream version removals
960 ~~~~~~~~~~~~~~~~~~~~~~~~~
961
962 The following upstream dependencies have been removed from dependency management:
963
964 * cassandra-driver-core
965
966 * org.codehaus.enunciate/enunciate-core-annotations
967
968 * org.jboss.resteasy/jaxrs-api
969
970 * org.json/json
971
972 * org.osgi/org.osgi.compendium
973
974 Removed features
975 ~~~~~~~~~~~~~~~~
976
977 * odl-jersey-1
978
979 * ``features-akka`` feature repository has been integrated into ``features-odlparent``
980
981 Third-party dependencies
982 ~~~~~~~~~~~~~~~~~~~~~~~~
983
984 The following dependencies have been upgraded:
985
986 * apache-sshd `2.0.0 → 2.2.0 <https://github.com/apache/mina-sshd/compare/sshd-2.0.0...sshd-2.2.0>`__
987
988 * Aeron 1.12.0 → 1.15.3, release notes:
989   * `1.13.0 <https://github.com/real-logic/aeron/releases/tag/1.13.0>`__
990   * `1.14.0 <https://github.com/real-logic/aeron/releases/tag/1.14.0>`__
991   * `1.15.0 <https://github.com/real-logic/aeron/releases/tag/1.15.0>`__
992   * `1.15.1 <https://github.com/real-logic/aeron/releases/tag/1.15.1>`__
993   * `1.15.2 <https://github.com/real-logic/aeron/releases/tag/1.15.2>`__
994   * `1.15.3 <https://github.com/real-logic/aeron/releases/tag/1.15.3>`__
995
996 * Agrona 0.9.27 → 0.9.33, release notes:
997   * `0.9.28 <https://github.com/real-logic/agrona/releases/tag/0.9.28>`__
998   * `0.9.29 <https://github.com/real-logic/agrona/releases/tag/0.9.29>`__
999   * `0.9.30 <https://github.com/real-logic/agrona/releases/tag/0.9.30>`__
1000   * `0.9.31 <https://github.com/real-logic/agrona/releases/tag/0.9.31>`__
1001   * `0.9.32 <https://github.com/real-logic/agrona/releases/tag/0.9.32>`__
1002   * `0.9.33 <https://github.com/real-logic/agrona/releases/tag/0.9.33>`__
1003
1004 * Akka 2.5.19 → 2.5.21, release notes:
1005   * `2.5.20 <https://akka.io/blog/news/2019/01/29/akka-2.5.20-released>`__
1006   * `2.5.21 <https://akka.io/blog/news/2019/02/13/akka-2.5.21-released>`__
1007
1008 * antl4r `4.7.1 → 4.7.2 <https://github.com/antlr/antlr4/releases/tag/4.7.2>`__
1009
1010 * asciidoctorj-diagram 1.5.11 → 1.5.12
1011
1012 * Bouncy Castle `1.60 → 1.61 <http://www.bouncycastle.org/releasenotes.html>`__
1013
1014 * checkstyle 8.16 → 8.18, release notes:
1015   * `8.17 <http://checkstyle.sourceforge.net/releasenotes.html#Release_8.17>`__
1016   * `8.18 <http://checkstyle.sourceforge.net/releasenotes.html#Release_8.18>`__
1017
1018 * commons-codec `1.11 → 1.12 <http://www.apache.org/dist/commons/codec/RELEASE-NOTES.txt>`__
1019
1020 * Google Error Prone 2.3.2 → 2.3.3
1021
1022 * Google Guava 25.1 → 27.1, release notes:
1023   * `26.0 <https://github.com/google/guava/releases/tag/v26.0>`__
1024   * `27.0 <https://github.com/google/guava/releases/tag/v27.0>`__
1025   * `27.0.1 <https://github.com/google/guava/releases/tag/v27.0.1>`__
1026   * `27.1 <https://github.com/google/guava/releases/tag/v27.1>`__
1027
1028 * Google Truth `0.42 → 0.43 <https://github.com/google/truth/releases/tag/release_0_43>`__
1029
1030 * h2 database `1.4.196 → 1.4.199 <http://www.h2database.com/html/changelog.html>`__
1031
1032 * Immutables `2.7.3 → 2.7.5 <https://github.com/immutables/immutables/#changelog>`__
1033
1034 * Javassist `3.24.0-GA → 3.24.1-GA <https://github.com/jboss-javassist/javassist/releases/tag/rel_3_24_1_ga>`__
1035
1036 * log4j2 `2.11.1 → 2.11.2 <https://github.com/apache/logging-log4j2/blob/log4j-2.11.2/RELEASE-NOTES.md>`__
1037
1038 * Mockito 2.23.4 → 2.25.0, release notes:
1039   * `2.24.0 <https://github.com/mockito/mockito/blob/release/2.x/doc/release-notes/official.md#2240>`__
1040   * `2.25.0 <https://github.com/mockito/mockito/blob/release/2.x/doc/release-notes/official.md#2250>`__
1041
1042 * Netty 4.1.32 → 4.1.34, release notes:
1043   * `4.1.32 <https://netty.io/news/2018/11/29/4-1-32-Final.html>`__
1044   * `4.1.33 <https://netty.io/news/2019/01/21/4-1-33-Final.html>`__
1045   * `4.1.34 <https://netty.io/news/2019/03/08/4-1-34-Final.html>`__
1046
1047 * OSGi 5.0.0 → 6.0.0
1048
1049 * Powermockito 1.7.4 → 2.0.0, release notes:
1050   * `2.0.0-beta.5 <https://github.com/powermock/powermock/releases/tag/powermock-2.0.0-beta.5>`__
1051   * `2.0.0-RC.1 <https://github.com/powermock/powermock/releases/tag/powermock-2.0.0-RC.1>`__
1052   * `2.0.0 <https://github.com/powermock/powermock/releases/tag/powermock-2.0.0>`__
1053
1054 * SpotBugs `3.1.9 → 3.1.12 <https://github.com/spotbugs/spotbugs/blob/3.1.12/CHANGELOG.md>`__
1055
1056 * ThreeTen `1.4.0 → 1.5.0 <https://www.threeten.org/threeten-extra/changes-report.html#a1.5.0>`__
1057
1058 * Xtend `2.16.0 → 2.17.0 <http://www.eclipse.org/xtend/releasenotes.html#/releasenotes/2019/03/05/version-2-17-0>`__
1059
1060 Plugin removals
1061 ~~~~~~~~~~~~~~~
1062
1063 * gmaven-plugin
1064
1065 * maven-findbugs-plugin
1066
1067 Plugin upgrades
1068 ~~~~~~~~~~~~~~~
1069
1070 * jacoco-maven-plugin `0.8.2 → 0.8.3 <https://github.com/jacoco/jacoco/releases/tag/v0.8.3>`__
1071
1072 * maven-invoker-plugin `3.1.0 → 3.2.0 <https://mail-archives.apache.org/mod_mbox/maven-announce/201901.mbox/%3Cop.zvzdg9tbkdkhrr@desktop-2khsk44%3E>`__
1073
1074 * maven-javadoc-plugin `3.0.1 → 3.1.0 <https://mail-archives.apache.org/mod_mbox/maven-announce/201903.mbox/%3C6064d830-474c-4b43-afef-99502c3a305a%40getmailbird.com%3E>`__
1075
1076 * spotbugs-maven-plugin 3.1.8 → 3.1.11
1077
1078 Version 4.0.9
1079 -------------
1080
1081 This is a bug-fix upgrade from version 4.0.8.
1082
1083 Bug fixes
1084 ~~~~~~~~~
1085
1086 * ``karaf-plugin`` invocation in ``karaf4-parent`` caused previously
1087   patched features to be overwritten with their stock versions, referencing
1088   bundles which were not populated in the local repository. (See
1089   `ODLPARENT-194 <https://jira.opendaylight.org/browse/ODLPARENT-194>`__.)
1090
1091 * ``karaf-plugin`` version in ``karaf4-parent`` is now provided through
1092   plugin management so downstreams can override it without needing
1093   to repeat its configuration.
1094
1095 * ``karaf-plugin`` no longer reads features twice when running discovery,
1096   speeding up the process a bit.
1097
1098 * Recent versions of the SpotBugs Maven plugin use SLF4J 1.8 beta 2, which
1099   can’t use the 1.7.25 implementation we provide; we therefore provide an
1100   implementation of 1.8 beta 2 when SpotBugs is used. (See
1101   `ODLPARENT-184 <https://jira.opendaylight.org/browse/ODLPARENT-184>`__.)
1102
1103 New features
1104 ~~~~~~~~~~~~
1105
1106 * ``odl-woodstox`` wraps the Woodstox StAX implementation which is imposed on
1107   us by Karaf.
1108
1109 Version 4.0.8
1110 -------------
1111
1112 This is a bug-fix and minor upstream bump upgrade from version 4.0.7.
1113
1114 Bug fixes
1115 ~~~~~~~~~
1116
1117 * ``bcprov-ext-jdk15on`` is a superset of ``bcprov-jdk15on``, so there’s no
1118   need to ship both; we now only ship the former. In addition, we install the
1119   Bouncy Castle JARs in ``lib/boot`` so that they continue to be available on
1120   the boot classpath (JDK 9 removes the extension mechanism which was used
1121   previously), and provide the corresponding bundles from the boot classpath
1122   instead of using separate JARs in the system repository. (See
1123   `ODLPARENT-183 <https://jira.opendaylight.org/browse/ODLPARENT-183>`__ and
1124   `ODLPARENT-185 <https://jira.opendaylight.org/browse/ODLPARENT-185>`__.)
1125
1126 * A dependency check has been added to ensure that we don’t run into the
1127   TrieMap dependency bug in 4.0.6 again.
1128
1129 * Dependencies pulled in by features are now checked for convergence, and
1130   ``karaf-plugin`` warns when it finds diverging dependencies (the same
1131   artifact with two different versions). Upstream-provided features are
1132   patched to avoid the following divergences (and upgrade some dependencies in
1133   the process):
1134
1135   * Aries utilities 1.1.0/1.1.3 (upgraded to 1.1.3).
1136   * Commons Beanutils 1.8.3/1.9.3 (upgraded to 1.9.3).
1137   * Commons Codec 1.8/1.10 (upgraded to 1.11).
1138   * ``javax.mail`` 1.4.4/1.4.7 (upgraded to 1.4.7).
1139
1140   (See `ODLPARENT-189 <https://jira.opendaylight.org/browse/ODLPARENT-189>`__.)
1141
1142 New features
1143 ~~~~~~~~~~~~
1144
1145 * ``odl-dropwizard-metrics`` provides Dropwizard Metrics (which are also
1146   available in dependency management).
1147
1148 * ``enunciate-maven-plugin`` is added as the replacement for
1149   ``maven-enunciate-plugin``.
1150
1151 Third-party dependencies
1152 ~~~~~~~~~~~~~~~~~~~~~~~~
1153
1154 The following dependencies are no longer provided by the JVM, starting with
1155 version 11, but we make them available via dependency management for projects
1156 which need them:
1157
1158 * ``javax.annotation-api``.
1159
1160 * JAXB (``jaxb-core``, ``jaxb-impl``).
1161
1162 The following dependencies have been upgraded:
1163
1164 * Checkstyle `8.15 → 8.16 <https://checkstyle.org/releasenotes.html#Release_8.16>`__.
1165
1166 * Dependency Check `4.0.0 → 4.0.2 <https://github.com/jeremylong/DependencyCheck/blob/master/RELEASE_NOTES.md>`__.
1167
1168 * ``git-commit-id`` `2.2.5 → 2.2.6 <https://github.com/ktoso/maven-git-commit-id-plugin/releases>`__.
1169
1170 * Immutables 2.7.1 → 2.7.3:
1171
1172   * `2.7.2 <https://github.com/immutables/immutables#272-2018-11-05>`__.
1173   * `2.7.3 <https://github.com/immutables/immutables#273-2018-11-10>`__.
1174
1175   (2.7.4 breaks our Javadocs.)
1176
1177 * Jackson `2.9.7 → 2.9.8 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.8>`__.
1178
1179 Version 4.0.7
1180 -------------
1181
1182 This is a bug-fix release, correcting the ``triemap`` import declaration.
1183
1184 Version 4.0.6
1185 -------------
1186
1187 This is a bug-fix and minor upstream packaging upgrade from version 4.0.5.
1188
1189 Bug fixes
1190 ~~~~~~~~~
1191
1192 Single-feature-test was broken with JDK 9 and later and Karaf 4.2.2; this
1193 release adds the additional JVM configuration needed.
1194
1195 Third-party dependencies
1196 ~~~~~~~~~~~~~~~~~~~~~~~~
1197
1198 This release adds the ``triemap`` BOM to dependency management.
1199
1200 Version 4.0.5
1201 -------------
1202
1203 This is a bug-fix release: the Karaf Maven plugin, in version 4.2.2, is
1204 `broken <https://issues.apache.org/jira/browse/KARAF-6057>`__ in some cases we
1205 need in OpenDaylight; we revert to 4.2.1 in ``karaf4-parent`` to avoid this.
1206
1207 Version 4.0.4
1208 -------------
1209
1210 This is a bug-fix release, reverting the change made in 4.0.3 to handle
1211 building with either ``zip`` or ``tar.gz`` Karaf archives (which breaks
1212 builds in our infrastructure, without the empty Karaf archive).
1213
1214 Version 4.0.3
1215 -------------
1216
1217 This is a bug-fix and minor upstream bump upgrade from version 4.0.2.
1218
1219 Bug fixes
1220 ~~~~~~~~~
1221
1222 * Our FindBugs configuration for JDK 9 and later caused the plugin to run
1223   everywhere; instead, this version defines the ``findbugs.skip`` property to
1224   disable the plugin in modules where it would be used otherwise.
1225
1226 * The PowerMock declarations in dependency management missed
1227   ``powermock-api-mockito2``, which is necessary for modules using PowerMock
1228   with Mockito 2.
1229
1230 * The “quick” profile (``-Pq``) now skips SpotBugs.
1231
1232 * JSR-305 annotations are now optional, which fixes a number of issues when
1233   building with newer JDKs.
1234
1235 * We provide JAXB with JDK 11 and later (where it is no longer provided by the
1236   base platform).
1237
1238 * ``odlparent-artifacts`` has been updated to accurately represent the
1239   artifacts provided.
1240
1241 * ``javax.activation`` is now excluded from generated features (it’s provided
1242   on Karaf’s boot classpath).
1243
1244 * When the build is configured to build Karaf distributions in ``tar.gz``
1245   archives, but not ``zip`` archives, ``features-test`` used to fail; it will
1246   now used whichever is available
1247   (`ODLPARENT-174 <https://jira.opendaylight.org/browse/ODLPARENT-174>`__).
1248
1249 * Explicit GCs are disabled by default, so that calls to ``System.gc()`` are
1250   ignored
1251   (`ODLPARENT-175 <https://jira.opendaylight.org/browse/ODLPARENT-175>`__).
1252
1253 * Null checks are disabled in SpotBugs because of bad interactions with newer
1254   annotations and the bytecode produces by JDK 11 and later for
1255   ``try``-with-resources.
1256
1257 * Akka Persistence expects LevelDB 0.10, so we now pull in that version
1258   instead of 0.7.
1259
1260 Dependency convergence
1261 ~~~~~~~~~~~~~~~~~~~~~~
1262
1263 A number of dependencies have been added or constrained so that projects using
1264 this parent can enforce dependency convergence:
1265
1266 * Karaf’s ``framework`` feature is used as an import POM, so that we converge
1267   by default on the versions used in Karaf.
1268
1269 * The following dependencies have been added to dependency management:
1270
1271   * ``commons-beanutils``
1272   * the Checker Framework
1273   * Error Prone annotations
1274   * ``javax.activation``
1275   * ``xml-apis``
1276
1277 New features
1278 ~~~~~~~~~~~~
1279
1280 The following Karaf features have been added:
1281
1282 * ``odl-antlr4`` (providing ``antlr4-runtime``);
1283
1284 * ``odl-gson`` (providing ``gson``);
1285
1286 * ``odl-jersey-2`` (providing Jersey client, server, and container servlet,
1287   along with the necessary feature dependencies);
1288
1289 * ``odl-servlet-api`` (providing ``javax.servlet-api``);
1290
1291 * ``odl-stax2-api`` (providing ``stax2-api``);
1292
1293 * ``odl-ws-rs-api`` (providing ``javax.ws.rs-api``);
1294
1295 A new ``sonar-jacoco-aggregate`` profile can be used to produce Sonar reports
1296 with aggregated JaCoCo reports. Additionally, Sonar builds (run with
1297 ``-Dsonar``) are detected and run with a number of irrelevant plugins disabled.
1298
1299 Upstream version upgrades
1300 ~~~~~~~~~~~~~~~~~~~~~~~~~
1301
1302 * Akka 2.5.14 → 2.5.19 (and related ``ssl-config``, Aeron and Agrona upgrades):
1303
1304   * `2.5.15 <https://akka.io/blog/news/2018/08/24/akka-2.5.15-released>`__.
1305   * `2.5.16 <https://akka.io/blog/news/2018/08/29/akka-2.5.16-security-fix-released>`__.
1306   * `2.5.17 <https://akka.io/blog/news/2018/09/27/akka-2.5.17-released>`__.
1307   * `2.5.18 <https://akka.io/blog/news/2018/10/07/akka-2.5.18-released>`__.
1308   * `2.5.19 <https://akka.io/blog/news/2018/12/07/akka-2.5.19-released>`__.
1309
1310 * Commons Text `1.4 → 1.6 <http://www.apache.org/dist/commons/text/RELEASE-NOTES.txt>`__.
1311
1312 * Eclipse JDT annotations 2.2.0 → 2.2.100.
1313
1314 * Javassist 3.23.1 → 3.24.0.
1315
1316 * Karaf 4.2.1 → 4.2.2, with related upgrades.
1317
1318 * LMAX Disruptor `3.4.1 → 3.4.2 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.4.2>`__.
1319
1320 * Mockito `2.20.1 → 2.23.4 <https://github.com/mockito/mockito/blob/release/2.x/doc/release-notes/official.md>`__.
1321
1322 * Netty 4.1.29 → 4.1.31:
1323
1324   * `4.1.30 <https://netty.io/news/2018/09/28/4-1-30-Final.html>`__.
1325   * `4.1.31 <https://netty.io/news/2018/10/30/4-1-31-Final.html>`__.
1326
1327 * Pax Exam 4.12.0 → 4.13.1.
1328
1329 * Scala 2.12.6 → 2.12.8:
1330
1331   * `2.12.7 <https://github.com/scala/scala/releases/tag/v2.12.7>`__.
1332   * `2.12.8 <https://github.com/scala/scala/releases/tag/v2.12.8>`__.
1333
1334 * Wagon HTTP 3.1.0 → 3.2.0.
1335
1336 * Xtend `2.14.0 → 2.16.0 <https://www.eclipse.org/xtend/releasenotes.html>`__.
1337
1338 Plugin version upgrades
1339 ~~~~~~~~~~~~~~~~~~~~~~~
1340
1341 * Asciidoctor `1.5.6 → 1.5.7.1 <https://github.com/asciidoctor/asciidoctor-maven-plugin/releases>`__
1342   (with related AsciidoctorJ upgrades).
1343
1344 * Bundle 4.0.0 → 4.1.0.
1345
1346 * Checkstyle `8.12 → 8.15 <https://checkstyle.org/releasenotes.html#Release_8.13>`__.
1347
1348 * DependencyCheck `3.3.2 → 4.0.0 <https://github.com/jeremylong/DependencyCheck/blob/master/RELEASE_NOTES.md>`__.
1349
1350 * Failsafe / Surefire `2.22.0 → 2.22.1 <https://blogs.apache.org/maven/entry/apache-maven-surefire-plugin-version1>`__.
1351
1352 * Help 3.1.0 → 3.1.1.
1353
1354 * JAR 3.1.0 → 3.1.1.
1355
1356 * PMD `3.10.0 → 3.11.0 <https://blogs.apache.org/maven/entry/apache-maven-pmd-plugin-3>`__.
1357
1358 * Remote Resources `1.5 → 1.6.0 <https://blogs.apache.org/maven/entry/apache-maven-remote-resources-plugin>`__.
1359
1360 * Shade
1361   `3.2.0 → 3.2.1 <https://blog.soebes.de/blog/2018/11/12/apache-maven-shade-plugin-version-3-dot-2-1-released/>`__.
1362
1363 * SpotBugs `3.1.6 → 3.1.9 <https://github.com/spotbugs/spotbugs/blob/release-3.1/CHANGELOG.md>`__.
1364
1365 * XBean finder 4.9 → 4.12.
1366
1367 * XTend 2.14.0 → 2.16.0.
1368
1369 Version 4.0.2
1370 -------------
1371
1372 This is a bug-fix and minor upstream bump upgrade from version 4.0.1.
1373
1374 Bug fixes
1375 ~~~~~~~~~
1376
1377 Previous releases overrode Karaf’s ``jre.properties``; this is no longer
1378 necessary, and was causing failures with Java 9 and later (our version of
1379 ``jre.properties`` didn’t have the appropriate settings for anything after
1380 Java 8). This release drops that override. See
1381 `ODLPARENT-168 <https://jira.opendaylight.org/browse/ODLPARENT-168>`__ for
1382 details.
1383
1384 Upstream version upgrades
1385 ~~~~~~~~~~~~~~~~~~~~~~~~~
1386
1387 * Commons Lang `3.8 → 3.8.1 <http://www.apache.org/dist/commons/lang/RELEASE-NOTES.txt>`__.
1388
1389 * Jackson `2.9.6 → 2.9.7 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.7>`__.
1390
1391 * Netty `4.1.28 → 4.1.29 <http://netty.io/news/2018/08/24/4-1-29-Final.html>`__.
1392
1393 Plugin version upgrades
1394 ~~~~~~~~~~~~~~~~~~~~~~~
1395
1396 * JAR `3.0.2 → 3.1.0 <https://blog.soebes.de/blog/2018/04/10/apache-maven-jar-plugin-version-3-dot-1-dot-0-released>`__.
1397
1398 * Javadoc `3.0.0 → 3.0.1 <https://blogs.apache.org/maven/entry/apache-maven-javadoc-plugin-version>`__.
1399
1400 * Jersey `2.22.2 → 2.25.1 <https://jersey.github.io/release-notes/2.25.html>`__,
1401   along with Glassfish JSON 1.0.4 → 1.1.2.
1402
1403 * Plugin 3.5 → 3.5.2:
1404
1405   * `3.5.1 <https://blog.soebes.de/blog/2018/01/22/apache-maven-plugin-tools-version-3-dot-5-1-released/>`__.
1406   * `3.5.2 <https://blog.soebes.de/blog/2018/05/26/apache-mave-plugin-tools-version-3-dot-5-2-released/>`__.
1407
1408 * Resources `3.0.1 → 3.1.0 <https://blogs.apache.org/maven/entry/apache-maven-resources-plugin-version>`__.
1409
1410 Version 4.0.1
1411 -------------
1412
1413 This is a bug-fix and minor upstream bump upgrade from version 4.0.0.
1414
1415 Bug fixes
1416 ~~~~~~~~~
1417
1418 The JaCoCo execution profile was incorrect, breaking Sonar; the report is now
1419 written correctly, so that Sonar can find it.
1420
1421 The Blueprint Maven plugin fails when it encounters Java 9 classes; this is
1422 fixed by forcefully upgrading its dependency on xbean-finder. See
1423 `ODLPARENT-167 <https://jira.opendaylight.org/browse/ODLPARENT-167>`__ for
1424 details.
1425
1426 Upstream version upgrades
1427 ~~~~~~~~~~~~~~~~~~~~~~~~~
1428
1429 * SpotBugs `3.1.6 → 3.1.7 <https://github.com/spotbugs/spotbugs/blob/release-3.1/CHANGELOG.md>`__.
1430
1431 Upstream version additions
1432 ~~~~~~~~~~~~~~~~~~~~~~~~~~
1433
1434 * Mockito Inline is added alongside Mockito Core, to ensure that the versions
1435   are kept in sync.
1436
1437 Plugin version upgrades
1438 ~~~~~~~~~~~~~~~~~~~~~~~
1439
1440 * Clean `3.0.0 → 3.1.0 <https://blog.soebes.de/blog/2018/04/14/apache-maven-clean-plugin-version-3-dot-1-0-released/>`__.
1441
1442 * Compiler `3.7.0 → 3.8.0 <https://blog.soebes.de/blog/2018/07/30/apache-maven-compiler-plugin-version-3-dot-8-0-released/>`__.
1443
1444 * Dependency 3.0.2 → 3.1.1:
1445
1446   * `3.1.0 <https://blog.soebes.de/blog/2018/04/06/apache-maven-dependency-plugin-version-3-dot-1-0-released/>`__.
1447   * `3.1.1 <https://blog.soebes.de/blog/2018/05/24/apache-maven-dependency-plugin-version-3-dot-1-1-released/>`__.
1448
1449 * Dependency Check `3.3.1 → 3.3.2 <https://github.com/jeremylong/DependencyCheck/blob/master/RELEASE_NOTES.md>`__.
1450
1451 * Enforcer `3.0.0-M1 → 3.0.0-M2 <https://mail-archives.apache.org/mod_mbox/maven-announce/201806.mbox/%3Cop.zko9b2vhkdkhrr%40desktop-2khsk44.dynamic.ziggo.nl%3E>`__.
1452
1453 * Failsafe 2.20.1 → 2.22:
1454
1455   * `2.21 <https://blog.soebes.de/blog/2018/03/06/apache-maven-surefire-plugin-version-2-dot-21-released/>`__.
1456   * `2.22 <https://blog.soebes.de/blog/2018/06/16/apache-maven-surefire-plugin-version-2-dot-22-released/>`__.
1457
1458 * Help 2.2 → 3.1.0:
1459
1460   * `3.0.0 <https://blog.soebes.de/blog/2018/03/18/apache-maven-help-plugin-version-3-dot-0-0-released/>`__.
1461   * `3.0.1 <https://blog.soebes.de/blog/2018/03/28/apache-maven-help-plugin-version-3-dot-0-1-released/>`__.
1462   * `3.1.0 <https://blog.soebes.de/blog/2018/06/09/apache-maven-help-plugin-version-3-dot-1-0-released/>`__.
1463
1464 * Invoker 2.0.0 → 3.1.0:
1465
1466   * `3.0.0 <https://blog.soebes.de/blog/2017/05/24/apache-maven-invoker-plugin-version-3-dot-0-0-released/>`__.
1467   * `3.1.0 <https://blog.soebes.de/blog/2018/05/31/apache-maven-invoker-plugin-version-3-dot-1-0-released/>`__.
1468
1469 * JAR `3.0.2 → 3.1.0 <https://blog.soebes.de/blog/2018/04/10/apache-maven-jar-plugin-version-3-dot-1-dot-0-released/>`__.
1470
1471 * Project Info Reports `2.9 → 3.0.0 <https://blog.soebes.de/blog/2018/06/27/apache-maven-project-info-reports-plugin-3-dot-0-0-released/>`__.
1472
1473 * Resources `3.0.1 → 3.1.0 <https://blog.soebes.de/blog/2018/05/01/apache-maven-resources-plugin-version-3-dot-1-0-released/>`__.
1474
1475 * Shade `3.1.0 → 3.2.0 <https://blog.soebes.de/blog/2018/09/13/apache-maven-shade-plugin-version-3-dot-2-0-released/>`__.
1476
1477 * Site `3.7 → 3.7.1 <https://blog.soebes.de/blog/2018/04/29/apache-maven-site-plugin-version-3-dot-7-1-released/>`__.
1478
1479 * Surefire 2.18.1 → 2.22.0:
1480
1481   * `2.19 <https://blog.soebes.de/blog/2015/10/19/apache-maven-surefire-plugin-version-2-dot-19-released/>`__.
1482   * `2.19.1 <https://blog.soebes.de/blog/2016/01/03/apache-maven-surefire-plugin-version-2-dot-19-dot-1-released/>`__.
1483   * `2.20 <https://blog.soebes.de/blog/2017/04/12/apache-maven-surefire-plugin-version-2-dot-20-released/>`__.
1484   * `2.21 <https://blog.soebes.de/blog/2018/03/06/apache-maven-surefire-plugin-version-2-dot-21-released/>`__.
1485   * `2.22 <https://blog.soebes.de/blog/2018/06/16/apache-maven-surefire-plugin-version-2-dot-22-released/>`__.
1486
1487
1488 Version 4.0.0
1489 -------------
1490
1491 This is a major upgrade from version 3, with breaking changes; projects will
1492 need to make changes to upgrade to this version.
1493
1494 `This Wiki page <https://wiki.opendaylight.org/view/Neon_platform_upgrade>`__
1495 has detailed step-by-step migration instructions.
1496
1497 ODL Parent 4 requires Maven 3.5.3 or later; this is needed in particular to
1498 enable SpotBugs support with current versions of the SpotBugs plugin.
1499
1500 Known issues
1501 ~~~~~~~~~~~~
1502
1503 This release’s SpotBugs support doesn’t handle Guava 25.1 correctly, resulting
1504 in false-positives regarding null handling; see
1505 `ODLPARENT-161 <https://jira.opendaylight.org/browse/ODLPARENT-161>`__ for
1506 details. Until this is fixed, the corresponding warnings are disabled, which
1507 matches our existing FindBugs configuration (which suffers from the a variant
1508 of this, with the same consequences).
1509
1510 We are planning on upgrading Akka during the 4.x cycle, even if it results in
1511 a technically breaking upgrade. This is currently blocked on an OSGi bug in
1512 Akka; see `Akka issue 25579 <https://github.com/akka/akka/issues/25579>`__ for
1513 details.
1514
1515 Blueprint and OSGi service handling
1516 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1517
1518 Previous releases used an OpenDaylight-specific directory for Blueprint XML
1519 files, ``org/opendaylight/blueprint``. It turned out this wasn’t useful, so
1520 version 4 uses the default directory, ``OSGI-INF/blueprint``.
1521
1522 The Maven bundle plugin is now configured to omit the ``Import-Service`` and
1523 ``Export-Service`` headers, since they are deprecated, unnecessary in
1524 OpenDaylight, and liable to cause issues.
1525
1526 With previous releases of OpenDaylight, projects were encouraged to use Pax
1527 CDI API annotations to describe their Blueprint beans, services and injections;
1528 with version 4, Blueprint annotations should be used instead:
1529
1530 * modules should depend on
1531   ``org.apache.aries.blueprint:blueprint-maven-plugin-annotation``, with the
1532   ``<optional>true</optional>`` flag, instead of
1533   ``org.ops4j.pax.cdi:pax-cdi-api``;
1534
1535 * ``@OsgiServiceProvider`` on bean definitions is replaced by ``@Service``;
1536
1537 * ``@OsgiService`` at injection points is replaced by ``@Reference``;
1538
1539 * ``@OsgiService`` on bean definitions, while technically wrong, can be seen in
1540   the OpenDaylight codebase; this is replaced by ``@Service``;
1541
1542 * service lists can be injected using ``@ReferenceList``.
1543
1544 See `this Gerrit patch <https://git.opendaylight.org/gerrit/75699>`__ for an
1545 example.
1546
1547 Compiler settings
1548 ~~~~~~~~~~~~~~~~~
1549
1550 Builds now warn about unchecked type uses (such as raw types where generics
1551 are available).
1552
1553 JUnit and Mockito are always available as test dependencies and no longer need
1554 to be declared in POMs.
1555
1556 New build profiles
1557 ~~~~~~~~~~~~~~~~~~
1558
1559 An OWASP profile is now available to run OWASP’s dependency checker; this will
1560 check all third-party dependencies against the NVD vulnerability database. To
1561 enable this, run Maven with ``-Powasp``.
1562
1563 Build profile changes
1564 ~~~~~~~~~~~~~~~~~~~~~
1565
1566 ``-Pq`` now skips Modernizer.
1567
1568 New features
1569 ~~~~~~~~~~~~
1570
1571 ``odl-akka-leveldb-0.10`` wraps LevelDB 0.10 for Akka.
1572
1573 ``odl-apache-commons-codec`` wraps Apache Commons Codec.
1574
1575 ``odl-apache-commons-lang3`` wraps Apache Commons Lang 3.
1576
1577 ``odl-apache-commons-net`` wraps Apache Commons Net.
1578
1579 ``odl-apache-commons-text`` wraps Apache Commons Text.
1580
1581 ``odl-apache-sshd`` wraps Apache SSHD.
1582
1583 ``odl-guava`` provides the default ODL version of Guava; it should be used
1584 instead of ``odl-guava-23`` or the new ``odl-guava-25``.
1585
1586 ``odl-jackson-2.9`` wraps Jackson 2.9.
1587
1588 New FindBugs and SpotBugs settings
1589 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1590
1591 FindBugs and SpotBugs are configured with
1592 `the SLF4J extension <http://kengotoda.github.io/findbugs-slf4j/>`__ (version
1593 1.4.0 for FindBugs, 1.4.1 for SpotBugs). This will flag misused SLF4J calls, in
1594 particular message templates which don’t match the arguments, and invalid
1595 placeholders (*e.g.* ``%s`` instead of ``{}``).
1596
1597 Deleted artifacts
1598 ~~~~~~~~~~~~~~~~~
1599
1600 ``aggregator-parent`` was unusable outside ``odlparent`` and has been removed.
1601 Instead, the ``maven.deploy.skip`` and ``maven.install.skip`` properties are
1602 available to disable deploying and installing artifacts.
1603
1604 Upstream version upgrades
1605 ~~~~~~~~~~~~~~~~~~~~~~~~~
1606
1607 This version upgrades the following third-party dependencies:
1608
1609 * Aeron 1.7.0 → 1.9.3:
1610
1611   * `1.8.0 <https://github.com/real-logic/aeron/releases/tag/1.8.0>`__.
1612   * `1.8.1 <https://github.com/real-logic/aeron/releases/tag/1.8.1>`__.
1613   * `1.8.2 <https://github.com/real-logic/aeron/releases/tag/1.8.2>`__.
1614   * `1.9.0 <https://github.com/real-logic/aeron/releases/tag/1.9.0>`__.
1615   * `1.9.1 <https://github.com/real-logic/aeron/releases/tag/1.9.1>`__.
1616   * `1.9.2 <https://github.com/real-logic/aeron/releases/tag/1.9.2>`__.
1617   * `1.9.3 <https://github.com/real-logic/aeron/releases/tag/1.9.3>`__.
1618
1619 * Agrona 0.9.12 → 0.9.21:
1620
1621   * `0.9.13 <https://github.com/real-logic/agrona/releases/tag/0.9.13>`__.
1622   * `0.9.14 <https://github.com/real-logic/agrona/releases/tag/0.9.14>`__.
1623   * `0.9.15 <https://github.com/real-logic/agrona/releases/tag/0.9.15>`__.
1624   * `0.9.16 <https://github.com/real-logic/agrona/releases/tag/0.9.16>`__.
1625   * `0.9.17 <https://github.com/real-logic/agrona/releases/tag/0.9.17>`__.
1626   * `0.9.18 <https://github.com/real-logic/agrona/releases/tag/0.9.18>`__.
1627   * `0.9.19 <https://github.com/real-logic/agrona/releases/tag/0.9.19>`__.
1628   * `0.9.20 <https://github.com/real-logic/agrona/releases/tag/0.9.20>`__.
1629   * `0.9.21 <https://github.com/real-logic/agrona/releases/tag/0.9.21>`__.
1630
1631 * Akka 2.5.11 → 2.5.14:
1632
1633   * `2.5.12 <https://akka.io/blog/news/2018/04/13/akka-2.5.12-released>`__.
1634   * `2.5.13 <https://akka.io/blog/news/2018/06/08/akka-2.5.13-released>`__.
1635   * `2.5.14 <https://akka.io/blog/news/2018/07/13/akka-2.5.14-released>`__.
1636
1637 * ASM 5.1 → 6.2.1 (synchronised with Karaf).
1638
1639 * Bouncy Castle `1.59 → 1.60 <https://www.bouncycastle.org/releasenotes.html>`__.
1640
1641 * Checkstyle `8.4 → 8.12 <http://checkstyle.sourceforge.net/releasenotes.html#Release_8.12>`__.
1642
1643 * Commons Lang `3.7 → 3.8 <http://www.apache.org/dist/commons/lang/RELEASE-NOTES.txt>`__.
1644
1645 * Commons Text 1.1 → 1.4:
1646
1647   * `1.2 <https://commons.apache.org/proper/commons-text/release-notes/RELEASE-NOTES-1.2.txt>`__.
1648   * `1.3 <https://commons.apache.org/proper/commons-text/release-notes/RELEASE-NOTES-1.3.txt>`__.
1649   * `1.4 <https://commons.apache.org/proper/commons-text/release-notes/RELEASE-NOTES-1.4.txt>`__.
1650
1651 * Eclipse JDT annotations 2.1.150 → 2.2.0.
1652
1653 * EclipseLink Moxy JAXB `2.7.1 → 2.7.3 <https://www.eclipse.org/eclipselink/releases/2.7.php>`__.
1654
1655 * Enunciate core annotations
1656   `2.10.1 → 2.11.1 <https://github.com/stoicflame/enunciate/releases>`__.
1657
1658 * Felix Metatype 1.1.6 → 1.2.0 (synchronised with Karaf).
1659
1660 * Google Truth `0.40 → 0.42 <https://github.com/google/truth/releases>`__.
1661
1662 * Guava 23.6.1 → 25.1:
1663
1664   * `23.4 <https://github.com/google/guava/releases/tag/v23.4>`__.
1665   * `23.5 <https://github.com/google/guava/releases/tag/v23.5>`__.
1666   * `23.6 <https://github.com/google/guava/releases/tag/v23.6>`__.
1667   * `24.0 <https://github.com/google/guava/releases/tag/v24.0>`__.
1668   * `24.1 <https://github.com/google/guava/releases/tag/v24.1>`__.
1669   * `25.0 <https://github.com/google/guava/releases/tag/v25.0>`__.
1670   * `25.1 <https://github.com/google/guava/releases/tag/v25.1>`__.
1671
1672 * Immutables `2.5.6 → 2.7.1 <https://github.com/immutables/immutables/blob/master/README.md#changelog>`__.
1673
1674 * Jackson 2.8.9 → 2.9.6:
1675
1676   * `2.9 feature overview <https://medium.com/@cowtowncoder/jackson-2-9-features-b2a19029e9ff>`__.
1677   * `2.9 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9>`__.
1678   * `2.9.1 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.1>`__.
1679   * `2.9.2 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.2>`__.
1680   * `2.9.3 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.3>`__.
1681   * `2.9.4 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.4>`__.
1682   * `2.9.5 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.5>`__.
1683   * `2.9.6 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.6>`__.
1684
1685 * JaCoCo `0.8.1 → 0.8.2 <https://github.com/jacoco/jacoco/releases/tag/v0.8.2>`__.
1686
1687 * Javassist 3.22.0 → 3.23.1. This provides compatibility with Java 9 and later,
1688   and `fixes a file handle leak <https://github.com/jboss-javassist/javassist/issues/165>`__.
1689
1690 * Jettison 1.3.8 → 1.4.0.
1691
1692 * Jetty 9.3.21 → 9.4.11 (synchronised with Karaf):
1693
1694   * `9.4.0 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00097.html>`__.
1695   * `9.4.1 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00100.html>`__.
1696   * `9.4.2 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00101.html>`__.
1697   * `9.4.3 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00102.html>`__.
1698   * `9.4.4 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00105.html>`__.
1699   * `9.4.5 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00107.html>`__.
1700   * `9.4.6 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00109.html>`__.
1701   * `9.4.7 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00111.html>`__.
1702   * `9.4.8 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00114.html>`__.
1703   * `9.4.9 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00117.html>`__.
1704   * `9.4.10 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00119.html>`__.
1705   * `9.4.11 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00122.html>`__.
1706
1707 * Jolokia OSGi `1.5.0 → 1.6.0 <https://jolokia.org/changes-report.html#a1.6.0>`__.
1708
1709 * Karaf 4.1.5 → 4.2.1:
1710
1711   * `4.1.6 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12342748>`__.
1712   * `4.2.1 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12342945>`__.
1713
1714 * LMAX Disruptor 3.3.10 → 3.4.1:
1715
1716   * `3.4.0 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.4.0>`__.
1717   * `3.4.1 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.4.1>`__.
1718
1719 * META-INF services 1.7 → 1.8.
1720
1721 * Mockito 1.10.19 → 2.20.1; see
1722   `What’s new in Mockito 2 <https://github.com/mockito/mockito/wiki/What%27s-new-in-Mockito-2>`__
1723   for upgrade instructions and
1724   `the list of issues you might run into <https://asolntsev.github.io/en/2016/10/11/mockito-2.1/>`__.
1725
1726 * Netty 4.1.22 → 4.1.28:
1727
1728   * `4.1.17 <http://netty.io/news/2017/11/08/4-0-53-Final-4-1-17-Final.html>`__.
1729   * `4.1.18 <http://netty.io/news/2017/12/11/4-0-54-Final-4-1-18-Final.html>`__.
1730   * `4.1.19 <http://netty.io/news/2017/12/18/4-1-19-Final.html>`__.
1731   * `4.1.20 <http://netty.io/news/2018/01/22/4-0-55-Final-4-1-20-Final.html>`__.
1732   * `4.1.21 <http://netty.io/news/2018/02/05/4-0-56-Final-4-1-21-Final.html>`__.
1733   * `4.1.22 <http://netty.io/news/2018/02/21/4-1-22-Final.html>`__.
1734   * `4.1.23 <http://netty.io/news/2018/04/04/4-1-23-Final.html>`__.
1735   * `4.1.24 <http://netty.io/news/2018/04/19/4-1-24-Final.html>`__.
1736   * `4.1.25 <http://netty.io/news/2018/05/14/4-1-25-Final.html>`__.
1737   * `4.1.26 <http://netty.io/news/2018/07/10/4-1-26-Final.html>`__.
1738   * `4.1.27 <http://netty.io/news/2018/07/11/4-1-27-Final.html>`__.
1739   * `4.1.28 <http://netty.io/news/2018/07/27/4-1-28-Final.html>`__.
1740
1741 * Pax Exam 4.11.0 → 4.12.0.
1742
1743 * Pax URL 2.5.3 → 2.5.4, which only fixes
1744   `a potential NullPointerException <https://ops4j1.jira.com/browse/PAXURL-346>`__.
1745
1746 * PowerMock 1.6.4 → 1.7.4:
1747
1748   * `1.6.5 <https://github.com/powermock/powermock/releases/tag/powermock-1.6.5>`__.
1749   * `1.6.6 <https://github.com/powermock/powermock/releases/tag/powermock-1.6.6>`__.
1750   * `1.7.0 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.0>`__.
1751   * `1.7.1 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.1>`__.
1752   * `1.7.2 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.2>`__.
1753   * `1.7.3 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.3>`__.
1754   * `1.7.4 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.4>`__.
1755
1756 * Scala parser combinators 1.0.7 → 1.1.1:
1757
1758   * `1.1.0 <https://github.com/scala/scala-parser-combinators/releases/tag/v1.1.0>`__.
1759   * `1.1.1 <https://github.com/scala/scala-parser-combinators/releases/tag/v1.1.1>`__.
1760
1761 * SpotBugs `3.1.0 → 3.1.6 <https://github.com/spotbugs/spotbugs/blob/3.1.6/CHANGELOG.md>`__.
1762
1763 * Threeten Extra `1.3.2 → 1.4 <https://github.com/ThreeTen/threeten-extra/releases>`__.
1764
1765 * Typesafe SSL config 0.2.2 → 0.2.4:
1766
1767   * `0.2.3 <https://github.com/lightbend/ssl-config/releases/tag/v0.2.3>`__.
1768   * `0.2.4 <https://github.com/lightbend/ssl-config/releases/tag/v0.2.4>`__.
1769
1770 * Wagon HTTP
1771   `2.10 → 3.1.0 <https://lists.apache.org/thread.html/96024c54db7680697cb066e22a37b0ed5b4498386714a8a9ae1ec9cd@%3Cannounce.maven.apache.org%3E>`__.
1772
1773 * XMLUnit `1.6 → 2.6.2 <https://github.com/xmlunit/xmlunit/blob/master/RELEASE_NOTES.md>`__.
1774
1775 Upstream version additions
1776 ~~~~~~~~~~~~~~~~~~~~~~~~~~
1777
1778 The following upstream dependencies have been added to dependency management:
1779
1780 * Apache SSHD 2.0.0, with EdDSA and Netty support (EdDSA is provided by ``net.i2p.crypto:eddsa``).
1781
1782 * Blueprint annotations (``org.apache.aries.blueprint:blueprint-maven-plugin-annotation``).
1783
1784 * Log4J2.
1785
1786 * Pax Web 7.2.3 (synchronised with Karaf).
1787
1788 Upstream version removals
1789 ~~~~~~~~~~~~~~~~~~~~~~~~~
1790
1791 The following upstream dependencies have been removed from dependency management:
1792
1793 * Google Protobuf.
1794
1795 * Our repackaging of Jersey Servlet.
1796
1797 * JUnit’s ``junit-dep``, which has long been obsolete.
1798
1799 * LevelDB (which is still available as features).
1800
1801 * Pax CDI API — Blueprint annotations should be used instead.
1802
1803 Plugin version upgrades
1804 ~~~~~~~~~~~~~~~~~~~~~~~
1805
1806 The following plugins have been upgraded:
1807
1808 * Blueprint 1.4.0 → 1.10.0.
1809
1810 * Build helper 1.12 → 3.0.0.
1811
1812 * Bundle plugin 3.5.0 → 4.0.0.
1813
1814 * Checkstyle
1815   `2.17 → 3.0.0 <https://mail-archives.apache.org/mod_mbox/maven-announce/201801.mbox/%3Cop.zchs68akkdkhrr%40desktop-2khsk44.mshome.net%3E>`__.
1816
1817 * Duplicate finder
1818   `1.2.1 → 1.3.0 <https://github.com/basepom/duplicate-finder-maven-plugin/blob/master/CHANGES.md>`__.
1819
1820 * Git commit id `2.2.4 → 2.2.5 <https://github.com/ktoso/maven-git-commit-id-plugin/releases/tag/v2.2.5>`__.
1821
1822 * Jacoco Maven plugin `0.8.1 → 0.8.2 <https://github.com/jacoco/jacoco/releases/tag/v0.8.2>`__.
1823
1824 * Javadoc `3.0.0 → 3.0.1 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317529&version=12342283>`__.
1825
1826 * PMD 3.8 → 3.10.0:
1827
1828   * `3.10.0 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12342689&styleName=Text&projectId=12317621>`__.
1829
1830 * Sevntu `1.29.0 → 1.32.0 <http://sevntu-checkstyle.github.io/sevntu.checkstyle/#1.32.0>`__.
1831
1832 * SpotBugs 3.1.0-RC6 → 3.1.6 (see the SpotBugs changes above).
1833
1834 Version 3.1.3
1835 -------------
1836
1837 This version fixes the following issues:
1838
1839 * `ODLPARENT-156 <https://jira.opendaylight.org/browse/ODLPARENT-156>`_:
1840   ``xtend-maven-plugin``’s dependencies end up pulling in conflicting
1841   dependencies. ODL Parent now constrains part of its dependency tree to avoid
1842   this.
1843
1844 This version adds ``odl-jackson-2.8`` to ``odlparent-artifacts``.
1845
1846 Version 3.1.2
1847 -------------
1848
1849 This version fixes the following issues:
1850
1851 * `INFRAUTILS-41 <https://jira.opendaylight.org/browse/INFRAUTILS-41>`_:
1852   ``jre.properties`` includes ``com.sun.management`` so that it can be
1853   enabled if necessary. (This doesn’t add a dependency on
1854   ``com.sun.management``, it allows bundles to use it if it is present.)
1855
1856 * `ODLPARENT-136 <https://jira.opendaylight.org/browse/ODLPARENT-136>`_:
1857   ``SingleFeatureTest`` pulls in ``org.osgi.compendium``.
1858
1859 * `ODLPARENT-144 <https://jira.opendaylight.org/browse/ODLPARENT-144>`_:
1860   ``org.apache.karaf.scr.management`` is whitelisted so that it no longer
1861   affects ``SingleFeatureTest``.
1862
1863 * `ODLPARENT-146 <https://jira.opendaylight.org/browse/ODLPARENT-146>`_:
1864   null-related FindBugs checks which produce false-positives with Guava 23.6
1865   and later are disabled, so that this really is fully backwards-compatible
1866   with 3.0 and later.
1867
1868 * `ODLPARENT-148 <https://jira.opendaylight.org/browse/ODLPARENT-148>`_:
1869   ``SingleFeatureTest`` preserves ``target/SFT/karaf.log``.
1870
1871 This version includes the following improvements:
1872
1873 * ``custom.properties`` no longer includes OVSDB-specific configuration.
1874
1875 * The ``odl-jersey-1`` feature includes the Jersey client.
1876
1877 * Redundant bundle dependency declarations in ``SingleFeatureTest`` have been
1878   removed (these are declarations which are also present in our base Karaf
1879   distribution).
1880
1881 * Build errors involving invalid feature or bundle URLs now indicate which
1882   feature is at fault.
1883
1884 * Obsolete Log4J overrides have been removed from ``SingleFeatureTest``.
1885
1886 When building using JDK 9 or 10, the default settings have been changed as
1887 follows to avoid errors or extraneous warnings:
1888
1889 * SFT is disabled (it needs Karaf 4.2 or later);
1890
1891 * Javadocs are generated as HTML 4;
1892
1893 * SpotBugs is disabled on JDK 10 or later;
1894
1895 * FindBugs is disabled on JDK 9 or later.
1896
1897 The following third-party dependencies have been upgraded:
1898
1899 * `EclipseLink Moxy JAXB 2.6.2 → 2.7.1 <https://www.eclipse.org/eclipselink/releases/2.7.php>`_.
1900
1901 * `Google Truth 0.36 → 0.40 <https://github.com/google/truth/releases>`_.
1902
1903 * `Gson 2.8.2 → 2.8.5 <https://github.com/google/gson/blob/master/CHANGELOG.md>`_.
1904
1905 * `Guava 23.6 → 23.6.1 <https://github.com/google/guava/compare/v23.6...v23.6.1>`_.
1906   This addresses CVE-2018-10237 (that’s the only change in this release).
1907
1908 * `Jacoco Maven plugin 0.8.0 → 0.8.1 <https://github.com/jacoco/jacoco/releases/tag/v0.8.1>`_.
1909
1910 * JDT annotations 2.1.0 → 2.1.150.
1911
1912 * `Scala 2.12.5 → 2.12.6 <https://github.com/scala/scala/releases/tag/v2.12.6>`_.
1913
1914 * `Scala Parser Combinators 1.0.6 → 1.0.7 <https://github.com/scala/scala-parser-combinators/releases/tag/v1.0.7>`_.
1915
1916 * `Sevntu 1.24.2 → 1.29.0 <https://sevntu-checkstyle.github.io/sevntu.checkstyle/#1.29.0>`_.
1917
1918 * `Xtext and Xtend 2.13.0 → 2.14.0 <https://github.com/eclipse/xtext/blob/website-master/xtend-website/_posts/releasenotes/2018-05-23-version-2-14-0.md>`_.
1919
1920 The following Maven plugin has been upgraded:
1921
1922 * `Javadoc 3.0.0 → 3.0.1 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317529&version=12342283>`_.
1923
1924 Version 3.1.1
1925 -------------
1926
1927 This version fixes the following issues:
1928
1929 * `ODLPARENT-137 <https://jira.opendaylight.org/browse/ODLPARENT-137>`_:
1930   restore the OpenDaylight prompt.
1931
1932 * `ODLPARENT-146 <https://jira.opendaylight.org/browse/ODLPARENT-146>`_:
1933   Guava 23.6 switched from @Nullable to @NullableDecl, which causes false
1934   positives in FindBugs’ ``NP_NONNULL_PARAM_VIOLATION`` rule; we’re
1935   disabling the rule for now.
1936
1937 Version 3.1.0
1938 -------------
1939
1940 This version fixes the following issues:
1941
1942 * Mycila dependencies are now “compile” scoped rather than “test”; this allows
1943   child projects to use Guice with Mycila more easily.
1944
1945 * The duplicate finder now ignores ``web.xml`` and BluePrint XML files.
1946
1947 This version includes the following improvements:
1948
1949 * The ``-Pq`` profile skips Maven Modernizer, in preparation for its future
1950   integration (and its use in child projects).
1951
1952 * An OWASP profile, ``-Powasp`` is available for vulnerability checking.
1953
1954 * A new ``odl-jackson-2.8`` feature provides Jackson 2.8 to child projects.
1955
1956 The following third-party dependencies have been added to dependency management:
1957
1958 * `ThreeTen-Extra <http://www.threeten.org/threeten-extra/>`_
1959
1960 The following third-party dependencies have been upgraded:
1961
1962 * Aeron 1.2.5 → 1.7.0; release notes:
1963
1964   * `1.3.0 <https://github.com/real-logic/aeron/releases/tag/1.3.0>`_
1965   * `1.4.0 <https://github.com/real-logic/aeron/releases/tag/1.4.0>`_
1966   * `1.5.0 <https://github.com/real-logic/aeron/releases/tag/1.5.0>`_
1967   * `1.5.1 <https://github.com/real-logic/aeron/releases/tag/1.5.1>`_
1968   * `1.5.2 <https://github.com/real-logic/aeron/releases/tag/1.5.2>`_
1969   * `1.6.0 <https://github.com/real-logic/aeron/releases/tag/1.6.0>`_
1970   * `1.7.0 <https://github.com/real-logic/aeron/releases/tag/1.7.0>`_
1971
1972 * Agrona 0.9.5 → 0.9.12; release notes:
1973
1974   * `0.9.6 <https://github.com/real-logic/Agrona/releases/tag/0.9.6>`_
1975   * `0.9.7 <https://github.com/real-logic/Agrona/releases/tag/0.9.7>`_
1976   * `0.9.8 <https://github.com/real-logic/Agrona/releases/tag/0.9.8>`_
1977   * `0.9.9 <https://github.com/real-logic/Agrona/releases/tag/0.9.9>`_
1978   * `0.9.10 <https://github.com/real-logic/Agrona/releases/tag/0.9.10>`_
1979   * `0.9.11 <https://github.com/real-logic/Agrona/releases/tag/0.9.11>`_
1980   * `0.9.12 <https://github.com/real-logic/Agrona/releases/tag/0.9.12>`_
1981
1982 * Akka 2.5.5 → 2.5.11; release notes:
1983
1984   * `2.5.6 <https://akka.io/blog/news/2017/09/28/akka-2.5.6-released>`_
1985   * `2.5.7 <https://akka.io/blog/news/2017/11/17/akka-2.5.7-released>`_
1986   * `2.5.8 <https://akka.io/blog/news/2017/12/08/akka-2.5.8-released>`_
1987   * `2.5.9 <https://akka.io/blog/news/2018/01/11/akka-2.5.9-released-2.4.x-end-of-life>`_
1988   * `2.5.10 <https://akka.io/blog/news/2018/02/23/akka-2.5.10-released>`_
1989   * `2.5.11 <https://akka.io/blog/news/2018/02/28/akka-2.5.11-released>`_
1990
1991 * Commons Lang 3 `3.6 → 3.7 <http://www.apache.org/dist/commons/lang/RELEASE-NOTES.txt>`_
1992
1993 * Guava 23.3 → 23.6; release notes:
1994
1995   * `23.4 <https://github.com/google/guava/releases/tag/v23.4>`_
1996   * `23.5 <https://github.com/google/guava/releases/tag/v23.5>`_
1997   * `23.6 <https://github.com/google/guava/releases/tag/v23.6>`_
1998
1999 * H2 database `1.4.193 → 1.4.196 <http://www.h2database.com/html/changelog.html>`_
2000
2001 * Jacoco `0.7.9 → 0.8.0 <https://github.com/jacoco/jacoco/releases/tag/v0.8.0>`_
2002
2003 * Javassist `3.21.0 → 3.22.0 <https://github.com/jboss-javassist/javassist/compare/rel_3_21_0_ga...rel_3_22_0_ga>`_
2004
2005 * lmax-disruptor 3.3.7 → 3.3.10; release notes:
2006
2007   * `3.3.8 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.3.8>`_
2008   * `3.3.9 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.3.9>`_
2009   * `3.3.10 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.3.10>`_
2010
2011 * Netty 4.1.16 → 4.1.22; release notes:
2012
2013   * `4.1.17 <http://netty.io/news/2017/11/08/4-0-53-Final-4-1-17-Final.html>`_
2014   * `4.1.18 <http://netty.io/news/2017/12/11/4-0-54-Final-4-1-18-Final.html>`_
2015   * `4.1.19 <http://netty.io/news/2017/12/18/4-1-19-Final.html>`_
2016   * `4.1.20 <http://netty.io/news/2018/01/22/4-0-55-Final-4-1-20-Final.html>`_
2017   * `4.1.21 <http://netty.io/news/2018/02/05/4-0-56-Final-4-1-21-Final.html>`_
2018   * `4.1.22 <http://netty.io/news/2018/02/21/4-1-22-Final.html>`_
2019
2020 * Scala `2.12.4 → 2.12.5 <http://www.scala-lang.org/news/2.12.5>`_
2021
2022 * Typesafe Config `0.2.1 → 0.2.2 <https://github.com/typesafehub/config/blob/master/NEWS.md>`_
2023
2024 The following Maven plugins have been upgraded:
2025
2026 * FindBugs 3.0.4 → 3.0.5
2027
2028 * Git commit id 2.2.2 → 2.2.4; release notes:
2029
2030   * `2.2.3 <https://github.com/ktoso/maven-git-commit-id-plugin/releases/tag/v2.2.3>`_
2031   * `2.2.4 <https://github.com/ktoso/maven-git-commit-id-plugin/releases/tag/v2.2.4>`_
2032
2033 Version 3.0.3
2034 -------------
2035
2036 This version fixes the following issues:
2037
2038 * `ODLPARENT-136`_: ``features-test`` needs ``org.osgi.compendium``.
2039
2040 * Jackson dependencies are declared using ``jackson-bom`` to ensure all they
2041   remain consistent.
2042
2043 * ``find-duplicate-classpath-entries`` is run in the “verify” phase rather than
2044   the “validate” phase, which is too early.
2045
2046 * The version of Jetty we pull in is now aligned with that declared in Karaf,
2047   resolving a number of restart and dependency issues.
2048
2049 * Pulling in the ``wrap`` feature unconditionally is no longer necessary, so
2050   ``karaf4-parent`` no longer does so.
2051
2052 * ``metainf-services`` are declared with scope “provided” to avoid their being
2053   included in downstream features (it’s a build-time dependency only).
2054
2055 * ``leveldb-api`` is excluded from ``odl-akka-leveldb-0.7``, and ``jsr250-api``
2056   from ``enunciate-core-annotations``, to avoid duplicate having classes on the
2057   classpath.
2058
2059 * Since the ``ssh`` feature is excluded from generated features, our Karaf
2060   need to enable it at boot in all cases.
2061
2062 * ``bundle-test-lib`` is now a bundle.
2063
2064 * Since we use static SLF4J loggers, the ``SLF4J_LOGGER_SHOULD_BE_NON_STATIC``
2065   rule needs to be disabled in our FindBugs configuration (this allows
2066   downstream projects to enable ``findbugs-slf4j`` without having to deal with
2067   all the resulting false-positives).
2068
2069 * ``org.apache.karaf.scr.management`` is white-listed in SFT to avoid failures
2070   apparently related to that component (which we don’t care about).
2071
2072 .. _ODLPARENT-136: https://jira.opendaylight.org/browse/ODLPARENT-136
2073
2074 This version upgrades the following third-party dependencies:
2075
2076 * `Antlr 4.7 → 4.7.1`_
2077
2078 * `BouncyCastle 1.58 → 1.59`_
2079
2080 * Jersey 1.17 → 1.19.4 (additionally available as the ``odl-jersey-1`` feature)
2081
2082 * Jolokia 1.3.7 → 1.5.0
2083
2084 * Karaf 4.1.3 → 4.1.5; release notes:
2085
2086   * `Karaf 4.1.4`_
2087   * `Karaf 4.1.5`_
2088
2089 .. _Antlr 4.7 → 4.7.1: https://github.com/antlr/antlr4/releases/tag/4.7.1
2090 .. _BouncyCastle 1.58 → 1.59: https://www.bouncycastle.org/releasenotes.html
2091 .. _Karaf 4.1.4: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12341702
2092 .. _Karaf 4.1.5: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12342294
2093
2094 Version 3.0.2
2095 -------------
2096
2097 This version fixes the following issues:
2098
2099 * SingleFeatureTest uses the configured local Maven repository for Pax Exam.
2100
2101 * JavaDoc links are disabled for now to `speed up builds`_. A new
2102   ``javadoc-links`` profile enables the links.
2103
2104 * Conditional feature dependencies are processed, ensuring our
2105   `distribution is complete`_.
2106
2107 * Startup features are `adjusted for Karaf 4.1`_, avoiding unnecessary
2108   refreshes.
2109
2110 * The ``hiddenField`` Checkstyle check is disabled for abstract methods.
2111
2112 * The default logging configuration uses Log4J2, which is the new default in
2113   Karaf 4.1.
2114
2115 .. _speed up builds: https://jira.opendaylight.org/browse/ODLPARENT-121
2116 .. _distribution is complete: https://jira.opendaylight.org/browse/ODLPARENT-133
2117 .. _adjusted for Karaf 4.1: https://jira.opendaylight.org/browse/ODLPARENT-134
2118
2119 This version upgrades the following dependencies or plugins:
2120
2121 * ``maven-enforcer-plugin`` 1.4.1 → 3.0.0-M1
2122
2123 * ``maven-javadoc-plugin`` 3.0.0-M1 → 3.0.0
2124
2125 Version 3.0.1
2126 -------------
2127
2128 This version fixes the following issues:
2129
2130 * Karaf pulls in an invalid Hibernate feature repository, breaking downstream
2131   dependencies pulling in the “war” feature. ``populate-local-repo`` corrects
2132   the repository dependency.
2133
2134
2135 Version 3.0.0
2136 -------------
2137
2138 Compiler settings
2139 ~~~~~~~~~~~~~~~~~
2140
2141 Build now show compiler warnings and deprecation warnings. This doesn't affect
2142 the result or require any changes currently, it just makes the issues more
2143 visible.
2144
2145 New Checkstyle rules
2146 ~~~~~~~~~~~~~~~~~~~~
2147
2148 Checkstyle has been upgraded from 7.6 to 8.4 (see the
2149 `Checkstyle release notes`_ for details), and Sevntu from 1.21.0 to 1.24.2
2150 (note that the latter's group identifier changed from
2151 ``com.github.sevntu.checkstyle`` to ``com.github.sevntu-checkstyle``; you
2152 might need to update your IDE's configuration).
2153
2154 The following Checkstyle rules are enabled; this might require changes in
2155 projects which enforce Checkstyle validation:
2156
2157 * `AvoidHidingCauseExceptionCheck`_
2158 * `FinalClass`_: utility classes must be declared ``final``
2159 * `HiddenField`_: fields must not be shadowed
2160 * `HideUtilityClassConstructor`_: utility classes must hide their constructor
2161
2162 .. _Checkstyle release notes: http://checkstyle.sourceforge.net/releasenotes.html
2163
2164 .. _AvoidHidingCauseExceptionCheck: http://sevntu-checkstyle.github.io/sevntu.checkstyle/apidocs/com/github/sevntu/checkstyle/checks/coding/AvoidHidingCauseExceptionCheck.html
2165 .. _FinalClass: http://checkstyle.sourceforge.net/config_design.html#FinalClass
2166 .. _HiddenField: http://checkstyle.sourceforge.net/config_coding.html#HiddenField
2167 .. _HideUtilityClassConstructor: http://checkstyle.sourceforge.net/config_design.html#HideUtilityClassConstructor
2168
2169 Karaf
2170 ~~~~~
2171
2172 Karaf has been upgraded to 4.1.3. This should be transparent for dependent
2173 projects.
2174
2175 Karaf distributions
2176 ~~~~~~~~~~~~~~~~~~~
2177
2178 * When building a Karaf distribution using ``karaf4-parent``, projects can
2179   specify which archives to build: the ``karaf.archiveZip`` property will
2180   enable ZIP files if true, and ``karaf.archiveTarGz`` will enable
2181   gzip-compressed tarballs if true. By default both are enabled.
2182
2183 * Our Karaf distribution provides Bouncy Castle at startup. Auto-generated
2184   feature descriptors take this into account (they won't embed a Bouncy
2185   Castle dependency).
2186
2187 Feature removals
2188 ~~~~~~~~~~~~~~~~
2189
2190 * The ``odl-triemap-0.2`` feature wrapping
2191   ``com.github.romix:java-concurrent-hash-trie-map`` was rendered obsolete by
2192   YANG Tools' implementation and has been removed.
2193
2194 Feature additions
2195 ~~~~~~~~~~~~~~~~~
2196
2197 * ``odl-javassist-3`` provides Javassist in a feature.
2198
2199 * ``odl-jung-2.1`` provides `JUNG`_ in a feature.
2200
2201 .. _JUNG: http://jung.sourceforge.net/
2202
2203 Upstream version upgrades
2204 ~~~~~~~~~~~~~~~~~~~~~~~~~
2205
2206 The following upstream dependencies have been upgraded:
2207
2208 * Akka 2.4.18 → 2.5.4; release notes:
2209
2210   * `Akka 2.5.0`_
2211   * `Akka 2.5.1`_
2212   * `Akka 2.5.2`_
2213   * `Akka 2.5.3`_
2214   * `Akka 2.5.4`_
2215
2216 * `Awaitility 2 → 3`_
2217
2218 * `Bouncy Castle 1.57 → 1.58`_
2219
2220 * `Commons Codec 1.10 → 1.11`_
2221
2222 * `Commons File Upload 1.3.2 → 1.3.3`_
2223
2224 * `Commons IO 2.5 → 2.6`_
2225
2226 * Eclipse JDT annotations 2.0.0 → 2.1.0
2227
2228 * Felix Dependency Manager 4.3.0 → 4.4.1
2229 * Felix Dependency Manager Shell 4.0.4 → 4.0.6
2230 * Felix Metatype 1.1.2 → 1.1.6
2231
2232 * `Google Truth 0.28 → 0.36`_ (with the Java 8 extensions)
2233
2234 * `Gson 2.7 → 2.8.2`_
2235
2236 * Guava 22 → 23.3 along with the associated feature name change from
2237   ``odl-guava-22`` to ``odl-guava-23`` (dependent packages *must* change their
2238   dependency); release notes:
2239
2240   * `Guava 23`_
2241   * `Guava 23.1`_
2242   * `Guava 23.2`_
2243   * `Guava 23.3`_
2244
2245 * Immutables 2.4.2 → 2.5.6
2246
2247 * Jackson 2.3.2 → 2.8.9
2248
2249 * Jacoco 0.7.7 → 0.7.9; release notes:
2250
2251   * `Jacoco 0.7.8`_
2252   * `Jacoco 0.7.9`_
2253
2254 * Jacoco Listeners 2.4 → 3.8
2255
2256 * `Javassist 3.20.0 → 3.21.0`_
2257
2258 * `Jettison 1.3.7 → 1.3.8`_
2259
2260 * `Jolokia 1.3.6 → 1.3.7`_
2261
2262 * `JSONassert 1.3.0 → 1.5.0`_
2263
2264 * `logback 1.2.2 → 1.2.3`_
2265
2266 * `LMAX Disruptor 3.3.6 → 3.3.7`_
2267
2268 * Netty 4.1.8 → 4.1.16; release notes:
2269
2270   * `Netty 4.1.9`_
2271   * `Netty 4.1.10`_
2272   * `Netty 4.1.11`_
2273   * `Netty 4.1.12`_
2274   * `Netty 4.1.13`_
2275   * `Netty 4.1.14`_
2276   * `Netty 4.1.15`_
2277   * `Netty 4.1.16`_
2278
2279 * `Pax URL 2.5.2 → 2.5.3`_
2280
2281 * Scala 2.11.11 → 2.12.4; release notes:
2282
2283   * `Scala 2.12.0`_
2284   * `Scala 2.12.1`_
2285   * `Scala 2.12.2`_
2286   * `Scala 2.12.3`_
2287   * `Scala 2.12.4`_
2288
2289 * Servlet API 3.0.1 → 3.1.0
2290
2291 * `SLF4J 1.7.21 → 1.7.25`_
2292
2293 * `webcohesion enunciate 2.6.0 → 2.10.1`_
2294
2295 * `Xtend 2.12 → 2.13`_
2296
2297 .. _Akka 2.5.0: http://akka.io/blog/news/2017/04/13/akka-2.5.0-released
2298 .. _Akka 2.5.1: http://akka.io/blog/news/2017/05/02/akka-2.5.1-released
2299 .. _Akka 2.5.2: http://akka.io/blog/news/2017/05/24/akka-2.5.2-released
2300 .. _Akka 2.5.3: http://akka.io/blog/news/2017/06/19/akka-2.5.3-released
2301 .. _Akka 2.5.4: http://akka.io/blog/news/2017/08/10/akka-2.5.4-released
2302
2303 .. _Awaitility 2 → 3: https://github.com/awaitility/awaitility/wiki/ReleaseNotes30
2304
2305 .. _Bouncy Castle 1.57 → 1.58: https://www.bouncycastle.org/releasenotes.html
2306
2307 .. _Commons Codec 1.10 → 1.11: http://www.apache.org/dist/commons/codec/RELEASE-NOTES.txt
2308
2309 .. _Commons File Upload 1.3.2 → 1.3.3: http://www.apache.org/dist/commons/fileupload/RELEASE-NOTES.txt
2310
2311 .. _Commons IO 2.5 → 2.6: http://www.apache.org/dist/commons/io/RELEASE-NOTES.txt
2312
2313 .. _Google Truth 0.28 → 0.36: https://github.com/google/truth/releases
2314
2315 .. _Gson 2.7 → 2.8.2: https://github.com/google/gson/blob/master/CHANGELOG.md
2316
2317 .. _Guava 23: https://github.com/google/guava/wiki/Release23
2318 .. _Guava 23.1: https://github.com/google/guava/releases/tag/v23.1
2319 .. _Guava 23.2: https://github.com/google/guava/releases/tag/v23.2
2320 .. _Guava 23.3: https://github.com/google/guava/releases/tag/v23.3
2321
2322 .. _Jacoco 0.7.8: https://github.com/jacoco/jacoco/releases/tag/v0.7.8
2323 .. _Jacoco 0.7.9: https://github.com/jacoco/jacoco/releases/tag/v0.7.9
2324
2325 .. _Javassist 3.20.0 → 3.21.0: https://github.com/jboss-javassist/javassist/compare/rel_3_20_0_ga...rel_3_21_0_ga
2326
2327 .. _Jettison 1.3.7 → 1.3.8: https://github.com/jettison-json/jettison/compare/jettison-1.3.7...jettison-1.3.8
2328
2329 .. _Jolokia 1.3.6 → 1.3.7: https://github.com/rhuss/jolokia/releases/tag/v1.3.7
2330
2331 .. _JSONassert 1.3.0 → 1.5.0: https://github.com/skyscreamer/JSONassert/releases
2332
2333 .. _logback 1.2.2 → 1.2.3: https://logback.qos.ch/news.html
2334
2335 .. _LMAX Disruptor 3.3.6 → 3.3.7: https://github.com/LMAX-Exchange/disruptor/releases/tag/3.3.7
2336
2337 .. _Netty 4.1.9: http://netty.io/news/2017/03/10/4-0-45-Final-4-1-9-Final.html
2338 .. _Netty 4.1.10: http://netty.io/news/2017/04/30/4-0-46-Final-4-1-10-Final.html
2339 .. _Netty 4.1.11: http://netty.io/news/2017/05/12/4-0-47-Final-4-1-11-Final.html
2340 .. _Netty 4.1.12: http://netty.io/news/2017/06/09/4-0-48-Final-4-1-12-Final.html
2341 .. _Netty 4.1.13: http://netty.io/news/2017/07/06/4-0-49-Final-4-1-13-Final.html
2342 .. _Netty 4.1.14: http://netty.io/news/2017/08/03/4-0-50-Final-4-1-14-Final.html
2343 .. _Netty 4.1.15: http://netty.io/news/2017/08/25/4-0-51-Final-4-1-15-Final.html
2344 .. _Netty 4.1.16: http://netty.io/news/2017/09/25/4-0-52-Final-4-1-16-Final.html
2345
2346 .. _Pax URL 2.5.2 → 2.5.3: https://ops4j1.jira.com/browse/PAXURL-345?jql=project%20%3D%20PAXURL%20AND%20fixVersion%20%3D%202.5.3
2347
2348 .. _Scala 2.12.0: https://github.com/scala/scala/releases/tag/v2.12.0
2349 .. _Scala 2.12.1: https://github.com/scala/scala/releases/tag/v2.12.1
2350 .. _Scala 2.12.2: https://github.com/scala/scala/releases/tag/v2.12.2
2351 .. _Scala 2.12.3: https://github.com/scala/scala/releases/tag/v2.12.3
2352 .. _Scala 2.12.4: https://github.com/scala/scala/releases/tag/v2.12.4
2353
2354 .. _SLF4J 1.7.21 → 1.7.25: https://www.slf4j.org/news.html
2355
2356 .. _webcohesion enunciate 2.6.0 → 2.10.1: https://github.com/stoicflame/enunciate/releases
2357
2358 .. _Xtend 2.12 → 2.13: https://www.eclipse.org/xtend/releasenotes.html
2359
2360 Upstream version additions
2361 ~~~~~~~~~~~~~~~~~~~~~~~~~~
2362
2363 The following upstream dependencies have been added to dependency management:
2364
2365 * Commons Text, ``org.apache.commons:commons-text`` (this will allow downstreams
2366   to migrate from ``commons-lang3``\’s ``WordUtils``, which is deprecated)
2367
2368 Upstream version removals
2369 ~~~~~~~~~~~~~~~~~~~~~~~~~
2370
2371 The following upstream dependencies have been removed from dependency
2372 management (they are obsolete and unused):
2373
2374 * Chameleon MBeans
2375 * Eclipse Link
2376 * Equinox HTTP service bridge
2377 * ``equinoxSDK381`` artifacts
2378 * Coda Hale Metrics, which are mostly unused and should eventually be wrapped
2379   by InfraUtils
2380 * ``com.google.code.findbugs:jsr305`` (which *must not* be used; this is
2381   enforced — ``annotations`` should be used instead)
2382 * Felix File Install and Web Console
2383 * Gemini Web
2384 * Orbit
2385 * ``org.mockito:mockito-all`` (which *must not* be used; this is enforced —
2386   ``mockito-core`` should be used instead)
2387 * Spring Framework
2388 * ``txw2``
2389 * Xerces
2390 * ``xml-apis``
2391
2392 Plugin version upgrades
2393 ~~~~~~~~~~~~~~~~~~~~~~~
2394
2395 The following plugins have been upgraded:
2396
2397 * ``org.apache.servicemix.tooling:depends-maven-plugin`` 1.3.1 → 1.4.0
2398 * ``org.apache.felix:maven-bundle-plugin`` 2.4.0 → 3.3.0
2399 * ``maven-compiler-plugin`` 3.6.1 → 3.7.0
2400 * ``maven-dependency-plugin`` 3.0.1 → 3.0.2
2401 * ``maven-enforcer-plugin`` 1.4.1 → 3.0.0-M1
2402 * ``maven-failsafe-plugin`` 2.18.1 → 2.20.1
2403 * ``maven-javadoc-plugin`` 2.10.4 → 3.0.0-M1
2404 * ``maven-shade-plugin`` 2.4.3 → 3.1.0
2405
2406 New plugins
2407 ~~~~~~~~~~~
2408
2409 * The `Maven Find Duplicates`_ plugin can be enabled by setting the
2410   ``duplicate-finder.skip`` property to ``false``.
2411
2412 * The SpotBugs_ Maven plugin can now be used instead of the FindBugs plugin
2413   (both are available, so no change is required). To use SpotBugs, replace
2414   ``org.codehaus.mojo:findbugs-maven-plugin`` with
2415   ``com.github.spotbugs:spotbugs-maven-plugin``.
2416
2417 .. _Maven Find Duplicates: https://github.com/basepom/duplicate-finder-maven-plugin/
2418
2419 .. _SpotBugs: https://spotbugs.github.io/