RAT 0.17
========
Apart from many dependency updates and multiple bugfixes, this release brings
a major harmonization among all available UIs (CLI, Apache Ant, Apache Maven)
concerning parameters and configuration options to run RAT. Therefore please
consult the available extended and updated documentation over at the project's
webpage in order to see examples and overviews of the new configuration options!

RAT generates a more expressive report now as certain individually configurable
limits for counters exist. In case you do preprocessing of the report, you need
to adapt your scripts according to RAT's XSD schema.

Furthermore, the inclusion/exclusion configuration (e.g. .gitignore), parsing
and processing in RAT was overhauled - see RAT-476 for a known issue in that regard.

Many checkstyle, spotbugs and documentation issues were fixed.

Additionally, a new automated test suite was developed in order to ease testing
of edge cases and example licenses and custom license definitions.

RAT's homepage contents and its generation method were modernized and a lot of
new documentation was added to ease configuration of RAT in your project.

The next release will remove deprecated options and classes.

Thanks for your patience and all the feedback in the making of this release!
#bigKudosToClaude would be a proper release name.

Changes in this version include:

New features:
o RAT-489:  Provide a central known issues section to the RAT homepage in order
            to inform users more directly about already known challenges with
            the current RAT version.
o RAT-481:  Update scripts to generate RAT's webpage and fix multiple linking,
            menu and documentation errors.
o RAT-128:  Properly distinguish between Apache licenses 1.0, 1.1 and 2.0 and
            rename to Apache license in reports.
o RAT-485:  Add documentation of environment variables used in the RAT engine.
o RAT-362:  Improve test and test result reporting for .gitignore parsing.
            Introduce environment variable abstraction.
o RAT-469:  Add more integration tests for CLI and Maven plugin to verify
            configuration of valid licenses, ensure copyleft has to be enabled
            explicitly. Thanks to pottlinger.
o RAT-479:  Cleanup documentation and remove deprecated and outdated README
            files in RAT's main repository.
o RAT-406:  Added integration tests for command line combinations to ensure
            marking a license as denied works.
o RAT-397:  Migrate webpage to newer site-plugin stack and change skin of site.
            Removed some of the reports as plugins are discontinued.
            Rename to RAT consistently.
o RAT-473:  Take global gitignore into account when determining which files to
            audit and which to skip.
o RAT-398:  Deprecated certain Ant report functionality in favour of new CLI
            functionality. Deprecation information is printed to indicate how
            the new options can be configured.
o RAT-98:   Report skipped/excluded files and integrate testing of inclusion-
            exclusion and DocumentNames to work under Unix, Windows and Mac.
o RAT-471:  Integrate Creadur RAT into the updated develocity.apache.org instance. Thanks to clayjohnson.
o RAT-469:  Verify that projects that configure valid other licenses than
            the defaults, report correctly as well. Thanks to pottlinger.
o RAT-467:  Add .externalToolBuilders to the default Eclipse exclusions during RAT runs.
o RAT-453:  Change layout and rendering of RAT report to contain RAT version
            information, counter values, encoding information of scanned files
            and aggregation by license type.
o RAT-178:  Added tests to TikaProcessorTests and DefaultAnalyserFactoryTest to
            properly handle non-existent and unreadable files during processing
            runs of our BinaryGuesser.
o RAT-405:  Do not show sample output of scanned files in XML anymore. As files
            are report different tooling can be used to edit/check the files.
o RAT-259:  Add new option --input-source to explicitly specify which files
            to scan for licenses.
o RAT-455:  Disallow GPL license family by default as ASF does not allow this
            license family.
o RAT-458:  Added core integration test to verify log level can be set from
            the command line.
o RAT-2:    Added --input-exclude-size as an option to skip the scanning of very small files.
o RAT-81:   Added encoding information of the file being read to the RAT report
            in case of STANDARD document files. Added media type attribute in report for all files.
o RAT-399:  Moved the ignore code into apache-rat-core and provide more
            statistics in RAT report. Furthermore the CLI allows configuration
            of counter minimum and maximum values,
            e.g. maximum number of allowed unapproved licenses.
o RAT-358:  Overhaul documentation of the new functionality of RAT 0.17.
            Improve and comprehend the whole project webpage.
o RAT-390:  Move and reimplement exclusion configuration from Maven plugin to
            RAT core. ExclusionProcessor is the central place to handle file
            inclusions and exclusions now.
o RAT-383:  As part of the usage the harmonization generation of Ant documentation was added.
o RAT-384:  As part of the usage harmonization XSD generation was added.
o RAT-378:  As part of the usage harmonization among all UIs command line options
            and their arguments as well as the management of the license
            exclusion/inclusion and stylesheets were refactored.
o RAT-380:  Commons-cli >=1.8.0 properly reports when deprecated CLI options are
            used. RAT does not need to check for deprecated options anymore as
            part of the usage harmonization among all UIs.
o RAT-323:  As part of the harmonization efforts CLI options are centralized
            into one class, which is used to generate specific classes
            for Ant and Maven runs of RAT.
o RAT-391:  Integrate develocity service from Gradle and link to current results from badge in README.md.
o RAT-345:  Update build scripts and Maven wrapper in the RAT repo to Maven 3.9.11.
o RAT-374, RAT-381: Automatically generate commandline options/CLI help during
            the build and include it into the project webpage. Adapt READMEs.
