Skip to content

Releases: fsfe/reuse-tool

v5.0.2

14 Nov 09:34
v5.0.2
920b644
Compare
Choose a tag to compare

Fixed

  • The release date for the v5.0.0 entry in the change log was wrong.

v5.0.1

14 Nov 09:23
v5.0.1
fd7b76c
Compare
Choose a tag to compare

Fixed

  • Fix readthedocs build.

v5.0.0

14 Nov 09:22
v5.0.0
c1bbaaf
Compare
Choose a tag to compare

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 to click 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, and download's --output and
      --all.
    • Subcommands which take a list of things (files, license) as arguments, such
      as annotate, lint-file, or download, now also allow zero arguments.
      This will do nothing, but can be useful in scripting.
    • annotate and lint-file now also take directories as arguments. This will
      do nothing, but can be useful in scripting.
  • Changes to comment styles:

    • Allow Python-style comments in Cargo.lock files. (#1060)
    • .s files (GNU as) now use the C comment style. (#1034)
    • .ld files (GNU ld) now use the C comment style. (#1034)
  • 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 and COPYING-like files are ignored. Now, such files suffixed
    by -anything are also ignored, typically something like LICENSE-MIT. Files
    with the UK spelling LICENCE 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 wrong REUSE.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+, download SPDX-IDENTIFIER
    instead. This also works for reuse download --all. (#1098)

v4.0.3

08 Jul 12:01
v4.0.3
9760714
Compare
Choose a tag to compare

Fixed

  • Increased the minimum requirement of attrs to >=21.3. Older versions do
    not import correctly. (#1044)

v4.0.2

03 Jul 16:56
v4.0.2
3e35284
Compare
Choose a tag to compare

Fixed

  • Repaired a bug that would cause a crash when running
    annotate --merge-copyrights on a file that does not yet have a year in the
    copyright statement. This bug was introduced in v4.0.1. (#1030)

v4.0.1

03 Jul 14:31
v4.0.1
5df2bed
Compare
Choose a tag to compare

Fixed

  • Make sure that Read the Docs can compile the documentation. This necesitated
    updating poetry.lock. (#1028)

v4.0.0

03 Jul 13:09
v4.0.0
aa2a05b
Compare
Choose a tag to compare

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 PendingDeprecationWarnings 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 to REUSE.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)
  • Added comment styles:
    • man for UNIX Man pages (.man) (#954)
  • Added --lines output option for lint. (#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 and cppsingle 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 or LICENSE was ignored. This
    has been changed. Now, files like COPYING_README are no longer ignored, but
    COPYING and COPYING.txt are still ignored (in other words: exact matches,
    or COPYING + a file extension). Idem ditto for LICENSE. (#886)
  • Dependencies added:
    • attrs>=21.1 (#863)
    • tomlkit>=0.8 (#863)
  • Reorganised the way that c, css, and csingle styles work. (#941)
    • c used to support multi-line comments; it now only supports multi-line
      /* */ comments. This is identical to the old css style.
    • cpp has been added, which supports multi-line /* */ comments and
      single-line // comments. This is identical to the old c style.
    • csingle has been renamed to cppsingle, and it supports only single-line
      // comments.

Deprecated

  • .reuse/dep5 is marked deprecated. reuse convert-dep5 will help you switch
    to REUSE.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 and css 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

28 May 13:56
v3.1.0a1
6afda74
Compare
Choose a tag to compare
v3.1.0a1 Pre-release
Pre-release

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)
  • Added comment styles:
    • man for UNIX Man pages (.man) (#954)
  • Added --lines output option for lint. (#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 or LICENSE was ignored. This
    has been changed. Now, files like COPYING_README are no longer ignored, but
    COPYING and COPYING.txt are still ignored (in other words: exact matches,
    or COPYING + a file extension). Idem ditto for LICENSE. (#886)
  • Dependencies added:
    • attrs>=21.1 (#863)
    • tomlkit>=0.8 (#863)

Deprecated

  • .reuse/dep5 is marked deprecated. reuse convert-dep5 will help you switch
    to REUSE.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)

v3.0.2

08 Apr 08:11
v3.0.2
bafd6d7
Compare
Choose a tag to compare

Fixed

  • annotate's '--style now works again when used for a file with an
    unrecognised extension. (#909)

v3.0.1

19 Jan 12:38
v3.0.1
b450f17
Compare
Choose a tag to compare

Fixed

  • .qrc and .ui now have the HTML comment style instead of being marked
    uncommentable. (#896)
  • This reverts behaviour introduced in v3.0.0: the contents of uncommentable
    files are scanned for REUSE information again. The contents of binary files
    are not. (#896)