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