# Changes in Apache Creadur RAT

Apache Creadur RAT developers

## 0.16.1 2024-01-24

As release 0.16 introduced breaking changes concerning the configurability of the Maven plugin, these configuration options are reintroduced albeit as deprecated elements. You need to adapt your configuration in contrast to pre-0.16 settings: please consult our webpage for more details and examples. Apart from dependency updates the release contains new features in .gitignore-parser and reduces log spam of RAT. The most important bugfix relates to performance issues (due to expensive regex scanning) in combination with the Copyright-matcher and SPDX-detection. All feedback was used to overhaul

Use Maven wrapper (with version 3.9.6) for reproducable local builds and on ASF Jenkins and Github Actions. (add, RAT-342, pottlinger)
Reimplement old configuration elements for custom licenses in Maven plugin configurations (and updates to the webpage). (fix, RAT-343, pottlinger, due to Claude Warren)
Add integration test to allow enhanced testing of custom licenses. (fix, RAT-343, pottlinger, due to Niels Basjes)
Update gitignore-reader library to 1.3.1 to get latest changes in gitignore parsing. (add, RAT-348, pottlinger, due to Niels Basjes)
Fix NPE by falling back to default stylesheet if none was configured before. (fix, RAT-349, pottlinger, due to Niels Basjes)
Issue a warning if a user defined License family has the same name as an existing one. (add, RAT-346, pottlinger, due to Claude Warren)
Migrate to JUnit5 and fix minor issues in tests and javadoc. (add, RAT-346, pottlinger, due to Claude Warren)
Remove apache-rat-api module that contains misleading license-related classes. (remove, RAT-346, pottlinger, due to Claude Warren)
To improve the performance during SPDX processing a check to skip expensive regex operations was added. (fix, RAT-325, pottlinger, due to Claude Warren)
Internal logging feature enabled for license matching tests to avoid random test failures when manipulating System.out in test runs. (fix, RAT-325, pottlinger, due to Claude Warren)
Set log level default for CLI runs to WARN. This applies to test runs as well, as other UIs configure their logging natively. (add, RAT-325, pottlinger, due to Claude Warren)
Add missing dejavu font in Javadoc, generate MOJO metadata in site and fix broken links in webpage. (add, RAT-325, pottlinger)
Do not load fonts via Google/remotely, but use files hosted by ASF only and add privacy link to comply with ASF- and data protection/privacy regulations. (fix, RAT-325, pottlinger)
Fix double output by deleting any existing RAT report before writing a fresh file during plugin runs. (fix, RAT-344, claude)
Update mavenPluginPluginVersion from 3.10.2 to 3.11.0 and introduce goalPrefix in plugin configuration. (update, RAT-339, pottlinger, due to dependabot)
Update junit-platform-runner from 1.8.1 to 1.10.1. (update, RAT-339, pottlinger, due to dependabot)
Update junit from 5.10.0 to 5.10.1. (update, RAT-339, pottlinger, due to dependabot)
Update actions/cache from 3.3.2 to 4.0.0. (update, RAT-339, pottlinger, due to dependabot)
Update maven-surefire-plugin from 3.2.3 to 3.2.5. (update, RAT-339, pottlinger, due to dependabot)
Update maven-jxr-plugin from 3.3.1 to 3.3.2. (update, RAT-339, pottlinger, due to dependabot)
Update slf4j-simple from 2.0.9 to 2.0.11. (update, RAT-339, pottlinger, due to dependabot)
Update assertj-core from 3.24.2 to 3.25.1. (update, RAT-339, pottlinger, due to dependabot)

## 0.16 2023-12-28

Apart from dependency updates and multiple bugfixes, this release brings the ability to use SPDX license identifiers and enhances the .gitignore-exclusion filterung during RAT runs. Furthermore new CLI options were added and new file types can be used by default. This release makes RAT a fully Maven3-compatible plugin and removes deprecated Maven2 completely. Thanks to all new contributors for improving RAT!

