Releases: pdm-project/pdm
Releases · pdm-project/pdm
v2.10.0
Note
This is the last minor release that supports installing on Python 3.7.
Please upgrade your Python to 3.8 or higher.
Features & Improvements
- Allow binding packages to specific sources with
include_packages
andexclude_packages
config undertool.pdm.source
table. #1645 - Show warnings when a package is rejected by the resolve because of uncovered
requires-python
range. And provide a way to ignore them per-package. #2304 - Add
-q/--quiet
option to suppress some warnings printed to the console. This option is mutually exclusive with-v/--verbose
. #2304 - Introduce a new
--strategy/-S
option forlock
command, to specify one or more strategy flags for resolving dependencies.--static-urls
and--no-cross-platform
are deprecated at the same time. #2310 - Add lock option to resolve direct dependencies to the minimal versions available. #2310
- Report the progress of download and unpacking when installing packages. #2328
- Refactor
find_project_root()
andfind_pypackage()
to look for the project root recursively, and remove theproject_max_depth
configuration variable and the correspondingPDM_PROJECT_MAX_DEPTH
environment variable. #2286
Bug Fixes
- Change the venv backend clean function
pdm.cli.commands.venv.backend.Backend._ensure_clean
to empty the.venv
folder instead of deleting it. #2282 - Fix a bug that dependency groups from Poetry 1.2+ do not migrate properly to PDM. #2285
- Fix a bug that build requirements are installed into wrong location when using
--venv
option. #2314 - Fix a bug that global repository setting results in TypeError . #2330
- Fix a credentials error when working with two indices on the same host #2333
Miscellany
- Officially supports python3.12 now. #2301
v2.9.3
Bug Fixes
- Revert the changes to the behavior of installing self, introduced in #2162.
Self package won't be installed when--no-default
is requested. #2230 - Reject the candidate if it contains invalid metadata, to avoid a crash in the process of resolution. #2261
Documentation
- Clarify what
--no-isolated
does. #2071
v2.9.2
Features & Improvements
- Fix an issue that
--no-lock
option doesn't work as expected. Also support--no-lock
option foradd
,remove
andupdate
commands. #2245
Bug Fixes
- Use
findpython
to find pythons with the spec given by the user. #2225 - Use UTF-8 to read pyvenv.cfg. #2227
- On Windows, try looking for the
virtualenv
python.exe
binary underbin/
as well asScripts/
and thevirtualenv
/conda
root. #2236 - Write relocatable dependency URLs with
${PROJECT_ROOT}
variable in the lockfile. #2240
v2.9.1
v2.9.0
Features & Improvements
- Add an
--overwrite
option topdm init
to overwrite existing files(default False). #2163 - Support passing filter patterns as positional arguments to
pdm list
command.
Add--tree
as an alias and preferred name of--graph
option. #2165 - Switch to truststore by default. #2195
- Consider packages as installed if the venv includes them from the system-site-packages. #2216
- Allow
pdm run
to run a script with the relative or absolute path. #2217
Bug Fixes
- Fix a bug that removing dev dependency uninstalls the project as well. #2150
- Fix a bug that
@ file://
dependencies can not be updated. #2169 - Fix a bug that dependencies requested out of the range of
requires-python
cause PDM to crash. #2175 - Fix the compatibility issue with copier 8.0+. #2177
- Makes
comarable_version("1.2.3+local1") == Version("1.2.3")
. #2182 - Default behavior for pdm venv activate when shell detection fails. #2187
- Handle parsing errors when converting from poetry-style metadata. #2203
- Don't copy .pyc files from the template directory. #2213
Removals and Deprecations
- Remove the legacy build backend
pdm-pep517
. #2167
v2.8.2
v2.8.1
Features & Improvements
- Add
keyring
,copier
,cookiecutter
,template
,truststore
dependency groups. #2109 - Ignore wheels for python versions not in range. #2113
- Read default value from env var
PDM_PROJECT
for-p/--project
option. #2126
Bug Fixes
- Fix the comparison of the candidate keys in the lockfile. #2120
- Don't update
pyproject.toml
if both--unconstrained
and--dry-run
are passed topdm update
. #2125 - Overwrite the
build-system
table when importing from other package manager. #2126 - Skip sources with empty URL when merging sources. #2130
- Fix the invalid requirement converted from poetry metadata. #2133
Dependencies
- Update
unearth
to 0.10.0 #2113
v2.8.0
Features & Improvements
- Support target python with other architectures. #2078
- Display the help information when running pdm directly. #2081
- Allow to change the python providers from the config. Support finding pythons from Rye installation location with the new findpython. #2099
- Option to save static URLs in the lockfile. By default only filenames are saved. #2101
Bug Fixes
- Fix a bug that egg-info directories are not removed completely, leading to incomplete distribution. #2027
- Skip distributions with wrong package meta information and duplicate path. #2075
- Avoid mistakenly passing command-line arguments while testing. #2083
- Fix a bug that lockfile groups are overwritten when running locking in a preceding step of
pdm install
. #2086 - Tolerate and actually ignore the local versions in version specifiers. #2102
- Fix a bug that shared cache cannot support overlapping namespace packages. #2105
Documentation
- Add notes about using custom venv path. #2096
v2.8.0a2
Bug Fixes
- Fix a bug that dependencies can't be updated when the table is separated by another table. #2056
- Fix a bug that
*_lock
hooks are always emitted with dry_run=True inpdm update
. #2060 - Fix a bug that
pdm install --plugins
can't install self. #2062 - Fix a cache collision between named requirements and url requirements. #2064