Add a maven central bandge
[odlparent.git] / NEWS.rst
1 ========================
2 ODL Parent release notes
3 ========================
4
5 Version 4.0.2
6 -------------
7
8 This is a bug-fix and minor upstream bump upgrade from version 4.0.1.
9
10 Bug fixes
11 ~~~~~~~~~
12
13 Previous releases overrode Karaf’s ``jre.properties``; this is no longer
14 necessary, and was causing failures with Java 9 and later (our version of
15 ``jre.properties`` didn’t have the appropriate settings for anything after
16 Java 8). This release drops that override. See
17 `ODLPARENT-168 <https://jira.opendaylight.org/browse/ODLPARENT-168>`__ for
18 details.
19
20 Upstream version upgrades
21 ~~~~~~~~~~~~~~~~~~~~~~~~~
22
23 * Commons Lang `3.8 → 3.8.1 <http://www.apache.org/dist/commons/lang/RELEASE-NOTES.txt>`__.
24
25 * Jackson `2.9.6 → 2.9.7 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.7>`__.
26
27 * Netty `4.1.28 → 4.1.29 <http://netty.io/news/2018/08/24/4-1-29-Final.html>`__.
28
29 Plugin version upgrades
30 ~~~~~~~~~~~~~~~~~~~~~~~
31
32 * 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>`__.
33
34 * Javadoc `3.0.0 → 3.0.1 <https://blogs.apache.org/maven/entry/apache-maven-javadoc-plugin-version>`__.
35
36 * Jersey `2.22.2 → 2.25.1 <https://jersey.github.io/release-notes/2.25.html>`__,
37   along with Glassfish JSON 1.0.4 → 1.1.2.
38
39 * Plugin 3.5 → 3.5.2:
40
41   * `3.5.1 <https://blog.soebes.de/blog/2018/01/22/apache-maven-plugin-tools-version-3-dot-5-1-released/>`__.
42   * `3.5.2 <https://blog.soebes.de/blog/2018/05/26/apache-mave-plugin-tools-version-3-dot-5-2-released/>`__.
43
44 * Resources `3.0.1 → 3.1.0 <https://blogs.apache.org/maven/entry/apache-maven-resources-plugin-version>`__.
45
46 Version 4.0.1
47 -------------
48
49 This is a bug-fix and minor upstream bump upgrade from version 4.0.0.
50
51 Bug fixes
52 ~~~~~~~~~
53
54 The JaCoCo execution profile was incorrect, breaking Sonar; the report is now
55 written correctly, so that Sonar can find it.
56
57 The Blueprint Maven plugin fails when it encounters Java 9 classes; this is
58 fixed by forcefully upgrading its dependency on xbean-finder. See
59 `ODLPARENT-167 <https://jira.opendaylight.org/browse/ODLPARENT-167>`__ for
60 details.
61
62 Upstream version upgrades
63 ~~~~~~~~~~~~~~~~~~~~~~~~~
64
65 * SpotBugs `3.1.6 → 3.1.7 <https://github.com/spotbugs/spotbugs/blob/release-3.1/CHANGELOG.md>`__.
66
67 Upstream version additions
68 ~~~~~~~~~~~~~~~~~~~~~~~~~~
69
70 * Mockito Inline is added alongside Mockito Core, to ensure that the versions
71   are kept in sync.
72
73 Plugin version upgrades
74 ~~~~~~~~~~~~~~~~~~~~~~~
75
76 * 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/>`__.
77
78 * 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/>`__.
79
80 * Dependency 3.0.2 → 3.1.1:
81
82   * `3.1.0 <https://blog.soebes.de/blog/2018/04/06/apache-maven-dependency-plugin-version-3-dot-1-0-released/>`__.
83   * `3.1.1 <https://blog.soebes.de/blog/2018/05/24/apache-maven-dependency-plugin-version-3-dot-1-1-released/>`__.
84
85 * Dependency Check `3.3.1 → 3.3.2 <https://github.com/jeremylong/DependencyCheck/blob/master/RELEASE_NOTES.md>`__.
86
87 * 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>`__.
88
89 * Failsafe 2.20.1 → 2.22:
90
91   * `2.21 <https://blog.soebes.de/blog/2018/03/06/apache-maven-surefire-plugin-version-2-dot-21-released/>`__.
92   * `2.22 <https://blog.soebes.de/blog/2018/06/16/apache-maven-surefire-plugin-version-2-dot-22-released/>`__.
93
94 * Help 2.2 → 3.1.0:
95
96   * `3.0.0 <https://blog.soebes.de/blog/2018/03/18/apache-maven-help-plugin-version-3-dot-0-0-released/>`__.
97   * `3.0.1 <https://blog.soebes.de/blog/2018/03/28/apache-maven-help-plugin-version-3-dot-0-1-released/>`__.
98   * `3.1.0 <https://blog.soebes.de/blog/2018/06/09/apache-maven-help-plugin-version-3-dot-1-0-released/>`__.
99
100 * Invoker 2.0.0 → 3.1.0:
101
102   * `3.0.0 <https://blog.soebes.de/blog/2017/05/24/apache-maven-invoker-plugin-version-3-dot-0-0-released/>`__.
103   * `3.1.0 <https://blog.soebes.de/blog/2018/05/31/apache-maven-invoker-plugin-version-3-dot-1-0-released/>`__.
104
105 * 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/>`__.
106
107 * 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/>`__.
108
109 * 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/>`__.
110
111 * 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/>`__.
112
113 * Site `3.7 → 3.7.1 <https://blog.soebes.de/blog/2018/04/29/apache-maven-site-plugin-version-3-dot-7-1-released/>`__.
114
115 * Surefire 2.18.1 → 2.22.0:
116
117   * `2.19 <https://blog.soebes.de/blog/2015/10/19/apache-maven-surefire-plugin-version-2-dot-19-released/>`__.
118   * `2.19.1 <https://blog.soebes.de/blog/2016/01/03/apache-maven-surefire-plugin-version-2-dot-19-dot-1-released/>`__.
119   * `2.20 <https://blog.soebes.de/blog/2017/04/12/apache-maven-surefire-plugin-version-2-dot-20-released/>`__.
120   * `2.21 <https://blog.soebes.de/blog/2018/03/06/apache-maven-surefire-plugin-version-2-dot-21-released/>`__.
121   * `2.22 <https://blog.soebes.de/blog/2018/06/16/apache-maven-surefire-plugin-version-2-dot-22-released/>`__.
122
123
124 Version 4.0.0
125 -------------
126
127 This is a major upgrade from version 3, with breaking changes; projects will
128 need to make changes to upgrade to this version.
129
130 `This Wiki page <https://wiki.opendaylight.org/view/Neon_platform_upgrade>`_
131 has detailed step-by-step migration instructions.
132
133 ODL Parent 4 requires Maven 3.5.3 or later; this is needed in particular to
134 enable SpotBugs support with current versions of the SpotBugs plugin.
135
136 Known issues
137 ~~~~~~~~~~~~
138
139 This release’s SpotBugs support doesn’t handle Guava 25.1 correctly, resulting
140 in false-positives regarding null handling; see
141 `ODLPARENT-161 <https://jira.opendaylight.org/browse/ODLPARENT-161>`_ for
142 details. Until this is fixed, the corresponding warnings are disabled, which
143 matches our existing FindBugs configuration (which suffers from the a variant
144 of this, with the same consequences).
145
146 We are planning on upgrading Akka during the 4.x cycle, even if it results in
147 a technically breaking upgrade. This is currently blocked on an OSGi bug in
148 Akka; see `Akka issue 25579 <https://github.com/akka/akka/issues/25579>`_ for
149 details.
150
151 Blueprint and OSGi service handling
152 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
153
154 Previous releases used an OpenDaylight-specific directory for Blueprint XML
155 files, ``org/opendaylight/blueprint``. It turned out this wasn’t useful, so
156 version 4 uses the default directory, ``OSGI-INF/blueprint``.
157
158 The Maven bundle plugin is now configured to omit the ``Import-Service`` and
159 ``Export-Service`` headers, since they are deprecated, unnecessary in
160 OpenDaylight, and liable to cause issues.
161
162 With previous releases of OpenDaylight, projects were encouraged to use Pax
163 CDI API annotations to describe their Blueprint beans, services and injections;
164 with version 4, Blueprint annotations should be used instead:
165
166 * modules should depend on
167   ``org.apache.aries.blueprint:blueprint-maven-plugin-annotation``, with the
168   ``<optional>true</optional>`` flag, instead of
169   ``org.ops4j.pax.cdi:pax-cdi-api``;
170
171 * ``@OsgiServiceProvider`` on bean definitions is replaced by ``@Service``;
172
173 * ``@OsgiService`` at injection points is replaced by ``@Reference``;
174
175 * ``@OsgiService`` on bean definitions, while technically wrong, can be seen in
176   the OpenDaylight codebase; this is replaced by ``@Service``;
177
178 * service lists can be injected using ``@ReferenceList``.
179
180 See `this Gerrit patch <https://git.opendaylight.org/gerrit/75699>`_ for an
181 example.
182
183 Compiler settings
184 ~~~~~~~~~~~~~~~~~
185
186 Builds now warn about unchecked type uses (such as raw types where generics
187 are available).
188
189 JUnit and Mockito are always available as test dependencies and no longer need
190 to be declared in POMs.
191
192 New build profiles
193 ~~~~~~~~~~~~~~~~~~
194
195 An OWASP profile is now available to run OWASP’s dependency checker; this will
196 check all third-party dependencies against the NVD vulnerability database. To
197 enable this, run Maven with ``-Powasp``.
198
199 Build profile changes
200 ~~~~~~~~~~~~~~~~~~~~~
201
202 ``-Pq`` now skips Modernizer.
203
204 New features
205 ~~~~~~~~~~~~
206
207 ``odl-akka-leveldb-0.10`` wraps LevelDB 0.10 for Akka.
208
209 ``odl-apache-commons-codec`` wraps Apache Commons Codec.
210
211 ``odl-apache-commons-lang3`` wraps Apache Commons Lang 3.
212
213 ``odl-apache-commons-net`` wraps Apache Commons Net.
214
215 ``odl-apache-commons-text`` wraps Apache Commons Text.
216
217 ``odl-apache-sshd`` wraps Apache SSHD.
218
219 ``odl-guava`` provides the default ODL version of Guava; it should be used
220 instead of ``odl-guava-23`` or the new ``odl-guava-25``.
221
222 ``odl-jackson-2.9`` wraps Jackson 2.9.
223
224 New FindBugs and SpotBugs settings
225 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
226
227 FindBugs and SpotBugs are configured with
228 `the SLF4J extension <http://kengotoda.github.io/findbugs-slf4j/>`_ (version
229 1.4.0 for FindBugs, 1.4.1 for SpotBugs). This will flag misused SLF4J calls, in
230 particular message templates which don’t match the arguments, and invalid
231 placeholders (*e.g.* ``%s`` instead of ``{}``).
232
233 Deleted artifacts
234 ~~~~~~~~~~~~~~~~~
235
236 ``aggregator-parent`` was unusable outside ``odlparent`` and has been removed.
237 Instead, the ``maven.deploy.skip`` and ``maven.install.skip`` properties are
238 available to disable deploying and installing artifacts.
239
240 Upstream version upgrades
241 ~~~~~~~~~~~~~~~~~~~~~~~~~
242
243 This version upgrades the following third-party dependencies:
244
245 * Aeron 1.7.0 → 1.9.3:
246
247   * `1.8.0 <https://github.com/real-logic/aeron/releases/tag/1.8.0>`_.
248   * `1.8.1 <https://github.com/real-logic/aeron/releases/tag/1.8.1>`_.
249   * `1.8.2 <https://github.com/real-logic/aeron/releases/tag/1.8.2>`_.
250   * `1.9.0 <https://github.com/real-logic/aeron/releases/tag/1.9.0>`_.
251   * `1.9.1 <https://github.com/real-logic/aeron/releases/tag/1.9.1>`_.
252   * `1.9.2 <https://github.com/real-logic/aeron/releases/tag/1.9.2>`_.
253   * `1.9.3 <https://github.com/real-logic/aeron/releases/tag/1.9.3>`_.
254
255 * Agrona 0.9.12 → 0.9.21:
256
257   * `0.9.13 <https://github.com/real-logic/agrona/releases/tag/0.9.13>`_.
258   * `0.9.14 <https://github.com/real-logic/agrona/releases/tag/0.9.14>`_.
259   * `0.9.15 <https://github.com/real-logic/agrona/releases/tag/0.9.15>`_.
260   * `0.9.16 <https://github.com/real-logic/agrona/releases/tag/0.9.16>`_.
261   * `0.9.17 <https://github.com/real-logic/agrona/releases/tag/0.9.17>`_.
262   * `0.9.18 <https://github.com/real-logic/agrona/releases/tag/0.9.18>`_.
263   * `0.9.19 <https://github.com/real-logic/agrona/releases/tag/0.9.19>`_.
264   * `0.9.20 <https://github.com/real-logic/agrona/releases/tag/0.9.20>`_.
265   * `0.9.21 <https://github.com/real-logic/agrona/releases/tag/0.9.21>`_.
266
267 * Akka 2.5.11 → 2.5.14:
268
269   * `2.5.12 <https://akka.io/blog/news/2018/04/13/akka-2.5.12-released>`_.
270   * `2.5.13 <https://akka.io/blog/news/2018/06/08/akka-2.5.13-released>`_.
271   * `2.5.14 <https://akka.io/blog/news/2018/07/13/akka-2.5.14-released>`_.
272
273 * ASM 5.1 → 6.2.1 (synchronised with Karaf).
274
275 * Bouncy Castle `1.59 → 1.60 <https://www.bouncycastle.org/releasenotes.html>`_.
276
277 * Checkstyle `8.4 → 8.12 <http://checkstyle.sourceforge.net/releasenotes.html#Release_8.12>`_.
278
279 * Commons Lang `3.7 → 3.8 <http://www.apache.org/dist/commons/lang/RELEASE-NOTES.txt>`_.
280
281 * Commons Text 1.1 → 1.4:
282
283   * `1.2 <https://commons.apache.org/proper/commons-text/release-notes/RELEASE-NOTES-1.2.txt>`_.
284   * `1.3 <https://commons.apache.org/proper/commons-text/release-notes/RELEASE-NOTES-1.3.txt>`_.
285   * `1.4 <https://commons.apache.org/proper/commons-text/release-notes/RELEASE-NOTES-1.4.txt>`_.
286
287 * Eclipse JDT annotations 2.1.150 → 2.2.0.
288
289 * EclipseLink Moxy JAXB `2.7.1 → 2.7.3 <https://www.eclipse.org/eclipselink/releases/2.7.php>`_.
290
291 * Enunciate core annotations
292   `2.10.1 → 2.11.1 <https://github.com/stoicflame/enunciate/releases>`_.
293
294 * Felix Metatype 1.1.6 → 1.2.0 (synchronised with Karaf).
295
296 * Google Truth `0.40 → 0.42 <https://github.com/google/truth/releases>`_.
297
298 * Guava 23.6.1 → 25.1:
299
300   * `23.4 <https://github.com/google/guava/releases/tag/v23.4>`_.
301   * `23.5 <https://github.com/google/guava/releases/tag/v23.5>`_.
302   * `23.6 <https://github.com/google/guava/releases/tag/v23.6>`_.
303   * `24.0 <https://github.com/google/guava/releases/tag/v24.0>`_.
304   * `24.1 <https://github.com/google/guava/releases/tag/v24.1>`_.
305   * `25.0 <https://github.com/google/guava/releases/tag/v25.0>`_.
306   * `25.1 <https://github.com/google/guava/releases/tag/v25.1>`_.
307
308 * Immutables `2.5.6 → 2.7.1 <https://github.com/immutables/immutables/blob/master/README.md#changelog>`_.
309
310 * Jackson 2.8.9 → 2.9.6:
311
312   * `2.9 feature overview <https://medium.com/@cowtowncoder/jackson-2-9-features-b2a19029e9ff>`_.
313   * `2.9 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9>`_.
314   * `2.9.1 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.1>`_.
315   * `2.9.2 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.2>`_.
316   * `2.9.3 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.3>`_.
317   * `2.9.4 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.4>`_.
318   * `2.9.5 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.5>`_.
319   * `2.9.6 <https://github.com/FasterXML/jackson/wiki/Jackson-Release-2.9.6>`_.
320
321 * JaCoCo `0.8.1 → 0.8.2 <https://github.com/jacoco/jacoco/releases/tag/v0.8.2>`_.
322
323 * Javassist 3.22.0 → 3.23.1. This provides compatibility with Java 9 and later,
324   and `fixes a file handle leak <https://github.com/jboss-javassist/javassist/issues/165>`_.
325
326 * Jettison 1.3.8 → 1.4.0.
327
328 * Jetty 9.3.21 → 9.4.11 (synchronised with Karaf):
329
330   * `9.4.0 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00097.html>`_.
331   * `9.4.1 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00100.html>`_.
332   * `9.4.2 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00101.html>`_.
333   * `9.4.3 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00102.html>`_.
334   * `9.4.4 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00105.html>`_.
335   * `9.4.5 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00107.html>`_.
336   * `9.4.6 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00109.html>`_.
337   * `9.4.7 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00111.html>`_.
338   * `9.4.8 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00114.html>`_.
339   * `9.4.9 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00117.html>`_.
340   * `9.4.10 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00119.html>`_.
341   * `9.4.11 <https://dev.eclipse.org/mhonarc/lists/jetty-announce/msg00122.html>`_.
342
343 * Jolokia OSGi `1.5.0 → 1.6.0 <https://jolokia.org/changes-report.html#a1.6.0>`_.
344
345 * Karaf 4.1.5 → 4.2.1:
346
347   * `4.1.6 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12342748>`_.
348   * `4.2.1 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12342945>`_.
349
350 * LMAX Disruptor 3.3.10 → 3.4.1:
351
352   * `3.4.0 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.4.0>`_.
353   * `3.4.1 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.4.1>`_.
354
355 * META-INF services 1.7 → 1.8.
356
357 * Mockito 1.10.19 → 2.20.1; see
358   `What’s new in Mockito 2 <https://github.com/mockito/mockito/wiki/What%27s-new-in-Mockito-2>`_
359   for upgrade instructions and
360   `the list of issues you might run into <https://asolntsev.github.io/en/2016/10/11/mockito-2.1/>`_.
361
362 * Netty 4.1.22 → 4.1.28:
363
364   * `4.1.17 <http://netty.io/news/2017/11/08/4-0-53-Final-4-1-17-Final.html>`_.
365   * `4.1.18 <http://netty.io/news/2017/12/11/4-0-54-Final-4-1-18-Final.html>`_.
366   * `4.1.19 <http://netty.io/news/2017/12/18/4-1-19-Final.html>`_.
367   * `4.1.20 <http://netty.io/news/2018/01/22/4-0-55-Final-4-1-20-Final.html>`_.
368   * `4.1.21 <http://netty.io/news/2018/02/05/4-0-56-Final-4-1-21-Final.html>`_.
369   * `4.1.22 <http://netty.io/news/2018/02/21/4-1-22-Final.html>`_.
370   * `4.1.23 <http://netty.io/news/2018/04/04/4-1-23-Final.html>`_.
371   * `4.1.24 <http://netty.io/news/2018/04/19/4-1-24-Final.html>`_.
372   * `4.1.25 <http://netty.io/news/2018/05/14/4-1-25-Final.html>`_.
373   * `4.1.26 <http://netty.io/news/2018/07/10/4-1-26-Final.html>`_.
374   * `4.1.27 <http://netty.io/news/2018/07/11/4-1-27-Final.html>`_.
375   * `4.1.28 <http://netty.io/news/2018/07/27/4-1-28-Final.html>`_.
376
377 * Pax Exam 4.11.0 → 4.12.0.
378
379 * Pax URL 2.5.3 → 2.5.4, which only fixes
380   `a potential NullPointerException <https://ops4j1.jira.com/browse/PAXURL-346>`_.
381
382 * PowerMock 1.6.4 → 1.7.4:
383
384   * `1.6.5 <https://github.com/powermock/powermock/releases/tag/powermock-1.6.5>`_.
385   * `1.6.6 <https://github.com/powermock/powermock/releases/tag/powermock-1.6.6>`_.
386   * `1.7.0 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.0>`_.
387   * `1.7.1 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.1>`_.
388   * `1.7.2 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.2>`_.
389   * `1.7.3 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.3>`_.
390   * `1.7.4 <https://github.com/powermock/powermock/releases/tag/powermock-1.7.4>`_.
391
392 * Scala parser combinators 1.0.7 → 1.1.1:
393
394   * `1.1.0 <https://github.com/scala/scala-parser-combinators/releases/tag/v1.1.0>`_.
395   * `1.1.1 <https://github.com/scala/scala-parser-combinators/releases/tag/v1.1.1>`_.
396
397 * SpotBugs `3.1.0 → 3.1.6 <https://github.com/spotbugs/spotbugs/blob/3.1.6/CHANGELOG.md>`_.
398
399 * Threeten Extra `1.3.2 → 1.4 <https://github.com/ThreeTen/threeten-extra/releases>`_.
400
401 * Typesafe SSL config 0.2.2 → 0.2.4:
402
403   * `0.2.3 <https://github.com/lightbend/ssl-config/releases/tag/v0.2.3>`_.
404   * `0.2.4 <https://github.com/lightbend/ssl-config/releases/tag/v0.2.4>`_.
405
406 * Wagon HTTP
407   `2.10 → 3.1.0 <https://lists.apache.org/thread.html/96024c54db7680697cb066e22a37b0ed5b4498386714a8a9ae1ec9cd@%3Cannounce.maven.apache.org%3E>`_.
408
409 * XMLUnit `1.6 → 2.6.2 <https://github.com/xmlunit/xmlunit/blob/master/RELEASE_NOTES.md>`_.
410
411 Upstream version additions
412 ~~~~~~~~~~~~~~~~~~~~~~~~~~
413
414 The following upstream dependencies have been added to dependency management:
415
416 * Apache SSHD 2.0.0, with EdDSA and Netty support (EdDSA is provided by ``net.i2p.crypto:eddsa``).
417
418 * Blueprint annotations (``org.apache.aries.blueprint:blueprint-maven-plugin-annotation``).
419
420 * Log4J2.
421
422 * Pax Web 7.2.3 (synchronised with Karaf).
423
424 Upstream version removals
425 ~~~~~~~~~~~~~~~~~~~~~~~~~
426
427 The following upstream dependencies have been removed from dependency management:
428
429 * Google Protobuf.
430
431 * Our repackaging of Jersey Servlet.
432
433 * JUnit’s ``junit-dep``, which has long been obsolete.
434
435 * LevelDB (which is still available as features).
436
437 * Pax CDI API — Blueprint annotations should be used instead.
438
439 Plugin version upgrades
440 ~~~~~~~~~~~~~~~~~~~~~~~
441
442 The following plugins have been upgraded:
443
444 * Blueprint 1.4.0 → 1.10.0.
445
446 * Build helper 1.12 → 3.0.0.
447
448 * Bundle plugin 3.5.0 → 4.0.0.
449
450 * Checkstyle
451   `2.17 → 3.0.0 <https://mail-archives.apache.org/mod_mbox/maven-announce/201801.mbox/%3Cop.zchs68akkdkhrr%40desktop-2khsk44.mshome.net%3E>`_.
452
453 * Duplicate finder
454   `1.2.1 → 1.3.0 <https://github.com/basepom/duplicate-finder-maven-plugin/blob/master/CHANGES.md>`_.
455
456 * Git commit id `2.2.4 → 2.2.5 <https://github.com/ktoso/maven-git-commit-id-plugin/releases/tag/v2.2.5>`_.
457
458 * Jacoco Maven plugin `0.8.1 → 0.8.2 <https://github.com/jacoco/jacoco/releases/tag/v0.8.2>`_.
459
460 * Javadoc `3.0.0 → 3.0.1 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317529&version=12342283>`_.
461
462 * PMD 3.8 → 3.10.0:
463
464   * `3.10.0 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12342689&styleName=Text&projectId=12317621>`_.
465
466 * Sevntu `1.29.0 → 1.32.0 <http://sevntu-checkstyle.github.io/sevntu.checkstyle/#1.32.0>`_.
467
468 * SpotBugs 3.1.0-RC6 → 3.1.6 (see the SpotBugs changes above).
469
470 Version 3.1.3
471 -------------
472
473 This version fixes the following issues:
474
475 * `ODLPARENT-156 <https://jira.opendaylight.org/browse/ODLPARENT-156>`_:
476   ``xtend-maven-plugin``’s dependencies end up pulling in conflicting
477   dependencies. ODL Parent now constrains part of its dependency tree to avoid
478   this.
479
480 This version adds ``odl-jackson-2.8`` to ``odlparent-artifacts``.
481
482 Version 3.1.2
483 -------------
484
485 This version fixes the following issues:
486
487 * `INFRAUTILS-41 <https://jira.opendaylight.org/browse/INFRAUTILS-41>`_:
488   ``jre.properties`` includes ``com.sun.management`` so that it can be
489   enabled if necessary. (This doesn’t add a dependency on
490   ``com.sun.management``, it allows bundles to use it if it is present.)
491
492 * `ODLPARENT-136 <https://jira.opendaylight.org/browse/ODLPARENT-136>`_:
493   ``SingleFeatureTest`` pulls in ``org.osgi.compendium``.
494
495 * `ODLPARENT-144 <https://jira.opendaylight.org/browse/ODLPARENT-144>`_:
496   ``org.apache.karaf.scr.management`` is whitelisted so that it no longer
497   affects ``SingleFeatureTest``.
498
499 * `ODLPARENT-146 <https://jira.opendaylight.org/browse/ODLPARENT-146>`_:
500   null-related FindBugs checks which produce false-positives with Guava 23.6
501   and later are disabled, so that this really is fully backwards-compatible
502   with 3.0 and later.
503
504 * `ODLPARENT-148 <https://jira.opendaylight.org/browse/ODLPARENT-148>`_:
505   ``SingleFeatureTest`` preserves ``target/SFT/karaf.log``.
506
507 This version includes the following improvements:
508
509 * ``custom.properties`` no longer includes OVSDB-specific configuration.
510
511 * The ``odl-jersey-1`` feature includes the Jersey client.
512
513 * Redundant bundle dependency declarations in ``SingleFeatureTest`` have been
514   removed (these are declarations which are also present in our base Karaf
515   distribution).
516
517 * Build errors involving invalid feature or bundle URLs now indicate which
518   feature is at fault.
519
520 * Obsolete Log4J overrides have been removed from ``SingleFeatureTest``.
521
522 When building using JDK 9 or 10, the default settings have been changed as
523 follows to avoid errors or extraneous warnings:
524
525 * SFT is disabled (it needs Karaf 4.2 or later);
526
527 * Javadocs are generated as HTML 4;
528
529 * SpotBugs is disabled on JDK 10 or later;
530
531 * FindBugs is disabled on JDK 9 or later.
532
533 The following third-party dependencies have been upgraded:
534
535 * `EclipseLink Moxy JAXB 2.6.2 → 2.7.1 <https://www.eclipse.org/eclipselink/releases/2.7.php>`_.
536
537 * `Google Truth 0.36 → 0.40 <https://github.com/google/truth/releases>`_.
538
539 * `Gson 2.8.2 → 2.8.5 <https://github.com/google/gson/blob/master/CHANGELOG.md>`_.
540
541 * `Guava 23.6 → 23.6.1 <https://github.com/google/guava/compare/v23.6...v23.6.1>`_.
542   This addresses CVE-2018-10237 (that’s the only change in this release).
543
544 * `Jacoco Maven plugin 0.8.0 → 0.8.1 <https://github.com/jacoco/jacoco/releases/tag/v0.8.1>`_.
545
546 * JDT annotations 2.1.0 → 2.1.150.
547
548 * `Scala 2.12.5 → 2.12.6 <https://github.com/scala/scala/releases/tag/v2.12.6>`_.
549
550 * `Scala Parser Combinators 1.0.6 → 1.0.7 <https://github.com/scala/scala-parser-combinators/releases/tag/v1.0.7>`_.
551
552 * `Sevntu 1.24.2 → 1.29.0 <https://sevntu-checkstyle.github.io/sevntu.checkstyle/#1.29.0>`_.
553
554 * `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>`_.
555
556 The following Maven plugin has been upgraded:
557
558 * `Javadoc 3.0.0 → 3.0.1 <https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12317529&version=12342283>`_.
559
560 Version 3.1.1
561 -------------
562
563 This version fixes the following issues:
564
565 * `ODLPARENT-137 <https://jira.opendaylight.org/browse/ODLPARENT-137>`_:
566   restore the OpenDaylight prompt.
567
568 * `ODLPARENT-146 <https://jira.opendaylight.org/browse/ODLPARENT-146>`_:
569   Guava 23.6 switched from @Nullable to @NullableDecl, which causes false
570   positives in FindBugs’ ``NP_NONNULL_PARAM_VIOLATION`` rule; we’re
571   disabling the rule for now.
572
573 Version 3.1.0
574 -------------
575
576 This version fixes the following issues:
577
578 * Mycila dependencies are now “compile” scoped rather than “test”; this allows
579   child projects to use Guice with Mycila more easily.
580
581 * The duplicate finder now ignores ``web.xml`` and BluePrint XML files.
582
583 This version includes the following improvements:
584
585 * The ``-Pq`` profile skips Maven Modernizer, in preparation for its future
586   integration (and its use in child projects).
587
588 * An OWASP profile, ``-Powasp`` is available for vulnerability checking.
589
590 * A new ``odl-jackson-2.8`` feature provides Jackson 2.8 to child projects.
591
592 The following third-party dependencies have been added to dependency management:
593
594 * `ThreeTen-Extra <http://www.threeten.org/threeten-extra/>`_
595
596 The following third-party dependencies have been upgraded:
597
598 * Aeron 1.2.5 → 1.7.0; release notes:
599
600   * `1.3.0 <https://github.com/real-logic/aeron/releases/tag/1.3.0>`_
601   * `1.4.0 <https://github.com/real-logic/aeron/releases/tag/1.4.0>`_
602   * `1.5.0 <https://github.com/real-logic/aeron/releases/tag/1.5.0>`_
603   * `1.5.1 <https://github.com/real-logic/aeron/releases/tag/1.5.1>`_
604   * `1.5.2 <https://github.com/real-logic/aeron/releases/tag/1.5.2>`_
605   * `1.6.0 <https://github.com/real-logic/aeron/releases/tag/1.6.0>`_
606   * `1.7.0 <https://github.com/real-logic/aeron/releases/tag/1.7.0>`_
607
608 * Agrona 0.9.5 → 0.9.12; release notes:
609
610   * `0.9.6 <https://github.com/real-logic/Agrona/releases/tag/0.9.6>`_
611   * `0.9.7 <https://github.com/real-logic/Agrona/releases/tag/0.9.7>`_
612   * `0.9.8 <https://github.com/real-logic/Agrona/releases/tag/0.9.8>`_
613   * `0.9.9 <https://github.com/real-logic/Agrona/releases/tag/0.9.9>`_
614   * `0.9.10 <https://github.com/real-logic/Agrona/releases/tag/0.9.10>`_
615   * `0.9.11 <https://github.com/real-logic/Agrona/releases/tag/0.9.11>`_
616   * `0.9.12 <https://github.com/real-logic/Agrona/releases/tag/0.9.12>`_
617
618 * Akka 2.5.5 → 2.5.11; release notes:
619
620   * `2.5.6 <https://akka.io/blog/news/2017/09/28/akka-2.5.6-released>`_
621   * `2.5.7 <https://akka.io/blog/news/2017/11/17/akka-2.5.7-released>`_
622   * `2.5.8 <https://akka.io/blog/news/2017/12/08/akka-2.5.8-released>`_
623   * `2.5.9 <https://akka.io/blog/news/2018/01/11/akka-2.5.9-released-2.4.x-end-of-life>`_
624   * `2.5.10 <https://akka.io/blog/news/2018/02/23/akka-2.5.10-released>`_
625   * `2.5.11 <https://akka.io/blog/news/2018/02/28/akka-2.5.11-released>`_
626
627 * Commons Lang 3 `3.6 → 3.7 <http://www.apache.org/dist/commons/lang/RELEASE-NOTES.txt>`_
628
629 * Guava 23.3 → 23.6; release notes:
630
631   * `23.4 <https://github.com/google/guava/releases/tag/v23.4>`_
632   * `23.5 <https://github.com/google/guava/releases/tag/v23.5>`_
633   * `23.6 <https://github.com/google/guava/releases/tag/v23.6>`_
634
635 * H2 database `1.4.193 → 1.4.196 <http://www.h2database.com/html/changelog.html>`_
636
637 * Jacoco `0.7.9 → 0.8.0 <https://github.com/jacoco/jacoco/releases/tag/v0.8.0>`_
638
639 * Javassist `3.21.0 → 3.22.0 <https://github.com/jboss-javassist/javassist/compare/rel_3_21_0_ga...rel_3_22_0_ga>`_
640
641 * lmax-disruptor 3.3.7 → 3.3.10; release notes:
642
643   * `3.3.8 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.3.8>`_
644   * `3.3.9 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.3.9>`_
645   * `3.3.10 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.3.10>`_
646
647 * Netty 4.1.16 → 4.1.22; release notes:
648
649   * `4.1.17 <http://netty.io/news/2017/11/08/4-0-53-Final-4-1-17-Final.html>`_
650   * `4.1.18 <http://netty.io/news/2017/12/11/4-0-54-Final-4-1-18-Final.html>`_
651   * `4.1.19 <http://netty.io/news/2017/12/18/4-1-19-Final.html>`_
652   * `4.1.20 <http://netty.io/news/2018/01/22/4-0-55-Final-4-1-20-Final.html>`_
653   * `4.1.21 <http://netty.io/news/2018/02/05/4-0-56-Final-4-1-21-Final.html>`_
654   * `4.1.22 <http://netty.io/news/2018/02/21/4-1-22-Final.html>`_
655
656 * Scala `2.12.4 → 2.12.5 <http://www.scala-lang.org/news/2.12.5>`_
657
658 * Typesafe Config `0.2.1 → 0.2.2 <https://github.com/typesafehub/config/blob/master/NEWS.md>`_
659
660 The following Maven plugins have been upgraded:
661
662 * FindBugs 3.0.4 → 3.0.5
663
664 * Git commit id 2.2.2 → 2.2.4; release notes:
665
666   * `2.2.3 <https://github.com/ktoso/maven-git-commit-id-plugin/releases/tag/v2.2.3>`_
667   * `2.2.4 <https://github.com/ktoso/maven-git-commit-id-plugin/releases/tag/v2.2.4>`_
668
669 Version 3.0.3
670 -------------
671
672 This version fixes the following issues:
673
674 * `ODLPARENT-136`_: ``features-test`` needs ``org.osgi.compendium``.
675
676 * Jackson dependencies are declared using ``jackson-bom`` to ensure all they
677   remain consistent.
678
679 * ``find-duplicate-classpath-entries`` is run in the “verify” phase rather than
680   the “validate” phase, which is too early.
681
682 * The version of Jetty we pull in is now aligned with that declared in Karaf,
683   resolving a number of restart and dependency issues.
684
685 * Pulling in the ``wrap`` feature unconditionally is no longer necessary, so
686   ``karaf4-parent`` no longer does so.
687
688 * ``metainf-services`` are declared with scope “provided” to avoid their being
689   included in downstream features (it’s a build-time dependency only).
690
691 * ``leveldb-api`` is excluded from ``odl-akka-leveldb-0.7``, and ``jsr250-api``
692   from ``enunciate-core-annotations``, to avoid duplicate having classes on the
693   classpath.
694
695 * Since the ``ssh`` feature is excluded from generated features, our Karaf
696   need to enable it at boot in all cases.
697
698 * ``bundle-test-lib`` is now a bundle.
699
700 * Since we use static SLF4J loggers, the ``SLF4J_LOGGER_SHOULD_BE_NON_STATIC``
701   rule needs to be disabled in our FindBugs configuration (this allows
702   downstream projects to enable ``findbugs-slf4j`` without having to deal with
703   all the resulting false-positives).
704
705 * ``org.apache.karaf.scr.management`` is white-listed in SFT to avoid failures
706   apparently related to that component (which we don’t care about).
707
708 .. _ODLPARENT-136: https://jira.opendaylight.org/browse/ODLPARENT-136
709
710 This version upgrades the following third-party dependencies:
711
712 * `Antlr 4.7 → 4.7.1`_
713
714 * `BouncyCastle 1.58 → 1.59`_
715
716 * Jersey 1.17 → 1.19.4 (additionally available as the ``odl-jersey-1`` feature)
717
718 * Jolokia 1.3.7 → 1.5.0
719
720 * Karaf 4.1.3 → 4.1.5; release notes:
721
722   * `Karaf 4.1.4`_
723   * `Karaf 4.1.5`_
724
725 .. _Antlr 4.7 → 4.7.1: https://github.com/antlr/antlr4/releases/tag/4.7.1
726 .. _BouncyCastle 1.58 → 1.59: https://www.bouncycastle.org/releasenotes.html
727 .. _Karaf 4.1.4: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12341702
728 .. _Karaf 4.1.5: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12342294
729
730 Version 3.0.2
731 -------------
732
733 This version fixes the following issues:
734
735 * SingleFeatureTest uses the configured local Maven repository for Pax Exam.
736
737 * JavaDoc links are disabled for now to `speed up builds`_. A new
738   ``javadoc-links`` profile enables the links.
739
740 * Conditional feature dependencies are processed, ensuring our
741   `distribution is complete`_.
742
743 * Startup features are `adjusted for Karaf 4.1`_, avoiding unnecessary
744   refreshes.
745
746 * The ``hiddenField`` Checkstyle check is disabled for abstract methods.
747
748 * The default logging configuration uses Log4J2, which is the new default in
749   Karaf 4.1.
750
751 .. _speed up builds: https://jira.opendaylight.org/browse/ODLPARENT-121
752 .. _distribution is complete: https://jira.opendaylight.org/browse/ODLPARENT-133
753 .. _adjusted for Karaf 4.1: https://jira.opendaylight.org/browse/ODLPARENT-134
754
755 This version upgrades the following dependencies or plugins:
756
757 * ``maven-enforcer-plugin`` 1.4.1 → 3.0.0-M1
758
759 * ``maven-javadoc-plugin`` 3.0.0-M1 → 3.0.0
760
761 Version 3.0.1
762 -------------
763
764 This version fixes the following issues:
765
766 * Karaf pulls in an invalid Hibernate feature repository, breaking downstream
767   dependencies pulling in the “war” feature. ``populate-local-repo`` corrects
768   the repository dependency.
769
770
771 Version 3.0.0
772 -------------
773
774 Compiler settings
775 ~~~~~~~~~~~~~~~~~
776
777 Build now show compiler warnings and deprecation warnings. This doesn't affect
778 the result or require any changes currently, it just makes the issues more
779 visible.
780
781 New Checkstyle rules
782 ~~~~~~~~~~~~~~~~~~~~
783
784 Checkstyle has been upgraded from 7.6 to 8.4 (see the
785 `Checkstyle release notes`_ for details), and Sevntu from 1.21.0 to 1.24.2
786 (note that the latter's group identifier changed from
787 ``com.github.sevntu.checkstyle`` to ``com.github.sevntu-checkstyle``; you
788 might need to update your IDE's configuration).
789
790 The following Checkstyle rules are enabled; this might require changes in
791 projects which enforce Checkstyle validation:
792
793 * `AvoidHidingCauseExceptionCheck`_
794 * `FinalClass`_: utility classes must be declared ``final``
795 * `HiddenField`_: fields must not be shadowed
796 * `HideUtilityClassConstructor`_: utility classes must hide their constructor
797
798 .. _Checkstyle release notes: http://checkstyle.sourceforge.net/releasenotes.html
799
800 .. _AvoidHidingCauseExceptionCheck: http://sevntu-checkstyle.github.io/sevntu.checkstyle/apidocs/com/github/sevntu/checkstyle/checks/coding/AvoidHidingCauseExceptionCheck.html
801 .. _FinalClass: http://checkstyle.sourceforge.net/config_design.html#FinalClass
802 .. _HiddenField: http://checkstyle.sourceforge.net/config_coding.html#HiddenField
803 .. _HideUtilityClassConstructor: http://checkstyle.sourceforge.net/config_design.html#HideUtilityClassConstructor
804
805 Karaf
806 ~~~~~
807
808 Karaf has been upgraded to 4.1.3. This should be transparent for dependent
809 projects.
810
811 Karaf distributions
812 ~~~~~~~~~~~~~~~~~~~
813
814 * When building a Karaf distribution using ``karaf4-parent``, projects can
815   specify which archives to build: the ``karaf.archiveZip`` property will
816   enable ZIP files if true, and ``karaf.archiveTarGz`` will enable
817   gzip-compressed tarballs if true. By default both are enabled.
818
819 * Our Karaf distribution provides Bouncy Castle at startup. Auto-generated
820   feature descriptors take this into account (they won't embed a Bouncy
821   Castle dependency).
822
823 Feature removals
824 ~~~~~~~~~~~~~~~~
825
826 * The ``odl-triemap-0.2`` feature wrapping
827   ``com.github.romix:java-concurrent-hash-trie-map`` was rendered obsolete by
828   YANG Tools' implementation and has been removed.
829
830 Feature additions
831 ~~~~~~~~~~~~~~~~~
832
833 * ``odl-javassist-3`` provides Javassist in a feature.
834
835 * ``odl-jung-2.1`` provides `JUNG`_ in a feature.
836
837 .. _JUNG: http://jung.sourceforge.net/
838
839 Upstream version upgrades
840 ~~~~~~~~~~~~~~~~~~~~~~~~~
841
842 The following upstream dependencies have been upgraded:
843
844 * Akka 2.4.18 → 2.5.4; release notes:
845
846   * `Akka 2.5.0`_
847   * `Akka 2.5.1`_
848   * `Akka 2.5.2`_
849   * `Akka 2.5.3`_
850   * `Akka 2.5.4`_
851
852 * `Awaitility 2 → 3`_
853
854 * `Bouncy Castle 1.57 → 1.58`_
855
856 * `Commons Codec 1.10 → 1.11`_
857
858 * `Commons File Upload 1.3.2 → 1.3.3`_
859
860 * `Commons IO 2.5 → 2.6`_
861
862 * Eclipse JDT annotations 2.0.0 → 2.1.0
863
864 * Felix Dependency Manager 4.3.0 → 4.4.1
865 * Felix Dependency Manager Shell 4.0.4 → 4.0.6
866 * Felix Metatype 1.1.2 → 1.1.6
867
868 * `Google Truth 0.28 → 0.36`_ (with the Java 8 extensions)
869
870 * `Gson 2.7 → 2.8.2`_
871
872 * Guava 22 → 23.3 along with the associated feature name change from
873   ``odl-guava-22`` to ``odl-guava-23`` (dependent packages *must* change their
874   dependency); release notes:
875
876   * `Guava 23`_
877   * `Guava 23.1`_
878   * `Guava 23.2`_
879   * `Guava 23.3`_
880
881 * Immutables 2.4.2 → 2.5.6
882
883 * Jackson 2.3.2 → 2.8.9
884
885 * Jacoco 0.7.7 → 0.7.9; release notes:
886
887   * `Jacoco 0.7.8`_
888   * `Jacoco 0.7.9`_
889
890 * Jacoco Listeners 2.4 → 3.8
891
892 * `Javassist 3.20.0 → 3.21.0`_
893
894 * `Jettison 1.3.7 → 1.3.8`_
895
896 * `Jolokia 1.3.6 → 1.3.7`_
897
898 * `JSONassert 1.3.0 → 1.5.0`_
899
900 * `logback 1.2.2 → 1.2.3`_
901
902 * `LMAX Disruptor 3.3.6 → 3.3.7`_
903
904 * Netty 4.1.8 → 4.1.16; release notes:
905
906   * `Netty 4.1.9`_
907   * `Netty 4.1.10`_
908   * `Netty 4.1.11`_
909   * `Netty 4.1.12`_
910   * `Netty 4.1.13`_
911   * `Netty 4.1.14`_
912   * `Netty 4.1.15`_
913   * `Netty 4.1.16`_
914
915 * `Pax URL 2.5.2 → 2.5.3`_
916
917 * Scala 2.11.11 → 2.12.4; release notes:
918
919   * `Scala 2.12.0`_
920   * `Scala 2.12.1`_
921   * `Scala 2.12.2`_
922   * `Scala 2.12.3`_
923   * `Scala 2.12.4`_
924
925 * Servlet API 3.0.1 → 3.1.0
926
927 * `SLF4J 1.7.21 → 1.7.25`_
928
929 * `webcohesion enunciate 2.6.0 → 2.10.1`_
930
931 * `Xtend 2.12 → 2.13`_
932
933 .. _Akka 2.5.0: http://akka.io/blog/news/2017/04/13/akka-2.5.0-released
934 .. _Akka 2.5.1: http://akka.io/blog/news/2017/05/02/akka-2.5.1-released
935 .. _Akka 2.5.2: http://akka.io/blog/news/2017/05/24/akka-2.5.2-released
936 .. _Akka 2.5.3: http://akka.io/blog/news/2017/06/19/akka-2.5.3-released
937 .. _Akka 2.5.4: http://akka.io/blog/news/2017/08/10/akka-2.5.4-released
938
939 .. _Awaitility 2 → 3: https://github.com/awaitility/awaitility/wiki/ReleaseNotes30
940
941 .. _Bouncy Castle 1.57 → 1.58: https://www.bouncycastle.org/releasenotes.html
942
943 .. _Commons Codec 1.10 → 1.11: http://www.apache.org/dist/commons/codec/RELEASE-NOTES.txt
944
945 .. _Commons File Upload 1.3.2 → 1.3.3: http://www.apache.org/dist/commons/fileupload/RELEASE-NOTES.txt
946
947 .. _Commons IO 2.5 → 2.6: http://www.apache.org/dist/commons/io/RELEASE-NOTES.txt
948
949 .. _Google Truth 0.28 → 0.36: https://github.com/google/truth/releases
950
951 .. _Gson 2.7 → 2.8.2: https://github.com/google/gson/blob/master/CHANGELOG.md
952
953 .. _Guava 23: https://github.com/google/guava/wiki/Release23
954 .. _Guava 23.1: https://github.com/google/guava/releases/tag/v23.1
955 .. _Guava 23.2: https://github.com/google/guava/releases/tag/v23.2
956 .. _Guava 23.3: https://github.com/google/guava/releases/tag/v23.3
957
958 .. _Jacoco 0.7.8: https://github.com/jacoco/jacoco/releases/tag/v0.7.8
959 .. _Jacoco 0.7.9: https://github.com/jacoco/jacoco/releases/tag/v0.7.9
960
961 .. _Javassist 3.20.0 → 3.21.0: https://github.com/jboss-javassist/javassist/compare/rel_3_20_0_ga...rel_3_21_0_ga
962
963 .. _Jettison 1.3.7 → 1.3.8: https://github.com/jettison-json/jettison/compare/jettison-1.3.7...jettison-1.3.8
964
965 .. _Jolokia 1.3.6 → 1.3.7: https://github.com/rhuss/jolokia/releases/tag/v1.3.7
966
967 .. _JSONassert 1.3.0 → 1.5.0: https://github.com/skyscreamer/JSONassert/releases
968
969 .. _logback 1.2.2 → 1.2.3: https://logback.qos.ch/news.html
970
971 .. _LMAX Disruptor 3.3.6 → 3.3.7: https://github.com/LMAX-Exchange/disruptor/releases/tag/3.3.7
972
973 .. _Netty 4.1.9: http://netty.io/news/2017/03/10/4-0-45-Final-4-1-9-Final.html
974 .. _Netty 4.1.10: http://netty.io/news/2017/04/30/4-0-46-Final-4-1-10-Final.html
975 .. _Netty 4.1.11: http://netty.io/news/2017/05/12/4-0-47-Final-4-1-11-Final.html
976 .. _Netty 4.1.12: http://netty.io/news/2017/06/09/4-0-48-Final-4-1-12-Final.html
977 .. _Netty 4.1.13: http://netty.io/news/2017/07/06/4-0-49-Final-4-1-13-Final.html
978 .. _Netty 4.1.14: http://netty.io/news/2017/08/03/4-0-50-Final-4-1-14-Final.html
979 .. _Netty 4.1.15: http://netty.io/news/2017/08/25/4-0-51-Final-4-1-15-Final.html
980 .. _Netty 4.1.16: http://netty.io/news/2017/09/25/4-0-52-Final-4-1-16-Final.html
981
982 .. _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
983
984 .. _Scala 2.12.0: https://github.com/scala/scala/releases/tag/v2.12.0
985 .. _Scala 2.12.1: https://github.com/scala/scala/releases/tag/v2.12.1
986 .. _Scala 2.12.2: https://github.com/scala/scala/releases/tag/v2.12.2
987 .. _Scala 2.12.3: https://github.com/scala/scala/releases/tag/v2.12.3
988 .. _Scala 2.12.4: https://github.com/scala/scala/releases/tag/v2.12.4
989
990 .. _SLF4J 1.7.21 → 1.7.25: https://www.slf4j.org/news.html
991
992 .. _webcohesion enunciate 2.6.0 → 2.10.1: https://github.com/stoicflame/enunciate/releases
993
994 .. _Xtend 2.12 → 2.13: https://www.eclipse.org/xtend/releasenotes.html
995
996 Upstream version additions
997 ~~~~~~~~~~~~~~~~~~~~~~~~~~
998
999 The following upstream dependencies have been added to dependency management:
1000
1001 * Commons Text, ``org.apache.commons:commons-text`` (this will allow downstreams
1002   to migrate from ``commons-lang3``\’s ``WordUtils``, which is deprecated)
1003
1004 Upstream version removals
1005 ~~~~~~~~~~~~~~~~~~~~~~~~~
1006
1007 The following upstream dependencies have been removed from dependency
1008 management (they are obsolete and unused):
1009
1010 * Chameleon MBeans
1011 * Eclipse Link
1012 * Equinox HTTP service bridge
1013 * ``equinoxSDK381`` artifacts
1014 * Coda Hale Metrics, which are mostly unused and should eventually be wrapped
1015   by InfraUtils
1016 * ``com.google.code.findbugs:jsr305`` (which *must not* be used; this is
1017   enforced — ``annotations`` should be used instead)
1018 * Felix File Install and Web Console
1019 * Gemini Web
1020 * Orbit
1021 * ``org.mockito:mockito-all`` (which *must not* be used; this is enforced —
1022   ``mockito-core`` should be used instead)
1023 * Spring Framework
1024 * ``txw2``
1025 * Xerces
1026 * ``xml-apis``
1027
1028 Plugin version upgrades
1029 ~~~~~~~~~~~~~~~~~~~~~~~
1030
1031 The following plugins have been upgraded:
1032
1033 * ``org.apache.servicemix.tooling:depends-maven-plugin`` 1.3.1 → 1.4.0
1034 * ``org.apache.felix:maven-bundle-plugin`` 2.4.0 → 3.3.0
1035 * ``maven-compiler-plugin`` 3.6.1 → 3.7.0
1036 * ``maven-dependency-plugin`` 3.0.1 → 3.0.2
1037 * ``maven-enforcer-plugin`` 1.4.1 → 3.0.0-M1
1038 * ``maven-failsafe-plugin`` 2.18.1 → 2.20.1
1039 * ``maven-javadoc-plugin`` 2.10.4 → 3.0.0-M1
1040 * ``maven-shade-plugin`` 2.4.3 → 3.1.0
1041
1042 New plugins
1043 ~~~~~~~~~~~
1044
1045 * The `Maven Find Duplicates`_ plugin can be enabled by setting the
1046   ``duplicate-finder.skip`` property to ``false``.
1047
1048 * The SpotBugs_ Maven plugin can now be used instead of the FindBugs plugin
1049   (both are available, so no change is required). To use SpotBugs, replace
1050   ``org.codehaus.mojo:findbugs-maven-plugin`` with
1051   ``com.github.spotbugs:spotbugs-maven-plugin``.
1052
1053 .. _Maven Find Duplicates: https://github.com/basepom/duplicate-finder-maven-plugin/
1054
1055 .. _SpotBugs: https://spotbugs.github.io/