Breaking Changes
- Update the minimum required Python version to 3.10. (#3787)
Features & Improvements
- Respect existing values of
pyproject.tomlwhen runningpdm initorpdm new. (#3786) - Move project plugin installations from
.pdm-pluginsunder the project root to an isolated cache directory, and add a fixer to migrate existing plugin directories. (#3790) - Remove legacy importlib compatibility wrappers and use standard-library
importlib.metadataandimportlib.resourcesAPIs directly. (#3796)
Bug Fixes
- Fix a security issue with the installer to disallow installing to paths outside of the scheme directory. (#3787)
- Refuse to write project-local config and state files (
pdm.toml,.pdm-python,.python-version) when the destination is a symlink, preventing an untrusted repository from clobbering files outside the project root. (#3788) - Fix a regression issue that
PDM_LOCKFILEenv var is not respected. (#3794) - Allow configuring the default lock
--exclude-newervalue withstrategy.exclude-newer. (#3795)