              Apache Creadur Rat 0.13
                  RELEASE NOTES

The Apache Creadur Rat team is pleased to announce the release of Apache Creadur Rat 0.13

Apache Rat is a release audit tool. It improves accuracy and efficiency when checking
releases. It is heuristic in nature: making guesses about possible problems. It
will produce false positives and cannot find every possible issue with a release.
Its reports require interpretation.

In response to demands from project quality tool developers, Rat is available as a
library suitable for inclusion in tools. This POM describes that library.
Note that binary compatibility is not guaranteed between 0.x releases.

Apache Rat is developed by the Apache Creadur project, a language and build
agnostic home for software distribution comprehension and audit tools.

Changes in this version include:

New features:
o RAT-228:  Fixing broken Ant unit test setup and making tests run more deterministic. Thanks to Romain Manni-Bucau.
o RAT-245:  Update to latest available and compatible Apache ANT 1.9.12 to get bugfixes and newer JDK support.
o RAT-245:  Update to latest available and compatible Apache ANT 1.9.11 to get bugfixes and newer JDK support.
o RAT-245:  Update to latest available and compatible Apache ANT 1.9.10 due to CVE-2017-5645.
o RAT-243:  Add .checkstyle to Eclipse default exclusions. Thanks to Matthew Ouyang.
o RAT-241:  Reduce default log level of used exclusions to debug, only print totals into the maven log like includes. Thanks to Andrew Gaul.
o RAT-233:  Recognize XML-based .Net Core xproj files. Thanks to Stefan Bodewig.
o RAT-226:  Update to latest available and compatible Apache ANT 1.9.9.

Fixed Bugs:
o RAT-242:  Use UTF-8 as default encoding for RAT Ant reports. Thanks to Matthias Bläsing.
o RAT-234:  Do not treat TypeScript files as binary. Thanks to ajbanck.
o RAT-240:  Overhauled CLI module to allow file based exclusions with wildcards and explicit file names.
o RAT-222:  Download section does not work if SNAPSHOT is deployed, add download of previous RAT release.
o RAT-224:  Fixed example on webpage abozt usage of custom licenses. Thanks to John Patrick.
o RAT-223:  Add support for Golang and Perl module files. Thanks to Eric Friedrich.


Historical list of changes: https://creadur.apache.org/rat/changes-report.html

For complete information on Apache Creadur Rat, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Creadur Rat website:

https://creadur.apache.org/rat/
