Added
- Successfully parse old-style C and HTML comments now.
- Added `reuse compile`, which creates an SPDX bill of materials.
- Added `--ignore-missing` to `reuse lint`.
- Allow to specify multiple paths to `reuse lint`.
- `chardet` added as dependency.
- `pygit2` added as soft dependency. reuse remains usable without it,
but the performance with `pygit2` is significantly better. Because
`pygit2` has a non-Python dependency (`libgit2`), it must be
installed independently by the user. In the future, when reuse is
packaged natively, this will not be an issue.
Changed
- Updated to version 2.0 of the REUSE recommendations. The
most important change is that `License-Filename` is no longer used.
Instead, the filename is deducted from `SPDX-License-Identifier`.
This change is **NOT** backwards compatible.
- The conditions for linting have changed. A file is now non-compliant
when:
- The license associated with the file could not be found.
- There is no SPDX expression associated with the file.
- There is no copyright notice associated with the file.
- Only read the first 4 KiB (by default) from code files rather than
the entire file when searching for SPDX tags. This speeds up the
tool a bit.
- `Project.reuse_info_of` no longer raises an exception. Instead, it
returns an empty `ReuseInfo` object when no reuse information is
found.
- Logging is a lot prettier now. Only output entries from the `reuse`
module.
Fixed
- `reuse --ignore-debian compile` now works as expected.
- The tool no longer breaks when reading a file that has a non-UTF-8
encoding. Instead, `chardet` is used to detect the encoding before
reading the file. If a file still has errors during decoding, those
errors are silently ignored and replaced.