Update release-notes
[odlparent.git] / NEWS.rst
1 ========================
2 ODL Parent release notes
3 ========================
4
5 Version 5.0.0
6 -------------
7
8 This is a major upgrade from version 4, with breaking changes; projects will
9 need to make changes to upgrade to this version.
10
11 The most significant change is `ODLPARENT-198 <https://jira.opendaylight.org/browse/ODLPARENT-198>`__,
12 which removes JSR305 from default dependencies and does not present it at class path by default.
13
14 Deleted artifacts
15 ~~~~~~~~~~~~~~~~~
16
17 ``findbugs`` has been removed, as its only purpose was to provide FindBugs
18 rule definitions. Equivalent definitions are available in ``spotbugs``.
19
20 Bug fixes
21 ~~~~~~~~~
22
23 * ``blueprint-maven-plugin`` used to scan the entire classpath, resulting in potential conflicts
24   across projects. Scanning is now limited to ``${project.groupId}``, limiting conflict domain
25   to single project. See `ODLPARENT-109 <https://jira.opendaylight.org/browse/ODLPARENT-109>`__.
26
27 * ``bundle-maven-plugin`` configuration ignored generated ServiceLoader service entries,
28   which has now been fixed. See `ODLPARENT-197 <https://jira.opendaylight.org/browse/ODLPARENT-197>`__.
29
30 * Bundle tests are now enabled by default. See `ODLPARENT-158 <https://jira.opendaylight.org/browse/ODLPARENT-158>`__
31   and `ODLPARENT-80 <https://jira.opendaylight.org/browse/ODLPARENT-80>`__ for details.
32
33 * Karaf log file rollover was not explictly set up, leading to inability to easily override
34   the defaults. See `ODLPARENT-153 <https://jira.opendaylight.org/browse/ODLPARENT-153>`__ for details.
35
36 * Karaf log file used to use default maximum 16MiB file size, this has now been increased to 64MiB.
37   See `ODLPARENT-154 <https://jira.opendaylight.org/browse/ODLPARENT-154>`__.
38
39 * ``features-test`` excluded opendaylight-karaf-empty's transitive dependencies, leading
40   to the need to re-declare them in single-feature-parent. This re-declaration was forgotten
41   in for ``bcpkix-framework-ext`` and ``bcprov-framework-ext`` bundles, which lead to them
42   not being present in the local repository. See `ODLPARENT-130 <https://jira.opendaylight.org/browse/ODLPARENT-130>`__.
43
44 Upstream version removals
45 ~~~~~~~~~~~~~~~~~~~~~~~~~
46
47 The following upstream dependencies have been removed from dependency management:
48
49 * cassandra-driver-core
50
51 * org.codehaus.enunciate/enunciate-core-annotations
52
53 * org.jboss.resteasy/jaxrs-api
54
55 * org.json/json
56
57 * org.osgi/org.osgi.compendium
58
59 Removed features
60 ~~~~~~~~~~~~~~~~
61
62 * odl-jersey-1
63
64 * ``features-akka`` feature repository has been integrated into ``features-odlparent``
65
66 Third-party dependencies
67 ~~~~~~~~~~~~~~~~~~~~~~~~
68
69 The following dependencies have been upgraded:
70
71 * apache-sshd `2.0.0 → 2.2.0 <https://github.com/apache/mina-sshd/compare/sshd-2.0.0...sshd-2.2.0>`__
72
73 * Aeron 1.12.0 → 1.15.3, release notes:
74   * `1.13.0 <https://github.com/real-logic/aeron/releases/tag/1.13.0>`__
75   * `1.14.0 <https://github.com/real-logic/aeron/releases/tag/1.14.0>`__
76   * `1.15.0 <https://github.com/real-logic/aeron/releases/tag/1.15.0>`__
77   * `1.15.1 <https://github.com/real-logic/aeron/releases/tag/1.15.1>`__
78   * `1.15.2 <https://github.com/real-logic/aeron/releases/tag/1.15.2>`__
79   * `1.15.3 <https://github.com/real-logic/aeron/releases/tag/1.15.3>`__
80
81 * Agrona 0.9.27 → 0.9.33, release notes:
82   * `0.9.28 <https://github.com/real-logic/agrona/releases/tag/0.9.28>`__
83   * `0.9.29 <https://github.com/real-logic/agrona/releases/tag/0.9.29>`__
84   * `0.9.30 <https://github.com/real-logic/agrona/releases/tag/0.9.30>`__
85   * `0.9.31 <https://github.com/real-logic/agrona/releases/tag/0.9.31>`__
86   * `0.9.32 <https://github.com/real-logic/agrona/releases/tag/0.9.32>`__
87   * `0.9.33 <https://github.com/real-logic/agrona/releases/tag/0.9.33>`__
88
89 * Akka 2.5.19 → 2.5.21, release notes:
90   * `2.5.20 <https://akka.io/blog/news/2019/01/29/akka-2.5.20-released>`__
91   * `2.5.21 <https://akka.io/blog/news/2019/02/13/akka-2.5.21-released>`__
92
93 * antl4r `4.7.1 → 4.7.2 <https://github.com/antlr/antlr4/releases/tag/4.7.2>`__
94
95 * asciidoctorj-diagram 1.5.11 → 1.5.12
96
97 * Bouncy Castle `1.60 → 1.61 <http://www.bouncycastle.org/releasenotes.html>`__
98
99 * checkstyle 8.16 → 8.18, release notes:
100   * `8.17 <http://checkstyle.sourceforge.net/releasenotes.html#Release_8.17>`__
101   * `8.18 <http://checkstyle.sourceforge.net/releasenotes.html#Release_8.18>`__
102
103 * commons-codec `1.11 → 1.12 <http://www.apache.org/dist/commons/codec/RELEASE-NOTES.txt>`__
104
105 * Google Error Prone 2.3.2 → 2.3.3
106
107 * Google Guava 25.1 → 27.1, release notes:
108   * `26.0 <https://github.com/google/guava/releases/tag/v26.0>`__
109   * `27.0 <https://github.com/google/guava/releases/tag/v27.0>`__
110   * `27.0.1 <https://github.com/google/guava/releases/tag/v27.0.1>`__
111   * `27.1 <https://github.com/google/guava/releases/tag/v27.1>`__
112
113 * Google Truth `0.42 → 0.43 <https://github.com/google/truth/releases/tag/release_0_43>`__
114
115 * h2 database `1.4.196 → 1.4.199 <http://www.h2database.com/html/changelog.html>`__
116
117 * Immutables `2.7.3 → 2.7.5 <https://github.com/immutables/immutables/#changelog>`__
118
119 * Javassist `3.24.0-GA → 3.24.1-GA <https://github.com/jboss-javassist/javassist/releases/tag/rel_3_24_1_ga>`__
120
121 * log4j2 `2.11.1 → 2.11.2 <https://github.com/apache/logging-log4j2/blob/log4j-2.11.2/RELEASE-NOTES.md>`__
122
123 * Mockito 2.23.4 → 2.25.0, release notes:
124   * `2.24.0 <https://github.com/mockito/mockito/blob/release/2.x/doc/release-notes/official.md#2240>`__
125   * `2.25.0 <https://github.com/mockito/mockito/blob/release/2.x/doc/release-notes/official.md#2250>`__
126
127 * Netty 4.1.32 → 4.1.34, release notes:
128   * `4.1.32 <https://netty.io/news/2018/11/29/4-1-32-Final.html>`__
129   * `4.1.33 <https://netty.io/news/2019/01/21/4-1-33-Final.html>`__
130   * `4.1.34 <https://netty.io/news/2019/03/08/4-1-34-Final.html>`__
131
132 * OSGi 5.0.0 → 6.0.0
133
134 * Powermockito 1.7.4 → 2.0.0, release notes:
135   * `2.0.0-beta.5 <https://github.com/powermock/powermock/releases/tag/powermock-2.0.0-beta.5>`__
136   * `2.0.0-RC.1 <https://github.com/powermock/powermock/releases/tag/powermock-2.0.0-RC.1>`__
137   * `2.0.0 <https://github.com/powermock/powermock/releases/tag/powermock-2.0.0>`__
138
139 * SpotBugs `3.1.9 → 3.1.12 <https://github.com/spotbugs/spotbugs/blob/3.1.12/CHANGELOG.md>`__
140
141 * ThreeTen `1.4.0 → 1.5.0 <https://www.threeten.org/threeten-extra/changes-report.html#a1.5.0>`__
142
143 * Xtend `2.16.0 → 2.17.0 <http://www.eclipse.org/xtend/releasenotes.html#/releasenotes/2019/03/05/version-2-17-0>`__
144
145 Plugin removals
146 ~~~~~~~~~~~~~~~
147
148 * gmaven-plugin
149
150 * maven-findbugs-plugin
151
152 Plugin upgrades
153 ~~~~~~~~~~~~~~~
154
155 * jacoco-maven-plugin `0.8.2 → 0.8.3 <https://github.com/jacoco/jacoco/releases/tag/v0.8.3>`__
156
157 * 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>`__
158
159 * 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>`__
160
161 * spotbugs-maven-plugin 3.1.8 → 3.1.11
162
163 Version 4.0.9
164 -------------
165
166 This is a bug-fix upgrade from version 4.0.8.
167
168 Bug fixes
169 ~~~~~~~~~
170
171 * ``karaf-plugin`` invocation in ``karaf4-parent`` caused previously
172   patched features to be overwritten with their stock versions, referencing
173   bundles which were not populated in the local repository. (See
174   `ODLPARENT-194 <https://jira.opendaylight.org/browse/ODLPARENT-194>`__.)
175
176 * ``karaf-plugin`` version in ``karaf4-parent`` is now provided through
177   plugin management so downstreams can override it without needing
178   to repeat its configuration.
179
180 * ``karaf-plugin`` no longer reads features twice when running discovery,
181   speeding up the process a bit.
182
183 * Recent versions of the SpotBugs Maven plugin use SLF4J 1.8 beta 2, which
184   can’t use the 1.7.25 implementation we provide; we therefore provide an
185   implementation of 1.8 beta 2 when SpotBugs is used. (See
186   `ODLPARENT-184 <https://jira.opendaylight.org/browse/ODLPARENT-184>`__.)
187
188 New features
189 ~~~~~~~~~~~~
190
191 * ``odl-woodstox`` wraps the Woodstox StAX implementation which is imposed on
192   us by Karaf.
193
194 Version 4.0.8
195 -------------
196
197 This is a bug-fix and minor upstream bump upgrade from version 4.0.7.
198
199 Bug fixes
200 ~~~~~~~~~
201
202 * ``bcprov-ext-jdk15on`` is a superset of ``bcprov-jdk15on``, so there’s no
203   need to ship both; we now only ship the former. In addition, we install the
204   Bouncy Castle JARs in ``lib/boot`` so that they continue to be available on
205   the boot classpath (JDK 9 removes the extension mechanism which was used
206   previously), and provide the corresponding bundles from the boot classpath
207   instead of using separate JARs in the system repository. (See
208   `ODLPARENT-183 <https://jira.opendaylight.org/browse/ODLPARENT-183>`__ and
209   `ODLPARENT-185 <https://jira.opendaylight.org/browse/ODLPARENT-185>`__.)
210
211 * A dependency check has been added to ensure that we don’t run into the
212   TrieMap dependency bug in 4.0.6 again.
213
214 * Dependencies pulled in by features are now checked for convergence, and
215   ``karaf-plugin`` warns when it finds diverging dependencies (the same
216   artifact with two different versions). Upstream-provided features are
217   patched to avoid the following divergences (and upgrade some dependencies in
218   the process):
219
220   * Aries utilities 1.1.0/1.1.3 (upgraded to 1.1.3).
221   * Commons Beanutils 1.8.3/1.9.3 (upgraded to 1.9.3).
222   * Commons Codec 1.8/1.10 (upgraded to 1.11).
223   * ``javax.mail`` 1.4.4/1.4.7 (upgraded to 1.4.7).
224
225   (See `ODLPARENT-189 <https://jira.opendaylight.org/browse/ODLPARENT-189>`__.)
226
227 New features
228 ~~~~~~~~~~~~
229
230 * ``odl-dropwizard-metrics`` provides Dropwizard Metrics (which are also
231   available in dependency management).
232
233 * ``enunciate-maven-plugin`` is added as the replacement for
234   ``maven-enunciate-plugin``.
235
236 Third-party dependencies
237 ~~~~~~~~~~~~~~~~~~~~~~~~
238
239 The following dependencies are no longer provided by the JVM, starting with
240 version 11, but we make them available via dependency management for projects
241 which need them:
242
243 * ``javax.annotation-api``.
244
245 * JAXB (``jaxb-core``, ``jaxb-impl``).
246
247 The following dependencies have been upgraded:
248
249 * Checkstyle `8.15 → 8.16 <https://checkstyle.org/releasenotes.html#Release_8.16>`__.
250
251 * Dependency Check `4.0.0 → 4.0.2 <https://github.com/jeremylong/DependencyCheck/blob/master/RELEASE_NOTES.md>`__.
252
253 * ``git-commit-id`` `2.2.5 → 2.2.6 <https://github.com/ktoso/maven-git-commit-id-plugin/releases>`__.
254
255 * Immutables 2.7.1 → 2.7.3:
256
257   * `2.7.2 <https://github.com/immutables/immutables#272-2018-11-05>`__.
258   * `2.7.3 <https://github.com/immutables/immutables#273-2018-11-10>`__.
259
260   (2.7.4 breaks our Javadocs.)
261
262 * Jackson `2.9.7 → 2.9.8 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.8>`__.
263
264 Version 4.0.7
265 -------------
266
267 This is a bug-fix release, correcting the ``triemap`` import declaration.
268
269 Version 4.0.6
270 -------------
271
272 This is a bug-fix and minor upstream packaging upgrade from version 4.0.5.
273
274 Bug fixes
275 ~~~~~~~~~
276
277 Single-feature-test was broken with JDK 9 and later and Karaf 4.2.2; this
278 release adds the additional JVM configuration needed.
279
280 Third-party dependencies
281 ~~~~~~~~~~~~~~~~~~~~~~~~
282
283 This release adds the ``triemap`` BOM to dependency management.
284
285 Version 4.0.5
286 -------------
287
288 This is a bug-fix release: the Karaf Maven plugin, in version 4.2.2, is
289 `broken <https://issues.apache.org/jira/browse/KARAF-6057>`__ in some cases we
290 need in OpenDaylight; we revert to 4.2.1 in ``karaf4-parent`` to avoid this.
291
292 Version 4.0.4
293 -------------
294
295 This is a bug-fix release, reverting the change made in 4.0.3 to handle
296 building with either ``zip`` or ``tar.gz`` Karaf archives (which breaks
297 builds in our infrastructure, without the empty Karaf archive).
298
299 Version 4.0.3
300 -------------
301
302 This is a bug-fix and minor upstream bump upgrade from version 4.0.2.
303
304 Bug fixes
305 ~~~~~~~~~
306
307 * Our FindBugs configuration for JDK 9 and later caused the plugin to run
308   everywhere; instead, this version defines the ``findbugs.skip`` property to
309   disable the plugin in modules where it would be used otherwise.
310
311 * The PowerMock declarations in dependency management missed
312   ``powermock-api-mockito2``, which is necessary for modules using PowerMock
313   with Mockito 2.
314
315 * The “quick” profile (``-Pq``) now skips SpotBugs.
316
317 * JSR-305 annotations are now optional, which fixes a number of issues when
318   building with newer JDKs.
319
320 * We provide JAXB with JDK 11 and later (where it is no longer provided by the
321   base platform).
322
323 * ``odlparent-artifacts`` has been updated to accurately represent the
324   artifacts provided.
325
326 * ``javax.activation`` is now excluded from generated features (it’s provided
327   on Karaf’s boot classpath).
328
329 * When the build is configured to build Karaf distributions in ``tar.gz``
330   archives, but not ``zip`` archives, ``features-test`` used to fail; it will
331   now used whichever is available
332   (`ODLPARENT-174 <https://jira.opendaylight.org/browse/ODLPARENT-174>`__).
333
334 * Explicit GCs are disabled by default, so that calls to ``System.gc()`` are
335   ignored
336   (`ODLPARENT-175 <https://jira.opendaylight.org/browse/ODLPARENT-175>`__).
337
338 * Null checks are disabled in SpotBugs because of bad interactions with newer
339   annotations and the bytecode produces by JDK 11 and later for
340   ``try``-with-resources.
341
342 * Akka Persistence expects LevelDB 0.10, so we now pull in that version
343   instead of 0.7.
344
345 Dependency convergence
346 ~~~~~~~~~~~~~~~~~~~~~~
347
348 A number of dependencies have been added or constrained so that projects using
349 this parent can enforce dependency convergence:
350
351 * Karaf’s ``framework`` feature is used as an import POM, so that we converge
352   by default on the versions used in Karaf.
353
354 * The following dependencies have been added to dependency management:
355
356   * ``commons-beanutils``
357   * the Checker Framework
358   * Error Prone annotations
359   * ``javax.activation``
360   * ``xml-apis``
361
362 New features
363 ~~~~~~~~~~~~
364
365 The following Karaf features have been added:
366
367 * ``odl-antlr4`` (providing ``antlr4-runtime``);
368
369 * ``odl-gson`` (providing ``gson``);
370
371 * ``odl-jersey-2`` (providing Jersey client, server, and container servlet,
372   along with the necessary feature dependencies);
373
374 * ``odl-servlet-api`` (providing ``javax.servlet-api``);
375
376 * ``odl-stax2-api`` (providing ``stax2-api``);
377
378 * ``odl-ws-rs-api`` (providing ``javax.ws.rs-api``);
379
380 A new ``sonar-jacoco-aggregate`` profile can be used to produce Sonar reports
381 with aggregated JaCoCo reports. Additionally, Sonar builds (run with
382 ``-Dsonar``) are detected and run with a number of irrelevant plugins disabled.
383
384 Upstream version upgrades
385 ~~~~~~~~~~~~~~~~~~~~~~~~~
386
387 * Akka 2.5.14 → 2.5.19 (and related ``ssl-config``, Aeron and Agrona upgrades):
388
389   * `2.5.15 <https://akka.io/blog/news/2018/08/24/akka-2.5.15-released>`__.
390   * `2.5.16 <https://akka.io/blog/news/2018/08/29/akka-2.5.16-security-fix-released>`__.
391   * `2.5.17 <https://akka.io/blog/news/2018/09/27/akka-2.5.17-released>`__.
392   * `2.5.18 <https://akka.io/blog/news/2018/10/07/akka-2.5.18-released>`__.
393   * `2.5.19 <https://akka.io/blog/news/2018/12/07/akka-2.5.19-released>`__.
394
395 * Commons Text `1.4 → 1.6 <http://www.apache.org/dist/commons/text/RELEASE-NOTES.txt>`__.
396
397 * Eclipse JDT annotations 2.2.0 → 2.2.100.
398
399 * Javassist 3.23.1 → 3.24.0.
400
401 * Karaf 4.2.1 → 4.2.2, with related upgrades.
402
403 * LMAX Disruptor `3.4.1 → 3.4.2 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.4.2>`__.
404
405 * Mockito `2.20.1 → 2.23.4 <https://github.com/mockito/mockito/blob/release/2.x/doc/release-notes/official.md>`__.
406
407 * Netty 4.1.29 → 4.1.31:
408
409   * `4.1.30 <https://netty.io/news/2018/09/28/4-1-30-Final.html>`__.
410   * `4.1.31 <https://netty.io/news/2018/10/30/4-1-31-Final.html>`__.
411
412 * Pax Exam 4.12.0 → 4.13.1.
413
414 * Scala 2.12.6 → 2.12.8:
415
416   * `2.12.7 <https://github.com/scala/scala/releases/tag/v2.12.7>`__.
417   * `2.12.8 <https://github.com/scala/scala/releases/tag/v2.12.8>`__.
418
419 * Wagon HTTP 3.1.0 → 3.2.0.
420
421 * Xtend `2.14.0 → 2.16.0 <https://www.eclipse.org/xtend/releasenotes.html>`__.
422
423 Plugin version upgrades
424 ~~~~~~~~~~~~~~~~~~~~~~~
425
426 * Asciidoctor `1.5.6 → 1.5.7.1 <https://github.com/asciidoctor/asciidoctor-maven-plugin/releases>`__
427   (with related AsciidoctorJ upgrades).
428
429 * Bundle 4.0.0 → 4.1.0.
430
431 * Checkstyle `8.12 → 8.15 <https://checkstyle.org/releasenotes.html#Release_8.13>`__.
432
433 * DependencyCheck `3.3.2 → 4.0.0 <https://github.com/jeremylong/DependencyCheck/blob/master/RELEASE_NOTES.md>`__.
434
435 * Failsafe / Surefire `2.22.0 → 2.22.1 <https://blogs.apache.org/maven/entry/apache-maven-surefire-plugin-version1>`__.
436
437 * Help 3.1.0 → 3.1.1.
438
439 * JAR 3.1.0 → 3.1.1.
440
441 * PMD `3.10.0 → 3.11.0 <https://blogs.apache.org/maven/entry/apache-maven-pmd-plugin-3>`__.
442
443 * Remote Resources `1.5 → 1.6.0 <https://blogs.apache.org/maven/entry/apache-maven-remote-resources-plugin>`__.
444
445 * Shade
446   `3.2.0 → 3.2.1 <https://blog.soebes.de/blog/2018/11/12/apache-maven-shade-plugin-version-3-dot-2-1-released/>`__.
447
448 * SpotBugs `3.1.6 → 3.1.9 <https://github.com/spotbugs/spotbugs/blob/release-3.1/CHANGELOG.md>`__.
449
450 * XBean finder 4.9 → 4.12.
451
452 * XTend 2.14.0 → 2.16.0.
453
454 Version 4.0.2
455 -------------
456
457 This is a bug-fix and minor upstream bump upgrade from version 4.0.1.
458
459 Bug fixes
460 ~~~~~~~~~
461
462 Previous releases overrode Karaf’s ``jre.properties``; this is no longer
463 necessary, and was causing failures with Java 9 and later (our version of
464 ``jre.properties`` didn’t have the appropriate settings for anything after
465 Java 8). This release drops that override. See
466 `ODLPARENT-168 <https://jira.opendaylight.org/browse/ODLPARENT-168>`__ for
467 details.
468
469 Upstream version upgrades
470 ~~~~~~~~~~~~~~~~~~~~~~~~~
471
472 * Commons Lang `3.8 → 3.8.1 <http://www.apache.org/dist/commons/lang/RELEASE-NOTES.txt>`__.
473
474 * Jackson `2.9.6 → 2.9.7 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.7>`__.
475
476 * Netty `4.1.28 → 4.1.29 <http://netty.io/news/2018/08/24/4-1-29-Final.html>`__.
477
478 Plugin version upgrades
479 ~~~~~~~~~~~~~~~~~~~~~~~
480
481 * 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>`__.
482
483 * Javadoc `3.0.0 → 3.0.1 <https://blogs.apache.org/maven/entry/apache-maven-javadoc-plugin-version>`__.
484
485 * Jersey `2.22.2 → 2.25.1 <https://jersey.github.io/release-notes/2.25.html>`__,
486   along with Glassfish JSON 1.0.4 → 1.1.2.
487
488 * Plugin 3.5 → 3.5.2:
489
490   * `3.5.1 <https://blog.soebes.de/blog/2018/01/22/apache-maven-plugin-tools-version-3-dot-5-1-released/>`__.
491   * `3.5.2 <https://blog.soebes.de/blog/2018/05/26/apache-mave-plugin-tools-version-3-dot-5-2-released/>`__.
492
493 * Resources `3.0.1 → 3.1.0 <https://blogs.apache.org/maven/entry/apache-maven-resources-plugin-version>`__.
494
495 Version 4.0.1
496 -------------
497
498 This is a bug-fix and minor upstream bump upgrade from version 4.0.0.
499
500 Bug fixes
501 ~~~~~~~~~
502
503 The JaCoCo execution profile was incorrect, breaking Sonar; the report is now
504 written correctly, so that Sonar can find it.
505
506 The Blueprint Maven plugin fails when it encounters Java 9 classes; this is
507 fixed by forcefully upgrading its dependency on xbean-finder. See
508 `ODLPARENT-167 <https://jira.opendaylight.org/browse/ODLPARENT-167>`__ for
509 details.
510
511 Upstream version upgrades
512 ~~~~~~~~~~~~~~~~~~~~~~~~~
513
514 * SpotBugs `3.1.6 → 3.1.7 <https://github.com/spotbugs/spotbugs/blob/release-3.1/CHANGELOG.md>`__.
515
516 Upstream version additions
517 ~~~~~~~~~~~~~~~~~~~~~~~~~~
518
519 * Mockito Inline is added alongside Mockito Core, to ensure that the versions
520   are kept in sync.
521
522 Plugin version upgrades
523 ~~~~~~~~~~~~~~~~~~~~~~~
524
525 * 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/>`__.
526
527 * 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/>`__.
528
529 * Dependency 3.0.2 → 3.1.1:
530
531   * `3.1.0 <https://blog.soebes.de/blog/2018/04/06/apache-maven-dependency-plugin-version-3-dot-1-0-released/>`__.
532   * `3.1.1 <https://blog.soebes.de/blog/2018/05/24/apache-maven-dependency-plugin-version-3-dot-1-1-released/>`__.
533
534 * Dependency Check `3.3.1 → 3.3.2 <https://github.com/jeremylong/DependencyCheck/blob/master/RELEASE_NOTES.md>`__.
535
536 * 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>`__.
537
538 * Failsafe 2.20.1 → 2.22:
539
540   * `2.21 <https://blog.soebes.de/blog/2018/03/06/apache-maven-surefire-plugin-version-2-dot-21-released/>`__.
541   * `2.22 <https://blog.soebes.de/blog/2018/06/16/apache-maven-surefire-plugin-version-2-dot-22-released/>`__.
542
543 * Help 2.2 → 3.1.0:
544
545   * `3.0.0 <https://blog.soebes.de/blog/2018/03/18/apache-maven-help-plugin-version-3-dot-0-0-released/>`__.
546   * `3.0.1 <https://blog.soebes.de/blog/2018/03/28/apache-maven-help-plugin-version-3-dot-0-1-released/>`__.
547   * `3.1.0 <https://blog.soebes.de/blog/2018/06/09/apache-maven-help-plugin-version-3-dot-1-0-released/>`__.
548
549 * Invoker 2.0.0 → 3.1.0:
550
551   * `3.0.0 <https://blog.soebes.de/blog/2017/05/24/apache-maven-invoker-plugin-version-3-dot-0-0-released/>`__.
552   * `3.1.0 <https://blog.soebes.de/blog/2018/05/31/apache-maven-invoker-plugin-version-3-dot-1-0-released/>`__.
553
554 * 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/>`__.
555
556 * 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/>`__.
557
558 * 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/>`__.
559
560 * 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/>`__.
561
562 * Site `3.7 → 3.7.1 <https://blog.soebes.de/blog/2018/04/29/apache-maven-site-plugin-version-3-dot-7-1-released/>`__.
563
564 * Surefire 2.18.1 → 2.22.0:
565
566   * `2.19 <https://blog.soebes.de/blog/2015/10/19/apache-maven-surefire-plugin-version-2-dot-19-released/>`__.
567   * `2.19.1 <https://blog.soebes.de/blog/2016/01/03/apache-maven-surefire-plugin-version-2-dot-19-dot-1-released/>`__.
568   * `2.20 <https://blog.soebes.de/blog/2017/04/12/apache-maven-surefire-plugin-version-2-dot-20-released/>`__.
569   * `2.21 <https://blog.soebes.de/blog/2018/03/06/apache-maven-surefire-plugin-version-2-dot-21-released/>`__.
570   * `2.22 <https://blog.soebes.de/blog/2018/06/16/apache-maven-surefire-plugin-version-2-dot-22-released/>`__.
571
572
573 Version 4.0.0
574 -------------
575
576 This is a major upgrade from version 3, with breaking changes; projects will
577 need to make changes to upgrade to this version.
578
579 `This Wiki page <https://wiki.opendaylight.org/view/Neon_platform_upgrade>`_
580 has detailed step-by-step migration instructions.
581
582 ODL Parent 4 requires Maven 3.5.3 or later; this is needed in particular to
583 enable SpotBugs support with current versions of the SpotBugs plugin.
584
585 Known issues
586 ~~~~~~~~~~~~
587
588 This release’s SpotBugs support doesn’t handle Guava 25.1 correctly, resulting
589 in false-positives regarding null handling; see
590 `ODLPARENT-161 <https://jira.opendaylight.org/browse/ODLPARENT-161>`_ for
591 details. Until this is fixed, the corresponding warnings are disabled, which
592 matches our existing FindBugs configuration (which suffers from the a variant
593 of this, with the same consequences).
594
595 We are planning on upgrading Akka during the 4.x cycle, even if it results in
596 a technically breaking upgrade. This is currently blocked on an OSGi bug in
597 Akka; see `Akka issue 25579 <https://github.com/akka/akka/issues/25579>`_ for
598 details.
599
600 Blueprint and OSGi service handling
601 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
602
603 Previous releases used an OpenDaylight-specific directory for Blueprint XML
604 files, ``org/opendaylight/blueprint``. It turned out this wasn’t useful, so
605 version 4 uses the default directory, ``OSGI-INF/blueprint``.
606
607 The Maven bundle plugin is now configured to omit the ``Import-Service`` and
608 ``Export-Service`` headers, since they are deprecated, unnecessary in
609 OpenDaylight, and liable to cause issues.
610
611 With previous releases of OpenDaylight, projects were encouraged to use Pax
612 CDI API annotations to describe their Blueprint beans, services and injections;
613 with version 4, Blueprint annotations should be used instead:
614
615 * modules should depend on
616   ``org.apache.aries.blueprint:blueprint-maven-plugin-annotation``, with the
617   ``<optional>true</optional>`` flag, instead of
618   ``org.ops4j.pax.cdi:pax-cdi-api``;
619
620 * ``@OsgiServiceProvider`` on bean definitions is replaced by ``@Service``;
621
622 * ``@OsgiService`` at injection points is replaced by ``@Reference``;
623
624 * ``@OsgiService`` on bean definitions, while technically wrong, can be seen in
625   the OpenDaylight codebase; this is replaced by ``@Service``;
626
627 * service lists can be injected using ``@ReferenceList``.
628
629 See `this Gerrit patch <https://git.opendaylight.org/gerrit/75699>`_ for an
630 example.
631
632 Compiler settings
633 ~~~~~~~~~~~~~~~~~
634
635 Builds now warn about unchecked type uses (such as raw types where generics
636 are available).
637
638 JUnit and Mockito are always available as test dependencies and no longer need
639 to be declared in POMs.
640
641 New build profiles
642 ~~~~~~~~~~~~~~~~~~
643
644 An OWASP profile is now available to run OWASP’s dependency checker; this will
645 check all third-party dependencies against the NVD vulnerability database. To
646 enable this, run Maven with ``-Powasp``.
647
648 Build profile changes
649 ~~~~~~~~~~~~~~~~~~~~~
650
651 ``-Pq`` now skips Modernizer.
652
653 New features
654 ~~~~~~~~~~~~
655
656 ``odl-akka-leveldb-0.10`` wraps LevelDB 0.10 for Akka.
657
658 ``odl-apache-commons-codec`` wraps Apache Commons Codec.
659
660 ``odl-apache-commons-lang3`` wraps Apache Commons Lang 3.
661
662 ``odl-apache-commons-net`` wraps Apache Commons Net.
663
664 ``odl-apache-commons-text`` wraps Apache Commons Text.
665
666 ``odl-apache-sshd`` wraps Apache SSHD.
667
668 ``odl-guava`` provides the default ODL version of Guava; it should be used
669 instead of ``odl-guava-23`` or the new ``odl-guava-25``.
670
671 ``odl-jackson-2.9`` wraps Jackson 2.9.
672
673 New FindBugs and SpotBugs settings
674 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
675
676 FindBugs and SpotBugs are configured with
677 `the SLF4J extension <http://kengotoda.github.io/findbugs-slf4j/>`_ (version
678 1.4.0 for FindBugs, 1.4.1 for SpotBugs). This will flag misused SLF4J calls, in
679 particular message templates which don’t match the arguments, and invalid
680 placeholders (*e.g.* ``%s`` instead of ``{}``).
681
682 Deleted artifacts
683 ~~~~~~~~~~~~~~~~~
684
685 ``aggregator-parent`` was unusable outside ``odlparent`` and has been removed.
686 Instead, the ``maven.deploy.skip`` and ``maven.install.skip`` properties are
687 available to disable deploying and installing artifacts.
688
689 Upstream version upgrades
690 ~~~~~~~~~~~~~~~~~~~~~~~~~
691
692 This version upgrades the following third-party dependencies:
693
694 * Aeron 1.7.0 → 1.9.3:
695
696   * `1.8.0 <https://github.com/real-logic/aeron/releases/tag/1.8.0>`_.
697   * `1.8.1 <https://github.com/real-logic/aeron/releases/tag/1.8.1>`_.
698   * `1.8.2 <https://github.com/real-logic/aeron/releases/tag/1.8.2>`_.
699   * `1.9.0 <https://github.com/real-logic/aeron/releases/tag/1.9.0>`_.
700   * `1.9.1 <https://github.com/real-logic/aeron/releases/tag/1.9.1>`_.
701   * `1.9.2 <https://github.com/real-logic/aeron/releases/tag/1.9.2>`_.
702   * `1.9.3 <https://github.com/real-logic/aeron/releases/tag/1.9.3>`_.
703
704 * Agrona 0.9.12 → 0.9.21:
705
706   * `0.9.13 <https://github.com/real-logic/agrona/releases/tag/0.9.13>`_.
707   * `0.9.14 <https://github.com/real-logic/agrona/releases/tag/0.9.14>`_.
708   * `0.9.15 <https://github.com/real-logic/agrona/releases/tag/0.9.15>`_.
709   * `0.9.16 <https://github.com/real-logic/agrona/releases/tag/0.9.16>`_.
710   * `0.9.17 <https://github.com/real-logic/agrona/releases/tag/0.9.17>`_.
711   * `0.9.18 <https://github.com/real-logic/agrona/releases/tag/0.9.18>`_.
712   * `0.9.19 <https://github.com/real-logic/agrona/releases/tag/0.9.19>`_.
713   * `0.9.20 <https://github.com/real-logic/agrona/releases/tag/0.9.20>`_.
714   * `0.9.21 <https://github.com/real-logic/agrona/releases/tag/0.9.21>`_.
715
716 * Akka 2.5.11 → 2.5.14:
717
718   * `2.5.12 <https://akka.io/blog/news/2018/04/13/akka-2.5.12-released>`_.
719   * `2.5.13 <https://akka.io/blog/news/2018/06/08/akka-2.5.13-released>`_.
720   * `2.5.14 <https://akka.io/blog/news/2018/07/13/akka-2.5.14-released>`_.
721
722 * ASM 5.1 → 6.2.1 (synchronised with Karaf).
723
724 * Bouncy Castle `1.59 → 1.60 <https://www.bouncycastle.org/releasenotes.html>`_.
725
726 * Checkstyle `8.4 → 8.12 <http://checkstyle.sourceforge.net/releasenotes.html#Release_8.12>`_.
727
728 * Commons Lang `3.7 → 3.8 <http://www.apache.org/dist/commons/lang/RELEASE-NOTES.txt>`_.
729
730 * Commons Text 1.1 → 1.4:
731
732   * `1.2 <https://commons.apache.org/proper/commons-text/release-notes/RELEASE-NOTES-1.2.txt>`_.
733   * `1.3 <https://commons.apache.org/proper/commons-text/release-notes/RELEASE-NOTES-1.3.txt>`_.
734   * `1.4 <https://commons.apache.org/proper/commons-text/release-notes/RELEASE-NOTES-1.4.txt>`_.
735
736 * Eclipse JDT annotations 2.1.150 → 2.2.0.
737
738 * EclipseLink Moxy JAXB `2.7.1 → 2.7.3 <https://www.eclipse.org/eclipselink/releases/2.7.php>`_.
739
740 * Enunciate core annotations
741   `2.10.1 → 2.11.1 <https://github.com/stoicflame/enunciate/releases>`_.
742
743 * Felix Metatype 1.1.6 → 1.2.0 (synchronised with Karaf).
744
745 * Google Truth `0.40 → 0.42 <https://github.com/google/truth/releases>`_.
746
747 * Guava 23.6.1 → 25.1:
748
749   * `23.4 <https://github.com/google/guava/releases/tag/v23.4>`_.
750   * `23.5 <https://github.com/google/guava/releases/tag/v23.5>`_.
751   * `23.6 <https://github.com/google/guava/releases/tag/v23.6>`_.
752   * `24.0 <https://github.com/google/guava/releases/tag/v24.0>`_.
753   * `24.1 <https://github.com/google/guava/releases/tag/v24.1>`_.
754   * `25.0 <https://github.com/google/guava/releases/tag/v25.0>`_.
755   * `25.1 <https://github.com/google/guava/releases/tag/v25.1>`_.
756
757 * Immutables `2.5.6 → 2.7.1 <https://github.com/immutables/immutables/blob/master/README.md#changelog>`_.
758
759 * Jackson 2.8.9 → 2.9.6:
760
761   * `2.9 feature overview <https://medium.com/@cowtowncoder/jackson-2-9-features-b2a19029e9ff>`_.
762   * `2.9 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9>`_.
763   * `2.9.1 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.1>`_.
764   * `2.9.2 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.2>`_.
765   * `2.9.3 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.3>`_.
766   * `2.9.4 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.4>`_.
767   * `2.9.5 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.5>`_.
768   * `2.9.6 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.6>`_.
769
770 * JaCoCo `0.8.1 → 0.8.2 <https://github.com/jacoco/jacoco/releases/tag/v0.8.2>`_.
771
772 * Javassist 3.22.0 → 3.23.1. This provides compatibility with Java 9 and later,
773   and `fixes a file handle leak <https://github.com/jboss-javassist/javassist/issues/165>`_.
774
775 * Jettison 1.3.8 → 1.4.0.
776
777 * Jetty 9.3.21 → 9.4.11 (synchronised with Karaf):
778
779   * `9.4.0 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00097.html>`_.
780   * `9.4.1 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00100.html>`_.
781   * `9.4.2 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00101.html>`_.
782   * `9.4.3 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00102.html>`_.
783   * `9.4.4 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00105.html>`_.
784   * `9.4.5 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00107.html>`_.
785   * `9.4.6 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00109.html>`_.
786   * `9.4.7 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00111.html>`_.
787   * `9.4.8 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00114.html>`_.
788   * `9.4.9 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00117.html>`_.
789   * `9.4.10 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00119.html>`_.
790   * `9.4.11 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00122.html>`_.
791
792 * Jolokia OSGi `1.5.0 → 1.6.0 <https://jolokia.org/changes-report.html#a1.6.0>`_.
793
794 * Karaf 4.1.5 → 4.2.1:
795
796   * `4.1.6 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12342748>`_.
797   * `4.2.1 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12342945>`_.
798
799 * LMAX Disruptor 3.3.10 → 3.4.1:
800
801   * `3.4.0 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.4.0>`_.
802   * `3.4.1 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.4.1>`_.
803
804 * META-INF services 1.7 → 1.8.
805
806 * Mockito 1.10.19 → 2.20.1; see
807   `What’s new in Mockito 2 <https://github.com/mockito/mockito/wiki/What%27s-new-in-Mockito-2>`_
808   for upgrade instructions and
809   `the list of issues you might run into <https://asolntsev.github.io/en/2016/10/11/mockito-2.1/>`_.
810
811 * Netty 4.1.22 → 4.1.28:
812
813   * `4.1.17 <http://netty.io/news/2017/11/08/4-0-53-Final-4-1-17-Final.html>`_.
814   * `4.1.18 <http://netty.io/news/2017/12/11/4-0-54-Final-4-1-18-Final.html>`_.
815   * `4.1.19 <http://netty.io/news/2017/12/18/4-1-19-Final.html>`_.
816   * `4.1.20 <http://netty.io/news/2018/01/22/4-0-55-Final-4-1-20-Final.html>`_.
817   * `4.1.21 <http://netty.io/news/2018/02/05/4-0-56-Final-4-1-21-Final.html>`_.
818   * `4.1.22 <http://netty.io/news/2018/02/21/4-1-22-Final.html>`_.
819   * `4.1.23 <http://netty.io/news/2018/04/04/4-1-23-Final.html>`_.
820   * `4.1.24 <http://netty.io/news/2018/04/19/4-1-24-Final.html>`_.
821   * `4.1.25 <http://netty.io/news/2018/05/14/4-1-25-Final.html>`_.
822   * `4.1.26 <http://netty.io/news/2018/07/10/4-1-26-Final.html>`_.
823   * `4.1.27 <http://netty.io/news/2018/07/11/4-1-27-Final.html>`_.
824   * `4.1.28 <http://netty.io/news/2018/07/27/4-1-28-Final.html>`_.
825
826 * Pax Exam 4.11.0 → 4.12.0.
827
828 * Pax URL 2.5.3 → 2.5.4, which only fixes
829   `a potential NullPointerException <https://ops4j1.jira.com/browse/PAXURL-346>`_.
830
831 * PowerMock 1.6.4 → 1.7.4:
832
833   * `1.6.5 <https://github.com/powermock/powermock/releases/tag/powermock-1.6.5>`_.
834   * `1.6.6 <https://github.com/powermock/powermock/releases/tag/powermock-1.6.6>`_.
835   * `1.7.0 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.0>`_.
836   * `1.7.1 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.1>`_.
837   * `1.7.2 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.2>`_.
838   * `1.7.3 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.3>`_.
839   * `1.7.4 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.4>`_.
840
841 * Scala parser combinators 1.0.7 → 1.1.1:
842
843   * `1.1.0 <https://github.com/scala/scala-parser-combinators/releases/tag/v1.1.0>`_.
844   * `1.1.1 <https://github.com/scala/scala-parser-combinators/releases/tag/v1.1.1>`_.
845
846 * SpotBugs `3.1.0 → 3.1.6 <https://github.com/spotbugs/spotbugs/blob/3.1.6/CHANGELOG.md>`_.
847
848 * Threeten Extra `1.3.2 → 1.4 <https://github.com/ThreeTen/threeten-extra/releases>`_.
849
850 * Typesafe SSL config 0.2.2 → 0.2.4:
851
852   * `0.2.3 <https://github.com/lightbend/ssl-config/releases/tag/v0.2.3>`_.
853   * `0.2.4 <https://github.com/lightbend/ssl-config/releases/tag/v0.2.4>`_.
854
855 * Wagon HTTP
856   `2.10 → 3.1.0 <https://lists.apache.org/thread.html/96024c54db7680697cb066e22a37b0ed5b4498386714a8a9ae1ec9cd@%3Cannounce.maven.apache.org%3E>`_.
857
858 * XMLUnit `1.6 → 2.6.2 <https://github.com/xmlunit/xmlunit/blob/master/RELEASE_NOTES.md>`_.
859
860 Upstream version additions
861 ~~~~~~~~~~~~~~~~~~~~~~~~~~
862
863 The following upstream dependencies have been added to dependency management:
864
865 * Apache SSHD 2.0.0, with EdDSA and Netty support (EdDSA is provided by ``net.i2p.crypto:eddsa``).
866
867 * Blueprint annotations (``org.apache.aries.blueprint:blueprint-maven-plugin-annotation``).
868
869 * Log4J2.
870
871 * Pax Web 7.2.3 (synchronised with Karaf).
872
873 Upstream version removals
874 ~~~~~~~~~~~~~~~~~~~~~~~~~
875
876 The following upstream dependencies have been removed from dependency management:
877
878 * Google Protobuf.
879
880 * Our repackaging of Jersey Servlet.
881
882 * JUnit’s ``junit-dep``, which has long been obsolete.
883
884 * LevelDB (which is still available as features).
885
886 * Pax CDI API — Blueprint annotations should be used instead.
887
888 Plugin version upgrades
889 ~~~~~~~~~~~~~~~~~~~~~~~
890
891 The following plugins have been upgraded:
892
893 * Blueprint 1.4.0 → 1.10.0.
894
895 * Build helper 1.12 → 3.0.0.
896
897 * Bundle plugin 3.5.0 → 4.0.0.
898
899 * Checkstyle
900   `2.17 → 3.0.0 <https://mail-archives.apache.org/mod_mbox/maven-announce/201801.mbox/%3Cop.zchs68akkdkhrr%40desktop-2khsk44.mshome.net%3E>`_.
901
902 * Duplicate finder
903   `1.2.1 → 1.3.0 <https://github.com/basepom/duplicate-finder-maven-plugin/blob/master/CHANGES.md>`_.
904
905 * Git commit id `2.2.4 → 2.2.5 <https://github.com/ktoso/maven-git-commit-id-plugin/releases/tag/v2.2.5>`_.
906
907 * Jacoco Maven plugin `0.8.1 → 0.8.2 <https://github.com/jacoco/jacoco/releases/tag/v0.8.2>`_.
908
909 * Javadoc `3.0.0 → 3.0.1 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317529&version=12342283>`_.
910
911 * PMD 3.8 → 3.10.0:
912
913   * `3.10.0 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12342689&styleName=Text&projectId=12317621>`_.
914
915 * Sevntu `1.29.0 → 1.32.0 <http://sevntu-checkstyle.github.io/sevntu.checkstyle/#1.32.0>`_.
916
917 * SpotBugs 3.1.0-RC6 → 3.1.6 (see the SpotBugs changes above).
918
919 Version 3.1.3
920 -------------
921
922 This version fixes the following issues:
923
924 * `ODLPARENT-156 <https://jira.opendaylight.org/browse/ODLPARENT-156>`_:
925   ``xtend-maven-plugin``’s dependencies end up pulling in conflicting
926   dependencies. ODL Parent now constrains part of its dependency tree to avoid
927   this.
928
929 This version adds ``odl-jackson-2.8`` to ``odlparent-artifacts``.
930
931 Version 3.1.2
932 -------------
933
934 This version fixes the following issues:
935
936 * `INFRAUTILS-41 <https://jira.opendaylight.org/browse/INFRAUTILS-41>`_:
937   ``jre.properties`` includes ``com.sun.management`` so that it can be
938   enabled if necessary. (This doesn’t add a dependency on
939   ``com.sun.management``, it allows bundles to use it if it is present.)
940
941 * `ODLPARENT-136 <https://jira.opendaylight.org/browse/ODLPARENT-136>`_:
942   ``SingleFeatureTest`` pulls in ``org.osgi.compendium``.
943
944 * `ODLPARENT-144 <https://jira.opendaylight.org/browse/ODLPARENT-144>`_:
945   ``org.apache.karaf.scr.management`` is whitelisted so that it no longer
946   affects ``SingleFeatureTest``.
947
948 * `ODLPARENT-146 <https://jira.opendaylight.org/browse/ODLPARENT-146>`_:
949   null-related FindBugs checks which produce false-positives with Guava 23.6
950   and later are disabled, so that this really is fully backwards-compatible
951   with 3.0 and later.
952
953 * `ODLPARENT-148 <https://jira.opendaylight.org/browse/ODLPARENT-148>`_:
954   ``SingleFeatureTest`` preserves ``target/SFT/karaf.log``.
955
956 This version includes the following improvements:
957
958 * ``custom.properties`` no longer includes OVSDB-specific configuration.
959
960 * The ``odl-jersey-1`` feature includes the Jersey client.
961
962 * Redundant bundle dependency declarations in ``SingleFeatureTest`` have been
963   removed (these are declarations which are also present in our base Karaf
964   distribution).
965
966 * Build errors involving invalid feature or bundle URLs now indicate which
967   feature is at fault.
968
969 * Obsolete Log4J overrides have been removed from ``SingleFeatureTest``.
970
971 When building using JDK 9 or 10, the default settings have been changed as
972 follows to avoid errors or extraneous warnings:
973
974 * SFT is disabled (it needs Karaf 4.2 or later);
975
976 * Javadocs are generated as HTML 4;
977
978 * SpotBugs is disabled on JDK 10 or later;
979
980 * FindBugs is disabled on JDK 9 or later.
981
982 The following third-party dependencies have been upgraded:
983
984 * `EclipseLink Moxy JAXB 2.6.2 → 2.7.1 <https://www.eclipse.org/eclipselink/releases/2.7.php>`_.
985
986 * `Google Truth 0.36 → 0.40 <https://github.com/google/truth/releases>`_.
987
988 * `Gson 2.8.2 → 2.8.5 <https://github.com/google/gson/blob/master/CHANGELOG.md>`_.
989
990 * `Guava 23.6 → 23.6.1 <https://github.com/google/guava/compare/v23.6...v23.6.1>`_.
991   This addresses CVE-2018-10237 (that’s the only change in this release).
992
993 * `Jacoco Maven plugin 0.8.0 → 0.8.1 <https://github.com/jacoco/jacoco/releases/tag/v0.8.1>`_.
994
995 * JDT annotations 2.1.0 → 2.1.150.
996
997 * `Scala 2.12.5 → 2.12.6 <https://github.com/scala/scala/releases/tag/v2.12.6>`_.
998
999 * `Scala Parser Combinators 1.0.6 → 1.0.7 <https://github.com/scala/scala-parser-combinators/releases/tag/v1.0.7>`_.
1000
1001 * `Sevntu 1.24.2 → 1.29.0 <https://sevntu-checkstyle.github.io/sevntu.checkstyle/#1.29.0>`_.
1002
1003 * `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>`_.
1004
1005 The following Maven plugin has been upgraded:
1006
1007 * `Javadoc 3.0.0 → 3.0.1 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317529&version=12342283>`_.
1008
1009 Version 3.1.1
1010 -------------
1011
1012 This version fixes the following issues:
1013
1014 * `ODLPARENT-137 <https://jira.opendaylight.org/browse/ODLPARENT-137>`_:
1015   restore the OpenDaylight prompt.
1016
1017 * `ODLPARENT-146 <https://jira.opendaylight.org/browse/ODLPARENT-146>`_:
1018   Guava 23.6 switched from @Nullable to @NullableDecl, which causes false
1019   positives in FindBugs’ ``NP_NONNULL_PARAM_VIOLATION`` rule; we’re
1020   disabling the rule for now.
1021
1022 Version 3.1.0
1023 -------------
1024
1025 This version fixes the following issues:
1026
1027 * Mycila dependencies are now “compile” scoped rather than “test”; this allows
1028   child projects to use Guice with Mycila more easily.
1029
1030 * The duplicate finder now ignores ``web.xml`` and BluePrint XML files.
1031
1032 This version includes the following improvements:
1033
1034 * The ``-Pq`` profile skips Maven Modernizer, in preparation for its future
1035   integration (and its use in child projects).
1036
1037 * An OWASP profile, ``-Powasp`` is available for vulnerability checking.
1038
1039 * A new ``odl-jackson-2.8`` feature provides Jackson 2.8 to child projects.
1040
1041 The following third-party dependencies have been added to dependency management:
1042
1043 * `ThreeTen-Extra <http://www.threeten.org/threeten-extra/>`_
1044
1045 The following third-party dependencies have been upgraded:
1046
1047 * Aeron 1.2.5 → 1.7.0; release notes:
1048
1049   * `1.3.0 <https://github.com/real-logic/aeron/releases/tag/1.3.0>`_
1050   * `1.4.0 <https://github.com/real-logic/aeron/releases/tag/1.4.0>`_
1051   * `1.5.0 <https://github.com/real-logic/aeron/releases/tag/1.5.0>`_
1052   * `1.5.1 <https://github.com/real-logic/aeron/releases/tag/1.5.1>`_
1053   * `1.5.2 <https://github.com/real-logic/aeron/releases/tag/1.5.2>`_
1054   * `1.6.0 <https://github.com/real-logic/aeron/releases/tag/1.6.0>`_
1055   * `1.7.0 <https://github.com/real-logic/aeron/releases/tag/1.7.0>`_
1056
1057 * Agrona 0.9.5 → 0.9.12; release notes:
1058
1059   * `0.9.6 <https://github.com/real-logic/Agrona/releases/tag/0.9.6>`_
1060   * `0.9.7 <https://github.com/real-logic/Agrona/releases/tag/0.9.7>`_
1061   * `0.9.8 <https://github.com/real-logic/Agrona/releases/tag/0.9.8>`_
1062   * `0.9.9 <https://github.com/real-logic/Agrona/releases/tag/0.9.9>`_
1063   * `0.9.10 <https://github.com/real-logic/Agrona/releases/tag/0.9.10>`_
1064   * `0.9.11 <https://github.com/real-logic/Agrona/releases/tag/0.9.11>`_
1065   * `0.9.12 <https://github.com/real-logic/Agrona/releases/tag/0.9.12>`_
1066
1067 * Akka 2.5.5 → 2.5.11; release notes:
1068
1069   * `2.5.6 <https://akka.io/blog/news/2017/09/28/akka-2.5.6-released>`_
1070   * `2.5.7 <https://akka.io/blog/news/2017/11/17/akka-2.5.7-released>`_
1071   * `2.5.8 <https://akka.io/blog/news/2017/12/08/akka-2.5.8-released>`_
1072   * `2.5.9 <https://akka.io/blog/news/2018/01/11/akka-2.5.9-released-2.4.x-end-of-life>`_
1073   * `2.5.10 <https://akka.io/blog/news/2018/02/23/akka-2.5.10-released>`_
1074   * `2.5.11 <https://akka.io/blog/news/2018/02/28/akka-2.5.11-released>`_
1075
1076 * Commons Lang 3 `3.6 → 3.7 <http://www.apache.org/dist/commons/lang/RELEASE-NOTES.txt>`_
1077
1078 * Guava 23.3 → 23.6; release notes:
1079
1080   * `23.4 <https://github.com/google/guava/releases/tag/v23.4>`_
1081   * `23.5 <https://github.com/google/guava/releases/tag/v23.5>`_
1082   * `23.6 <https://github.com/google/guava/releases/tag/v23.6>`_
1083
1084 * H2 database `1.4.193 → 1.4.196 <http://www.h2database.com/html/changelog.html>`_
1085
1086 * Jacoco `0.7.9 → 0.8.0 <https://github.com/jacoco/jacoco/releases/tag/v0.8.0>`_
1087
1088 * Javassist `3.21.0 → 3.22.0 <https://github.com/jboss-javassist/javassist/compare/rel_3_21_0_ga...rel_3_22_0_ga>`_
1089
1090 * lmax-disruptor 3.3.7 → 3.3.10; release notes:
1091
1092   * `3.3.8 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.3.8>`_
1093   * `3.3.9 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.3.9>`_
1094   * `3.3.10 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.3.10>`_
1095
1096 * Netty 4.1.16 → 4.1.22; release notes:
1097
1098   * `4.1.17 <http://netty.io/news/2017/11/08/4-0-53-Final-4-1-17-Final.html>`_
1099   * `4.1.18 <http://netty.io/news/2017/12/11/4-0-54-Final-4-1-18-Final.html>`_
1100   * `4.1.19 <http://netty.io/news/2017/12/18/4-1-19-Final.html>`_
1101   * `4.1.20 <http://netty.io/news/2018/01/22/4-0-55-Final-4-1-20-Final.html>`_
1102   * `4.1.21 <http://netty.io/news/2018/02/05/4-0-56-Final-4-1-21-Final.html>`_
1103   * `4.1.22 <http://netty.io/news/2018/02/21/4-1-22-Final.html>`_
1104
1105 * Scala `2.12.4 → 2.12.5 <http://www.scala-lang.org/news/2.12.5>`_
1106
1107 * Typesafe Config `0.2.1 → 0.2.2 <https://github.com/typesafehub/config/blob/master/NEWS.md>`_
1108
1109 The following Maven plugins have been upgraded:
1110
1111 * FindBugs 3.0.4 → 3.0.5
1112
1113 * Git commit id 2.2.2 → 2.2.4; release notes:
1114
1115   * `2.2.3 <https://github.com/ktoso/maven-git-commit-id-plugin/releases/tag/v2.2.3>`_
1116   * `2.2.4 <https://github.com/ktoso/maven-git-commit-id-plugin/releases/tag/v2.2.4>`_
1117
1118 Version 3.0.3
1119 -------------
1120
1121 This version fixes the following issues:
1122
1123 * `ODLPARENT-136`_: ``features-test`` needs ``org.osgi.compendium``.
1124
1125 * Jackson dependencies are declared using ``jackson-bom`` to ensure all they
1126   remain consistent.
1127
1128 * ``find-duplicate-classpath-entries`` is run in the “verify” phase rather than
1129   the “validate” phase, which is too early.
1130
1131 * The version of Jetty we pull in is now aligned with that declared in Karaf,
1132   resolving a number of restart and dependency issues.
1133
1134 * Pulling in the ``wrap`` feature unconditionally is no longer necessary, so
1135   ``karaf4-parent`` no longer does so.
1136
1137 * ``metainf-services`` are declared with scope “provided” to avoid their being
1138   included in downstream features (it’s a build-time dependency only).
1139
1140 * ``leveldb-api`` is excluded from ``odl-akka-leveldb-0.7``, and ``jsr250-api``
1141   from ``enunciate-core-annotations``, to avoid duplicate having classes on the
1142   classpath.
1143
1144 * Since the ``ssh`` feature is excluded from generated features, our Karaf
1145   need to enable it at boot in all cases.
1146
1147 * ``bundle-test-lib`` is now a bundle.
1148
1149 * Since we use static SLF4J loggers, the ``SLF4J_LOGGER_SHOULD_BE_NON_STATIC``
1150   rule needs to be disabled in our FindBugs configuration (this allows
1151   downstream projects to enable ``findbugs-slf4j`` without having to deal with
1152   all the resulting false-positives).
1153
1154 * ``org.apache.karaf.scr.management`` is white-listed in SFT to avoid failures
1155   apparently related to that component (which we don’t care about).
1156
1157 .. _ODLPARENT-136: https://jira.opendaylight.org/browse/ODLPARENT-136
1158
1159 This version upgrades the following third-party dependencies:
1160
1161 * `Antlr 4.7 → 4.7.1`_
1162
1163 * `BouncyCastle 1.58 → 1.59`_
1164
1165 * Jersey 1.17 → 1.19.4 (additionally available as the ``odl-jersey-1`` feature)
1166
1167 * Jolokia 1.3.7 → 1.5.0
1168
1169 * Karaf 4.1.3 → 4.1.5; release notes:
1170
1171   * `Karaf 4.1.4`_
1172   * `Karaf 4.1.5`_
1173
1174 .. _Antlr 4.7 → 4.7.1: https://github.com/antlr/antlr4/releases/tag/4.7.1
1175 .. _BouncyCastle 1.58 → 1.59: https://www.bouncycastle.org/releasenotes.html
1176 .. _Karaf 4.1.4: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12341702
1177 .. _Karaf 4.1.5: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12342294
1178
1179 Version 3.0.2
1180 -------------
1181
1182 This version fixes the following issues:
1183
1184 * SingleFeatureTest uses the configured local Maven repository for Pax Exam.
1185
1186 * JavaDoc links are disabled for now to `speed up builds`_. A new
1187   ``javadoc-links`` profile enables the links.
1188
1189 * Conditional feature dependencies are processed, ensuring our
1190   `distribution is complete`_.
1191
1192 * Startup features are `adjusted for Karaf 4.1`_, avoiding unnecessary
1193   refreshes.
1194
1195 * The ``hiddenField`` Checkstyle check is disabled for abstract methods.
1196
1197 * The default logging configuration uses Log4J2, which is the new default in
1198   Karaf 4.1.
1199
1200 .. _speed up builds: https://jira.opendaylight.org/browse/ODLPARENT-121
1201 .. _distribution is complete: https://jira.opendaylight.org/browse/ODLPARENT-133
1202 .. _adjusted for Karaf 4.1: https://jira.opendaylight.org/browse/ODLPARENT-134
1203
1204 This version upgrades the following dependencies or plugins:
1205
1206 * ``maven-enforcer-plugin`` 1.4.1 → 3.0.0-M1
1207
1208 * ``maven-javadoc-plugin`` 3.0.0-M1 → 3.0.0
1209
1210 Version 3.0.1
1211 -------------
1212
1213 This version fixes the following issues:
1214
1215 * Karaf pulls in an invalid Hibernate feature repository, breaking downstream
1216   dependencies pulling in the “war” feature. ``populate-local-repo`` corrects
1217   the repository dependency.
1218
1219
1220 Version 3.0.0
1221 -------------
1222
1223 Compiler settings
1224 ~~~~~~~~~~~~~~~~~
1225
1226 Build now show compiler warnings and deprecation warnings. This doesn't affect
1227 the result or require any changes currently, it just makes the issues more
1228 visible.
1229
1230 New Checkstyle rules
1231 ~~~~~~~~~~~~~~~~~~~~
1232
1233 Checkstyle has been upgraded from 7.6 to 8.4 (see the
1234 `Checkstyle release notes`_ for details), and Sevntu from 1.21.0 to 1.24.2
1235 (note that the latter's group identifier changed from
1236 ``com.github.sevntu.checkstyle`` to ``com.github.sevntu-checkstyle``; you
1237 might need to update your IDE's configuration).
1238
1239 The following Checkstyle rules are enabled; this might require changes in
1240 projects which enforce Checkstyle validation:
1241
1242 * `AvoidHidingCauseExceptionCheck`_
1243 * `FinalClass`_: utility classes must be declared ``final``
1244 * `HiddenField`_: fields must not be shadowed
1245 * `HideUtilityClassConstructor`_: utility classes must hide their constructor
1246
1247 .. _Checkstyle release notes: http://checkstyle.sourceforge.net/releasenotes.html
1248
1249 .. _AvoidHidingCauseExceptionCheck: http://sevntu-checkstyle.github.io/sevntu.checkstyle/apidocs/com/github/sevntu/checkstyle/checks/coding/AvoidHidingCauseExceptionCheck.html
1250 .. _FinalClass: http://checkstyle.sourceforge.net/config_design.html#FinalClass
1251 .. _HiddenField: http://checkstyle.sourceforge.net/config_coding.html#HiddenField
1252 .. _HideUtilityClassConstructor: http://checkstyle.sourceforge.net/config_design.html#HideUtilityClassConstructor
1253
1254 Karaf
1255 ~~~~~
1256
1257 Karaf has been upgraded to 4.1.3. This should be transparent for dependent
1258 projects.
1259
1260 Karaf distributions
1261 ~~~~~~~~~~~~~~~~~~~
1262
1263 * When building a Karaf distribution using ``karaf4-parent``, projects can
1264   specify which archives to build: the ``karaf.archiveZip`` property will
1265   enable ZIP files if true, and ``karaf.archiveTarGz`` will enable
1266   gzip-compressed tarballs if true. By default both are enabled.
1267
1268 * Our Karaf distribution provides Bouncy Castle at startup. Auto-generated
1269   feature descriptors take this into account (they won't embed a Bouncy
1270   Castle dependency).
1271
1272 Feature removals
1273 ~~~~~~~~~~~~~~~~
1274
1275 * The ``odl-triemap-0.2`` feature wrapping
1276   ``com.github.romix:java-concurrent-hash-trie-map`` was rendered obsolete by
1277   YANG Tools' implementation and has been removed.
1278
1279 Feature additions
1280 ~~~~~~~~~~~~~~~~~
1281
1282 * ``odl-javassist-3`` provides Javassist in a feature.
1283
1284 * ``odl-jung-2.1`` provides `JUNG`_ in a feature.
1285
1286 .. _JUNG: http://jung.sourceforge.net/
1287
1288 Upstream version upgrades
1289 ~~~~~~~~~~~~~~~~~~~~~~~~~
1290
1291 The following upstream dependencies have been upgraded:
1292
1293 * Akka 2.4.18 → 2.5.4; release notes:
1294
1295   * `Akka 2.5.0`_
1296   * `Akka 2.5.1`_
1297   * `Akka 2.5.2`_
1298   * `Akka 2.5.3`_
1299   * `Akka 2.5.4`_
1300
1301 * `Awaitility 2 → 3`_
1302
1303 * `Bouncy Castle 1.57 → 1.58`_
1304
1305 * `Commons Codec 1.10 → 1.11`_
1306
1307 * `Commons File Upload 1.3.2 → 1.3.3`_
1308
1309 * `Commons IO 2.5 → 2.6`_
1310
1311 * Eclipse JDT annotations 2.0.0 → 2.1.0
1312
1313 * Felix Dependency Manager 4.3.0 → 4.4.1
1314 * Felix Dependency Manager Shell 4.0.4 → 4.0.6
1315 * Felix Metatype 1.1.2 → 1.1.6
1316
1317 * `Google Truth 0.28 → 0.36`_ (with the Java 8 extensions)
1318
1319 * `Gson 2.7 → 2.8.2`_
1320
1321 * Guava 22 → 23.3 along with the associated feature name change from
1322   ``odl-guava-22`` to ``odl-guava-23`` (dependent packages *must* change their
1323   dependency); release notes:
1324
1325   * `Guava 23`_
1326   * `Guava 23.1`_
1327   * `Guava 23.2`_
1328   * `Guava 23.3`_
1329
1330 * Immutables 2.4.2 → 2.5.6
1331
1332 * Jackson 2.3.2 → 2.8.9
1333
1334 * Jacoco 0.7.7 → 0.7.9; release notes:
1335
1336   * `Jacoco 0.7.8`_
1337   * `Jacoco 0.7.9`_
1338
1339 * Jacoco Listeners 2.4 → 3.8
1340
1341 * `Javassist 3.20.0 → 3.21.0`_
1342
1343 * `Jettison 1.3.7 → 1.3.8`_
1344
1345 * `Jolokia 1.3.6 → 1.3.7`_
1346
1347 * `JSONassert 1.3.0 → 1.5.0`_
1348
1349 * `logback 1.2.2 → 1.2.3`_
1350
1351 * `LMAX Disruptor 3.3.6 → 3.3.7`_
1352
1353 * Netty 4.1.8 → 4.1.16; release notes:
1354
1355   * `Netty 4.1.9`_
1356   * `Netty 4.1.10`_
1357   * `Netty 4.1.11`_
1358   * `Netty 4.1.12`_
1359   * `Netty 4.1.13`_
1360   * `Netty 4.1.14`_
1361   * `Netty 4.1.15`_
1362   * `Netty 4.1.16`_
1363
1364 * `Pax URL 2.5.2 → 2.5.3`_
1365
1366 * Scala 2.11.11 → 2.12.4; release notes:
1367
1368   * `Scala 2.12.0`_
1369   * `Scala 2.12.1`_
1370   * `Scala 2.12.2`_
1371   * `Scala 2.12.3`_
1372   * `Scala 2.12.4`_
1373
1374 * Servlet API 3.0.1 → 3.1.0
1375
1376 * `SLF4J 1.7.21 → 1.7.25`_
1377
1378 * `webcohesion enunciate 2.6.0 → 2.10.1`_
1379
1380 * `Xtend 2.12 → 2.13`_
1381
1382 .. _Akka 2.5.0: http://akka.io/blog/news/2017/04/13/akka-2.5.0-released
1383 .. _Akka 2.5.1: http://akka.io/blog/news/2017/05/02/akka-2.5.1-released
1384 .. _Akka 2.5.2: http://akka.io/blog/news/2017/05/24/akka-2.5.2-released
1385 .. _Akka 2.5.3: http://akka.io/blog/news/2017/06/19/akka-2.5.3-released
1386 .. _Akka 2.5.4: http://akka.io/blog/news/2017/08/10/akka-2.5.4-released
1387
1388 .. _Awaitility 2 → 3: https://github.com/awaitility/awaitility/wiki/ReleaseNotes30
1389
1390 .. _Bouncy Castle 1.57 → 1.58: https://www.bouncycastle.org/releasenotes.html
1391
1392 .. _Commons Codec 1.10 → 1.11: http://www.apache.org/dist/commons/codec/RELEASE-NOTES.txt
1393
1394 .. _Commons File Upload 1.3.2 → 1.3.3: http://www.apache.org/dist/commons/fileupload/RELEASE-NOTES.txt
1395
1396 .. _Commons IO 2.5 → 2.6: http://www.apache.org/dist/commons/io/RELEASE-NOTES.txt
1397
1398 .. _Google Truth 0.28 → 0.36: https://github.com/google/truth/releases
1399
1400 .. _Gson 2.7 → 2.8.2: https://github.com/google/gson/blob/master/CHANGELOG.md
1401
1402 .. _Guava 23: https://github.com/google/guava/wiki/Release23
1403 .. _Guava 23.1: https://github.com/google/guava/releases/tag/v23.1
1404 .. _Guava 23.2: https://github.com/google/guava/releases/tag/v23.2
1405 .. _Guava 23.3: https://github.com/google/guava/releases/tag/v23.3
1406
1407 .. _Jacoco 0.7.8: https://github.com/jacoco/jacoco/releases/tag/v0.7.8
1408 .. _Jacoco 0.7.9: https://github.com/jacoco/jacoco/releases/tag/v0.7.9
1409
1410 .. _Javassist 3.20.0 → 3.21.0: https://github.com/jboss-javassist/javassist/compare/rel_3_20_0_ga...rel_3_21_0_ga
1411
1412 .. _Jettison 1.3.7 → 1.3.8: https://github.com/jettison-json/jettison/compare/jettison-1.3.7...jettison-1.3.8
1413
1414 .. _Jolokia 1.3.6 → 1.3.7: https://github.com/rhuss/jolokia/releases/tag/v1.3.7
1415
1416 .. _JSONassert 1.3.0 → 1.5.0: https://github.com/skyscreamer/JSONassert/releases
1417
1418 .. _logback 1.2.2 → 1.2.3: https://logback.qos.ch/news.html
1419
1420 .. _LMAX Disruptor 3.3.6 → 3.3.7: https://github.com/LMAX-Exchange/disruptor/releases/tag/3.3.7
1421
1422 .. _Netty 4.1.9: http://netty.io/news/2017/03/10/4-0-45-Final-4-1-9-Final.html
1423 .. _Netty 4.1.10: http://netty.io/news/2017/04/30/4-0-46-Final-4-1-10-Final.html
1424 .. _Netty 4.1.11: http://netty.io/news/2017/05/12/4-0-47-Final-4-1-11-Final.html
1425 .. _Netty 4.1.12: http://netty.io/news/2017/06/09/4-0-48-Final-4-1-12-Final.html
1426 .. _Netty 4.1.13: http://netty.io/news/2017/07/06/4-0-49-Final-4-1-13-Final.html
1427 .. _Netty 4.1.14: http://netty.io/news/2017/08/03/4-0-50-Final-4-1-14-Final.html
1428 .. _Netty 4.1.15: http://netty.io/news/2017/08/25/4-0-51-Final-4-1-15-Final.html
1429 .. _Netty 4.1.16: http://netty.io/news/2017/09/25/4-0-52-Final-4-1-16-Final.html
1430
1431 .. _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
1432
1433 .. _Scala 2.12.0: https://github.com/scala/scala/releases/tag/v2.12.0
1434 .. _Scala 2.12.1: https://github.com/scala/scala/releases/tag/v2.12.1
1435 .. _Scala 2.12.2: https://github.com/scala/scala/releases/tag/v2.12.2
1436 .. _Scala 2.12.3: https://github.com/scala/scala/releases/tag/v2.12.3
1437 .. _Scala 2.12.4: https://github.com/scala/scala/releases/tag/v2.12.4
1438
1439 .. _SLF4J 1.7.21 → 1.7.25: https://www.slf4j.org/news.html
1440
1441 .. _webcohesion enunciate 2.6.0 → 2.10.1: https://github.com/stoicflame/enunciate/releases
1442
1443 .. _Xtend 2.12 → 2.13: https://www.eclipse.org/xtend/releasenotes.html
1444
1445 Upstream version additions
1446 ~~~~~~~~~~~~~~~~~~~~~~~~~~
1447
1448 The following upstream dependencies have been added to dependency management:
1449
1450 * Commons Text, ``org.apache.commons:commons-text`` (this will allow downstreams
1451   to migrate from ``commons-lang3``\’s ``WordUtils``, which is deprecated)
1452
1453 Upstream version removals
1454 ~~~~~~~~~~~~~~~~~~~~~~~~~
1455
1456 The following upstream dependencies have been removed from dependency
1457 management (they are obsolete and unused):
1458
1459 * Chameleon MBeans
1460 * Eclipse Link
1461 * Equinox HTTP service bridge
1462 * ``equinoxSDK381`` artifacts
1463 * Coda Hale Metrics, which are mostly unused and should eventually be wrapped
1464   by InfraUtils
1465 * ``com.google.code.findbugs:jsr305`` (which *must not* be used; this is
1466   enforced — ``annotations`` should be used instead)
1467 * Felix File Install and Web Console
1468 * Gemini Web
1469 * Orbit
1470 * ``org.mockito:mockito-all`` (which *must not* be used; this is enforced —
1471   ``mockito-core`` should be used instead)
1472 * Spring Framework
1473 * ``txw2``
1474 * Xerces
1475 * ``xml-apis``
1476
1477 Plugin version upgrades
1478 ~~~~~~~~~~~~~~~~~~~~~~~
1479
1480 The following plugins have been upgraded:
1481
1482 * ``org.apache.servicemix.tooling:depends-maven-plugin`` 1.3.1 → 1.4.0
1483 * ``org.apache.felix:maven-bundle-plugin`` 2.4.0 → 3.3.0
1484 * ``maven-compiler-plugin`` 3.6.1 → 3.7.0
1485 * ``maven-dependency-plugin`` 3.0.1 → 3.0.2
1486 * ``maven-enforcer-plugin`` 1.4.1 → 3.0.0-M1
1487 * ``maven-failsafe-plugin`` 2.18.1 → 2.20.1
1488 * ``maven-javadoc-plugin`` 2.10.4 → 3.0.0-M1
1489 * ``maven-shade-plugin`` 2.4.3 → 3.1.0
1490
1491 New plugins
1492 ~~~~~~~~~~~
1493
1494 * The `Maven Find Duplicates`_ plugin can be enabled by setting the
1495   ``duplicate-finder.skip`` property to ``false``.
1496
1497 * The SpotBugs_ Maven plugin can now be used instead of the FindBugs plugin
1498   (both are available, so no change is required). To use SpotBugs, replace
1499   ``org.codehaus.mojo:findbugs-maven-plugin`` with
1500   ``com.github.spotbugs:spotbugs-maven-plugin``.
1501
1502 .. _Maven Find Duplicates: https://github.com/basepom/duplicate-finder-maven-plugin/
1503
1504 .. _SpotBugs: https://spotbugs.github.io/