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