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