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