X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=NEWS.rst;h=2bbbc11433710fcfc88c2a018443dac096a19c92;hb=d809f9628cfa0f74be94216c947ce0eb1160e581;hp=b6631f7636a7730bf850e501cbbd5cc0a18cdeeb;hpb=09ceb4d7e817569ac986fcc32fd5b1baba5888aa;p=odlparent.git diff --git a/NEWS.rst b/NEWS.rst index b6631f763..2bbbc1143 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -2,6 +2,665 @@ ODL Parent release notes ======================== +Version 5.0.1 +------------- + +This is a bug-fix upgrade from version 5.0.0. + +Third-party dependencies +~~~~~~~~~~~~~~~~~~~~~~~~ + +The following dependencies have been upgraded: + +* Akka 2.5.21 → 2.5.23, release notes: + * `2.5.22 `__ + * `2.5.23 `__ + +* asciidoctorj-diagram 1.5.12 → 1.5.16 + +* Bouncy Castle `1.61 → 1.62 `__ + +* commons-lang3 `3.8.1 → 3.9 `__ + +* JaCoCo `0.8.3 → 0.8.4 `__ + +* Jackson `2.9.8 → 2.9.9 `__ + +* Jolokia 1.6.0 → 1.6.2, release notes: + * `1.6.1 `__ + * `1.6.2 `__ + +* Mockito `2.25.0 → 2.25.1 `__ + +* Netty 4.1.34 → 4.1.36, release notes: + * `4.1.35 `__ + * `4.1.36 `__ + +* PowerMock 2.0.0 → 2.0.2, release notes: + * `2.0.1 `__ + * `2.0.2 `__ + +* Reactive Streams `1.0.1 → 1.0.2 `__ + +* scala-parser-combinators `1.1.1 → 1.1.2 `__ + +* Sevntu `1.32.0 → 1.33.0 `__ + +* Typesafe Config `1.3.2 → 1.3.3 `__ + +* triemap `1.0.4 → 1.0.5 `__ + +* XBean finder 4.12 → 4.14, release notes: + * `4.13 `__ + * `4.14 `__ + +* xmlunit `2.6.2 → 2.6.3 `__ + +* Xtend `2.17.0 → 2.17.1 `__ + +Plugin upgrades +~~~~~~~~~~~~~~~ + +* maven-archetype-plugin 3.0.1 → 3.1.1, release notes: + * `3.1.0 `__ + * `3.1.1 `__ + +* maven-bundle-plugin `4.1.0 → 4.2.0 `__ + +* maven-checkstyle-plugin `3.1.0 → 3.1.0 `__ + +* maven-compiler-plugin `3.8.0 → 3.8.1 `__ + +* maven-help-plugin `3.1.1 → 3.2.0 `__ + +* maven-jar-plugin `3.1.1 → 3.1.2 `__ + +* maven-plugin-plugin `3.5.2 → 3.6.0 `__ + +* maven-source-plugin `3.0.1 → 3.1.0 `__ + +* maven-surefire-plugin 2.22.1 → 2.22.2 + +New plugins +~~~~~~~~~~~ + +* ``modernizer-maven-plugin`` declared, allowing downstreams to more easily activate it, + and so detect code which should be updated to more modern equivalent. + +New features +~~~~~~~~~~~~ + +* ``odl-caffeine-2`` provides a pre-packaged feature for the Caffeine caching framework, + along with the Guava compabitility layer. + +Version 5.0.0 +------------- + +This is a major upgrade from version 4, with breaking changes; projects will +need to make changes to upgrade to this version. + +The most significant change is `ODLPARENT-198 `__, +which removes JSR305 from default dependencies and does not present it at class path by default. + +Deleted artifacts +~~~~~~~~~~~~~~~~~ + +``findbugs`` has been removed, as its only purpose was to provide FindBugs +rule definitions. Equivalent definitions are available in ``spotbugs``. + +Bug fixes +~~~~~~~~~ + +* ``blueprint-maven-plugin`` used to scan the entire classpath, resulting in potential conflicts + across projects. Scanning is now limited to ``${project.groupId}``, limiting conflict domain + to single project. See `ODLPARENT-109 `__. + +* ``bundle-maven-plugin`` configuration ignored generated ServiceLoader service entries, + which has now been fixed. See `ODLPARENT-197 `__. + +* Bundle tests are now enabled by default. See `ODLPARENT-158 `__ + and `ODLPARENT-80 `__ for details. + +* Karaf log file rollover was not explictly set up, leading to inability to easily override + the defaults. See `ODLPARENT-153 `__ for details. + +* Karaf log file used to use default maximum 16MiB file size, this has now been increased to 64MiB. + See `ODLPARENT-154 `__. + +* ``features-test`` excluded opendaylight-karaf-empty's transitive dependencies, leading + to the need to re-declare them in single-feature-parent. This re-declaration was forgotten + in for ``bcpkix-framework-ext`` and ``bcprov-framework-ext`` bundles, which lead to them + not being present in the local repository. See `ODLPARENT-130 `__. + +Upstream version removals +~~~~~~~~~~~~~~~~~~~~~~~~~ + +The following upstream dependencies have been removed from dependency management: + +* cassandra-driver-core + +* org.codehaus.enunciate/enunciate-core-annotations + +* org.jboss.resteasy/jaxrs-api + +* org.json/json + +* org.osgi/org.osgi.compendium + +Removed features +~~~~~~~~~~~~~~~~ + +* odl-jersey-1 + +* ``features-akka`` feature repository has been integrated into ``features-odlparent`` + +Third-party dependencies +~~~~~~~~~~~~~~~~~~~~~~~~ + +The following dependencies have been upgraded: + +* apache-sshd `2.0.0 → 2.2.0 `__ + +* Aeron 1.12.0 → 1.15.3, release notes: + * `1.13.0 `__ + * `1.14.0 `__ + * `1.15.0 `__ + * `1.15.1 `__ + * `1.15.2 `__ + * `1.15.3 `__ + +* Agrona 0.9.27 → 0.9.33, release notes: + * `0.9.28 `__ + * `0.9.29 `__ + * `0.9.30 `__ + * `0.9.31 `__ + * `0.9.32 `__ + * `0.9.33 `__ + +* Akka 2.5.19 → 2.5.21, release notes: + * `2.5.20 `__ + * `2.5.21 `__ + +* antl4r `4.7.1 → 4.7.2 `__ + +* asciidoctorj-diagram 1.5.11 → 1.5.12 + +* Bouncy Castle `1.60 → 1.61 `__ + +* checkstyle 8.16 → 8.18, release notes: + * `8.17 `__ + * `8.18 `__ + +* commons-codec `1.11 → 1.12 `__ + +* Google Error Prone 2.3.2 → 2.3.3 + +* Google Guava 25.1 → 27.1, release notes: + * `26.0 `__ + * `27.0 `__ + * `27.0.1 `__ + * `27.1 `__ + +* Google Truth `0.42 → 0.43 `__ + +* h2 database `1.4.196 → 1.4.199 `__ + +* Immutables `2.7.3 → 2.7.5 `__ + +* Javassist `3.24.0-GA → 3.24.1-GA `__ + +* log4j2 `2.11.1 → 2.11.2 `__ + +* Mockito 2.23.4 → 2.25.0, release notes: + * `2.24.0 `__ + * `2.25.0 `__ + +* Netty 4.1.32 → 4.1.34, release notes: + * `4.1.32 `__ + * `4.1.33 `__ + * `4.1.34 `__ + +* OSGi 5.0.0 → 6.0.0 + +* Powermockito 1.7.4 → 2.0.0, release notes: + * `2.0.0-beta.5 `__ + * `2.0.0-RC.1 `__ + * `2.0.0 `__ + +* SpotBugs `3.1.9 → 3.1.12 `__ + +* ThreeTen `1.4.0 → 1.5.0 `__ + +* Xtend `2.16.0 → 2.17.0 `__ + +Plugin removals +~~~~~~~~~~~~~~~ + +* gmaven-plugin + +* maven-findbugs-plugin + +Plugin upgrades +~~~~~~~~~~~~~~~ + +* jacoco-maven-plugin `0.8.2 → 0.8.3 `__ + +* maven-invoker-plugin `3.1.0 → 3.2.0 `__ + +* maven-javadoc-plugin `3.0.1 → 3.1.0 `__ + +* spotbugs-maven-plugin 3.1.8 → 3.1.11 + +Version 4.0.9 +------------- + +This is a bug-fix upgrade from version 4.0.8. + +Bug fixes +~~~~~~~~~ + +* ``karaf-plugin`` invocation in ``karaf4-parent`` caused previously + patched features to be overwritten with their stock versions, referencing + bundles which were not populated in the local repository. (See + `ODLPARENT-194 `__.) + +* ``karaf-plugin`` version in ``karaf4-parent`` is now provided through + plugin management so downstreams can override it without needing + to repeat its configuration. + +* ``karaf-plugin`` no longer reads features twice when running discovery, + speeding up the process a bit. + +* Recent versions of the SpotBugs Maven plugin use SLF4J 1.8 beta 2, which + can’t use the 1.7.25 implementation we provide; we therefore provide an + implementation of 1.8 beta 2 when SpotBugs is used. (See + `ODLPARENT-184 `__.) + +New features +~~~~~~~~~~~~ + +* ``odl-woodstox`` wraps the Woodstox StAX implementation which is imposed on + us by Karaf. + +Version 4.0.8 +------------- + +This is a bug-fix and minor upstream bump upgrade from version 4.0.7. + +Bug fixes +~~~~~~~~~ + +* ``bcprov-ext-jdk15on`` is a superset of ``bcprov-jdk15on``, so there’s no + need to ship both; we now only ship the former. In addition, we install the + Bouncy Castle JARs in ``lib/boot`` so that they continue to be available on + the boot classpath (JDK 9 removes the extension mechanism which was used + previously), and provide the corresponding bundles from the boot classpath + instead of using separate JARs in the system repository. (See + `ODLPARENT-183 `__ and + `ODLPARENT-185 `__.) + +* A dependency check has been added to ensure that we don’t run into the + TrieMap dependency bug in 4.0.6 again. + +* Dependencies pulled in by features are now checked for convergence, and + ``karaf-plugin`` warns when it finds diverging dependencies (the same + artifact with two different versions). Upstream-provided features are + patched to avoid the following divergences (and upgrade some dependencies in + the process): + + * Aries utilities 1.1.0/1.1.3 (upgraded to 1.1.3). + * Commons Beanutils 1.8.3/1.9.3 (upgraded to 1.9.3). + * Commons Codec 1.8/1.10 (upgraded to 1.11). + * ``javax.mail`` 1.4.4/1.4.7 (upgraded to 1.4.7). + + (See `ODLPARENT-189 `__.) + +New features +~~~~~~~~~~~~ + +* ``odl-dropwizard-metrics`` provides Dropwizard Metrics (which are also + available in dependency management). + +* ``enunciate-maven-plugin`` is added as the replacement for + ``maven-enunciate-plugin``. + +Third-party dependencies +~~~~~~~~~~~~~~~~~~~~~~~~ + +The following dependencies are no longer provided by the JVM, starting with +version 11, but we make them available via dependency management for projects +which need them: + +* ``javax.annotation-api``. + +* JAXB (``jaxb-core``, ``jaxb-impl``). + +The following dependencies have been upgraded: + +* Checkstyle `8.15 → 8.16 `__. + +* Dependency Check `4.0.0 → 4.0.2 `__. + +* ``git-commit-id`` `2.2.5 → 2.2.6 `__. + +* Immutables 2.7.1 → 2.7.3: + + * `2.7.2 `__. + * `2.7.3 `__. + + (2.7.4 breaks our Javadocs.) + +* Jackson `2.9.7 → 2.9.8 `__. + +Version 4.0.7 +------------- + +This is a bug-fix release, correcting the ``triemap`` import declaration. + +Version 4.0.6 +------------- + +This is a bug-fix and minor upstream packaging upgrade from version 4.0.5. + +Bug fixes +~~~~~~~~~ + +Single-feature-test was broken with JDK 9 and later and Karaf 4.2.2; this +release adds the additional JVM configuration needed. + +Third-party dependencies +~~~~~~~~~~~~~~~~~~~~~~~~ + +This release adds the ``triemap`` BOM to dependency management. + +Version 4.0.5 +------------- + +This is a bug-fix release: the Karaf Maven plugin, in version 4.2.2, is +`broken `__ in some cases we +need in OpenDaylight; we revert to 4.2.1 in ``karaf4-parent`` to avoid this. + +Version 4.0.4 +------------- + +This is a bug-fix release, reverting the change made in 4.0.3 to handle +building with either ``zip`` or ``tar.gz`` Karaf archives (which breaks +builds in our infrastructure, without the empty Karaf archive). + +Version 4.0.3 +------------- + +This is a bug-fix and minor upstream bump upgrade from version 4.0.2. + +Bug fixes +~~~~~~~~~ + +* Our FindBugs configuration for JDK 9 and later caused the plugin to run + everywhere; instead, this version defines the ``findbugs.skip`` property to + disable the plugin in modules where it would be used otherwise. + +* The PowerMock declarations in dependency management missed + ``powermock-api-mockito2``, which is necessary for modules using PowerMock + with Mockito 2. + +* The “quick” profile (``-Pq``) now skips SpotBugs. + +* JSR-305 annotations are now optional, which fixes a number of issues when + building with newer JDKs. + +* We provide JAXB with JDK 11 and later (where it is no longer provided by the + base platform). + +* ``odlparent-artifacts`` has been updated to accurately represent the + artifacts provided. + +* ``javax.activation`` is now excluded from generated features (it’s provided + on Karaf’s boot classpath). + +* When the build is configured to build Karaf distributions in ``tar.gz`` + archives, but not ``zip`` archives, ``features-test`` used to fail; it will + now used whichever is available + (`ODLPARENT-174 `__). + +* Explicit GCs are disabled by default, so that calls to ``System.gc()`` are + ignored + (`ODLPARENT-175 `__). + +* Null checks are disabled in SpotBugs because of bad interactions with newer + annotations and the bytecode produces by JDK 11 and later for + ``try``-with-resources. + +* Akka Persistence expects LevelDB 0.10, so we now pull in that version + instead of 0.7. + +Dependency convergence +~~~~~~~~~~~~~~~~~~~~~~ + +A number of dependencies have been added or constrained so that projects using +this parent can enforce dependency convergence: + +* Karaf’s ``framework`` feature is used as an import POM, so that we converge + by default on the versions used in Karaf. + +* The following dependencies have been added to dependency management: + + * ``commons-beanutils`` + * the Checker Framework + * Error Prone annotations + * ``javax.activation`` + * ``xml-apis`` + +New features +~~~~~~~~~~~~ + +The following Karaf features have been added: + +* ``odl-antlr4`` (providing ``antlr4-runtime``); + +* ``odl-gson`` (providing ``gson``); + +* ``odl-jersey-2`` (providing Jersey client, server, and container servlet, + along with the necessary feature dependencies); + +* ``odl-servlet-api`` (providing ``javax.servlet-api``); + +* ``odl-stax2-api`` (providing ``stax2-api``); + +* ``odl-ws-rs-api`` (providing ``javax.ws.rs-api``); + +A new ``sonar-jacoco-aggregate`` profile can be used to produce Sonar reports +with aggregated JaCoCo reports. Additionally, Sonar builds (run with +``-Dsonar``) are detected and run with a number of irrelevant plugins disabled. + +Upstream version upgrades +~~~~~~~~~~~~~~~~~~~~~~~~~ + +* Akka 2.5.14 → 2.5.19 (and related ``ssl-config``, Aeron and Agrona upgrades): + + * `2.5.15 `__. + * `2.5.16 `__. + * `2.5.17 `__. + * `2.5.18 `__. + * `2.5.19 `__. + +* Commons Text `1.4 → 1.6 `__. + +* Eclipse JDT annotations 2.2.0 → 2.2.100. + +* Javassist 3.23.1 → 3.24.0. + +* Karaf 4.2.1 → 4.2.2, with related upgrades. + +* LMAX Disruptor `3.4.1 → 3.4.2 `__. + +* Mockito `2.20.1 → 2.23.4 `__. + +* Netty 4.1.29 → 4.1.31: + + * `4.1.30 `__. + * `4.1.31 `__. + +* Pax Exam 4.12.0 → 4.13.1. + +* Scala 2.12.6 → 2.12.8: + + * `2.12.7 `__. + * `2.12.8 `__. + +* Wagon HTTP 3.1.0 → 3.2.0. + +* Xtend `2.14.0 → 2.16.0 `__. + +Plugin version upgrades +~~~~~~~~~~~~~~~~~~~~~~~ + +* Asciidoctor `1.5.6 → 1.5.7.1 `__ + (with related AsciidoctorJ upgrades). + +* Bundle 4.0.0 → 4.1.0. + +* Checkstyle `8.12 → 8.15 `__. + +* DependencyCheck `3.3.2 → 4.0.0 `__. + +* Failsafe / Surefire `2.22.0 → 2.22.1 `__. + +* Help 3.1.0 → 3.1.1. + +* JAR 3.1.0 → 3.1.1. + +* PMD `3.10.0 → 3.11.0 `__. + +* Remote Resources `1.5 → 1.6.0 `__. + +* Shade + `3.2.0 → 3.2.1 `__. + +* SpotBugs `3.1.6 → 3.1.9 `__. + +* XBean finder 4.9 → 4.12. + +* XTend 2.14.0 → 2.16.0. + +Version 4.0.2 +------------- + +This is a bug-fix and minor upstream bump upgrade from version 4.0.1. + +Bug fixes +~~~~~~~~~ + +Previous releases overrode Karaf’s ``jre.properties``; this is no longer +necessary, and was causing failures with Java 9 and later (our version of +``jre.properties`` didn’t have the appropriate settings for anything after +Java 8). This release drops that override. See +`ODLPARENT-168 `__ for +details. + +Upstream version upgrades +~~~~~~~~~~~~~~~~~~~~~~~~~ + +* Commons Lang `3.8 → 3.8.1 `__. + +* Jackson `2.9.6 → 2.9.7 `__. + +* Netty `4.1.28 → 4.1.29 `__. + +Plugin version upgrades +~~~~~~~~~~~~~~~~~~~~~~~ + +* JAR `3.0.2 → 3.1.0 `__. + +* Javadoc `3.0.0 → 3.0.1 `__. + +* Jersey `2.22.2 → 2.25.1 `__, + along with Glassfish JSON 1.0.4 → 1.1.2. + +* Plugin 3.5 → 3.5.2: + + * `3.5.1 `__. + * `3.5.2 `__. + +* Resources `3.0.1 → 3.1.0 `__. + +Version 4.0.1 +------------- + +This is a bug-fix and minor upstream bump upgrade from version 4.0.0. + +Bug fixes +~~~~~~~~~ + +The JaCoCo execution profile was incorrect, breaking Sonar; the report is now +written correctly, so that Sonar can find it. + +The Blueprint Maven plugin fails when it encounters Java 9 classes; this is +fixed by forcefully upgrading its dependency on xbean-finder. See +`ODLPARENT-167 `__ for +details. + +Upstream version upgrades +~~~~~~~~~~~~~~~~~~~~~~~~~ + +* SpotBugs `3.1.6 → 3.1.7 `__. + +Upstream version additions +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +* Mockito Inline is added alongside Mockito Core, to ensure that the versions + are kept in sync. + +Plugin version upgrades +~~~~~~~~~~~~~~~~~~~~~~~ + +* Clean `3.0.0 → 3.1.0 `__. + +* Compiler `3.7.0 → 3.8.0 `__. + +* Dependency 3.0.2 → 3.1.1: + + * `3.1.0 `__. + * `3.1.1 `__. + +* Dependency Check `3.3.1 → 3.3.2 `__. + +* Enforcer `3.0.0-M1 → 3.0.0-M2 `__. + +* Failsafe 2.20.1 → 2.22: + + * `2.21 `__. + * `2.22 `__. + +* Help 2.2 → 3.1.0: + + * `3.0.0 `__. + * `3.0.1 `__. + * `3.1.0 `__. + +* Invoker 2.0.0 → 3.1.0: + + * `3.0.0 `__. + * `3.1.0 `__. + +* JAR `3.0.2 → 3.1.0 `__. + +* Project Info Reports `2.9 → 3.0.0 `__. + +* Resources `3.0.1 → 3.1.0 `__. + +* Shade `3.1.0 → 3.2.0 `__. + +* Site `3.7 → 3.7.1 `__. + +* Surefire 2.18.1 → 2.22.0: + + * `2.19 `__. + * `2.19.1 `__. + * `2.20 `__. + * `2.21 `__. + * `2.22 `__. + + Version 4.0.0 ------------- @@ -20,9 +679,9 @@ Known issues This release’s SpotBugs support doesn’t handle Guava 25.1 correctly, resulting in false-positives regarding null handling; see `ODLPARENT-161 `_ for -details. Until this is fixed, you can either continue using FindBugs (which is -configured to ignore a number of null-handling warnings), or switch to -SpotBugs and suppress the appropriate warnings. +details. Until this is fixed, the corresponding warnings are disabled, which +matches our existing FindBugs configuration (which suffers from the a variant +of this, with the same consequences). We are planning on upgrading Akka during the 4.x cycle, even if it results in a technically breaking upgrade. This is currently blocked on an OSGi bug in @@ -49,11 +708,13 @@ with version 4, Blueprint annotations should be used instead: ``true`` flag, instead of ``org.ops4j.pax.cdi:pax-cdi-api``; -* ``@OsgiServiceProvider`` and ``@OsgiService`` on bean definitions are - replaced by ``@Service``; +* ``@OsgiServiceProvider`` on bean definitions is replaced by ``@Service``; * ``@OsgiService`` at injection points is replaced by ``@Reference``; +* ``@OsgiService`` on bean definitions, while technically wrong, can be seen in + the OpenDaylight codebase; this is replaced by ``@Service``; + * service lists can be injected using ``@ReferenceList``. See `this Gerrit patch `_ for an