Bump EclipseLink Moxy JAXB impl 2.7.1 → 2.7.3
[odlparent.git] / NEWS.rst
1 ========================
2 ODL Parent release notes
3 ========================
4
5 Version 3.1.1
6 -------------
7
8 This version fixes the following issues:
9
10 * `ODLPARENT-137 <https://jira.opendaylight.org/browse/ODLPARENT-137>`_:
11   restore the OpenDaylight prompt.
12
13 * `ODLPARENT-146 <https://jira.opendaylight.org/browse/ODLPARENT-146>`_:
14   Guava 23.6 switched from @Nullable to @NullableDecl, which causes false
15   positives in FindBugs’ ``NP_NONNULL_PARAM_VIOLATION`` rule; we’re
16   disabling the rule for now.
17
18 Version 3.1.0
19 -------------
20
21 This version fixes the following issues:
22
23 * Mycila dependencies are now “compile” scoped rather than “test”; this allows
24   child projects to use Guice with Mycila more easily.
25
26 * The duplicate finder now ignores ``web.xml`` and BluePrint XML files.
27
28 This version includes the following improvements:
29
30 * The ``-Pq`` profile skips Maven Modernizer, in preparation for its future
31   integration (and its use in child projects).
32
33 * An OWASP profile, ``-Powasp`` is available for vulnerability checking.
34
35 * A new ``odl-jackson-2.8`` feature provides Jackson 2.8 to child projects.
36
37 The following third-party dependencies have been added to dependency management:
38
39 * `ThreeTen-Extra <http://www.threeten.org/threeten-extra/>`_
40
41 The following third-party dependencies have been upgraded:
42
43 * Aeron 1.2.5 → 1.7.0; release notes:
44
45   * `1.3.0 <https://github.com/real-logic/aeron/releases/tag/1.3.0>`_
46   * `1.4.0 <https://github.com/real-logic/aeron/releases/tag/1.4.0>`_
47   * `1.5.0 <https://github.com/real-logic/aeron/releases/tag/1.5.0>`_
48   * `1.5.1 <https://github.com/real-logic/aeron/releases/tag/1.5.1>`_
49   * `1.5.2 <https://github.com/real-logic/aeron/releases/tag/1.5.2>`_
50   * `1.6.0 <https://github.com/real-logic/aeron/releases/tag/1.6.0>`_
51   * `1.7.0 <https://github.com/real-logic/aeron/releases/tag/1.7.0>`_
52
53 * Agrona 0.9.5 → 0.9.12; release notes:
54
55   * `0.9.6 <https://github.com/real-logic/Agrona/releases/tag/0.9.6>`_
56   * `0.9.7 <https://github.com/real-logic/Agrona/releases/tag/0.9.7>`_
57   * `0.9.8 <https://github.com/real-logic/Agrona/releases/tag/0.9.8>`_
58   * `0.9.9 <https://github.com/real-logic/Agrona/releases/tag/0.9.9>`_
59   * `0.9.10 <https://github.com/real-logic/Agrona/releases/tag/0.9.10>`_
60   * `0.9.11 <https://github.com/real-logic/Agrona/releases/tag/0.9.11>`_
61   * `0.9.12 <https://github.com/real-logic/Agrona/releases/tag/0.9.12>`_
62
63 * Akka 2.5.5 → 2.5.11; release notes:
64
65   * `2.5.6 <https://akka.io/blog/news/2017/09/28/akka-2.5.6-released>`_
66   * `2.5.7 <https://akka.io/blog/news/2017/11/17/akka-2.5.7-released>`_
67   * `2.5.8 <https://akka.io/blog/news/2017/12/08/akka-2.5.8-released>`_
68   * `2.5.9 <https://akka.io/blog/news/2018/01/11/akka-2.5.9-released-2.4.x-end-of-life>`_
69   * `2.5.10 <https://akka.io/blog/news/2018/02/23/akka-2.5.10-released>`_
70   * `2.5.11 <https://akka.io/blog/news/2018/02/28/akka-2.5.11-released>`_
71
72 * Commons Lang 3 `3.6 → 3.7 <http://www.apache.org/dist/commons/lang/RELEASE-NOTES.txt>`_
73
74 * Guava 23.3 → 23.6; release notes:
75
76   * `23.4 <https://github.com/google/guava/releases/tag/v23.4>`_
77   * `23.5 <https://github.com/google/guava/releases/tag/v23.5>`_
78   * `23.6 <https://github.com/google/guava/releases/tag/v23.6>`_
79
80 * H2 database `1.4.193 → 1.4.196 <http://www.h2database.com/html/changelog.html>`_
81
82 * Jacoco `0.7.9 → 0.8.0 <https://github.com/jacoco/jacoco/releases/tag/v0.8.0>`_
83
84 * Javassist `3.21.0 → 3.22.0 <https://github.com/jboss-javassist/javassist/compare/rel_3_21_0_ga...rel_3_22_0_ga>`_
85
86 * lmax-disruptor 3.3.7 → 3.3.10; release notes:
87
88   * `3.3.8 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.3.8>`_
89   * `3.3.9 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.3.9>`_
90   * `3.3.10 <https://github.com/LMAX-Exchange/disruptor/releases/tag/3.3.10>`_
91
92 * Netty 4.1.16 → 4.1.22; release notes:
93
94   * `4.1.17 <http://netty.io/news/2017/11/08/4-0-53-Final-4-1-17-Final.html>`_
95   * `4.1.18 <http://netty.io/news/2017/12/11/4-0-54-Final-4-1-18-Final.html>`_
96   * `4.1.19 <http://netty.io/news/2017/12/18/4-1-19-Final.html>`_
97   * `4.1.20 <http://netty.io/news/2018/01/22/4-0-55-Final-4-1-20-Final.html>`_
98   * `4.1.21 <http://netty.io/news/2018/02/05/4-0-56-Final-4-1-21-Final.html>`_
99   * `4.1.22 <http://netty.io/news/2018/02/21/4-1-22-Final.html>`_
100
101 * Scala `2.12.4 → 2.12.5 <http://www.scala-lang.org/news/2.12.5>`_
102
103 * Typesafe Config `0.2.1 → 0.2.2 <https://github.com/typesafehub/config/blob/master/NEWS.md>`_
104
105 The following Maven plugins have been upgraded:
106
107 * FindBugs 3.0.4 → 3.0.5
108
109 * Git commit id 2.2.2 → 2.2.4; release notes:
110
111   * `2.2.3 <https://github.com/ktoso/maven-git-commit-id-plugin/releases/tag/v2.2.3>`_
112   * `2.2.4 <https://github.com/ktoso/maven-git-commit-id-plugin/releases/tag/v2.2.4>`_
113
114 Version 3.0.3
115 -------------
116
117 This version fixes the following issues:
118
119 * `ODLPARENT-136`_: ``features-test`` needs ``org.osgi.compendium``.
120
121 * Jackson dependencies are declared using ``jackson-bom`` to ensure all they
122   remain consistent.
123
124 * ``find-duplicate-classpath-entries`` is run in the “verify” phase rather than
125   the “validate” phase, which is too early.
126
127 * The version of Jetty we pull in is now aligned with that declared in Karaf,
128   resolving a number of restart and dependency issues.
129
130 * Pulling in the ``wrap`` feature unconditionally is no longer necessary, so
131   ``karaf4-parent`` no longer does so.
132
133 * ``metainf-services`` are declared with scope “provided” to avoid their being
134   included in downstream features (it’s a build-time dependency only).
135
136 * ``leveldb-api`` is excluded from ``odl-akka-leveldb-0.7``, and ``jsr250-api``
137   from ``enunciate-core-annotations``, to avoid duplicate having classes on the
138   classpath.
139
140 * Since the ``ssh`` feature is excluded from generated features, our Karaf
141   need to enable it at boot in all cases.
142
143 * ``bundle-test-lib`` is now a bundle.
144
145 * Since we use static SLF4J loggers, the ``SLF4J_LOGGER_SHOULD_BE_NON_STATIC``
146   rule needs to be disabled in our FindBugs configuration (this allows
147   downstream projects to enable ``findbugs-slf4j`` without having to deal with
148   all the resulting false-positives).
149
150 * ``org.apache.karaf.scr.management`` is white-listed in SFT to avoid failures
151   apparently related to that component (which we don’t care about).
152
153 .. _ODLPARENT-136: https://jira.opendaylight.org/browse/ODLPARENT-136
154
155 This version upgrades the following third-party dependencies:
156
157 * `Antlr 4.7 → 4.7.1`_
158
159 * `BouncyCastle 1.58 → 1.59`_
160
161 * Jersey 1.17 → 1.19.4 (additionally available as the ``odl-jersey-1`` feature)
162
163 * Jolokia 1.3.7 → 1.5.0
164
165 * Karaf 4.1.3 → 4.1.5; release notes:
166
167   * `Karaf 4.1.4`_
168   * `Karaf 4.1.5`_
169
170 .. _Antlr 4.7 → 4.7.1: https://github.com/antlr/antlr4/releases/tag/4.7.1
171 .. _BouncyCastle 1.58 → 1.59: https://www.bouncycastle.org/releasenotes.html
172 .. _Karaf 4.1.4: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12341702
173 .. _Karaf 4.1.5: https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311140&version=12342294
174
175 Version 3.0.2
176 -------------
177
178 This version fixes the following issues:
179
180 * SingleFeatureTest uses the configured local Maven repository for Pax Exam.
181
182 * JavaDoc links are disabled for now to `speed up builds`_. A new
183   ``javadoc-links`` profile enables the links.
184
185 * Conditional feature dependencies are processed, ensuring our
186   `distribution is complete`_.
187
188 * Startup features are `adjusted for Karaf 4.1`_, avoiding unnecessary
189   refreshes.
190
191 * The ``hiddenField`` Checkstyle check is disabled for abstract methods.
192
193 * The default logging configuration uses Log4J2, which is the new default in
194   Karaf 4.1.
195
196 .. _speed up builds: https://jira.opendaylight.org/browse/ODLPARENT-121
197 .. _distribution is complete: https://jira.opendaylight.org/browse/ODLPARENT-133
198 .. _adjusted for Karaf 4.1: https://jira.opendaylight.org/browse/ODLPARENT-134
199
200 This version upgrades the following dependencies or plugins:
201
202 * ``maven-enforcer-plugin`` 1.4.1 → 3.0.0-M1
203
204 * ``maven-javadoc-plugin`` 3.0.0-M1 → 3.0.0
205
206 Version 3.0.1
207 -------------
208
209 This version fixes the following issues:
210
211 * Karaf pulls in an invalid Hibernate feature repository, breaking downstream
212   dependencies pulling in the “war” feature. ``populate-local-repo`` corrects
213   the repository dependency.
214
215
216 Version 3.0.0
217 -------------
218
219 Compiler settings
220 ~~~~~~~~~~~~~~~~~
221
222 Build now show compiler warnings and deprecation warnings. This doesn't affect
223 the result or require any changes currently, it just makes the issues more
224 visible.
225
226 New Checkstyle rules
227 ~~~~~~~~~~~~~~~~~~~~
228
229 Checkstyle has been upgraded from 7.6 to 8.4 (see the
230 `Checkstyle release notes`_ for details), and Sevntu from 1.21.0 to 1.24.2
231 (note that the latter's group identifier changed from
232 ``com.github.sevntu.checkstyle`` to ``com.github.sevntu-checkstyle``; you
233 might need to update your IDE's configuration).
234
235 The following Checkstyle rules are enabled; this might require changes in
236 projects which enforce Checkstyle validation:
237
238 * `AvoidHidingCauseExceptionCheck`_
239 * `FinalClass`_: utility classes must be declared ``final``
240 * `HiddenField`_: fields must not be shadowed
241 * `HideUtilityClassConstructor`_: utility classes must hide their constructor
242
243 .. _Checkstyle release notes: http://checkstyle.sourceforge.net/releasenotes.html
244
245 .. _AvoidHidingCauseExceptionCheck: http://sevntu-checkstyle.github.io/sevntu.checkstyle/apidocs/com/github/sevntu/checkstyle/checks/coding/AvoidHidingCauseExceptionCheck.html
246 .. _FinalClass: http://checkstyle.sourceforge.net/config_design.html#FinalClass
247 .. _HiddenField: http://checkstyle.sourceforge.net/config_coding.html#HiddenField
248 .. _HideUtilityClassConstructor: http://checkstyle.sourceforge.net/config_design.html#HideUtilityClassConstructor
249
250 Karaf
251 ~~~~~
252
253 Karaf has been upgraded to 4.1.3. This should be transparent for dependent
254 projects.
255
256 Karaf distributions
257 ~~~~~~~~~~~~~~~~~~~
258
259 * When building a Karaf distribution using ``karaf4-parent``, projects can
260   specify which archives to build: the ``karaf.archiveZip`` property will
261   enable ZIP files if true, and ``karaf.archiveTarGz`` will enable
262   gzip-compressed tarballs if true. By default both are enabled.
263
264 * Our Karaf distribution provides Bouncy Castle at startup. Auto-generated
265   feature descriptors take this into account (they won't embed a Bouncy
266   Castle dependency).
267
268 Feature removals
269 ~~~~~~~~~~~~~~~~
270
271 * The ``odl-triemap-0.2`` feature wrapping
272   ``com.github.romix:java-concurrent-hash-trie-map`` was rendered obsolete by
273   YANG Tools' implementation and has been removed.
274
275 Feature additions
276 ~~~~~~~~~~~~~~~~~
277
278 * ``odl-javassist-3`` provides Javassist in a feature.
279
280 * ``odl-jung-2.1`` provides `JUNG`_ in a feature.
281
282 .. _JUNG: http://jung.sourceforge.net/
283
284 Upstream version upgrades
285 ~~~~~~~~~~~~~~~~~~~~~~~~~
286
287 The following upstream dependencies have been upgraded:
288
289 * Akka 2.4.18 → 2.5.4; release notes:
290
291   * `Akka 2.5.0`_
292   * `Akka 2.5.1`_
293   * `Akka 2.5.2`_
294   * `Akka 2.5.3`_
295   * `Akka 2.5.4`_
296
297 * `Awaitility 2 → 3`_
298
299 * `Bouncy Castle 1.57 → 1.58`_
300
301 * `Commons Codec 1.10 → 1.11`_
302
303 * `Commons File Upload 1.3.2 → 1.3.3`_
304
305 * `Commons IO 2.5 → 2.6`_
306
307 * Eclipse JDT annotations 2.0.0 → 2.1.0
308
309 * Felix Dependency Manager 4.3.0 → 4.4.1
310 * Felix Dependency Manager Shell 4.0.4 → 4.0.6
311 * Felix Metatype 1.1.2 → 1.1.6
312
313 * `Google Truth 0.28 → 0.36`_ (with the Java 8 extensions)
314
315 * `Gson 2.7 → 2.8.2`_
316
317 * Guava 22 → 23.3 along with the associated feature name change from
318   ``odl-guava-22`` to ``odl-guava-23`` (dependent packages *must* change their
319   dependency); release notes:
320
321   * `Guava 23`_
322   * `Guava 23.1`_
323   * `Guava 23.2`_
324   * `Guava 23.3`_
325
326 * Immutables 2.4.2 → 2.5.6
327
328 * Jackson 2.3.2 → 2.8.9
329
330 * Jacoco 0.7.7 → 0.7.9; release notes:
331
332   * `Jacoco 0.7.8`_
333   * `Jacoco 0.7.9`_
334
335 * Jacoco Listeners 2.4 → 3.8
336
337 * `Javassist 3.20.0 → 3.21.0`_
338
339 * `Jettison 1.3.7 → 1.3.8`_
340
341 * `Jolokia 1.3.6 → 1.3.7`_
342
343 * `JSONassert 1.3.0 → 1.5.0`_
344
345 * `logback 1.2.2 → 1.2.3`_
346
347 * `LMAX Disruptor 3.3.6 → 3.3.7`_
348
349 * Netty 4.1.8 → 4.1.16; release notes:
350
351   * `Netty 4.1.9`_
352   * `Netty 4.1.10`_
353   * `Netty 4.1.11`_
354   * `Netty 4.1.12`_
355   * `Netty 4.1.13`_
356   * `Netty 4.1.14`_
357   * `Netty 4.1.15`_
358   * `Netty 4.1.16`_
359
360 * `Pax URL 2.5.2 → 2.5.3`_
361
362 * Scala 2.11.11 → 2.12.4; release notes:
363
364   * `Scala 2.12.0`_
365   * `Scala 2.12.1`_
366   * `Scala 2.12.2`_
367   * `Scala 2.12.3`_
368   * `Scala 2.12.4`_
369
370 * Servlet API 3.0.1 → 3.1.0
371
372 * `SLF4J 1.7.21 → 1.7.25`_
373
374 * `webcohesion enunciate 2.6.0 → 2.10.1`_
375
376 * `Xtend 2.12 → 2.13`_
377
378 .. _Akka 2.5.0: http://akka.io/blog/news/2017/04/13/akka-2.5.0-released
379 .. _Akka 2.5.1: http://akka.io/blog/news/2017/05/02/akka-2.5.1-released
380 .. _Akka 2.5.2: http://akka.io/blog/news/2017/05/24/akka-2.5.2-released
381 .. _Akka 2.5.3: http://akka.io/blog/news/2017/06/19/akka-2.5.3-released
382 .. _Akka 2.5.4: http://akka.io/blog/news/2017/08/10/akka-2.5.4-released
383
384 .. _Awaitility 2 → 3: https://github.com/awaitility/awaitility/wiki/ReleaseNotes30
385
386 .. _Bouncy Castle 1.57 → 1.58: https://www.bouncycastle.org/releasenotes.html
387
388 .. _Commons Codec 1.10 → 1.11: http://www.apache.org/dist/commons/codec/RELEASE-NOTES.txt
389
390 .. _Commons File Upload 1.3.2 → 1.3.3: http://www.apache.org/dist/commons/fileupload/RELEASE-NOTES.txt
391
392 .. _Commons IO 2.5 → 2.6: http://www.apache.org/dist/commons/io/RELEASE-NOTES.txt
393
394 .. _Google Truth 0.28 → 0.36: https://github.com/google/truth/releases
395
396 .. _Gson 2.7 → 2.8.2: https://github.com/google/gson/blob/master/CHANGELOG.md
397
398 .. _Guava 23: https://github.com/google/guava/wiki/Release23
399 .. _Guava 23.1: https://github.com/google/guava/releases/tag/v23.1
400 .. _Guava 23.2: https://github.com/google/guava/releases/tag/v23.2
401 .. _Guava 23.3: https://github.com/google/guava/releases/tag/v23.3
402
403 .. _Jacoco 0.7.8: https://github.com/jacoco/jacoco/releases/tag/v0.7.8
404 .. _Jacoco 0.7.9: https://github.com/jacoco/jacoco/releases/tag/v0.7.9
405
406 .. _Javassist 3.20.0 → 3.21.0: https://github.com/jboss-javassist/javassist/compare/rel_3_20_0_ga...rel_3_21_0_ga
407
408 .. _Jettison 1.3.7 → 1.3.8: https://github.com/jettison-json/jettison/compare/jettison-1.3.7...jettison-1.3.8
409
410 .. _Jolokia 1.3.6 → 1.3.7: https://github.com/rhuss/jolokia/releases/tag/v1.3.7
411
412 .. _JSONassert 1.3.0 → 1.5.0: https://github.com/skyscreamer/JSONassert/releases
413
414 .. _logback 1.2.2 → 1.2.3: https://logback.qos.ch/news.html
415
416 .. _LMAX Disruptor 3.3.6 → 3.3.7: https://github.com/LMAX-Exchange/disruptor/releases/tag/3.3.7
417
418 .. _Netty 4.1.9: http://netty.io/news/2017/03/10/4-0-45-Final-4-1-9-Final.html
419 .. _Netty 4.1.10: http://netty.io/news/2017/04/30/4-0-46-Final-4-1-10-Final.html
420 .. _Netty 4.1.11: http://netty.io/news/2017/05/12/4-0-47-Final-4-1-11-Final.html
421 .. _Netty 4.1.12: http://netty.io/news/2017/06/09/4-0-48-Final-4-1-12-Final.html
422 .. _Netty 4.1.13: http://netty.io/news/2017/07/06/4-0-49-Final-4-1-13-Final.html
423 .. _Netty 4.1.14: http://netty.io/news/2017/08/03/4-0-50-Final-4-1-14-Final.html
424 .. _Netty 4.1.15: http://netty.io/news/2017/08/25/4-0-51-Final-4-1-15-Final.html
425 .. _Netty 4.1.16: http://netty.io/news/2017/09/25/4-0-52-Final-4-1-16-Final.html
426
427 .. _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
428
429 .. _Scala 2.12.0: https://github.com/scala/scala/releases/tag/v2.12.0
430 .. _Scala 2.12.1: https://github.com/scala/scala/releases/tag/v2.12.1
431 .. _Scala 2.12.2: https://github.com/scala/scala/releases/tag/v2.12.2
432 .. _Scala 2.12.3: https://github.com/scala/scala/releases/tag/v2.12.3
433 .. _Scala 2.12.4: https://github.com/scala/scala/releases/tag/v2.12.4
434
435 .. _SLF4J 1.7.21 → 1.7.25: https://www.slf4j.org/news.html
436
437 .. _webcohesion enunciate 2.6.0 → 2.10.1: https://github.com/stoicflame/enunciate/releases
438
439 .. _Xtend 2.12 → 2.13: https://www.eclipse.org/xtend/releasenotes.html
440
441 Upstream version additions
442 ~~~~~~~~~~~~~~~~~~~~~~~~~~
443
444 The following upstream dependencies have been added to dependency management:
445
446 * Commons Text, ``org.apache.commons:commons-text`` (this will allow downstreams
447   to migrate from ``commons-lang3``\’s ``WordUtils``, which is deprecated)
448
449 Upstream version removals
450 ~~~~~~~~~~~~~~~~~~~~~~~~~
451
452 The following upstream dependencies have been removed from dependency
453 management (they are obsolete and unused):
454
455 * Chameleon MBeans
456 * Eclipse Link
457 * Equinox HTTP service bridge
458 * ``equinoxSDK381`` artifacts
459 * Coda Hale Metrics, which are mostly unused and should eventually be wrapped
460   by InfraUtils
461 * ``com.google.code.findbugs:jsr305`` (which *must not* be used; this is
462   enforced — ``annotations`` should be used instead)
463 * Felix File Install and Web Console
464 * Gemini Web
465 * Orbit
466 * ``org.mockito:mockito-all`` (which *must not* be used; this is enforced —
467   ``mockito-core`` should be used instead)
468 * Spring Framework
469 * ``txw2``
470 * Xerces
471 * ``xml-apis``
472
473 Plugin version upgrades
474 ~~~~~~~~~~~~~~~~~~~~~~~
475
476 The following plugins have been upgraded:
477
478 * ``org.apache.servicemix.tooling:depends-maven-plugin`` 1.3.1 → 1.4.0
479 * ``org.apache.felix:maven-bundle-plugin`` 2.4.0 → 3.3.0
480 * ``maven-compiler-plugin`` 3.6.1 → 3.7.0
481 * ``maven-dependency-plugin`` 3.0.1 → 3.0.2
482 * ``maven-enforcer-plugin`` 1.4.1 → 3.0.0-M1
483 * ``maven-failsafe-plugin`` 2.18.1 → 2.20.1
484 * ``maven-javadoc-plugin`` 2.10.4 → 3.0.0-M1
485 * ``maven-shade-plugin`` 2.4.3 → 3.1.0
486
487 New plugins
488 ~~~~~~~~~~~
489
490 * The `Maven Find Duplicates`_ plugin can be enabled by setting the
491   ``duplicate-finder.skip`` property to ``false``.
492
493 * The SpotBugs_ Maven plugin can now be used instead of the FindBugs plugin
494   (both are available, so no change is required). To use SpotBugs, replace
495   ``org.codehaus.mojo:findbugs-maven-plugin`` with
496   ``com.github.spotbugs:spotbugs-maven-plugin``.
497
498 .. _Maven Find Duplicates: https://github.com/basepom/duplicate-finder-maven-plugin/
499
500 .. _SpotBugs: https://spotbugs.github.io/