github fsfe/reuse-tool v2.1.0

latest releases: v4.0.3, v4.0.2, v4.0.1...
14 months ago

After the yanked 2.0.0 release, we're excited to announce our latest major version packed with new features and improvements! We've expanded our file type recognition, now including Fennel, CommonJS, Qt .pro, .pri, .qrc, .qss, .ui, Textile, Visual Studio Code workspace, Application Resource Bundle, Svelte components, AES encrypted files, Jakarta Server Page, Clang format, Browserslist config, Prettier config and ignored files, Flutter pubspec.lock, .metadata, Terraform and HCL, Typst and more.

We've also added the ability to detect SPDX snippet tags in files and introduced additional license metadata for the Python package. A new --json flag has been added to the lint command, marking the first step towards better integration of REUSE output with other tools.

On the changes front, we've bumped the SPDX license list to v3.21 and made significant updates to our Sphinx documentation. Please note that Python 3.6 and 3.7 support has been dropped in this release.

We've fixed several issues including automatic generation of Sphinx documentation via readthedocs.io and a compatibility issue where reuse could not be installed if gettext is not installed.

This update is all about making your experience better. Enjoy adding copyright and licensing information to your code!

Added

  • Detect SPDX snippet tags in files. (#699)
  • More file types are recognised:
    • Fennel (.fnl) (#638)
    • CommonJS (.cjs) (#632)
    • Qt .pro (.pro) (#632)
    • Qt .pri (.pri) (#755)
    • Qt .qrc (.qrc) (#755)
    • Qt .qss(.qss) (#755)
    • Qt .ui (.ui) (#755)
    • Textile (.textile) (#712)
    • Visual Studio Code workspace (.code-workspace) (#747)
    • Application Resource Bundle (.arb) (#749)
    • Svelte components (.svelte)
    • AES encrypted files (.aes) (#758)
    • Jakarte Server Page (.jsp) (#757)
    • Clang format (.clang-format) (#632)
    • Browserslist config (.browserslist)
    • Prettier config (.prettierrc) and ignored files (.prettierignore)
    • Flutter pubspec.lock (pubspec.lock) (#751)
    • Flutter .metadata (.metadata) (#751)
    • Terraform (.tf, tfvars) and HCL (.hcl). (#756)
    • Typst (.typ)
  • Added loglevel argument to pytest and skip one test if loglevel is too high (#645).
  • --add-license-concluded, --creator-person, and --creator-organization added to reuse spdx. (#623)
  • Additional license metadata for the Python package has been added. The actual SPDX license expression remains the same: Apache-2.0 AND CC0-1.0 AND CC-BY-SA-4.0 AND GPL-3.0-or-later. (#733)
  • Added --contributor option to annotate. (#669)
  • Added --json flag to lint command (#654).
  • reuse.ReuseInfo now has copy and union methods. (#759)
  • reuse.ReuseInfo now stores information about the source from which the information was gathered. (#654, #787)
  • Added Ukrainian and Czech translations (#767)
  • Added --suppress-deprecation to hide (verbose) deprecation warnings. (#778)

Changed

  • Bumped SPDX license list to v3.20. (#692)
  • reuse.SpdxInfo was renamed to reuse.ReuseInfo. It is now a (frozen) dataclass instead of a namedtuple. This is only relevant if you're using reuse as a library in Python. Other functions and methods were similarly renamed. (#669)
  • Sphinx documentation: Switched from RTD theme to Furo. (#673, #716)
  • Removed dependency on setuptools' pkg_resources to determine the installed version of reuse. (#724)
  • Bumped SPDX license list to v3.21. (#763)
  • Project.reuse_info_of now returns a list of ReuseInfo objects instead of a single one. This is because the source information is now stored alongside the REUSE information. (#787)

Deprecated

  • Pending deprecation of aggregation of file sources. Presently, when copyright and licensing information is defined both within e.g. the file itself and in the DEP5 file, then the information is merged or aggregated for the purposes of linting and BOM generation. In the future, this will no longer be the case unless explicitly defined. The exact mechanism for this is not yet concrete, but a PendingDeprecationWarning will be shown to the user to make them aware of this. (#778)

Removed

  • Python 3.6 and 3.7 support has been dropped. (#673, #759)
  • Removed runtime and build time dependency on setuptools. (#724)

Fixed

  • Fixed automatic generation of Sphinx documentation via readthedocs.io by adding a .readthedocs.yaml configuration file (#648)
  • Fixed a compatibility issue where reuse could not be installed (built) if gettext is not installed. (#691)
  • Translations are available in Docker images. (#701)
  • Marked the /data directory in Docker containers as safe in Git, preventing errors related to linting Git repositories. (#720)
  • Repaired error when using Galician translations. (#719)

Don't miss a new reuse-tool release

NewReleases is sending notifications on new releases.