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