o RAT-377:  Added ability to specify the level of reporting on STANDARD files
            within a project. This necessitated an addition of a command line
            option "--output-standard" to limit specify the level of detail in
            the STANDARD file reporting. See command line help for more details.
            By default, there is no change in the reporting and
            only the presence of archives are reported.

            Change also fixed a major issue in license sorting. Resulting in a
            change in order and expanding the name space for licenses.
            Licenses now must have a unique id within the family name space.
            (for example family1/one is different from family2/one).
o RAT-372:  Added ability to process archive files within a project to look for
            license files. This necessitated an addition of a command line
            option "--output-archive" to limit specify the level of detail in
            the archive report. See command line help for more details. By
            default, there is no change in the reporting and only the presence
            of archives is reported.

            This change also marked as deprecated the "-a", "--dir" and command line options.

            This change also marks an architecture change from processing Files
            to processing Documents in order to facilitate processing nested files in archives.
o RAT-314:  Add integration test for new default exclude .mvn, that was introduced with v0.16.
o RAT-369:  Integrate checkstyle and spotbugs into the build and webpage generation.
            Most charset-related errors cannot be fixed until we break
            JDK8-compliance and move to newer versions. Configured a maximum of
            allowed bugs to fail the build if new errors are introduced.
o RAT-54:   MIME Detection Using Apache Tika.
o RAT-355:  Optionally export XML configuration file as part of run.
            Added framework to inspect available licenses and matchers.
o RAT-77:   Adds another stylesheet to explicitly output files with missing-headers.
            Thus, "plain-rat" (default), "missing-headers", and
            "unapproved-licenses" can be used in all RAT clients. From the CLI
            the --output-style option allows to use a short name
            (e.g. "--output-style missing-headers" or "--output-style unapproved-licenses").

Fixed Bugs:
o RAT-475:  Added a workaround garbage collection call to flaky tests
            if running on GitHubAction in order to fix deferred I/O cleanup
            with jUnit's TempDir. Thanks to Arnould Engelen.
o RAT-496:  Fix FileNotFoundException if path of test resources contains
            spaces (Windows). Thanks to Tilman Hausherr.
o RAT-494:  Fix NPE when encoding found in scanned document is not supported by
            the currently used JDK. Tika part of the bugfix can be found
            via TIKA-4505. Thanks to Tilman Hausherr.
o RAT-483:  Reworked handling of resources fixed the site build.
o RAT-474:  Rework handling of release notes and test resource propagation in
            builds to ease project import into Eclipse IDE and adapt build howto.
o RAT-444:  Fix missing headlines when site templates are handled/filtered by Velocity.
o RAT-379:  Fix 'Path must include project or resource name: /' error after
            importing RAT into Eclipse IDE by changing the way resources are
            copied around submodules. Thanks to pottlinger.
o RAT-457:  Added core integration test to verify JAR processing works correctly.
o RAT-107:  Exclusions of defaults should work recursively and in submodules now.
            Added unit and integration tests.
o RAT-41:   Added core integration tests and verified results without generating
            output via ClaimStatistics.
o RAT-81:   Fixed encoding issue where text files not in UTF-8 encoding
            would not be read properly. Change adds charset to the metadata
            when it can be discovered. If not UTF-8 is returned.
            Added integration test to show reading of UTF8 and IBM037 encoding works.
o RAT-408:  Added core integration tests and verified RAT-408 is fixed
            with the new exclusion engine.
o RAT-426:  Added core integration tests and verified RAT-426 is fixed
            with the new exclusion engine.
o RAT-450:  Harmonize log output messages that are automatically generated
            for Maven command line options to ease migration to v0.17.
o RAT-358:  Generate Maven help Mojo documentation under the same package as
            the auto-generated plugin parts: org.apache.rat.plugin.
o RAT-439:  Fix checkstyle issues and make the build fail in case of new
            checkstyle warnings and errors.
o RAT-438:  Fix checkstyle issues in plugin module.
            Deprecated several classes.
o RAT-438:  Fix checkstyle issues in tools module.
o RAT-422:  Fix checkstyle issues in configuration.
o RAT-423:  Fix checkstyle issues in document subdirectories.
o RAT-435:  Fix checkstyle issues in root package.
o RAT-431:  Fix checkstyle issues in report.
o RAT-428:  Fix checkstyle issues in report/claim.
o RAT-425:  Fix checkstyle issues in help.
o RAT-426:  Fix checkstyle issues in license.
o RAT-424:  Fix checkstyle issues in document.
o RAT-420:  Fix checkstyle issues in config.
o RAT-419:  Fix checkstyle issues in config/parameters.
o RAT-421:  Fix checkstyle issues in configuration/builders package.
o RAT-415:  Fix checkstyle issues in commandline.
o RAT-412:  Fix checkstyle issues in analysis package.
o RAT-414:  Fix checkstyle issues in api package.
o RAT-413:  Fix checkstyle issues in annotation package.
o RAT-411:  Fix checkstyle issues in analysis/matchers.
o RAT-441:  Fix layout error when rendering available help options (double dot).
o RAT-240:  Exclusions can be configured as a full path
            (due to the newly written ignore engine as of RAT-390).
