From 78788f7582e21ddd31ffb026186acfc00d954780 Mon Sep 17 00:00:00 2001 From: Mathieu Kniewallner Date: Mon, 21 Oct 2024 21:48:54 +0200 Subject: [PATCH 1/3] docs(changelog): add 0.21.0 release notes --- CHANGELOG.md | 61 +++++++++++++++++++++++++++ docs/supported-dependency-managers.md | 2 +- 2 files changed, 62 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e91041bb..f741a5ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,65 @@ # Changelog +## 0.21.0 - 2024-10-?? + +### Breaking changes + +#### Ignore files handling + +Unless [`--exclude`](https://deptry.com/usage/#exclude) is used, _deptry_ excludes files found in common ignore +files (`.gitignore`, `.ignore`, `$HOME/.config/git/ignore`. ...), by using [`ignore`](https://crates.io/crates/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 +- `.gitignore` files 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`](https://deptry.com/usage/#extend-exclude). + +#### Requirements files parsing + +_deptry_ now uses [`requirements-parser`](https://pypi.org/project/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: + +```python +# requirements.txt +-r cli-requirements.txt +httpx==0.27.2 +``` + +```python +# cli-requirements.txt +click==8.1.7 +``` + +With 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`](https://deptry.com/usage/#requirements-files). This new +behaviour also impacts development requirements files, that can be overridden by +using [`--requirements-files-dev`](https://deptry.com/usage/#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](https://peps.python.org/pep-0735/) ([#892](https://github.com/fpgmaas/deptry/pull/892)) +* _deptry_ now supports `setuptools` dynamic dependencies set in `[tool.setuptools.dynamic]` section, + see https://deptry.com/supported-dependency-managers/#setuptools for more + details ([#894](https://github.com/fpgmaas/deptry/pull/894), [#724](https://github.com/fpgmaas/deptry/pull/724)) +* Drop support for Python 3.8 ([#874](https://github.com/fpgmaas/deptry/pull/874)) +* Improve ignore handling ([#908](https://github.com/fpgmaas/deptry/pull/908)) +* Parse requirements files with `requirements-parser`, adding support for parsing nested requirements + files referenced with `-r ` ([#913](https://github.com/fpgmaas/deptry/pull/913)) + + ## 0.20.0 - 2024-08-27 ### Breaking changes @@ -24,6 +84,7 @@ Those flags have now been removed. If you relied on them, you should now use, re * Remove deprecated `--requirements-txt`/`--requirements-txt-dev` flags ([#819](https://github.com/fpgmaas/deptry/pull/819)) + ## 0.19.1 - 2024-08-10 ### Features diff --git a/docs/supported-dependency-managers.md b/docs/supported-dependency-managers.md index 19671b1d..f1037d93 100644 --- a/docs/supported-dependency-managers.md +++ b/docs/supported-dependency-managers.md @@ -13,7 +13,7 @@ extensions, but also from package managers that do not (or used to not) support ## PEP 621 _deptry_ fully supports [PEP 621 standard](https://packaging.python.org/en/latest/specifications/pyproject-toml/), and -use the presence of a `[project]` section in `pyproject.toml` to determine that the project uses PEP 621. +uses the presence of a `[project]` section in `pyproject.toml` to determine that the project uses PEP 621. By default, _deptry_ extracts, from `pyproject.toml`: From ac1679ac6aaf9253350ff15d917599b059135dce Mon Sep 17 00:00:00 2001 From: Mathieu Kniewallner Date: Sun, 3 Nov 2024 18:35:29 +0100 Subject: [PATCH 2/3] docs(changelog): update release date --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f741a5ad..7ccfe113 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 0.21.0 - 2024-10-?? +## 0.21.0 - 2024-11-03 ### Breaking changes From 8352f394c6e0bf8175084846e5645cc4a35d0a93 Mon Sep 17 00:00:00 2001 From: Mathieu Kniewallner Date: Fri, 8 Nov 2024 12:46:35 +0100 Subject: [PATCH 3/3] docs(changelog): update release date --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ccfe113..c05c6a34 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 0.21.0 - 2024-11-03 +## 0.21.0 - 2024-11-08 ### Breaking changes