Skip to content

Releases: pdm-project/pdm

v2.24.2

23 May 01:02
672900d
Compare
Choose a tag to compare

Bug Fixes

  • Reinstalling local wheel if its checksum changes. (#3503)
  • Ignore HTTP cache entries if deserialization fails. (#3515)
  • Fetch missing URLs when static_urls is not enabled when running pdm export -f pylock. (#3517)
  • Missing self package when --self or --editable-self is passed to pdm export -f pylock. (#3518)

Miscellany

  • Add Python 3.14 to the test matrix. (#3506)

v2.24.1

23 Apr 09:36
a310abc
Compare
Choose a tag to compare

Bug Fixes

  • Install the project when using the BaseSynchronizer with install_self set
    to True. This fixes the bug that when calling pdm sync --quiet, it skips
    installing the project itself. (#3484)
  • Mark one additional test as requiring network, and fix another one
    not to require it anymore. (#3487)

v2.24.0

18 Apr 02:36
ba2af39
Compare
Choose a tag to compare

Features & Improvements

  • New command pdm new that behaves like pdm init but creates a new project. (#3462)
  • Support use --name as project name for command pdm new e.g. pdm new hello --name world (#3476)
  • Support exporting to pylock.toml format as described by PEP 751. (#3480)

Bug Fixes

  • Pass the --quiet option to pdm sync command. (#3401)
  • If a .python-version file is found and it contains multiple lines, the file will be ignored. The usage of the .python-version file can be disabled, if configuration value python.use_python_version (or environment variable PDM_USE_PYTHON_VERSION) is False. (#3417)
  • fix pdm config -e command to open read-only file under linux (#3423)
  • Replace project names and import names in both README.md and pyproject.toml when running pdm init <template>. (#3460)
  • Fix a bug that URL dependency hashes are not updated if running pdm lock --update-reuse. (#3461)

v2.23.1

09 Apr 03:25
daf2d8a
Compare
Choose a tag to compare

Features & Improvements

  • Use pyapp to wrap pdm as a Python application that bootstrap itself at runtime. (#3429)
  • Support all providers id is supporting currently for OIDC trusted publishing (#3441)

Bug Fixes

  • Installation error for local plugins specified with file URL without a name. (#3407)
  • Eliminate the warning about inherit_metadata when using uv mode. (#3434)
  • Fix an installation failure when installing editable local dependencies on Windows and Python 3.13. (#3444)
  • Fix a bug that overriden requirements in lock file get rewritten when adding a new requirement. (#3446)
  • Cyclic group inclusion is detected incorrectly. Also show the cyclic group names in the error message. (#3447)
  • Fix a bug that pdm remove doesn't handle dependency groups include correctly. (#3452)
  • Update unearth to address an issue downloading git repos with short commit hash. (#3455)

v2.23.0

01 Apr 00:50
7a64e61
Compare
Choose a tag to compare

Features & Improvements

  • Add pdm python find command to search for a python interpreter. (#3389)
  • pdm import now converts package-mode from Poetry's settings table to distribution. (#3427)

Bug Fixes

  • Excluding non-existing groups for pdm remove. (#3404)
  • Fix a bug that pdm add and pdm update remove dependency groups incorrectly. (#3418)
  • Fix a bug that using resolution overrides drops extra dependencies. (#3426)

v2.22.4

07 Mar 06:57
564d09a
Compare
Choose a tag to compare

Bug Fixes

  • Ensure dev-dependencies are added to the correct group when the tool.pdm.dev-dependencies table has groups. (#3392)

v2.22.3

27 Jan 02:54
4c2e194
Compare
Choose a tag to compare

Bug Fixes

  • Don't validate local file requirements that are not used. (#3376)
  • Don't set "dependencies" as empty list for uv toml if there is no dependencies in the raw toml file. (#3378)
  • Add a dummy project name to the script environment pyproject.toml. (#3382)

v2.22.2

11 Jan 01:01
5148adc
Compare
Choose a tag to compare

Features & Improvements

  • Write installer metadata like INSTALLER and REQUESTED to dist-info directory when installing packages. (#3359)
  • Respect .python-version file in the project root directory when selecting the Python interpreter. By default, it will be written when running pdm use command. (#3367)

Bug Fixes

  • Fix a problem of missing dependencies when adding to dev dependencies if both editable and non-editable dependencies exist. (#3361)
  • Use stdlib for URL <-> Path conversions. (#3362)
  • shellingham.detect_shell() returns ('tcsh', '/bin/tcsh') for tcsh on FreeBSD, so the current code tries to use the Bash venv activation script and fails due to syntax error. This change fixes the issue. (#3366)
  • Fix a performance issue because pypi source credentials were being queried many times from keyring. (#3368)

v2.22.1

19 Dec 08:48
6ea9d55
Compare
Choose a tag to compare

Bug Fixes

  • Fix zsh hanging issue by removing PyPI package completion. (#3329)
  • Write dev dependencies to dependency-groups section when importing project from other package managers. (#3354)

Miscellany

  • Show a warning when resolving against cross-platform targets under uv mode. (#3341)

v2.22.0

09 Dec 08:26
be64954
Compare
Choose a tag to compare

Features & Improvements

  • Use minimal template if the project is an application. (#3295)
  • Add one safe_compatible version specifiers saving strategy. (#3301)
  • Allow customizing scripts display with scripts.show_header settings. (#3313)
  • Speed up the resolution by only resolving wheel candidates if possible. (#3319)
  • Drop version from the search result, following the change of warehouse. (#3328)
  • Support overrides settings under [tool.pdm.resolution] with use_uv (#3330)

Bug Fixes

  • No longer requires wheel to build a setuptools-backed package. (#3320)
  • Fix an inconsistent behavior when running pdm remove <package> with uv enabled. (#3323)
  • Fix: uninstallation error when pdm is not installed before. (#3325)
  • Fix a bug in uv mode that direct URL dependencies can't be installed. (#3332)
  • Fix a crash issue when rewriting dependency groups with include-group items. (#3333)
  • Also read username from keyring if missing in source/repository config. (#3334)
  • Allow configuring repositories in project. (#3335)

Miscellany

  • Mark tests that require uv and skip them if uv is not found. (#3324)