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