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.