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