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