v5.0.0
This is a big release for a small change set. With this release, the tool
becomes compatible with
REUSE Specification 3.3, which is a very
subtly improved release of the much bigger version 3.2.
Added
- More file types are recognised:
- Added
lint-file
subcommand to enable running lint on specific files. (#1055) - Added shell completion via
click
. (#1084) - Added Jujutsu VCS support. (#TODO)
- Added new copyright prefixes
spdx-string
,spdx-string-c
, and
spdx-string-symbol
. (#979) - Support for Python 3.13. (#1092)
Changed
-
Bumped REUSE Specification version to
version 3.3. (#1069) -
Switched from
argparse
toclick
for handling the CLI. The CLI should still
handle the same, with identical options and arguments, but some stuff changed
under the hood. (#1084)Find here a small list of differences:
-h
is no longer shorthand for--help
.--version
now outputs "reuse, version X.Y.Z", followed by a licensing
blurb on different paragraphs.- Some options are made explicitly mutually exclusive, such as
annotate
's
--skip-unrecognised
and--style
, anddownload
's--output
and
--all
. - Subcommands which take a list of things (files, license) as arguments, such
asannotate
,lint-file
, ordownload
, now also allow zero arguments.
This will do nothing, but can be useful in scripting. annotate
andlint-file
now also take directories as arguments. This will
do nothing, but can be useful in scripting.
-
Changes to comment styles:
-
REUSE.toml
no longer needs a licensing header. (#1042) -
.gitkeep
is no longer ignored, because this is not defined in the
specification. However, if.gitkeep
is a 0-size file, it will remain ignored
(because 0-size files are ignored). (#1043) -
If
REUSE.toml
is ignored by VCS, the linter no longer parses this file.
(#1047) -
SPDX license and exception list updated to v3.25.0.
-
More
LICENSE
andCOPYING
-like files are ignored. Now, such files suffixed
by-anything
are also ignored, typically something likeLICENSE-MIT
. Files
with the UK spellingLICENCE
are also ignored. (#1041)
Removed
- Python 3.8 support removed. (#1080)
Fixed
- In
REUSE.toml
, fixed the globbing of a single asterisk succeeded by a slash
(e.g.directory-*/foo.py
). The glob previously did nothing. (#1078) - Increased the minimum requirement of
attrs
to>=21.3
. Older versions do
not import correctly. (#1044) - Performance greatly improved for projects with large directories ignored by
VCS. (#1047) - Performance slightly improved for large projects. (#1047)
- The plain output of
lint
has been slightly improved, getting rid of an
errant newline. (#1091) reuse annotate --merge-copyrights
now works more reliably with copyright
prefixes. This still needs some work, though. (#979)- In some scenarios, where a user has multiple
REUSE.toml
files and one of
those files could not be parsed, the wrongREUSE.toml
was signalled as being
unparseable. This is now fixed. (#1047) - Fixed a bug where
REUSE.toml
did not correctly apply its annotations to
files which have an accompanying.license
file. (#1058) - When running
reuse download SPDX-IDENTIFIER+
, downloadSPDX-IDENTIFIER
instead. This also works forreuse download --all
. (#1098)