o RAT-409:  Clarify how our site is generated and adapt Maven build lifecycles
            and parameters accordingly to include package phase.
o RAT-371:  Do not use URL internally to load multiple files anymore and migrate
            to URI in order to avoid URL's equals/hashCode blocking method calls.
o RAT-369:  Centralize RAT's checkstyle configuration for all submodules under src/conf.
o RAT-190:  Javascript (.js) files not processed as text.
            Fixed as part of the Tika change.
o RAT-265:  Fixed the filter compilation so that illegal regex do not cause
            other filters to be ignored. Updated the logging to only log a
            warning when at least one filter was skipped.
o RAT-301:  Chinese characters in comments are not classified as binary anymore
            (due to Tika integration). Thanks to claudenw.
o RAT-20:   Changed to detecting binary by content not name.
o RAT-147:  Change to detect non UTF-8 text files as text not binary.
o RAT-150:  Switch to Tika to detect file types. This will result in more file
            types being properly categorized and may result in some failures
            where the scans previously did not fail because we now properly
            check all text files.
o RAT-211:  Generated rat-output.xml is now well-formed, even if BinaryGuesser
            fails or there is XML content in the sample element.
o RAT-354:  Fix integration test failure with Maven4 by adding a version property
            in integration test's pom.xml. Versions above Maven4-alpha13 require
            Java17 and cannot be used with RAT, as it relies on Java8. Thanks to Guillaume Nodet.
o RAT-333:  Fix if --force option is used executable bit is not set properly
            on newly created/license-augmented file.
o RAT-362:  Gitignore parsing fails when excluded element is part of the current
            base directory. Thanks to Niels Basjes, Arnout Engelen.
o RAT-367:  Older jUnit3 tests were not run during the build after switching
            to jUnit5. Thanks to Niels Basjes.

Changes:
o RAT-345:  Update tika from 2.9.2 to 2.9.4. Thanks to dependabot.
o RAT-345:  Update jimfs from 1.3.0 to 1.3.1. Thanks to dependabot.
o RAT-345:  Update plexus-testing from 1.4.0 to 1.6.0. Thanks to dependabot.
o RAT-345:  Update maven-clean-plugin from 3.4.0 to 3.4.1. Thanks to dependabot.
o RAT-345:  Update findsecbugs-plugin to 1.14.0. Thanks to dependabot.
o RAT-345:  Update commons-collection4 to 4.5. Thanks to dependabot.
o RAT-345:  Update maven-remote-resources-plugin from 3.1.0 to 3.3.0. Thanks to dependabot.
o RAT-345:  Update commons-text from 1.12.0 to 1.14.0. Thanks to dependabot.
o RAT-345:  Update groovy-all from 2.4.8 to 2.4.21. Thanks to dependabot.
o RAT-345:  Update commons-csv from 1.11.0 to 1.14.1. Thanks to dependabot.
o RAT-345:  Update com.gradle:common-custom-user-data-maven-extension from 2.0 to 2.0.6. Thanks to dependabot.
o RAT-345:  Update Ant from 1.10.14 to 1.10.15. Thanks to dependabot.
o RAT-345:  Update mavenPluginPluginVersion from 3.13.1 to 3.15.0. Thanks to dependabot.
o RAT-345:  Update org.hamcrest:hamcrest-library from 2.2 to 3.0. Thanks to dependabot.
o RAT-345:  Update commons-lang3 from 3.14.0 to 3.19.0. Thanks to dependabot.
o RAT-345:  Update org.codehaus.mojo:build-helper-maven-plugin from 3.2.0 to 3.6.1. Thanks to dependabot.
o RAT-345:  Update org.codehaus.mojo:animal-sniffer-maven-plugin from 1.23 to 1.26. Thanks to dependabot.
o RAT-345:  Update com.gradle:develocity-maven-extension from 1.21.4 to 2.2. Thanks to dependabot.
o RAT-345:  Update maven-project-info-reports-plugin from 3.5.0 to 3.9.0. Thanks to dependabot.
o RAT-345:  Update maven-release-plugin from 3.0.1 to 3.1.1. Thanks to dependabot.
o RAT-345:  Update maven-surefire-plugin from 3.2.5 to 3.5.4. Thanks to dependabot.
o RAT-345:  Update maven-failsafe-plugin from 3.2.5 to 3.5.4. Thanks to dependabot.
o RAT-345:  Update maven-javadoc-plugin from 3.6.3 to 3.12.0. Thanks to dependabot.
o RAT-345:  Update maven-jxr-plugin from 3.3.2 to 3.6.0. Thanks to dependabot.
o RAT-345:  Update maven-fluido-skin from 2.0.1 to 2.1.0. Thanks to dependabot.
o RAT-345:  Update maven-changes-plugin from 3.0.0-M1 to 3.0.0-M3. Thanks to dependabot.
o RAT-345:  Update maven-checkstyle-plugin from 3.3.1 to 3.6.0. Thanks to dependabot.
o RAT-345:  Update maven-dependency-plugin from 3.6.1 to 3.9.0. Thanks to dependabot.
o RAT-345:  Update org.codehaus.mojo:exec-maven-plugin from 3.2.0 to 3.6.1. Thanks to dependabot.
o RAT-345:  Update spotbugs-maven-plugin from 4.8.4.0 to 4.8.6.6. Thanks to dependabot.
o RAT-345:  Update org.apache.maven.plugins:maven-pmd-plugin from 3.21.2 to 3.28.0. Thanks to dependabot.
o RAT-345:  Update org.apache:apache (ASF-parent) from 31 to 35. Thanks to dependabot.
o RAT-345:  Update commons-cli from 1.6.0 to 1.9.0. Thanks to dependabot.
o RAT-345:  Update org.apache.maven.plugin-tools:maven-plugin-annotations from 3.11.0 to 3.15.1. Thanks to dependabot.
o RAT-345:  Update maven-invoker-plugin from 3.6.0 to 3.9.1. Thanks to dependabot.
o RAT-345:  Update commons-io from 2.15.1 to 2.20.0. Thanks to dependabot.
o RAT-345:  Update maven-compiler-plugin from 3.12.1 to 3.14.1. Thanks to dependabot.
o RAT-345:  Update GHA actions/setup-java from 4.0.0 to 5. Thanks to dependabot.
o RAT-345:  Update GHA actions/checkout from 4 to 5. Thanks to dependabot.
o RAT-345:  Update GHA actions/cache from 4.0.0 to 4.0.2. Thanks to dependabot.
o RAT-345:  Update no-package-cycles-enforcer-rule from 1.2.20 to 1.2.22. Thanks to dependabot.
o RAT-345:  Update extra-enforcer-rules from 1.7.0 to 1.11.0. Thanks to dependabot.
o RAT-345:  Update commons-compress from 1.25.0 to 1.28.0. Thanks to dependabot.
o RAT-345:  Update gitignore-reader from 1.3.1 to 1.6.0. Thanks to dependabot.
o RAT-345:  Update and use junit-bom from 5.10.2 to 5.13.4. Thanks to dependabot.
o RAT-345:  Update slf4j-simple from 2.0.11 to 2.0.16. Thanks to dependabot.
o RAT-345:  Update assertj-core from 3.25.1 to 3.27.6. Thanks to dependabot.
o RAT-366:  Switch to processing header matches in one call rather than line by line.
            This change also resulted in the possibility of multiple licenses
            being detected and reported. Forcing a change in the XML ouptut.
            XML schema was developed for the output.
