Skip to content

Releases: pdm-project/pdm

v2.10.0

26 Oct 02:22
2458ae3
Compare
Choose a tag to compare

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 and exclude_packages config under tool.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 for lock 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() and find_pypackage() to look for the project root recursively, and remove the project_max_depth configuration variable and the corresponding PDM_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

25 Sep 09:24
5861d12
Compare
Choose a tag to compare

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

12 Sep 09:46
a771ffc
Compare
Choose a tag to compare

Features & Improvements

  • Fix an issue that --no-lock option doesn't work as expected. Also support --no-lock option for add, remove and update 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 under bin/
    as well as Scripts/ and the virtualenv/conda root. #2236
  • Write relocatable dependency URLs with ${PROJECT_ROOT} variable in the lockfile. #2240

v2.9.1

03 Sep 07:05
a50604c
Compare
Choose a tag to compare

Features & Improvements

  • Support convert setup.cfg without existing setup.py. #2222

Bug Fixes

  • pdm run should only find local file if the command starts with ./. #2221

v2.9.0

31 Aug 07:48
7a740a6
Compare
Choose a tag to compare

Features & Improvements

  • Add an --overwrite option to pdm 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

31 Jul 06:42
bdcfd49
Compare
Choose a tag to compare

Features & Improvements

  • Allow setting username and password in URL for publish command #2140

Bug Fixes

  • Use UTF-8 encoding when writing sitecustomize.py. #2139

v2.8.1

26 Jul 05:35
439eb9b
Compare
Choose a tag to compare

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 to pdm 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

15 Jul 10:05
1fcd398
Compare
Choose a tag to compare

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

30 Jun 01:46
09a4e26
Compare
Choose a tag to compare
v2.8.0a2 Pre-release
Pre-release

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 in pdm 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

v2.8.0a1

27 Jun 07:58
839f97c
Compare
Choose a tag to compare
v2.8.0a1 Pre-release
Pre-release

Features & Improvements

  • Add support for cookiecutter and copier as project generator. #2059