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