o RAT-345:  Update gitignore-reader from 1.4.0 to 1.5.1 to fetch changes
            resulting from fixes of RAT-362. Thanks to Niels Basjes.

Removed:
o RAT-368:  Removed ReportFailedRuntimeException, ReportTransformer,
            RatReportAnalysisResultException, MimeTyper, ToNameTransformer,
            UnsuitableDocumentException, ReportTransformerTest, and
            ToNameTransformerTest as they are no longer used in the codebase.

            Note: FullTextMatchingeLicense and SimplePatternBasedLicense will be removed in 1.0.0.

Rat 0.16.1
==========
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 the homepage to include how to configure custom licenses and matchers.
We migrated to jUnit5 and removed the 'apache-rat-api' module in this release.
Thanks for your patience and all the feedback in the making of this release!

New features:
o RAT-342:  Use Maven wrapper (with version 3.9.6) for reproducable local builds and on ASF Jenkins and Github Actions.
o RAT-348:  Update gitignore-reader library to 1.3.1 to get latest changes in gitignore parsing. Thanks to Niels Basjes.
o RAT-346:  Issue a warning if a user defined License family has the same name as an existing one. Thanks to Claude Warren.
o RAT-346:  Migrate to JUnit5 and fix minor issues in tests and javadoc. Thanks to Claude Warren.
o RAT-325:  Set log level default for CLI runs to WARN. This applies to test runs as well, as other UIs configure their logging natively. Thanks to Claude Warren.
o RAT-325:  Add missing dejavu font in Javadoc, generate MOJO metadata in site and fix broken links in webpage.

Fixed Bugs:
o RAT-343:  Reimplement old configuration elements for custom licenses in Maven plugin configurations (and updates to the webpage). Thanks to Claude Warren.
o RAT-343:  Add integration test to allow enhanced testing of custom licenses. Thanks to Niels Basjes.
o RAT-349:  Fix NPE by falling back to default stylesheet if none was configured before. Thanks to Niels Basjes.
o RAT-325:  To improve the performance during SPDX processing a check to skip expensive regex operations was added. Thanks to Claude Warren.
o RAT-325:  Internal logging feature enabled for license matching tests to avoid random test failures when manipulating System.out in test runs. Thanks to Claude Warren.
o RAT-325:  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.
o RAT-344:  Fix double output by deleting any existing RAT report before writing a fresh file during plugin runs.

