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