Skip to content

Releases: pdm-project/pdm

v2.26.2

24 Nov 03:54
655a844

Choose a tag to compare

Features & Improvements

  • Only parse TOML document with tomlkit when writing is required. (#3672)
  • Add SHA256 checksums for binary releases during the release workflow and create an installer script that downloads binaries from GitHub releases with automatic platform detection and checksum verification. (#3679)

Bug Fixes

  • Fix test_use_python_write_file_multiple_versions to match PDM's actual behavior. (#3660)
  • Correctly calculate the venv path for UV_PROJECT_ENVIRONMENT env var when using uv mode. (#3675)
  • Ensure implementation.gil_disabled is a boolean in get_current_env_spec. This fix an issue that free-threaded wheels get rejected incorrectly. (#3677)
  • Fix CLI help formatting on Python 3.14+. (#3683)
  • Make PdmBasicAuth a cached_property to accelerate execution. (#3684)

Removals and Deprecations

  • Add deprecation warning for pdm search command as PyPI no longer supports search API. (#3674)

Miscellany

  • Add tests to utils.fs_supports_link_method and utils.convert_to_datetime. (#3541)

v2.26.1

29 Oct 05:40
87ac73e

Choose a tag to compare

Bug Fixes

  • Substitute missing env vars with empty string in expand_env_vars. (#3653)
  • Constrained hishel to be less than 1.0.0 due to its refactor (#3657)

v2.26.0

11 Oct 01:46
bd8c5d3

Choose a tag to compare

Features & Improvements

  • Limit the log file size to 100MB and truncate the log output if exceeded. (#3633)
  • Speed up dependency resolution in the bad path by skipping candidates of the same version when resolving. (#3647)

Bug Fixes

  • Reload project files after running hook scripts. (#3615)
  • Fix a bug when using UV as the resolver does not respect the venv.location configuration. (#3616)
  • Fix publish --skip-existing for Nexus Repository OSS >= 3.70 (#3617)
  • Fix a resolution failure when both prerelease and non-prerelease requirements exist. (#3634)
  • Ignore invalid python requirement during locking. (#3635)
  • Isolate PDM loggers with the root logger to avoid log leakage. (#3637)
  • Fix a crash when resolving URL dependencies under use_uv=true. (#3640)

v2.25.9

22 Aug 10:28
db33b38

Choose a tag to compare

No significant changes.

v2.25.8

22 Aug 10:16
d239e7b

Choose a tag to compare

Bug Fixes

  • Fix a careless error by fast apply in AI coding. (#3612)

v2.25.7

22 Aug 03:35
4518ead

Choose a tag to compare

Features & Improvements

  • Show the path to site-packages in the output of pdm info. (#3600)

Bug Fixes

  • Fix uv python dir path resolution on Windows (#3603)
  • Strip local version in version specifiers when writing package locks. (#3605)
  • Show an error message when 'default' is used in optional dependencies or dependency groups. (#3609)
  • Prevent hash clearing when appending to lockfile with env_spec. (#3610)

v2.25.6

14 Aug 02:05
11ef8e5

Choose a tag to compare

Features & Improvements

  • The pdm python install -v command now shows the download URL for the Python interpreter. (#3552)

Bug Fixes

  • Ensure make_array always returns a tomlkit array type. (#3586)
  • Preserve multi-line help text in the CLI help output. (#3587)
  • Re-caculate artifact files and hashes when the lock target changes. (#3595)

Dependencies

  • Require packaging>22.0 and remove conditional PACKAGING_22 version checks. (#3601)
  • Bump truststore to version 0.10.4. (#3602)

v2.25.5

30 Jul 06:47
b78ca7e

Choose a tag to compare

Features & Improvements

  • Tell the difference between free-threaded Python and normal ones. Users need to request for free-threaded versions explicitly by adding t to the version string, otherwise the normal build will be preferred. (#3562)

Bug Fixes

  • Fix a bug that editable local package URLs are empty when using pylock.toml. (#3565)
  • Fix a bug where pdm export with --lockfile pylock.toml produced empty requirements.txt files due to missing group information extraction from pylock format markers. (#3573)
  • Read metadata from installed distribution when using reuse-installed strategy. (#3579)
  • Fix a lockfile writing error when locking git dependencies in the pylock.toml format. (#3582)

v2.25.4

30 Jun 01:53
20c313e

Choose a tag to compare

Bug Fixes

  • Add credentials when passing source urls to uv resolver. (#3553)
  • Redact credentials in source urls in the log output, and inject credentials into the source url for uv sync command as well. (#3555)
  • Fix a bug that extra dependencies of transitive dependencies are not properly installed when USE_UV=true (#3558)
  • Improve the terminal output when setting up a script environment. (#3560)
  • Skip non-existent library paths in post-install steps when trying to fix the pth files. (#3561)

Dependencies

  • Update resolvelib to 1.2.0. (#3557)

v2.25.3

22 Jun 01:24
a0d3f23

Choose a tag to compare

Bug Fixes

  • Fix a bug that local file package metadata was missing when reading the lockfile. (#3545)
  • Extract dependency-groups and extras markers from marker value when parsing pylock.toml. (#3550)