You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Note: The pre-commit manager in Renovate is not supported by the pre-commit maintainers or community. Please do not report any problems there, instead create a Discussion in the Renovate repository if you have any questions.
file-magic is now supported as an additional module for detecting the
encoding of files. (#1264)
Support deprecated licences for reuse download. (#606)
Markdown files which have frontmatter (i.e. yaml or toml between a --- block
at the start of the file) now get Python-like comments inside of the
frontmatter when annotating. (#1170)
Fixed
When file-magic is installed simultaneously with python-magic, the tool
used to misbehave (read: crash), because either one of them could be imported
on import magic. This misbehaviour no longer happens. (#1264)
Invalid SPDX license expressions are no longer recognized as used or missing
licenses. (#1254)
click translations are now correctly loaded. (#1267)
In the Docker images, Alpine is bumped to alpine:3.22 and Debian to debian:13-slim. (#1247)
Fixed
ASCII frames around comments were broken in v6.0.0. They now work again. The
sole condition is that the 'suffix' of a comment is identical to its 'prefix'.
For example:
This release adds a simple feature as a workaround for a bug that will be
resolved in a later version. The bug is described in https://codeberg.org/fsfe/reuse-tool/issues/1244, and can be summarised as:
When charset-normalizer is used to detect the encoding of a file, it will
erroneously detect a UTF-8 file as having no encoding (i.e. a binary file) when
the 2048th byte is a non-final byte of a multi-byte glyph.
You can run reuse as REUSE_ENCODING_MODULE=chardet reuse to circumvent this
bug. If you use pre-commit, you can use this snippet:
This release contains a lot of refactoring regarding the parsing of files. The
most impactful details are that reuse lint now searches every file in its
entirety for REUSE information, tries to detect each file's encoding, and no
longer breaks when invalid SPDX License Expressions are detected.
Because files are now read in their entireties instead of just the first 4 KiB,
you may need to add REUSE-IgnoreStart and REUSE-IgnoreEnd tags to get rid of
false positives that were previously too deep into files for reuse to detect.
For package maintainers: This release removes, adds, and changes
dependencies. It merits running git diff v5.1.1..v6.0.0 pyproject.toml and
reading the 'Changed' section of this change log to see what changed.
A new criterion 'Invalid SPDX License Expressions' has been added to reuse lint. Invalid expressions are SPDX License Expressions which are not
valid according to the grammar of the SPDX specification. (#1240)
The Python requirement for reuse now no longer requires a lower major
version than 4. The requirement is now >=3.10 instead of >=3.10,<4.
(#1219)
Dependency changes:
Removed explicit dependency boolean.boolean. It is now an implicit
dependency via license-expression. (#1240)
The dependency python-magic has been added, alongside the optional
dependencies charset-normalizer and chardet. So long as at least one of
these is installed, the program will work. (#1235)
The dependency binaryornot has been removed. (#1235)
The minimum requirements of several dependencies have been updated. (#1235, #1241)
reuse lint now always searches the entire file for REUSE information.
Previously, it only searched the first 4 KiB under most circumstances. (#1229)
The encodings of files are now detected before they are read or altered.
(#1235, #1218)
The 'Bad licenses' criterion in reuse lint previously searched for bad
licenses in every single file. Now, only bad licenses in LICENSES/ are
detected, which is more in line with the documentation. (#1240)
The behaviour of the --year option to reuse annotateis now different.
Previously, you could define --year <year> multiple times. Now you can only
do so once, but the value may be a string containing multiple years or a range
of years. (#1145)
reuse annotate --merge-copyrights works more efficiently now, capable of
better heuristics to detect years and year ranges. (#1145)
reuse annotate --merge-copyrights no longer adds spacing around the merged
year ranges. i.e. 2017-2025, not 2017 - 2025. (#1145)
Fixed
Unparseable SPDX expressions in a file now no longer cause the collection of
REUSE information from that file to entirely fail. (#1240)
Files with carriage return (\r) line endings are now correctly linted.
(#1235, #1226)
There used to be a specific scenario where reuse lint would read the
contents of an entire file into memory. This no longer happens. reuse annotate will still read the entire file into memory. (#1229)
Fixed formatting in lint subcommand help message. (#1212, #1236)
Fixed a case where, if a recognised file extension (such as .blade.php) has
two or more components, it would not be correctly recognised. (#573)
Fixed a bug where, if REUSE-IgnoreStart is the very first thing that appears
in a file, the subsequent text is not actually ignored. (#1229)
If using reuse annotate to write to a file, the BOM is preserved if the
encoding is UTF-8, UTF-16, or UTF-32. (#1235, #384)
The summaries of reuse lint are now sorted better. (#1241)
Several performance improvements. Local testing on a 12-core laptop suggests
speedup of up to 50%, but it may depend on your repository. (#1222, #1223, #1230, #1241)
Fixed repository file detection using jujutsu versions 0.19.0 or later.
(#1191)
Fixed a bug that caused not all strings to be marked translatable. This bug
was introduced in v5.0.0. Strings that were already translated before the
release of v5.0.0 are now translated again. (#1216)
reuse annotate previously would insert a newline after a header, which is
not always a desirable behavior. Instead of inserting a newline, reuse annotate will now respect the existing whitespace of the file where
the header is being placed. When the license header is being added to a file
for the first time, a space will be added after the license, but subsequent
updates to the header will leave the whitespace alone. (#1136)
Updated spdx-license-list-data to v3.27.0.
Configuration
📅 Schedule: (in timezone Europe/Helsinki)
Branch creation
At any time (no schedule defined)
Automerge
At any time (no schedule defined)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
If you want to rebase/retry this PR, check this box
renovateBot
changed the title
chore(deps): update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Jan 8, 2026
renovateBot
changed the title
Update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
chore(deps): update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Jan 10, 2026
renovateBot
changed the title
chore(deps): update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Jan 19, 2026
renovateBot
changed the title
Update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
chore(deps): update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Jan 20, 2026
renovateBot
changed the title
chore(deps): update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Jan 23, 2026
renovateBot
changed the title
Update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
chore(deps): update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Jan 25, 2026
renovateBot
changed the title
chore(deps): update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Jan 25, 2026
renovateBot
changed the title
Update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
chore(deps): update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Mar 5, 2026
renovateBot
changed the title
chore(deps): update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Mar 5, 2026
renovateBot
changed the title
Update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
chore(deps): update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Mar 8, 2026
renovateBot
changed the title
chore(deps): update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Mar 13, 2026
renovateBot
changed the title
Update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
chore(deps): update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Mar 15, 2026
renovateBot
changed the title
chore(deps): update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Mar 26, 2026
renovateBot
changed the title
Update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
chore(deps): update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Mar 27, 2026
renovateBot
changed the title
chore(deps): update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Apr 1, 2026
renovateBot
changed the title
Update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
chore(deps): update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Apr 6, 2026
renovateBot
changed the title
chore(deps): update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Update pre-commit hook fsfe/reuse-tool to v6 (lfs-media)
Apr 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v5.0.2→v6.2.0Note: The
pre-commitmanager in Renovate is not supported by thepre-commitmaintainers or community. Please do not report any problems there, instead create a Discussion in the Renovate repository if you have any questions.Release Notes
fsfe/reuse-tool (fsfe/reuse-tool)
v6.2.0Compare Source
Added
.arcconfig,.arclint,.arcunit(#1123).nvmrc(#1211).smk,Snakefile,matplotlibrc(#1206).yamllint(#1124)uv.lock(#1156)dune,dune-project,dune-workspace(#1208)file-magicis now supported as an additional module for detecting theencoding of files. (#1264)
reuse download. (#606)---blockat the start of the file) now get Python-like comments inside of the
frontmatter when annotating. (#1170)
Fixed
file-magicis installed simultaneously withpython-magic, the toolused to misbehave (read: crash), because either one of them could be imported
on
import magic. This misbehaviour no longer happens. (#1264)licenses. (#1254)
clicktranslations are now correctly loaded. (#1267)v6.1.2Compare Source
Fixed
reuse lint --lines. (#1251)reuse lint --linesis now sorted by path name. (#1251)copyright notices to take incredibly long to parse. (#1252)
v6.1.1Compare Source
Changed
alpine:3.22and Debian todebian:13-slim. (#1247)Fixed
ASCII frames around comments were broken in v6.0.0. They now work again. The
sole condition is that the 'suffix' of a comment is identical to its 'prefix'.
For example:
(#1249)
v6.1.0Compare Source
This release adds a simple feature as a workaround for a bug that will be
resolved in a later version. The bug is described in
https://codeberg.org/fsfe/reuse-tool/issues/1244, and can be summarised as:
When
charset-normalizeris used to detect the encoding of a file, it willerroneously detect a UTF-8 file as having no encoding (i.e. a binary file) when
the 2048th byte is a non-final byte of a multi-byte glyph.
You can run reuse as
REUSE_ENCODING_MODULE=chardet reuseto circumvent thisbug. If you use pre-commit, you can use this snippet:
You will not encounter this bug if your environment has libmagic available.
Added
files with the
REUSE_ENCODING_MODULEenvironment variable. (#1245)modules. (#1245)
--debugflag now tells you the detected encoding and detected newlinesof each file, as well as which encoding module is used. (#1246)
v6.0.0Compare Source
This release contains a lot of refactoring regarding the parsing of files. The
most impactful details are that
reuse lintnow searches every file in itsentirety for REUSE information, tries to detect each file's encoding, and no
longer breaks when invalid SPDX License Expressions are detected.
Because files are now read in their entireties instead of just the first 4 KiB,
you may need to add
REUSE-IgnoreStartandREUSE-IgnoreEndtags to get rid offalse positives that were previously too deep into files for
reuseto detect.For package maintainers: This release removes, adds, and changes
dependencies. It merits running
git diff v5.1.1..v6.0.0 pyproject.tomlandreading the 'Changed' section of this change log to see what changed.
Added
py.typed(#1239).blade.php(#573)reuse lint. Invalid expressions are SPDX License Expressions which are notvalid according to the grammar of the SPDX specification. (#1240)
Changed
reusenow no longer requires a lower majorversion than 4. The requirement is now
>=3.10instead of>=3.10,<4.(#1219)
boolean.boolean. It is now an implicitdependency via
license-expression. (#1240)python-magichas been added, alongside the optionaldependencies
charset-normalizerandchardet. So long as at least one ofthese is installed, the program will work. (#1235)
binaryornothas been removed. (#1235)#1241)
reuse lintnow always searches the entire file for REUSE information.Previously, it only searched the first 4 KiB under most circumstances. (#1229)
(#1235, #1218)
reuse lintpreviously searched for badlicenses in every single file. Now, only bad licenses in
LICENSES/aredetected, which is more in line with the documentation. (#1240)
--yearoption toreuse annotateis now different.Previously, you could define
--year <year>multiple times. Now you can onlydo so once, but the value may be a string containing multiple years or a range
of years. (#1145)
reuse annotate --merge-copyrightsworks more efficiently now, capable ofbetter heuristics to detect years and year ranges. (#1145)
reuse annotate --merge-copyrightsno longer adds spacing around the mergedyear ranges. i.e.
2017-2025, not2017 - 2025. (#1145)Fixed
REUSE information from that file to entirely fail. (#1240)
\r) line endings are now correctly linted.(#1235, #1226)
reuse lintwould read thecontents of an entire file into memory. This no longer happens.
reuse annotatewill still read the entire file into memory. (#1229)lintsubcommand help message. (#1212, #1236).blade.php) hastwo or more components, it would not be correctly recognised. (#573)
REUSE-IgnoreStartis the very first thing that appearsin a file, the subsequent text is not actually ignored. (#1229)
reuse annotateto write to a file, the BOM is preserved if theencoding is UTF-8, UTF-16, or UTF-32. (#1235, #384)
reuse lintare now sorted better. (#1241)speedup of up to 50%, but it may depend on your repository. (#1222, #1223,
#1230, #1241)
v5.1.1Compare Source
Fixed
(#1191)
was introduced in v5.0.0. Strings that were already translated before the
release of v5.0.0 are now translated again. (#1216)
v5.1.0Compare Source
Added
.dtd(#1141).gperf(#1131).erland.hrl, leex and yecc Erlang parser generators.xrland.yrl(#1117).exand.exs) (#1117).gleam) (#1117).lean,.olean, and.ilean) (#1188)--jsonflag to thesupported-licensessubcommand. (#1187)Changed
Cargo.lockto uncommentable. (#1169)reuse annotatepreviously would insert a newline after a header, which isnot always a desirable behavior. Instead of inserting a newline,
reuse annotatewill now respect the existing whitespace of the file wherethe header is being placed. When the license header is being added to a file
for the first time, a space will be added after the license, but subsequent
updates to the header will leave the whitespace alone. (#1136)
spdx-license-list-datato v3.27.0.Configuration
📅 Schedule: (in timezone Europe/Helsinki)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.