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)
Security