Releases: pdm-project/pdm
Releases · pdm-project/pdm
v2.22.1
v2.22.0
Features & Improvements
- Use minimal template if the project is an application. (#3295)
- Add one
safe_compatible
version specifiers saving strategy. (#3301) - Allow customizing scripts display with
scripts.show_header
settings. (#3313) - Speed up the resolution by only resolving wheel candidates if possible. (#3319)
- Drop version from the search result, following the change of warehouse. (#3328)
- Support
overrides
settings under[tool.pdm.resolution]
with use_uv (#3330)
Bug Fixes
- No longer requires
wheel
to build a setuptools-backed package. (#3320) - Fix an inconsistent behavior when running
pdm remove <package>
with uv enabled. (#3323) - Fix: uninstallation error when pdm is not installed before. (#3325)
- Fix a bug in uv mode that direct URL dependencies can't be installed. (#3332)
- Fix a crash issue when rewriting dependency groups with
include-group
items. (#3333) - Also read username from keyring if missing in source/repository config. (#3334)
- Allow configuring repositories in project. (#3335)
Miscellany
- Mark tests that require uv and skip them if uv is not found. (#3324)
v2.21.0
Features & Improvements
- Pass original working directory as env variable to pdm scripts (#3179)
- Output similar commands or script command when the input command is not correct (#3270)
- improve readability of Python interpreter validation message (#3276)
- Print task name by default when using
pdm run
(#3277) - Make
OrderedSet.__contains__
run in O(1) (#3280) - Emit
post_lock
after writing pyproject.toml and pdm.lock in add/update (#3285) - Drop support of Python 3.8 (#3298)
Bug Fixes
v2.20.1
Features & Improvements
- Add a fixer to remove the deprecated
cross_platform
strategy from lock file. (#3259)
Bug Fixes
- Fix the bug that
pdm build
would fail whenuse_uv
is true. (#3231) - Fix group name normalization when comparing groups. (#3247)
- Inherit file descriptors instead of closing when running child processes in
pdm run
. (#3252) - Fix using
no_proxy
whenall_proxy
is set. (#3254) - Preserve multiline arrays and don't add empty tool.pdm table header when updating the pyproject.toml. (#3258)
- Fix compatibility of
ErrorArgumentParser
for Python 3.12 and above. (#3264)
v2.20.0.post1
Features & Improvements
- Support dependency groups as standardized by PEP 735. By default, dev dependencies will be written to
[dependency-groups]
table. (#3230)
Bug Fixes
- Fix a bug that
strategy.inherit_metadata
config is not honored when using--lockfile
option. (#3232) - Always perform install-time resolution when
use_uv
is on. (#3233)
Miscellany
- Update
resolvelib
to 1.1.0. (#3235)
v2.20.0
Features & Improvements
- Support dependency groups as standardized by PEP 735. By default, dev dependencies will be written to
[dependency-groups]
table. (#3230)
Bug Fixes
- Fix a bug that
strategy.inherit_metadata
config is not honored when using--lockfile
option. (#3232) - Always perform install-time resolution when
use_uv
is on. (#3233)
Miscellany
- Update
resolvelib
to 1.1.0. (#3235)
v2.19.3
Features & Improvements
- Allow linking existing Python interpreters to PDM's managed location. (#3215)
Bug Fixes
- Fix a bug that overrides provided by environment variables do not work. (#3182)
- Allow prereleases when the requirement is pinned even if disabled by project (#3202)
- Pass the python path to the uv venv command. (#3204)
- Fix the infinite loop when running in uv mode if the current project has dynamic metadata. (#3207)
- Add
--no-frozen-deps
option toinstall-pdm.py
script to allow installing newer versions of dependencies. (#3213) pdm self update
now prefers the locked dependencies unless--no-frozen-deps
is specified. (#3216)- By default,
pdm outdated
will only list direct dependencies. This can be changed by adding the--include-sub
option. (#3218)
Documentation
- Show users the way to uninstall pdm in a more obvious way (#2470)
v2.19.2
Features & Improvements
- Support installing free-threaded Python interpreters with the
t
suffix. (#3201)
Bug Fixes
use_uv
fails to lock when there are non-ascii characters in pyproject.toml on Windows. (#3181)- Fix the
pre_install
andpost_install
signals receiving an exhausted generator, instead of a list of packages. (#3190) - Create backup file with random filename to avoid conflicts. (#3193)
- Fix the logic error in the
uv
format marker matching. (#3197) pdm lock --check
on a lockfile generated with older PDM version has a 0 exit code when there's a change inpyproject.toml
. (#3199)
Documentation
- Fixed Bash Completion suggestion so it doesn't require root privileges (#3183)
v2.19.1
v2.19.0
Bug Fixes
- Fallback version to 0.0.0 when the version is not specified or empty. This can avoid crash when building such project. (#3163)
- Ensures that
/
is URL encoded in sources URL environment variables. (#3169) - Call functions from shared library in the in-process
env_spec.py
script. (#3176)
Removals and Deprecations
- PDM no longer falls back to
setuptools-pep660
when the build backend doesn't support PEP 660. (#3159)
Miscellany
- Change the project structure to a normal package from a namespace package. (#3155)