Apache Yetus 0.14.0 Release Notes

These release notes cover new developer and user-facing incompatibilities, important issues, features, and major improvements.

Support for FindBugs has been removed as SpotBugs has completely replaced it.

pylint will no longer flag options that are unsupported by the running version of pylint by default. The --pylint-ignore-bad-option-value has been added to control this behavior.

shelldocs errors now go to stderr. Previously they went to stdout.

Utilities within the Docker container have been upgraded, including several to major versions. There will likely be incompatible changes as a result.


Anything not mentioned is either unchanged or the latest top of tree


Exclusion support has been modified to be slightly incompatible with previous releases:


A new option to send the output of docker build to a log. This option is automatically enabled on Travis CI as it kills jobs that send too much data to console (~30k).

Container images are now available at ghcr.io/apache/yetus and ghcr.io./apache/yetus-base. The Dockerhub source will continue to be updated for the time being, however only the x86 image will be available. Users should migrate to the Github repository as the Dockerhub images will likely be removed in the future.

The various Dockerfiles should now be much more compatible with various chipets. In addition to x86, arm64 container images are now published on the ghcr.io registry, enabling easier access for machines like Apple's M1.

As of this release, test-patch only supports buf v0.34.0 and higher.

The audience annotations doclet code now requires JDK 11+. Additionally, the default Apache Yetus container no longer has JDK 8.

More updates to versions:

As usual, versions not mentioned were either unchanged or latest top of tree.

JDK8 support for audience annotations has been removed. JDK11 or higher is required.

The Apache Yetus container now has JDK11 as the base JDK.


If precommit is running within a container, set GIT_DIR and GIT_CEILING_DIRECTORIES to provide some assistance with CVE-2022-24765. If running outside of a container, there is an assumption that the user has a properly configured environment.


This change now adds a new yetus_is_container function. It should be noted that there is no guaranteed way to determine if a process is in a container (especially from within the container) but there are some parts of the environment that are able to be checked to provide at least a pretty good guess.

The JUnit report output has been changed to support two formats, one generated using line-level and the other being a full report with URLs. By default, line is the default with the exception of Circle CI.

Jenkins users should now be able to process the output with the WarningsNG plug-in to provide better feedback in the Jenkins UI.