Skip to content

Releases: pdm-project/pdm

v2.6.0

09 May 08:44
b5db072
Compare
Choose a tag to compare

Features & Improvements

  • Install project-level plugins from project config, with tool.pdm.plugins setting. #1461
  • Added a --json flag to both run and info command allowing to dump scripts and infos as JSON. #1854
  • Consider tasks with a name starting by an underscore (_) as internal tasks and hide them from the listing. #1855
  • When running pdm init -n(non-interactive mode), a venv will be created by default. Previously, the selected Python will be used under PEP 582 mode. #1862
  • Support Trusted Publisher. #1868
  • Add an ephemeral wheel cache in process for wheels built from non-static revision sources. #1885
  • Allow self-referencing groups in dev-dependencies. #1890
  • Add an option --no-cross-platform to pdm lock to create a non-cross-platform lockfile. #1898

Bug Fixes

  • Fix brackets in --venv option descriptions in zsh completion script. #1847
  • The resolver doesn't take into account of the requirements for both bare package and package[extra]. #1851
  • Default pypi source does not use configured pypi.password, but "" instead. #1856
  • Detect Python interpreters under the root of virtual environments. #1866
  • Fix a race condition when the builder is creating a new build directory. #1869
  • Raise FileNotFoundError if the requirement path is not found. #1875
  • Fix a bug that the self package isn't uninstallable. #1901

v2.5.6

07 May 09:41
af0080d
Compare
Choose a tag to compare

Bug Fixes

  • Fix a double reading issue due to cachecontrol not compatible with urllib3 2.0. #1894

v2.5.5

05 May 11:33
990c853
Compare
Choose a tag to compare

No significant changes.

v2.5.4

05 May 02:44
1617d15
Compare
Choose a tag to compare

Bug Fixes

  • Pin the urllib3 to <2.0 to avoid incompatibility with cachecontrol. #1886

v2.5.3

19 Apr 09:22
5df29c5
Compare
Choose a tag to compare

Bug Fixes

  • Fix the wrong argument validation for update command, where packages given with group option should be allowed. #1836

Documentation

  • Update markdown-exec to 1.5.0 for rendering TOC in CLI reference page. #1836
  • Remove advertizing of PEP-582 from the feature highlights. Improve the anchor links for CLI reference. #1840

v2.5.2

10 Apr 11:52
3e0f544
Compare
Choose a tag to compare

Bug Fixes

  • Regression(#1710): Don't crash when trying to update the shebang in a binary script #1827
  • Rename the env var PDM_USE_VENV as PDM_IN_VENV for --venv flag as it mistakenly override another existing env var. #1829

v2.5.1

09 Apr 12:07
377d1e1
Compare
Choose a tag to compare

Bug Fixes

  • Fix a bug that pdm --pep582 raises an argument error. #1823

v2.5.0

09 Apr 08:56
c909ad4
Compare
Choose a tag to compare

Features & Improvements

  • When resolution.respect-source-order is enabled, sources are lazily evaluated. This means that if a match is found on the first source, the remaining sources will not be requested. #1509
  • New option --venv <venv> to run a command in the virtual environment with the given name. #1705
  • Allow to prefer binary distributions when locking and installing packages, via PDM_PREFER_BINARY environment variable. #1817

Bug Fixes

  • Do not validate selected groups against the locked grouped when running pdm lock. #1796
  • Avoid duplicate .pdm-python in .gitignore. #1800
  • Fix a backwards compatibility issue by adding back the environment.is_global property. #1814
  • Fix a resolution conflict when a relative path requirement resolves to the same path as another file requirement with absolute path. #1822
  • Fix an error when running pdm init -p <dir> if the target directory is not created yet. #1822

v2.5.0b0

29 Mar 07:36
fd1dc4a
Compare
Choose a tag to compare
v2.5.0b0 Pre-release
Pre-release

Install the prerelease

pdm self update --pre

Or if you use pipx:

pipx upgrade --pip-args "--pre" pdm

Breaking Changes

  • Switch the default build backend to pdm-backend. #1684
  • Only lock selected groups into the lockfile. Modify other commands to honor the groups included in the lockfile. #1704
  • Move the project python path to its own file, and rename the project config file as pdm.toml which can be committed to the VCS. #1742
  • Refactor the environment package. Environment is renamed to PythonLocalEnvironment and GlobalEnvironment is renamed to PythonEnvironment. Move pdm.models.environment module to pdm.environments package. #1791

Features & Improvements

  • Add option to fail on the first install error. #1614
  • Upgrade unearth to 0.8 to allow calling keyring from CLI. #1653
  • Merge the index parameters from different configuration files. #1667
  • Add new options to venv command to show the path or the python interpreter for a managed venv. #1680
  • Write the groups of resolved dependencies to the metadata table in lockfile. #1692
  • Introduce --lib option to init command to create a library project without prompting. #1708
  • New command: pdm fix to migrate to the new PDM features. Add a hint when invoking PDM commands. #1743
  • Include .pdm-python in project root .gitignore when running pdm init. #1749
  • Allow to ignore the activated venv with PDM_IGNORE_ACTIVE_VENV env var. #1782
  • Add a signal pre_invoke to emit before any command is invoked. #1792

Bug Fixes

  • Fix a bug that install warning prints to terminal under non-verbose mode. #1635
  • Fix the random failure of pdm export due to non-deterministic order of group iteration. #1786
  • Show the actual version when running pdm show --version #1788

Documentation

  • Restructure the documentation. #1687

Dependencies

  • Update installer to 0.7.0 and emit a warning if the RECORD validation fails. #1784

v2.4.9

16 Mar 07:58
a5ddca6
Compare
Choose a tag to compare

Bug Fixes

  • Fix a bug of synchronization of not considering the revision of VCS requirement in comparison. #1762
  • Improve the error message when parsing an invalid requirement string. #1765
  • Fix a bug that pdm export output doesn't include the extras of the dependencies. #1767