github fsfe/reuse-tool v3.0.0

latest releases: v4.0.2, v4.0.1, v4.0.0...
5 months ago

This release contains a lot of small improvements and changes without anything
big per se. Rather, it is made in advance of a release which will contain a
single feature: REUSE.toml, a
replacement for .reuse/dep5. .reuse/dep5 will still be supported as a
deprecated feature for some time.

That future 3.1 release will have some alpha testing in advance.

Added

  • Implement handling LicenseRef in download and init. (#697)
  • Declared support for Python 3.12. (#846)
  • More file types are recognised:
    • TCL (.tcl) (#871)
    • Julia (.jl) (#815)
    • Modern Fortran (.f90) (#836)
    • Bazel (.bzl) (#870)
    • GNU Linker script (.ld) (#862)
    • Assembly code (.s) (#862)
    • Empty placeholders (.empty) (#862)
    • ShellCheck configuration (.shellcheckrc) (#862)
    • Pylint in-project configuration (pylintrc) (#862)
    • Lisp schemes (.sld, .sls, .sps) (#875)
  • Added comment styles:
    • csingle for Zig (.zig) and Hare (.ha) (#889)
  • Display recommendations for steps to fix found issues during a lint. (#698)
  • Add support for Pijul VCS. Pijul support is not added to the Docker image.
    (#858)
  • When running annotate on a file with an unrecognised file path, the tool
    currently exits early. To automatically create a .license file for
    unrecognised files, --fallback-dot-license has been added. (#823, #851,
    #853, #859; this took a while to get right.)
  • Ignore .sl directory as used by Sapling SCM.
    (#867)

Changed

  • Alpine Docker image now uses 3.18 as base. (#846)
  • The Git submodule detection was made less naïve. Where previously it detected
    a directory with a .git file as a submodule, it now uses the git command to
    detect submodules. This helps detect (quoted from Git man page)
    "[repositories] that were cloned independently and later added as a submodule
    or old setups", which "have the submodule's git directory inside the submodule
    instead of embedded into the superproject's git directory". (#687)
  • No longer scan binary or uncommentable files for their contents in search of
    REUSE information. (#825)
  • --force-dot-license and --skip-unrecognised are now mutually exclusive on
    annotate. (#852)
  • No longer create and publish -extra Docker images. The openssh-client
    package is now in the main image. (#849)
  • No longer create and publish dev Docker images. (#849)
  • The -debian Docker image is now based off debian:12-slim. It used to be
    based on the python:slim image, which used debian:slim under the hood. (#849)

Removed

  • Removed deprecated --explicit-license. (#851)
  • Removed deprecated addheader. (#851)
  • No longer depend on sphinx-autodoc-typehints for documentation. (#772)

Fixed

  • Syntax errors in .reuse/dep5 now have better error handling. (#841)
  • Reduced python-debian minimum version to 0.1.34. (#808)
  • Fix issue in annotate where --single-line and --multi-line would not
    correctly raise an error with an incompatible comment style. (#853)
  • Fix parsing existing copyright lines when they do not have a year (#861)
  • Better handling of Lisp comment styles. Now, any number of ";" characters is
    recognised as the prefix to a Lisp comment, and ";;;" is used when inserting
    comment headers, as per
    https://www.gnu.org/software/emacs/manual/html_node/elisp/Comment-Tips.html.
    (#874)

Don't miss a new reuse-tool release

NewReleases is sending notifications on new releases.