Releases: fsfe/reuse-tool
v5.0.2
v5.0.1
Fixed
- Fix readthedocs build.
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)
v4.0.3
v4.0.2
v4.0.1
v4.0.0
This release of REUSE implements the new
REUSE Specification v3.2. It adds the
REUSE.toml
file format as a replacement for .reuse/dep5
. The new format is
easier to write and parse, is better at disambiguating certain corner cases, and
is more flexible for customisation and future additions.
To convert your existing .reuse/dep5
to REUSE.toml
, you can simply use the
reuse convert-dep5
command.
Alongside the REUSE.toml
feature is a wealth of other improvements.
reuse lint --lines
may be especially interesting for CI workflows, as well as
the fact that the amount of PendingDeprecationWarning
s has been drastically
reduced now that the information aggregation behaviour of .reuse/dep5
is
explicitly defined in the specification.
The tool has also been made easier to use with the addition of man pages. The
man pages can be found online at https://reuse.readthedocs.io/en/stable/man/.
Your distribution's packager will need to make them accessible via
man reuse(1)
. Unfortunately, man pages cannot be made accessible via Python's
packaging, although the full documentation (including man pages) is included in
the sdist.
This changeset also contains the changes of v3.1.0a1.
Added
- Added support for
REUSE.toml
. (#863) - Added
reuse convert-dep5
to convert.reuse/dep5
toREUSE.toml
. (#863) - Man pages added for all
reuse
commands. Distribution maintainers might wish
to distribute the (Sphinx-built) man pages. (#975) - More file types are recognised:
- Assembler (
.asm
) (#928) - GraphQL (
.graphqls
,.gqls
) (#930) - CUDA-C++ (
.cu
,.cuh
) (#938) - Various .NET files (
.csproj
,.fsproj
,.fsx
,.props
,.sln
,
.vbproj
) (#940) - Cargo (
Cargo.lock
) (#937) - Clang-Tidy (
.clang-tidy
) (#961) - Java
.properties
files (#968) - Apache HTTP server config
.htaccess
files (#985) - npm
.npmrc
files (#985) - LaTeX class files (
.cls
) (#971) - CSON (
.cson
) (#1002) - Hjson (
.hjson
) (#1002) - JSON5 (
.json5
) (#1002) - JSON with Comments (
.jsonc
) (#1002) - Tap (
.taprc
) (#997) - Zsh (
.zshrc
) (#997) - Perl test (
.t
) (#997) - BATS test (
.bats
) (#997) - Octave/Matlab (
.m
) (#604) - VHDL(
.vhdl
) (#564) - Earthly files (
Earthfile
and.earthlyignore
) (#1024)
- Assembler (
- Added comment styles:
man
for UNIX Man pages (.man
) (#954)
- Added
--lines
output option forlint
. (#956) - Treat
% !TEX
and% !BIB
as shebangs in TeX and BibTeX files, respectively
(#971) - Support alternate spelling
--skip-unrecognized
. (#974) - In
annotate
, rename--copyright-style
to--copyright-prefix
. The former
parameter is still supported. (#973) - Support alternate spelling
--skip-unrecognized
(#974) cpp
andcppsingle
style shorthands (see changes). (#941)
Changed
- Updated SPDX resources to 3.24.0. (#994)
- Updated REUSE specification version to 3.2. (#994)
.s
files now use the Python comment style as per GNU Assembler (gas). (#928)- Previously, any file that begins with
COPYING
orLICENSE
was ignored. This
has been changed. Now, files likeCOPYING_README
are no longer ignored, but
COPYING
andCOPYING.txt
are still ignored (in other words: exact matches,
orCOPYING
+ a file extension). Idem ditto forLICENSE
. (#886) - Dependencies added:
- Reorganised the way that
c
,css
, andcsingle
styles work. (#941)c
used to support multi-line comments; it now only supports multi-line
/* */
comments. This is identical to the oldcss
style.cpp
has been added, which supports multi-line/* */
comments and
single-line//
comments. This is identical to the oldc
style.csingle
has been renamed tocppsingle
, and it supports only single-line
//
comments.
Deprecated
.reuse/dep5
is marked deprecated.reuse convert-dep5
will help you switch
toREUSE.toml
. (#863)
Removed
- The PendingDeprecationWarning for the aggregation of information between DEP5
and the contents of a file has been removed. This behaviour is now explicitly
specified in REUSE Specification v3.2. (#1017, related to #779) reuse init
removed. (#863)csingle
andcss
style shorthands (see changes). (#941)
Fixed
- The datetime value for
Created:
was wrongly formatted since 3.0.0. It now
returns a correctly formatted ISO 8601 date again. (#952) - Repaired the behaviour of
reuse download
where being inside of a LICENSES/
directory should not create a deeper LICENSES/LICENSES/ directory. (#975) - Support annotating a file that contains only a shebang. (#965)
- Add
CONTRIBUTING.md
to the sdist. (#987) - In
reuse spdx
, fixed the output to be more compliant by capitalising
SPDXRef-Document DESCRIBES
appropriately. (#1013)
v3.1.0a1
Added
- Added support for
REUSE.toml
. (#863) - Manpages added for all
reuse
commands. Distribution maintainers might wish
to distribute the (Sphinx-built) manpages. (#975) - More file types are recognised:
- Assembler (
.asm
) (#928) - GraphQL (
.graphqls
,.gqls
) (#930) - CUDA-C++ (
.cu
,.cuh
) (#938) - Various .NET files (
.csproj
,.fsproj
,.fsx
,.props
,.sln
,
.vbproj
) (#940) - Cargo (
Cargo.lock
) (#937) - Clang-Tidy (
.clang-tidy
) (#961) - Java
.properties
files (#968) - Apache HTTP server config
.htaccess
files (#985) - npm
.npmrc
files (#985) - LaTeX class files (
.cls
) (#971)
- Assembler (
- Added comment styles:
man
for UNIX Man pages (.man
) (#954)
- Added
--lines
output option forlint
. (#956) - Treat
% !TEX
and% !BIB
as shebangs in TeX and BibTeX files, respectively
(#971)
Changed
- Updated SPDX resources to 3.24.0. (#994)
- Updated REUSE specification version to 3.2. (#994)
.s
files now use the Python comment style as per GNU Assembler (gas). (#928)- Previously, any file that begins with
COPYING
orLICENSE
was ignored. This
has been changed. Now, files likeCOPYING_README
are no longer ignored, but
COPYING
andCOPYING.txt
are still ignored (in other words: exact matches,
orCOPYING
+ a file extension). Idem ditto forLICENSE
. (#886) - Dependencies added:
Deprecated
.reuse/dep5
is marked deprecated.reuse convert-dep5
will help you switch
toREUSE.toml
. (#863)
Fixed
- Clearer instructions for
--suppress-deprecation
in deprecation warning.
(#949) - The datetime value for
Created:
was wrongly formatted since 3.0.0. It now
returns a correctly formatted ISO 8601 date again. (#952) - Repaired the behaviour of
reuse download
where being inside of a LICENSES/
directory should not create a deeper LICENSES/LICENSES/ directory. (#975) - Support annotating a file that contains only a shebang. (#965)
- Add
CONTRIBUTING.md
to the sdist. (#987)