Changes:
o RAT-339:  Update mavenPluginPluginVersion from 3.10.2 to 3.11.0 and introduce goalPrefix in plugin configuration. Thanks to dependabot.
o RAT-339:  Update junit-platform-runner from 1.8.1 to 1.10.1. Thanks to dependabot.
o RAT-339:  Update junit from 5.10.0 to 5.10.1. Thanks to dependabot.
o RAT-339:  Update actions/cache from 3.3.2 to 4.0.0. Thanks to dependabot.
o RAT-339:  Update maven-surefire-plugin from 3.2.3 to 3.2.5. Thanks to dependabot.
o RAT-339:  Update maven-jxr-plugin from 3.3.1 to 3.3.2. Thanks to dependabot.
o RAT-339:  Update slf4j-simple from 2.0.9 to 2.0.11. Thanks to dependabot.
o RAT-339:  Update assertj-core from 3.24.2 to 3.25.1. Thanks to dependabot.

Removed:
o RAT-346:  Remove apache-rat-api module that contains misleading license-related classes. Thanks to Claude Warren.

Rat 0.16
========
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!

New features:
o RAT-338:  Update minimal build Maven version to 3.2.5 and maven dependencies to 3.9.6. Remove pre-JDK8 code constructs and minor refactorings. Thanks to Tamás Cservenák.
o RAT-335:  Enhance .gitignore handling; support multiple .gitignore files and allow a more complete parsing of Git's ignore files. Thanks to Niels Basjes.
o RAT-322:  Add configuration option to scan hidden directories: --scan-hidden-directories on the command line and scanHiddenDirectories as a Maven plugin parameter. Thanks to Jean-Baptiste Onofré.
o RAT-320:  Add new command line option -o/--output to write RAT's output to a file. Thanks to Jean-Baptiste Onofré.
o RAT-329:  Add markdown (MD) and yaml (YML/YAML) as a recognized extension for file and license processing. Thanks to Claude Warren.
o RAT-316:  Add default exclusion of MANIFEST.MF as it must not contain comment lines to include a license.
o RAT-321:  Allow text-based XML configuration of RAT. Thanks to Claude Warren.

Fixed Bugs:
o RAT-326:  Fix existing javadoc build errors and add javadoc generation to existing GithubActions to not introduce build errors via merge requests.
o RAT-328:  Ensure that System.out does not get closed during report generation and updated javadocs. Thanks to Claude Warren.
o RAT-311:  Update commons-compress to 1.24.0 in order to circumvent CVE-2023-42503.
o RAT-251:  Added SPDX processing for default licenses. Thanks to Claude Warren.
o RAT-315:  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. Thanks to Guillaume Nodet.
o RAT-317:  Change log output level of SCM ignore parser from info to debug in order to produce less log output in RAT runs. Thanks to Gary Gregory.
o RAT-314:  Add default recursive exclusion for maven-induced build artifacts in folder .mvn. Thanks to François Guillot.
o RAT-312:  Remove Travis build as it is unreliable. Builds with ASF Jenkins and Github Actions remain as before.

Changes:
o RAT-311:  Update actions/setup-java from 3.4.1 to 4.0.0. Thanks to dependabot.
o RAT-311:  Update actions/cache from 3.0.11 to 3.3.2 Thanks to dependabot.
o RAT-311:  Update actions/checkout from 3 to 4. Thanks to dependabot.
o RAT-311:  Update mockito-core from 4.7.0 to 4.11.0, newer versions 5.x cannot be applied due to our JDK8-compatibility restriction. Thanks to dependabot.
o RAT-311:  Update plexus-utils from 3.4.2 to 3.5.1, versions 4.x are for upcoming Maven4 and must not be applied here. Thanks to dependabot.
o RAT-311:  Update maven-plugin-version from 3.6.4 to 3.8.2. Thanks to dependabot.
o RAT-311:  Update wagon-ssh from 3.5.2 to 3.5.3. Thanks to dependabot.
o RAT-311:  Update Ant from 1.10.12 to 1.10.14. Thanks to dependabot.
o RAT-311:  Update ASF parent pom from 27 to 31 and update multiple maven plugin versions implicitly (surefire, release, project-info, enforcer, jxr). Thanks to dependabot.
o RAT-311:  Update doxiaVersion from 1.11.1 to 1.12.0. Thanks to dependabot.
o RAT-311:  Update maven-shared-utils from 3.3.4 to 3.4.2. Thanks to dependabot.
o RAT-311:  Update org.slf4j:slf4j-simple from 1.7.36 to 2.0.9. Thanks to dependabot.
o RAT-311:  Update commons-lang3 from 3.5 to 3.14.0. Thanks to dependabot.
o RAT-311:  Update commons-compress from 1.21 to 1.25. Thanks to dependabot.
o RAT-311:  Update commons-io from 2.11.0 to 2.15.1. Thanks to dependabot.
o RAT-311:  Update commons-cli from 1.5.0 to 1.6.0. Thanks to dependabot.
o RAT-311:  Update maven-pmd-plugin from 3.18.0 to 3.21.2. Thanks to dependabot.
o RAT-311:  Update maven-dependency-plugin from 3.3.0 to 3.6.1. Thanks to dependabot.
o RAT-311:  Update maven-compiler-plugin from 3.10.1 to 3.12.1. Thanks to dependabot.
o RAT-311:  Update maven-javadoc-plugin from 3.4.1 to 3.6.3. Thanks to dependabot.
o RAT-311:  Update maven-release-plugin from 2.5.3 to 3.0.1. Thanks to dependabot.
o RAT-311:  Update maven-enforcer-plugin from 3.1.0 to 3.4.1. Thanks to dependabot.
o RAT-311:  Update extra-enforcer-rules from 1.6.1 to 1.7.0 Thanks to dependabot.
o RAT-311:  Update maven-release-plugin from 2.5.3 to 3.0.1. Thanks to dependabot.
o RAT-311:  Update animal-sniffer-maven-plugin from 1.22 to 1.23. Thanks to dependabot.
o RAT-311:  Update maven-project-info-reports-plugin from 3.4.1 to 3.5.0. Thanks to dependabot.
o RAT-311:  Update maven-surefire-plugin from 3.2.2 to 3.2.3. Thanks to dependabot.

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