Update actions/setup-java from 3.4.1 to 4.0.0. (update, RAT-311, pottlinger, due to dependabot)
Update actions/cache from 3.0.11 to 3.3.2 (update, RAT-311, pottlinger, due to dependabot)
Update actions/checkout from 3 to 4. (update, RAT-311, pottlinger, due to dependabot)
Update mockito-core from 4.7.0 to 4.11.0, newer versions 5.x cannot be applied due to our JDK8-compatibility restriction. (update, RAT-311, pottlinger, due to dependabot)
Update plexus-utils from 3.4.2 to 3.5.1, versions 4.x are for upcoming Maven4 and must not be applied here. (update, RAT-311, pottlinger, due to dependabot)
Update maven-plugin-version from 3.6.4 to 3.8.2. (update, RAT-311, pottlinger, due to dependabot)
Update wagon-ssh from 3.5.2 to 3.5.3. (update, RAT-311, pottlinger, due to dependabot)
Update Ant from 1.10.12 to 1.10.14. (update, RAT-311, pottlinger, due to dependabot)
Update ASF parent pom from 27 to 31 and update multiple maven plugin versions implicitly (surefire, release, project-info, enforcer, jxr). (update, RAT-311, pottlinger, due to dependabot)
Update doxiaVersion from 1.11.1 to 1.12.0. (update, RAT-311, pottlinger, due to dependabot)
Update maven-shared-utils from 3.3.4 to 3.4.2. (update, RAT-311, pottlinger, due to dependabot)
Update org.slf4j:slf4j-simple from 1.7.36 to 2.0.9. (update, RAT-311, pottlinger, due to dependabot)
Update commons-lang3 from 3.5 to 3.14.0. (update, RAT-311, pottlinger, due to dependabot)
Update commons-compress from 1.21 to 1.25. (update, RAT-311, pottlinger, due to dependabot)
Update commons-io from 2.11.0 to 2.15.1. (update, RAT-311, pottlinger, due to dependabot)
Update commons-cli from 1.5.0 to 1.6.0. (update, RAT-311, pottlinger, due to dependabot)
Update maven-pmd-plugin from 3.18.0 to 3.21.2. (update, RAT-311, pottlinger, due to dependabot)
Update maven-dependency-plugin from 3.3.0 to 3.6.1. (update, RAT-311, pottlinger, due to dependabot)
Update maven-compiler-plugin from 3.10.1 to 3.12.1. (update, RAT-311, pottlinger, due to dependabot)
Update maven-javadoc-plugin from 3.4.1 to 3.6.3. (update, RAT-311, pottlinger, due to dependabot)
Update maven-release-plugin from 2.5.3 to 3.0.1. (update, RAT-311, pottlinger, due to dependabot)
Update maven-enforcer-plugin from 3.1.0 to 3.4.1. (update, RAT-311, pottlinger, due to dependabot)
Update extra-enforcer-rules from 1.6.1 to 1.7.0 (update, RAT-311, pottlinger, due to dependabot)
Update maven-release-plugin from 2.5.3 to 3.0.1. (update, RAT-311, pottlinger, due to dependabot)
Update animal-sniffer-maven-plugin from 1.22 to 1.23. (update, RAT-311, pottlinger, due to dependabot)
Update maven-project-info-reports-plugin from 3.4.1 to 3.5.0. (update, RAT-311, pottlinger, due to dependabot)
Update maven-surefire-plugin from 3.2.2 to 3.2.3. (update, RAT-311, pottlinger, due to dependabot)
Fix existing javadoc build errors and add javadoc generation to existing GithubActions to not introduce build errors via merge requests. (fix, RAT-326, pottlinger)
Update minimal build Maven version to 3.2.5 and maven dependencies to 3.9.6. Remove pre-JDK8 code constructs and minor refactorings. (add, RAT-338, pottlinger, due to Tamás Cservenák)
Enhance .gitignore handling; support multiple .gitignore files and allow a more complete parsing of Git's ignore files. (add, RAT-335, pottlinger, due to Niels Basjes)
Add configuration option to scan hidden directories: --scan-hidden-directories on the command line and scanHiddenDirectories as a Maven plugin parameter. (add, RAT-322, pottlinger, due to Jean-Baptiste Onofré)
Add new command line option -o/--output to write RAT's output to a file. (add, RAT-320, pottlinger, due to Jean-Baptiste Onofré)
Add markdown (MD) and yaml (YML/YAML) as a recognized extension for file and license processing. (add, RAT-329, pottlinger, due to Claude Warren)
Ensure that System.out does not get closed during report generation and updated javadocs. (fix, RAT-328, pottlinger, due to Claude Warren)
Add default exclusion of MANIFEST.MF as it must not contain comment lines to include a license. (add, RAT-316, pottlinger)
Allow text-based XML configuration of RAT. (add, RAT-321, pottlinger, due to Claude Warren)
Update commons-compress to 1.24.0 in order to circumvent CVE-2023-42503. (fix, RAT-311, pottlinger)
Added SPDX processing for default licenses. (fix, RAT-251, jochenw, due to Claude Warren)
Fix warnings when using RAT with newer Maven versions as methods from Maven v2 are deprecated. Minimum version of required Maven changed to 3.2.5. (fix, RAT-315, jochenw, due to Guillaume Nodet)
Change log output level of SCM ignore parser from info to debug in order to produce less log output in RAT runs. (fix, RAT-317, pottlinger, due to Gary Gregory)
Add default recursive exclusion for maven-induced build artifacts in folder .mvn. (fix, RAT-314, pottlinger, due to François Guillot)
Remove Travis build as it is unreliable. Builds with ASF Jenkins and Github Actions remain as before. (fix, RAT-312, pottlinger)

