Features & Improvements
- Add structural typing for requirements module. Refactor the requirments module for that purpose. #433
- Introduce
--no-editable
option to install non-editable versions of all packages. #443 - Introduce
--no-self
option to prevent the project itself from being installed. #444 - Add a default
.gitignore
file in the__pypackages__
directory. #446 - Check if the lock file version is compatible with PDM program before installation. #463
- Expose the project root path via
PDM_PROJECT_ROOT
env var. Change to the project root when executing scripts. #470 - Fix a bug that installation resolution doesn't respect the requirement markers from pyproject config. #480
Bug Fixes
- Changing to multiline breaks the parsing of TOML document. #462
- Fix a bug that transient dependencies of conditional requirements can't be resolved. #472
- Fix a bug that invalid wheels are rejected while they are acceptable for resolution. #473
- Fix a bug that build environment is not fully isolated with the hosted environment. #477
- Ensure the lock file is compatible before looking for the locked candidates. #484
Improved Documentation
- Fix 404 links in documentation. #472
Dependencies
- Migrate from
tomlkit
toatoml
as the style-preserving TOML parser and writer. #465
Removals and Deprecations
- Remove the warning of
--dev
flag for older versions of PDM. #444
Miscellany
- Add Python 3.10 beta CI job. #457