Fixed Bugs:
o RAT-309:  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. Thanks to Michael Osipov, Gary Gregory.
o RAT-309:  Updated internal data structures from deprecated ArrayStack to JDK's ArrayDeque.
o RAT-306:  Add note about hierarchy of changelogs in RAT project structure when publishing the project webpage.
o RAT-307:  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.

Changes:
o RAT-305:  Update maven-project-info-reports-plugin from 3.3.0 to 3.4.1. Thanks to dependabot.
o RAT-305:  Update maven-javadoc-plugin from 3.4.0 to 3.4.1. Thanks to dependabot.
o RAT-305:  Update maven-jxr-plugin from 3.2.0 to 3.3.0. Thanks to dependabot.
o RAT-305:  Update animal-sniffer-maven-plugin from 1.21 to 1.22. Thanks to dependabot.
o RAT-305:  Update maven-site-plugin from 3.12.0 to 3.12.1. Thanks to dependabot.
o RAT-305:  Update maven-pmd-plugin from 3.16.0 to 3.18.0. Thanks to dependabot.
o RAT-305:  Update mockito-core from 4.6.0 to 4.7.0. Thanks to dependabot.
o RAT-305:  Update extra-enforcer-rules from 1.5.1 to 1.6.1. Thanks to dependabot.
o RAT-305:  Update Apache parent pom from 26 to 27. Thanks to dependabot.
o RAT-305:  Update wagon-ssh from 3.5.1 to 3.5.2. Thanks to dependabot.
o RAT-305:  Update maven-enforcer-plugin from 3.0.0 to 3.1.0. Thanks to dependabot.
o RAT-305:  Update actions/setup-java from 3.3.0 to 3.4.1. Thanks to dependabot.
o RAT-310:  Fix deprecation warnings in tests. Use hamcrest's annotations instead of ones from JUnit.

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

New features:
* RAT-288:  Adapt logging output to be more compliant with future Maven versions as debug is deprecated and verbose is the recommended way to go. Thanks to Michael Osipov.
* RAT-297:  Update maven-reporting-api from 3.0 to 3.1.0 and remove usage of deprecated Sink API. Thanks to Michael Osipov.
* RAT-289:  Enable dependabot integration - write access is forbidden, but email alerts and pull requests should be ok.
* RAT-279:  Migrate vom Travis CI.org to Travis-ci.com.
* RAT-271:  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.
* RAT-270:  Change default behaviour to output erroneous files to console. Can be disabled by setting rat.consoleOutput to false.
* RAT-266:  Add .factorypath to Eclipse-default exclusions. Thanks to Michael Osipov.
* RAT-254:  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.
* RAT-244:  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).
* RAT-212:  Add alternative https URLs in Apache License, Version 2.0 to allow automatic recognition as valid ASF2.0. Thanks to Niels Basjes.
* RAT-250:  Update to latest available and compatible Apache ANT 1.9.14 to get bugfixes.
o INFRA-17348: SCM repository has been moved from svn.apache.org (Subversion) to gitbox.apache.org (Git)

Fixed Bugs:
* RAT-290:  Update maven-jxr-plugin from 2.5 to 3.2.0. Thanks to dependabot.
* RAT-290:  Update maven-antrun-plugin from 3.0.0 to 3.1.1. Thanks to dependabot.
* RAT-290:  Update github actions/checkout from 2 to 3. Thanks to dependabot.
* RAT-290:  Update github actions/setup-java from 2.5.0 to 3.3.0. Thanks to dependabot.
* RAT-290:  Update maven-pmd-plugin from 3.14.0 to 3.16.0. Thanks to dependabot.
* RAT-290:  Update maven-javadoc-plugin from 3.3.1 to 3.4.0. Thanks to dependabot.
* RAT-290:  Update maven-compiler-plugin from 3.8.1 to 3.10.1. Thanks to dependabot.
* RAT-290:  Update wagon-ssh from 3.5.0 to 3.5.1. Thanks to dependabot.
* RAT-290:  Update maven-site-plugin from 3.9.1 to 3.12.0. Thanks to dependabot.
* RAT-290:  Update maven-project-info-reports-plugin from 3.1.1 to 3.3.0. Thanks to dependabot.
* RAT-290:  Update mockito-core from 3.11.2 to 4.6.0. Thanks to dependabot.
* RAT-290:  Update ASF parent from 23 to 26. Thanks to dependabot.
* RAT-273:  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.
* RAT-273:  Workaround for an incompatibility in the java.io.LineNumberReader, which is
            being replaced by the org.apache.rat.header.LineNumberReader.