## 0.15 2022-08-31

This release fixes a warning during site builds and updates various dependencies.

Update maven-project-info-reports-plugin from 3.3.0 to 3.4.1. (update, RAT-305, pottlinger, due to dependabot)
Update maven-javadoc-plugin from 3.4.0 to 3.4.1. (update, RAT-305, pottlinger, due to dependabot)
Update maven-jxr-plugin from 3.2.0 to 3.3.0. (update, RAT-305, pottlinger, due to dependabot)
Update animal-sniffer-maven-plugin from 1.21 to 1.22. (update, RAT-305, pottlinger, due to dependabot)
Update maven-site-plugin from 3.12.0 to 3.12.1. (update, RAT-305, pottlinger, due to dependabot)
Update maven-pmd-plugin from 3.16.0 to 3.18.0. (update, RAT-305, pottlinger, due to dependabot)
Update mockito-core from 4.6.0 to 4.7.0. (update, RAT-305, pottlinger, due to dependabot)
Update extra-enforcer-rules from 1.5.1 to 1.6.1. (update, RAT-305, pottlinger, due to dependabot)
Update Apache parent pom from 26 to 27. (update, RAT-305, pottlinger, due to dependabot)
Update wagon-ssh from 3.5.1 to 3.5.2. (update, RAT-305, pottlinger, due to dependabot)
Update maven-enforcer-plugin from 3.0.0 to 3.1.0. (update, RAT-305, pottlinger, due to dependabot)
Update actions/setup-java from 3.3.0 to 3.4.1. (update, RAT-305, pottlinger, due to dependabot)
Site builds could not be generated properly due to API changes: solution was to upgrade Maven Reporting API to 3.1.1 and use details of Maven Reporting Implementation 3.2.0 in RAT's Mojo hierarchy. (fix, RAT-309, pottlinger, due to Michael Osipov, Gary Gregory)
Updated internal data structures from deprecated ArrayStack to JDK's ArrayDeque. (fix, RAT-309, pottlinger)
Add note about hierarchy of changelogs in RAT project structure when publishing the project webpage. (fix, RAT-306, pottlinger)
Fix deprecation warnings in tests. Use hamcrest's annotations instead of ones from JUnit. (update, RAT-310, pottlinger)
Update to focal (Ubuntu 20.04) on Travis to circumvent build errors and be able to use more modern JDK versions. Deprecate openJDK8 build with focal as it is not supported on Travis. (fix, RAT-307, pottlinger)

## 0.14 2022-05-28

This release contains dependency updates, bugfixes and many improvements apart from infrastructure updates at ASF.

