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