* RAT-290:  Update animal-sniffer-maven-plugin from 1.20 to 1.21. Thanks to Jin Xu/Xeno Amess.
* RAT-296:  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.
* RAT-274:  Update to latest Apache Ant 1.10.12.
* RAT-291:  Fix links to Travis builds for all creadur projects.
* RAT-290:  Update maven-dependency-plugin from 3.1.1 to 3.2.0. Thanks to dependabot.
* RAT-290:  Update plexus-utils from 3.0.21 to 3.4.1. Thanks to dependabot.
* RAT-290:  Update commons-cli from 1.4 to 1.5.0. Thanks to dependabot.
* RAT-290:  Update maven-plugin-annotation and maven-plugin-plugin from 3.6.1 to 3.6.2. Thanks to dependabot.
* RAT-275:  Update to doxia 1.11.1 in order to get CVE-2020-13956-httpclient problem fixes in doxia.
* RAT-283:  Update plugin versions and dependencies in order to run properly with Java8 as minimal compiler level.
* RAT-286:  Update to maven-plugin-plugin v3.6.1 in order to circumvent error during maven site builds.
* RAT-285:  Update to latest Apache Ant 1.10.11 in order to fix issues related to dependency commons-compress in Ant itself.
* RAT-207:  Properly report thread-safeness to Maven. Thanks to Xavier Dury.
* RAT-281:  Update to latest Commons IO to fix CVE-2021-29425 (Moderate severity).
* RAT-274:  Update to latest Apache Ant 1.10.10.
* RAT-277:  Update to junit 4.13.1 to fix CVE-2020-15250.
* RAT-158:  Update to new ASF parent 23 in order to get rid of doxia version management that generated warnings.
* RAT-274:  Update to latest Apache Ant 1.10.9 to fix CVE-2020-11979. Update to JDK8 as minimal version/compiler version.
* RAT-269:  Update to latest Apache Ant to fix CVE-2020-1945.
* RAT-268:  Allow handling of pom-file-only projects by not assuming that all modules are in directories. Thanks to Robert Scholte.
* RAT-267:  Report ignored lines from exclusion file to stderr instead of std to not generate erroneous JSON. Thanks to Fabio Utzig.
* RAT-262:  Treat JSON data as binary to avoid reports of missing licenses.
* RAT-260:  Change to docker image when building on Travis to avoid JDK version mixup in traditional build setup. Thanks to Kamil Breguła.
* RAT-258:  Update to latest commons-compress to fix CVE-2019-12402.
* RAT-257:  Adapt help text for CLI usage of RAT.

Rat 0.13
=========

 * Compiler level is set to JDK8 (1.8) to be able to update dependencies properly.

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

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

