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