# Apache Yetus 0.3.0 Release Notes

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

- YETUS-337 | Major | Upgrade version of pylint used in Dockerfile

The default precommit Dockerfile now relies on pip to grab an up-to-date version of pylint, rather than rely on the version shipped in dpkg.

- YETUS-322 | Major | flip verify_ result codes

This changes various verify_ functions such that 0 is always yes/true and 1 is always no/false. This should make it easier/more obvious what test is being performed in if statements. Be aware that this will likely break any personalities or plug-ins that were written against previous versions.

- YETUS-300 | Blocker | CHANGED_FILES, CHANGED_MODULES, etc should really be arrays

Users:

- precommit should now have much better support for source trees with files that have spaces in them.

Devs:

- this patch completely changes CHANGED_FILES, CHANGED_MODULES, and USER_MODULES_LIST to be arrays instead of strings. Personalities, plug-ins, etc, that use these will need to be updated appropriately.

- YETUS-303 | Major | better sorting options for releasedocmaker

Releasedocmaker now supports sorting issues based either on resolution date or issue id. The default remains the same: release date in oldest-first order.

See the docs for more information.

- YETUS-326 | Major | Make releasedocmaker.py lint filters configurable

Users of release doc maker can now specify which lint checks they would like used via the `--lint` command line argument. Available options are:

- "incompatible" - issues flagged incompatible should have release notes
- "important" - issues marked important should have release notes
- "version" - issues should have a version string of the form major.minor.other or description-_revision
- "component" - issues should specify a component
- "assignee" - issues should have an assignee
- "all" - all of the above

For backwards compatibility, the `releasedocmaker` wrapper script included in the Yetus convenience binary will treat a bare `--lint` argument as `--lint=all`. Users that directly invoke the `releasedocmaker.py` python script will have to update their invocation.

- YETUS-156 | Major | [Umbrella] build driver

For users:

This patch adds the qbt ("quality build tool") command in order to run test-patch as a regularly scheduled reporting tool against a source tree without the necessity of providing a patch file.

For Developers:

This feature has changed several internal structures and control mechanisms to be incompatible with previous releases:

- Previously, a text file was used add extra parameters onto the `docker run` command. Now this is done via the `DOCKER_EXTRAARGS[@]` variable.
- `BINNAME` now strips off the .sh extension.
- `PATCH_OR_ISSUE` and related vars may be empty when running in the full build mode.