Rat 0.12
========

 * 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.
 * Issues resolved (see https://issues.apache.org/jira):
   Bug
    * [RAT-158] - Fix SAX-Parser warning by explicitly excluding xerces in Doxia 1.2.
                  (thanks to Hervé Boutemy)
    * [RAT-173] - Allow complete skip of RAT plugin with rat.skip property
                  (thanks to Chris Burroughs)
    * [RAT-174] - CDDL1License still very slow, replace Pattern matching with simple String comparison
                  (thanks to Chris Burroughs)
    * [RAT-175] - SourceCodeManagementSystems.hasIgnoreFile() should return boolean
    * [RAT-177] - final arrays should be private
    * [RAT-188] - Fix problems with AnimalSniffer-plugin when running in GUMP with Java 8.
                  Workaround for https://jira.codehaus.org/browse/MANIMALSNIFFER-45
                  (thanks to Mark Thomas)
    * [RAT-160] - Ignore build.log that is created by maven-invoker-plugin runs. Temporary fix until invoker plugin improves
                  configurability of that file.
                  (thanks to Christopher Tubbs)
    * [RAT-179] - Maven plugin and Ant task do not support adding extra approved licenses.
    * [RAT-180] - Generify and beautify texts in RAT report.

   New features
    * [RAT-171] - Maven plugin allows scanning of source code management ignore files. Their contents is added as exclusion to be ignored during RAT runs.
                  Supported source code management systems are: SVN, Git, Bazaar, Mercurial and CVS.
                  An ignore-file's contents is taken as it is without parsing or validating.

   Improvement
    * [RAT-196] - Minor refactoring in pom.xml.
                  (thanks to Karl Heinz Marbaise)
    * [RAT-194] - Upgrade to Doxia 1.6 if called directly, does not affect problems reported in RAT-158. Minor improvements.
                  (thanks to Hervé Boutemy)
    * [RAT-61]  - List files with unapproved licenses in Maven output
    * [RAT-170] - RAT should use itself during build and site generation
    * [RAT-181] - BinaryGuesser should treat *.truststore as binary
    * [RAT-184] - Add DEPENDENCIES to the list of ignored files in NoteGuesser.
                  (thanks to Karl Heinz Marbaise)
    * [RAT-185] - .repository folder should be ignored
    * [RAT-186] - BinaryGuesser should recognize PSD files as images
    * [RAT-187] - Add 'SAR', 'HAR', 'WSR' as archives which should be ignored.
                  (thanks to Karl Heinz Marbaise)
    * [RAT-197] - Improve exclusion defaults when working with Maven 3.3.1 (exclude .mvn).
                  (thanks to Karl Heinz Marbaise)
    * [RAT-198] - Upgrade to plexus-utils 3.0.20.
                  (thanks to Karl Heinz Marbaise)
    * [RAT-172] - Exclude technical directories of source code management systems and their ignore files from RAT scans.
                  Enabled for SVN,Git,Mercurial,Bazar and CVS.
    * [RAT-200] - Update to latest ASF parent pom v17.
    * [RAT-201] - 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.
    * [RAT-202] - Report layout differs between successful RAT checks and existence of unapproved files.
    * [RAT-203] - Using 'license' in README, source code, javadoc, comments and site instead of 'licence'; improve terminology to not confuse RAT consumers.
    * [RAT-204] - Unify resource handling in code and tests, make sure the resources are properly closed. Apply minor refactorings.
    * [RAT-213] - Upgrade to commons-collections 3.2.2.
                  (thanks to Glenn Lewis)

Rat 0.11
========

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

Rat 0.10
========
The main change is RAT-138 - Rat 0.9 could run much slower than 0.8 on some input.

 * Simpler binary archive
 * Issues resolved (see https://issues.apache.org/jira):
   * Bugs fixed:
     * [RAT-137] Website shows incorrect Maven goals in some pages
     * [RAT-128] Use the proper name for the Apache License
     * [RAT-138] RAT runs very slowly on some input
     * [RAT-140] OASISLicense allows invalid Copyright line
     * [RAT-139] FullTextMatchingLicense.prune uses inefficient deleteAtChar
     * [RAT-145] Maven plugin should not run in the "verify" phase, but in the "validate" phase
   * Improvements:
     * [RAT-129] Add support for CDDL 1.0
 * Updated dependencies and plugins
 * Fixed up generics and annotations

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

Rat 0.8
=======
 * Some website fixes
 * The Antlib and Maven plugins now provide simpler ways to detect
   licenses not directly supported by Rat.
 * Issues Resolved (see https://issues.apache.org/jira):
  * Bug:
    * RAT-86 CLI doesn't allow adding of licenses unless a custom
      stylesheet has been specified
    * RAT-87 Tests could leave temporary files around.
    * RAT-92 When adding licenses Rat used \n instead of the platform
      dependent line--end character(s)
    * RAT-94 Streams were not always closed immediately when adding
      licenses.
  * Improvement:
    * RAT-79 Support automatic addition of license headers to Velocity
      templates
    * RAT-83 Support automatic addition of license headers to Scala
      source files
    * RAT-84 Support automatic addition of license headers to Ruby
      source files
    * RAT-89 Support automatic addition of license headers to Perl,
      TCL, C++, C# and PHP source files
    * RAT-91 Support automatic addition of license headers to Groovy
      source files
    * RAT-85 Allow --addLicense as an alias for --addLicence for
      people used to the US spelling.
    * RAT-34 --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.
    * RAT-67 The XML and standard plain text reports now contain a
      timestamp with the time the report has been generated.
    * RAT-95 When adding licenses Rat will now remove any BOM from the file.
    * RAT-93 --addLicense now supports more .NET specific files like
      MS Visual Studio project and solution files
    * RAT-99 The command line interface has a new option that
      specifies a file containing regular expressions for files to exclude

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

Rat 0.6
===========
 * Support for TMF header
 * Comprehend PEM, CRL file endings
 * Added reporting capability to recursive rat script
 * Moved to the Incubator@Apache
 * Issues Resolved (see https://issues.apache.org/jira):
  * Bug:
    * RAT-3 Incorrect alignment of file contents
    * RAT-11 Incorrect number of unnapproved licences reported
    * RAT-12 Incorrect SCM info in maven plugin pom
    * RAT-29 NPE on &quot;mvn install&quot; in rat-anttasks
    * RAT-33 Mailing list subscribe points to unsubscribe
    * RAT-34 No license header added for java files that do not contain project line
    * RAT-35 Incorrect number of unapproved licenses reported by rat:check
    * RAT-36 Report header incorrectly refers to an &quot;L&quot; license marker
  * Improvement:
    * RAT-8 [PATCH] add JavaCC to GeneratedLicenseNotRequired
    * RAT-9 A more informative website
    * RAT-10 A few Javadoc comments
    * RAT-23  More details in text summary
    * RAT-24 Include checksums on web page
    * RAT-26 Improve web summary
    * RAT-27 Index page
    * RAT-37 List all resources with unapproved licenses at the beginning of the report
  * New Feature
    * RAT-6 RAT Source Import
  * Task
    * RAT-28 Repackage maven plugin
  * Wish
    * RAT-1 maven-rat-plugin and ant-rat tasks

Rat 0.5.1
=========
 * Fixed file closing bug
 * Fixed XML bad character bug

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

Rat 0.4.1
=========
Rat 0.4.1 is the first release with distributions. The release was cut
for this purpose.

Rat 0.4.1 Notes
===============
 * Created POM for use with Rat library.
 * Ant task switched to use Xml based report.

Rat 0.4 Notes
=============
 * 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

Rat 0.3 Notes
=============
 * 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.
