Install the prerelease
pdm self update --pre
Or if you use pipx
:
pipx upgrade --pip-args "--pre" pdm
Breaking Changes
- Switch the default build backend to
pdm-backend
. #1684 - Only lock selected groups into the lockfile. Modify other commands to honor the groups included in the lockfile. #1704
- Move the project python path to its own file, and rename the project config file as
pdm.toml
which can be committed to the VCS. #1742 - Refactor the environment package.
Environment
is renamed toPythonLocalEnvironment
andGlobalEnvironment
is renamed toPythonEnvironment
. Movepdm.models.environment
module topdm.environments
package. #1791
Features & Improvements
- Add option to fail on the first install error. #1614
- Upgrade
unearth
to 0.8 to allow calling keyring from CLI. #1653 - Merge the index parameters from different configuration files. #1667
- Add new options to
venv
command to show the path or the python interpreter for a managed venv. #1680 - Write the groups of resolved dependencies to the metadata table in lockfile. #1692
- Introduce
--lib
option toinit
command to create a library project without prompting. #1708 - New command:
pdm fix
to migrate to the new PDM features. Add a hint when invoking PDM commands. #1743 - Include
.pdm-python
in project root.gitignore
when runningpdm init
. #1749 - Allow to ignore the activated venv with
PDM_IGNORE_ACTIVE_VENV
env var. #1782 - Add a signal
pre_invoke
to emit before any command is invoked. #1792
Bug Fixes
- Fix a bug that install warning prints to terminal under non-verbose mode. #1635
- Fix the random failure of
pdm export
due to non-deterministic order of group iteration. #1786 - Show the actual version when running
pdm show --version
#1788
Documentation
- Restructure the documentation. #1687
Dependencies
- Update
installer
to0.7.0
and emit a warning if the RECORD validation fails. #1784