Update maven-jxr-plugin from 2.5 to 3.2.0. (fix, RAT-290, pottlinger, due to dependabot)
Update maven-antrun-plugin from 3.0.0 to 3.1.1. (fix, RAT-290, pottlinger, due to dependabot)
Update github actions/checkout from 2 to 3. (fix, RAT-290, pottlinger, due to dependabot)
Update github actions/setup-java from 2.5.0 to 3.3.0. (fix, RAT-290, pottlinger, due to dependabot)
Update maven-pmd-plugin from 3.14.0 to 3.16.0. (fix, RAT-290, pottlinger, due to dependabot)
Update maven-javadoc-plugin from 3.3.1 to 3.4.0. (fix, RAT-290, pottlinger, due to dependabot)
Update maven-compiler-plugin from 3.8.1 to 3.10.1. (fix, RAT-290, pottlinger, due to dependabot)
Update wagon-ssh from 3.5.0 to 3.5.1. (fix, RAT-290, pottlinger, due to dependabot)
Update maven-site-plugin from 3.9.1 to 3.12.0. (fix, RAT-290, pottlinger, due to dependabot)
Update maven-project-info-reports-plugin from 3.1.1 to 3.3.0. (fix, RAT-290, pottlinger, due to dependabot)
Update mockito-core from 3.11.2 to 4.6.0. (fix, RAT-290, pottlinger, due to dependabot)
Update ASF parent from 23 to 26. (fix, RAT-290, pottlinger, due to dependabot)
Adapt logging output to be more compliant with future Maven versions as debug is deprecated and verbose is the recommended way to go. (add, RAT-288, pottlinger, due to Michael Osipov)
Some tests were based on the assumption, that the value of file.encoding can be changed on runtime. (Won't work nowadays, beginning with Java 16.) Removed this assumption in favour of a proper surefire configuration. (fix, RAT-273, jochen)
Workaround for an incompatibility in the java.io.LineNumberReader, which is being replaced by the org.apache.rat.header.LineNumberReader. (fix, RAT-273, jochen)
Update maven-reporting-api from 3.0 to 3.1.0 and remove usage of deprecated Sink API. (add, RAT-297, pottlinger, due to Michael Osipov)
Update animal-sniffer-maven-plugin from 1.20 to 1.21. (fix, RAT-290, pottlinger, due to Jin Xu/Xeno Amess)
Use Github Actions for matrix builds on Windows and ubuntu with JDK 8,11,12,13,14,15. Simplify Travis integration to avoid dockerhub-related build failures. (fix, RAT-296, pottlinger)
Update to latest Apache Ant 1.10.12. (fix, RAT-274, pottlinger)
Fix links to Travis builds for all creadur projects. (fix, RAT-291, pottlinger)
Update maven-dependency-plugin from 3.1.1 to 3.2.0. (fix, RAT-290, pottlinger, due to dependabot)
Update plexus-utils from 3.0.21 to 3.4.1. (fix, RAT-290, pottlinger, due to dependabot)
Update commons-cli from 1.4 to 1.5.0. (fix, RAT-290, pottlinger, due to dependabot)
Update maven-plugin-annotation and maven-plugin-plugin from 3.6.1 to 3.6.2. (fix, RAT-290, pottlinger, due to dependabot)
Update to doxia 1.11.1 in order to get CVE-2020-13956-httpclient problem fixes in doxia. (fix, RAT-275, pottlinger)
Enable dependabot integration - write access is forbidden, but email alerts and pull requests should be ok. (add, RAT-289, pottlinger)
Update plugin versions and dependencies in order to run properly with Java8 as minimal compiler level. (fix, RAT-283, pottlinger)
Update to maven-plugin-plugin v3.6.1 in order to circumvent error during maven site builds. (fix, RAT-286, pottlinger)
Update to latest Apache Ant 1.10.11 in order to fix issues related to dependency commons-compress in Ant itself. (fix, RAT-285, pottlinger)
Properly report thread-safeness to Maven. (fix, RAT-207, pottlinger, due to Xavier Dury)
Update to latest Commons IO to fix CVE-2021-29425 (Moderate severity). (fix, RAT-281, pottlinger)
Update to latest Apache Ant 1.10.10. (fix, RAT-274, pottlinger)
Migrate vom Travis CI.org to Travis-ci.com. (add, RAT-279, pottlinger)
Update to junit 4.13.1 to fix CVE-2020-15250. (fix, RAT-277, pottlinger)
Update to new ASF parent 23 in order to get rid of doxia version management that generated warnings. (fix, RAT-158, pottlinger)
Update to latest Apache Ant 1.10.9 to fix CVE-2020-11979. Update to JDK8 as minimal version/compiler version. (fix, RAT-274, pottlinger)
Move all Creadur projects to new Jenkins infrastructure at ASF and migrate from Subversion to Gitbox/Github. Please update your repository URLs and use the new default branch master in all projects. (add, RAT-271, pottlinger)
Change default behaviour to output erroneous files to console. Can be disabled by setting rat.consoleOutput to false. (add, RAT-270, pottlinger)
Update to latest Apache Ant to fix CVE-2020-1945. (fix, RAT-269, pottlinger)
Allow handling of pom-file-only projects by not assuming that all modules are in directories. (fix, RAT-268, pottlinger, due to Robert Scholte)
Report ignored lines from exclusion file to stderr instead of std to not generate erroneous JSON. (fix, RAT-267, pottlinger, due to Fabio Utzig)
Add .factorypath to Eclipse-default exclusions. (add, RAT-266, pottlinger, due to Michael Osipov)
Treat JSON data as binary to avoid reports of missing licenses. (fix, RAT-262, pottlinger)
Change to docker image when building on Travis to avoid JDK version mixup in traditional build setup. (fix, RAT-260, pottlinger, due to Kamil Breguła)
Update to latest commons-compress to fix CVE-2019-12402. (fix, RAT-258, pottlinger)
Adapt help text for CLI usage of RAT. (fix, RAT-257, pottlinger)
Properly finish move to gitbox/github, get rid of SVN references and adapt main branch to master and fix all Jenkins build jobs for RAT. (add, RAT-254, pottlinger)
Update compiler level to 1.7 to allow building with more recent JDKs. Update plugins and dependencies to more modern versions to fix security issues (CVE-warnings). (add, RAT-244, pottlinger)
Add alternative https URLs in Apache License, Version 2.0 to allow automatic recognition as valid ASF2.0. (add, RAT-212, pottlinger, due to Niels Basjes)
Update to latest available and compatible Apache ANT 1.9.14 to get bugfixes. (add, RAT-250, pottlinger)
SCM repository has been moved from svn.apache.org (Subversion) to gitbox.apache.org (Git) (add, INFRA-17348, jochen)

## 0.13 2018-10-13

Lots of bugfixes and improvements.

Fixing broken Ant unit test setup and making tests run more deterministic. (add, RAT-228, pottlinger, due to Romain Manni-Bucau)
Update to latest available and compatible Apache ANT 1.9.12 to get bugfixes and newer JDK support. (add, RAT-245, pottlinger)
Update to latest available and compatible Apache ANT 1.9.11 to get bugfixes and newer JDK support. (add, RAT-245, pottlinger)
Update to latest available and compatible Apache ANT 1.9.10 due to CVE-2017-5645. (add, RAT-245, pottlinger)
Use UTF-8 as default encoding for RAT Ant reports. (fix, RAT-242, pottlinger, due to Matthias Bläsing)
Do not treat TypeScript files as binary. (fix, RAT-234, pottlinger, due to ajbanck)
Add .checkstyle to Eclipse default exclusions. (add, RAT-243, pottlinger, due to Matthew Ouyang)
Reduce default log level of used exclusions to debug, only print totals into the maven log like includes. (add, RAT-241, pottlinger, due to Andrew Gaul)
Overhauled CLI module to allow file based exclusions with wildcards and explicit file names. (fix, RAT-240, pottlinger)
Recognize XML-based .Net Core xproj files. (add, RAT-233, pottlinger, due to Stefan Bodewig)
Update to latest available and compatible Apache ANT 1.9.9. (add, RAT-226, pottlinger)
Download section does not work if SNAPSHOT is deployed, add download of previous RAT release. (fix, RAT-222, pottlinger)
Fixed example on webpage about usage of custom licenses. (fix, RAT-224, pottlinger, due to John Patrick)
Add support for Golang and Perl module files. (fix, RAT-223, pottlinger, due to Eric Friedrich)

## 0.12 2015-09-30

We now require Maven 3.0.5+ to build Rat, but as before we only require Maven 2.2.1+ if you want to use Rat in your own Maven projects. We've integrated Rat into the ASF Jenkins to ensure continuous builds with various JDK versions.

Add WOFF2, WOFF, TTF and EOT font file extensions to binary file collection to allow faster detection as binary without reading in the files. (fix, RAT-215, pottlinger)
Upgrade commons-compress and apache-ant due to possible security problems. (fix, RAT-214, pottlinger)
Upgrade to commons-collections 3.2.2. (fix, RAT-213, pottlinger)
Adapt layout of Creadur project pages to use the new ASF logo. Change links to SSL. (fix, RAT-210, pottlinger)
Removing the Gradle Plugin from the Rat Core project, so that building with Java 5 works again. (fix, RAT-163, jochen)
Fix SAX-Parser warning by explicitly excluding xerces in Doxia 1.2. (fix, RAT-158, pottlinger, due to Hervé Boutemy)
Allow complete skip of RAT plugin with rat.skip property. (fix, RAT-173, pottlinger, due to Chris Burroughs)
CDDL1License still very slow, replace Pattern matching with simple String comparison. (fix, RAT-174, pottlinger, due to Chris Burroughs)
SourceCodeManagementSystems.hasIgnoreFile() should return boolean. (fix, RAT-175, sebb)
Final arrays should be private. (fix, RAT-177, pottlinger)
Fix problems with AnimalSniffer-plugin when running in GUMP with Java 8. Workaround for https://jira.codehaus.org/browse/MANIMALSNIFFER-45 (fix, RAT-188, pottlinger, due to Mark Thomas)
Ignore build.log created by maven-invoker-plugin. (fix, RAT-160, pottlinger, due to Christopher Tubbs)
Maven plugin and Ant task do not support adding extra approved licenses. (fix, RAT-179, pottlinger)
Generify and beautify texts in RAT report. (fix, RAT-180, pottlinger)
Minor refactoring in pom.xml. (add, RAT-196, pottlinger, due to Karl Heinz Marbaise)
Upgrade to Doxia 1.6 if called directly, does not affect problems reported in RAT-158. Minor improvements. (fix, RAT-194, pottlinger, due to Hervé Boutemy)
List files with unapproved licenses in Maven output. (add, RAT-61, dennisl, due to Jukka Zitting)
RAT should use itself during build and site generation. (add, RAT-170, dennisl, due to Philipp Ottlinger)
BinaryGuesser should treat *.truststore as binary. (add, RAT-181, sebb)
Add DEPENDENCIES to the list of ignored files in NoteGuesser. (add, RAT-184, pottlinger, due to Karl Heinz Marbaise)
.repository folder should be ignored. (add, RAT-185, dennisl, due to Karl Heinz Marbaise)
BinaryGuesser should recognize PSD files as images. (add, RAT-186, dennisl)
Add 'SAR', 'HAR', 'WSR' as archives which should be ignored. (add, RAT-187, dennisl, due to Karl Heinz Marbaise)
Improve exclusion defaults when working with Maven 3.3.1 (exclude .mvn). (add, RAT-197, pottlinger, due to Karl Heinz Marbaise)
Upgrade plexus-utils to 3.0.20. (fix, RAT-198, pottlinger, due to Karl Heinz Marbaise)
Exclude technical directories of source code management systems and their ignore files from RAT scans. (fix, RAT-172, pottlinger)
Upgrade ASF parent POM to 17. (fix, RAT-200, pottlinger)
BinaryGuesser should treat *.swf as binary. Furthermore BinaryGuesser falls back to UTF-8 encoding in case the encoding given via system property (-Dfile.encoding) was not found. (add, RAT-201, pottlinger)
Report layout differs between successful RAT checks and existence of unapproved files. (add, RAT-202, pottlinger)
Report layout differs between successful RAT checks and existence of unapproved files. (add, RAT-202, pottlinger)
Using 'license' in README, source code, javadoc, comments and site instead of 'licence'; improve terminology to not confuse RAT consumers. (add, RAT-203, pottlinger)
Unify resource handling in code and tests, make sure the resources are properly closed. Apply minor refactorings. (add, RAT-204, pottlinger)

## 0.11 2014-08-31

* Rat stays at compiler level 1.5 to be more compliant with other Maven plugins, fixed build/CI environment to reflect and ensure that. * Fixed Javadoc warnings during build, upgraded Maven Plugin Plugin to avoid warnings in generated code (https://jira.codehaus.org/browse/MPLUGIN-237)

addLicenseHeaders is missing a space on license header. (fix, RAT-135)
AbstractRatMojo String constant arrays should be private (fix, RAT-144)
LicenseAddingReport#report has useless call to metaData.getData (fix, RAT-148, due to Chris A Mattmann)
Detect more archive file formats (fix, RAT-151)
Recognize the format for .bsh, .fml and .jsp file types (fix, RAT-152)
Do not add extra empty lines when appending headers for the Apache License (fix, RAT-153)
Indentation of the license header should be decided per family (fix, RAT-154)
Do not add empty first and last lines in the license header for certain families (fix, RAT-155)
Add some symmetry when applying license headers to files with file type specific headers (fix, RAT-156)
Detect OpenOffice documents as being archives (fix, RAT-159)
Add support for CDDL 1.0 (add, RAT-129)
CDDL1License.matches slow with large inputs (add, RAT-162, due to Andrew Gaul)
Allow skipping execution entirely (add, RAT-164)
Use a maven defaultGoal for RAT's base pom.xml (add, RAT-165)

## 0.10 2013-09-05

The 0.10 version includes several bug fixes, most notably a fix for 0.9 performance issues. * Simpler binary archive * Updated dependencies and plugins * Fixed up generics and annotations

Website shows incorrect Maven goals in some pages (fix, RAT-137)
Use the proper name for the Apache License (fix, RAT-128)
RAT runs very slowly on some input (fix, RAT-138)
OASISLicense allows invalid Copyright line (fix, RAT-140)
FullTextMatchingLicense.prune uses inefficient deleteAtChar (fix, RAT-139)
Maven plugin should not run in the "verify" phase, but in the "validate" phase (fix, RAT-145)
Add support for CDDL 1.0 (add, RAT-129)

## 0.9 2013-05-02

* Improved documentation * Rat now requires Java5 at runtime * The Antlib contains a new matcher type that allows matching on the full text of the license rather than a single line. * Support automatic addition of license headers to svg files.

Incorrect alignment of file contents (fix, RAT-3)
typo in pom.xml / field description (fix, RAT-102)
Return value of mkdirs() is not checked and no error handling occurs (fix, RAT-109)
Docs don't say what the default excludes are (fix, RAT-116)
fix some maven warnings and upgrade some dependencies. (fix, RAT-120)
use maven java5 annotations for maven plugins (fix, RAT-121)
Maven Plugin: field to ignore errors and continue the build (fix, RAT-122)
Rat plugin should exclude the configuration directory used by IDEA (fix, RAT-124)
Default excludes do not ignore .git/ repository (fix, RAT-126)
[GOOGLE-14] GNU License support (update, RAT-13)
Recognise MIT LIcense (update, RAT-49)
Using jUnit4 annotation based tests instead of junit3 - migration from junit 3.8.2 to current junit 4.10 (update, RAT-104)
Minor Javadoc errors fixed in 3 files (fix, RAT-106)
Add native support for thrift generated code to be ignored (update, RAT-108)
RAT does not ignore javah generated files (update, RAT-111)
Support applied AL20 license headers, including checking for required copyright header line (update, RAT-125)
Support doxia 1.1.2 (add, RAT-78)
Upgrade To Java 1.5 (update, RAT-59)
Upgrade Maven prerequisite to 2.2.1 (update, RAT-119)

## 0.8-incubating 2011-11-15

Version 0.8 improves the command line interface, supports more file types when adding license headers and makes it easier to detect custom licenses. Some website fixes The Antlib and Maven plugins now provide simpler ways to detect licenses not directly supported by Rat.

CLI doesn't allow adding of licenses unless a custom stylesheet has been specified (RAT-86)
Tests could leave temporary files around.> (RAT-87)
When adding licenses Rat used \n instead of the platform dependent line--end character(s) (RAT-92)
Streams were not always closed immediately when adding licenses. (RAT-94)
Support automatic addition of license headers to Velocity templates (update, RAT-79)
Support automatic addition of license headers to Scala source files (update, RAT-83)
Support automatic addition of license headers to Ruby source files (update, RAT-84)
Support automatic addition of license headers to Perl, TCL, C++, C# and PHP source files (update, RAT-89)
Support automatic addition of license headers to Groovy source files (update, RAT-91)
Allow --addLicense as an alias for --addLicence for people used to the US spelling. (update, RAT-85)
--addLicense will add the license to the top of Java files without a package line or XML files without an XML declaration now - it used to not add anything. (update, RAT-34)
The XML and standard plain text reports now contain a timestamp with the time the report has been generated. (update, RAT-67)
When adding licenses Rat will now remove any BOM from the file. (update, RAT-95)
--addLicense now supports more .NET specific files like MS Visual Studio project and solution files (update, RAT-93)
The command line interface has a new option that specifies a file containing regular expressions for files to exclude (update, RAT-99)

## 0.7-incubating 2013-05-02

The following changes have been made in Apache RAT 0.7: - Add support for Python scripts, C source files, Unix shell scripts (.sh) and Windows batch files (.bat) (RAT-68) - Allow Ant task to output report as XML. (RAT-73) - Allow users to specify a custom XSLT stylesheet for reports (RAT-74, and RAT-75) - Some website fixes - Optionally auto-add headers to source files. (RAT-76)

Some of Rat's own files missing License Headers (fix, RAT-62)
ant-task-examples.xml has an wrong uri in the -typedef ant target (fix, RAT-63)
Missing closing html tag in generated report by (fix, RAT-70)
Support the use of archives as input (update, RAT-17)
Support automatic addition of license headers (update, RAT-30)
Support automatic addition of license headers (update, RAT-76)
Merge In Rat Output Semantics (update, RAT-52)
Commons IO Wildcard Excludes (update, RAT-56)
Rat Pom cleanup (update, RAT-65)
Add support for Python, C, & script files (.bat & .sh) (update, RAT-68)
Keep version in plugins sample doc up to date (update, RAT-72)
Support for XML output in Ant task and Maven Plugin (update, RAT-73)
Support for XML output in Ant task and Maven Plugin (update, RAT-73)
Support for custom XSLT stylesheets (update, RAT-74)
Support for custom XSLT stylesheets (update, RAT-75)

## 0.6-incubating 2009-04-10

This is the first version using the org.apache package structure and related names. RAT users are strongly encouraged to migrate, as the old Google version will no longer be maintained. * Support for TMF header * Comprehend PEM, CRL file endings * Added reporting capability to recursive rat script * Moved to the Incubator@Apache

List all resources with unapproved licenses at the beginning of the report. (fix, RAT-37, jochen, due to Jukka Zitting)
Report header incorrectly refers to an "L" license marker (fix, RAT-36, jochen, due to Jukka Zitting)
Mailing list subscribe points to unsubscribe (fix, RAT-33, jochen, due to Gavin)
Incorrect alignment of file contents (fix, RAT-3)
Incorrect number of unnapproved licences reported (fix, RAT-11)
Incorrect SCM info in maven plugin pom (fix, RAT-12)
NPE on "mvn install" in rat-anttasks (fix, RAT-29)
No license header added for java files that do not contain project line (fix, RAT-34)
Incorrect number of unapproved licenses reported by rat:check (fix, RAT-35)
add JavaCC to GeneratedLicenseNotRequired (update, RAT-8)
A more informative website (update, RAT-9)
A few Javadoc comments (update, RAT-10)
More details in text summary (update, RAT-23)
Include checksums on web page (update, RAT-24)
Improve web summary (update, RAT-26)
Index page (update, RAT-27)
RAT Source Import (add, RAT-6)
Repackage maven plugin (add, RAT-28)
maven-rat-plugin and ant-rat tasks (add, RAT-1)

## 0.5.1

* Fixed file closing bug * Fixed XML bad character bug

## 0.5

* Added header matcher for DoJo. * Refactoring existing codebase to separate concerns and use resource pipeline. * New header matching library.

## 0.4.1

Rat 0.4.1 is the first release with distributions. The release was cut for this purpose. * Created POM for use with Rat library. * Ant task switched to use Xml based report.

## 0.4

* Ant tasks added. These allow Rat reports to be run against a wide variety of resources from within Ant. * Legacy report is now deprecated. It will be removed before the next release. * Created stylesheet for xml reports which produce output similar to the legacy plain text report. Application now uses the xml report with that stylesheet. * Revised xml output format * Improve support for binary recognition by adding code that tastes files

## 0.3

* This is the last release with the original hacked together plain test report. The new XML reporting code is present but is not yet the default. * Rat 0.3 is the first release with release notes. All previous releases are now consigned to Ancient History. No record of them will be found here.