Releases: fpgmaas/deptry
0.24.0
What's Changed
Breaking changes
Python 3.9 support dropped
Support for Python 3.9 has been dropped, as it has reached its end of life.
PyPy 3.10 support dropped, 3.11 added
Support for PyPy 3.10 has been dropped, since it is unsupported. We now only test against PyPy 3.11, and only publish wheels for this version.
Features
- Add GitHub Actions annotations reporter (#1059)
- Add support for Python 3.14 (#1224)
- Drop support for Python 3.9 (#1328)
- Publish wheels for PyPy 3.11 and drop 3.10 (#1227)
Full Changelog
0.23.1
0.23.0
What's Changed
Features
- Correctly detect transitive dependencies with different module names (#1033)
Full Changelog: 0.22.0...0.23.0
0.22.0
What's Changed
Poetry 2.0 introduced support for defining project metadata using PEP 621. This is now supported by deptry. Documentation has been updated to detail deptry's behavior.
Features
- Support PEP 621 in Poetry 2.0+ (#1003)
Full Changelog: 0.21.2...0.22.0
0.21.2
0.21.1
What's Changed
Bug Fixes
- Handle string requirements files for
setuptoolsdynamic dependencies (#945)
Full Changelog: 0.21.0...0.21.1
0.21.0
What's Changed
Breaking changes
Ignore files handling
Unless --exclude is used, deptry excludes files found in common ignore files (.gitignore, .ignore, $HOME/.config/git/ignore. ...), by using ignore Rust crate. The default behaviour has been changed, so that now:
- git-related ignore rules (
.gitignore,$HOME/.config/git/ignore, ...) are only used if deptry is run inside a git repository .gitignorefiles that are in parent directories of the git repository from where deptry is run are not used (previously, deptry would traverse parent directories up to the root system)
If you were using .gitignore files for non-git repositories, you might want to switch to .ignore files, or use --extend-exclude.
Requirements files parsing
deptry now uses requirements-parser to parse dependencies from requirements files, meaning that it can now extract nested requirements files referenced in other requirements files without having to explicitly configure it in deptry.
For instance, if you have:
# requirements.txt
-r cli-requirements.txt
httpx==0.27.2# cli-requirements.txt
click==8.1.7With the default configuration, when parsing requirements.txt, both httpx and click will now be listed as dependencies by deptry, while previously, only httpx was, unless deptry was instructed about cli-requirements.txt by using --requirements-files. This new behaviour also impacts development requirements files, that can be overridden by using --requirements-files-dev.
Python 3.8 support dropped
Support for Python 3.8 has been dropped, as it has reached its end of life.
Features
- deptry now detects development dependencies from
[dependency-groups]section, introduced by PEP 735 (#892) - deptry now supports
setuptoolsdynamic dependencies set in[tool.setuptools.dynamic]section, see https://deptry.com/supported-dependency-managers/#setuptools for more details (#894, #724) - Drop support for Python 3.8 (#874)
- Improve ignore handling (#908)
- Parse requirements files with
requirements-parser, adding support for parsing nested requirements files referenced with-r <requirement_file>(#913)
Full Changelog: 0.20.0...0.21.0
0.20.0
What's Changed
Breaking changes
In release 0.15.0, we announced the deprecation of the following flags:
--requirements-txt(and itsrequirements_txtsetting counterpart inpyproject.toml)--requirements-txt-dev(and itsrequirements_txt_devsetting counterpart inpyproject.toml)
Those flags have now been removed. If you relied on them, you should now use, respectively:
--requirements-files(and itsrequirements_filessetting counterpart inpyproject.toml)--requirements-files-dev(and itsrequirements_files_devsetting counterpart inpyproject.toml)
Features
- deptry now detects uv and reads development dependencies from
[uv.tool.dev-dependencies]section (#816) - Dynamically set max terminal width for better readability when displaying help (#817)
- Remove deprecated
--requirements-txt/--requirements-txt-devflags (#819)
Full Changelog: 0.19.1...0.20.0
0.19.1
0.19.0
What's Changed
This release reverts #753 that caused a noticeable performance regression on large codebases. The intent of the initial PR was to support projects following PEP 420, so if your project currently relies on this behaviour, feel free to manifest your interest in #740.
Bug Fixes
New Contributors
Full Changelog: 0.18.0...0.19.0