Pdm

Latest version: v2.22.4

Safety actively analyzes 714792 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 37

2.22.4

Bug Fixes

- Ensure dev-dependencies are added to the correct group when the `tool.pdm.dev-dependencies` table has groups. ([3392](https://github.com/pdm-project/pdm/issues/3392))

2.22.3

Bug Fixes

- Don't validate local file requirements that are not used. ([3376](https://github.com/pdm-project/pdm/issues/3376))
- Don't set "dependencies" as empty list for uv toml if there is no dependencies in the raw toml file. ([3378](https://github.com/pdm-project/pdm/issues/3378))
- Add a dummy project name to the script environment pyproject.toml. ([3382](https://github.com/pdm-project/pdm/issues/3382))

2.22.2

Features & Improvements

- Write installer metadata like `INSTALLER` and `REQUESTED` to dist-info directory when installing packages. ([3359](https://github.com/pdm-project/pdm/issues/3359))
- Respect `.python-version` file in the project root directory when selecting the Python interpreter. By default, it will be written when running `pdm use` command. ([3367](https://github.com/pdm-project/pdm/issues/3367))

Bug Fixes

- Fix a problem of missing dependencies when adding to dev dependencies if both editable and non-editable dependencies exist. ([3361](https://github.com/pdm-project/pdm/issues/3361))
- Use stdlib for URL <-> Path conversions. ([3362](https://github.com/pdm-project/pdm/issues/3362))
- `shellingham.detect_shell()` returns `('tcsh', '/bin/tcsh')` for tcsh on FreeBSD, so the current code tries to use the Bash venv activation script and fails due to syntax error. This change fixes the issue. ([3366](https://github.com/pdm-project/pdm/issues/3366))
- Fix a performance issue because pypi source credentials were being queried many times from keyring. ([3368](https://github.com/pdm-project/pdm/issues/3368))

2.22.1

Bug Fixes

- Fix zsh hanging issue by removing PyPI package completion. ([3329](https://github.com/pdm-project/pdm/issues/3329))
- Write dev dependencies to `dependency-groups` section when importing project from other package managers. ([3354](https://github.com/pdm-project/pdm/issues/3354))

Miscellany

- Show a warning when resolving against cross-platform targets under uv mode. ([3341](https://github.com/pdm-project/pdm/issues/3341))

2.22.0

Features & Improvements

- Use minimal template if the project is an application. ([3295](https://github.com/pdm-project/pdm/issues/3295))
- Add one `safe_compatible` version specifiers saving strategy. ([3301](https://github.com/pdm-project/pdm/issues/3301))
- Allow customizing scripts display with `scripts.show_header` settings. ([3313](https://github.com/pdm-project/pdm/issues/3313))
- Speed up the resolution by only resolving wheel candidates if possible. ([3319](https://github.com/pdm-project/pdm/issues/3319))
- Drop version from the search result, following the change of warehouse. ([3328](https://github.com/pdm-project/pdm/issues/3328))
- Support `overrides` settings under `[tool.pdm.resolution]` with use_uv ([3330](https://github.com/pdm-project/pdm/issues/3330))

Bug Fixes

- No longer requires `wheel` to build a setuptools-backed package. ([3320](https://github.com/pdm-project/pdm/issues/3320))
- Fix an inconsistent behavior when running `pdm remove <package>` with uv enabled. ([3323](https://github.com/pdm-project/pdm/issues/3323))
- Fix: uninstallation error when pdm is not installed before. ([3325](https://github.com/pdm-project/pdm/issues/3325))
- Fix a bug in uv mode that direct URL dependencies can't be installed. ([3332](https://github.com/pdm-project/pdm/issues/3332))
- Fix a crash issue when rewriting dependency groups with `include-group` items. ([3333](https://github.com/pdm-project/pdm/issues/3333))
- Also read username from keyring if missing in source/repository config. ([3334](https://github.com/pdm-project/pdm/issues/3334))
- Allow configuring repositories in project. ([3335](https://github.com/pdm-project/pdm/issues/3335))

Miscellany

- Mark tests that require uv and skip them if uv is not found. ([3324](https://github.com/pdm-project/pdm/issues/3324))

2.21.0

Features & Improvements

- Pass original working directory as env variable to pdm scripts ([3179](https://github.com/pdm-project/pdm/issues/3179))
- Output similar commands or script command when the input command is not correct ([3270](https://github.com/pdm-project/pdm/issues/3270))
- improve readability of Python interpreter validation message ([3276](https://github.com/pdm-project/pdm/issues/3276))
- Print task name by default when using `pdm run` ([3277](https://github.com/pdm-project/pdm/issues/3277))
- Make `OrderedSet.__contains__` run in O(1) ([3280](https://github.com/pdm-project/pdm/issues/3280))
- Emit `post_lock` after writing pyproject.toml and pdm.lock in add/update ([3285](https://github.com/pdm-project/pdm/issues/3285))
- Drop support of Python 3.8 ([3298](https://github.com/pdm-project/pdm/issues/3298))

Bug Fixes

- Fix the name normalization issue for optional dependency groups. ([3271](https://github.com/pdm-project/pdm/issues/3271))
- Don't use uv when installing plugins in project. ([3283](https://github.com/pdm-project/pdm/issues/3283))
- Fix the bug that pdm plugins are invalid after installation on ubuntu system python. ([3289](https://github.com/pdm-project/pdm/issues/3289))

Page 1 of 37

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.