Features & Improvements
- Add option to exclude group(s) when running
pdm sync/install -G:all
by adding flag--without group1,group2,...
#2258 - Default to log to user home and make logs directory configurable. #2398
- Add an option
keep_going
to continue on errors for composite scripts and return the last failing exit code. #2582 - Add an option
working_dir
for PDM's scripts to set the current working directory. #2620 - Allow updating specific sub-dependencies (i.e., transitive dependencies) in the lock file. #2628
- Add
--config-setting
option toadd/install/sync/update/remove/export
commands, the config settings dictionary will be shared by all packages. #2636 - Cache the decompressed contents of wheels for faster access. #2660
- Add configuration for timeout for network requests. #2680
- Reuse the request sesison within the environment. #2697
- Caches can be disabled by using the
--no-cache
option or setting thePDM_NO_CACHE
environment variable. #2702 - Switch to
httpx.Client
for HTTP requests, droprequests
dependency. #2709 - We have timemachine now! You can exclude packages published newer than a certain date via
pdm lock --exclude-newer=<date>
, allowing reproduction of resolutions regardless of new package releases. #2712 - Add command
pdm outdated
to check the outdated packages and list the latest versions. #2718 - When
python.use_venv
is on, always try to create a virtualenv when usingpdm use
to switch the Python interpreter. #2720 - Support installing Pythons from python-build-standalone. Add command group
pdm python
to manage Python installations. Andpdm use
can automatically install the Python interpreter if it's not found. #2721 - Supports custom distribution files path via
-d/--dest
option forpdm publish
. #2723
Bug Fixes
- Don't modify TOML tables that are not related to PDM. #2666
- Made
--without
imply--with :all
. #2670 - Expand user path for
venv.location
and other path-like config values. #2672 - Give a default version when it's missing in
pyproject.toml
when parsing candidate's metadata. #2677 - Fix the issue that ANSI codes are shown in the output of
pdm --help
on Windows. #2678 - Don't show empty configuration sections in
pdm config
. #2683
Documentation
- Document the difference between
[tool.pdm.scripts]
and[project.scripts]
#2121
Removals and Deprecations
- Remove the support of
pth
cache method. Andsymlink
cache method now behaves the same assymlink_individual
cache method. #2660 - Remove
pdm.models.environment
module deprecated before. Also remove the renamed members frompdm.environments
. #2710
Miscellany
- Delete
setup.cfg
, move tool configurations under it topyproject.toml
#2703