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