Skip to content

Releases: pdm-project/pdm

v1.5.0

20 Apr 04:39
f7650b0
Compare
Choose a tag to compare

Features & Improvements

  • Include dev dependencies by default for install and sync commands. Add a new option --prod/--production to exclude them. Improve the dependency selection logic to be more convenient to use — the more common the usage is, the shorter the command is. #391

Bug Fixes

  • Enquote executable path to ensure generating valid scripts. #387
  • Consider hashes when fetching artifact link for build. #389
  • Considier the sources settings when building. #399

Improved Documentation

  • New pdm setting source-includes to mark files to be included only in sdist builds. #390

Dependencies

  • Update pdm-pep517 to 0.7.0; update resolvelib to 0.7.0. #390

Removals and Deprecations

  • Deprecate the usage of -d/--dev option in install and sync commands. #391

v1.5.0b1

12 Apr 08:06
a2098b4
Compare
Choose a tag to compare
v1.5.0b1 Pre-release
Pre-release

Features & Improvements

  • Improve the env builder to run in isolated mode. #384

Bug Fixes

  • Remove the incompatible code from the files that will be run in-process. #375
  • Get the correct Python ABI tag of selected interpreter #378
  • Error out when doing pdm run on a directory not initialized yet.
  • Give warning message when the project automatically fallbacks to the global project.

Dependencies

  • Upgrade resolvelib to 0.6.0. #381

Miscellany

  • refactor pdm.models.readers to improve typing support #321
  • Add a basic integration test for cross-python check. #377
  • Refactor the project.python_executable to project.python that contains all info of the interpreter. #382
  • Continue refactoring Python info to extract to its own module. #383
  • Refactor the creation of project.

v1.5.0b0

03 Apr 04:14
f71eec6
Compare
Choose a tag to compare
v1.5.0b0 Pre-release
Pre-release

Install the prerelease version

pip: python3 -m pip install --user --upgrade pdm==1.5.0b0
pipx: pipx upgrade --pip-args="--pre" pdm

Features & Improvements

  • Add hand-written zsh completion script. #188
  • Add a special value :all given to -s/--section to refer to all sections under the same species.
    Adjust add, sync, install, remove and update to support the new dev-dependencies groups. Old behavior will be kept the same. #351
  • dev-dependencies is now a table of dependencies groups, where key is the group name and value is an array of dependencies. These dependencies won't appear in the distribution's metadata. dev-depedencies of the old format will turn into dev group under dev-dependencies. #351
  • Move dev-dependencies, includes, excludes and package-dir out from [project] table to [tool.pdm] table. The migration will be done automaticaly if old format is detected. #351
  • Throws an error with meaningful message when no candidate is found for one requirement. #357
  • Support --dry-run option for update command to display packages that need update, install or removal. Add --top option to limit to top level packages only. #358
  • Full-featured completion scripts for Zsh and Powershell - section selection, package name autocompletion and so on. Windows is a first-class citizen! #367
  • Support non-interactive init command via -n/--non-interactive option. No question will be asked in this mode. #368
  • Show project packages path(PEP 582) in the output of pdm info, also add an option --packages to show that value only. #372

Bug Fixes

  • Fix a bug that pure python libraries are not loaded to construct the WorkingSet. #346
  • Don't write <script>-X.Y variant to the bin folder. #365
  • Python is now run in isolated mode via subprocess to avoid accidentally importing user packages. #369
  • Don't overwrite existing dependencies when importing from requirements.txt. #370

Improved Documentation

  • Add instructions of how to integrate PDM with Emacs, contributed by @linw1995. #372

Removals and Deprecations

  • Remove the support of project path following -g/--global that was deprecated in 1.4.0. One should use -g -p <project_path> for that purpose. #361

Miscellany

  • Add test coverage to PDM. #109
  • Add type annotations into untyped functions to start using mypy. #354
  • Refactor the format converter code to be more explicit. #360

v1.4.5

30 Mar 08:12
3dca9ea
Compare
Choose a tag to compare

Features & Improvements

  • Skip the first prompt of pdm init #352

Bug Fixes

  • Fix a test failure when using homebrew installed python. #348
  • Get revision from the VCS URL if source code isn't downloaded to local. #349

Dependencies

  • Update dependency pdm-pep517 to 0.6.1. #353

v1.4.4

27 Mar 07:41
98c5034
Compare
Choose a tag to compare

Features & Improvements

  • Emit warning if version or description can't be retrieved when importing from flit metadata. #342
  • Add type argument to pdm cache clear and improve its UI. #343
  • Always re-install the editable packages when syncing the working set. This can help tracking the latest change of entry-points. #344

Bug Fixes

  • Make installer quit early if a wheel isn't able to build. #338

Miscellany

  • ignore type checking in models.project_info.ProjectInfo, which indexes distlib.metadata._data #335

v1.4.3

24 Mar 05:34
f2e776b
Compare
Choose a tag to compare

Features & Improvements

  • Change the group name of entry points from pdm.plugins to pdm.
    Export some useful objects and models for shorter import path. #318
  • Refactor: Remove the reference of stream singleton, improve the UI related code. #320
  • Support dependencies managed by poetry and flit being installed as editable packages. #324
  • Refactor: Extract the logic of finding interpreters to method for the sake of subclass overriding. #326
  • Complete the cache command, add list, remove and info subcommands. #329
  • Refactor: Unify the code about selecting interpreter to reduce the duplication. #331
  • Retrieve the version and description of a flit project by parsing the AST of the main file. #333

Bug Fixes

  • Fix a parsing error when non-ascii characters exist in pyproject.toml. #308
  • Fix a bug that non-editable VCS candidates can't satisfy their requirements once locked in the lock file. #314
  • Fix a bug of import-on-init that fails when requirements.txt is detected. #328

Miscellany

  • refactor pdm.iostream to improve 'typing' support #301
  • fix some typos #323

v1.4.2

18 Mar 00:37
51f9e7e
Compare
Choose a tag to compare

Features & Improvements

  • Refactor the code, extract the version related logic from specifiers.py to a separated module. #303

Bug Fixes

  • Fix a bug that get_dependencies() returns error when the setup.py has no intall_requires key. #299
  • Pin the VCS revision for non-editable VCS candidates in the lock file. #305
  • Fix a bug that editable build hits the cached wheel unexpectedly. #307

Miscellany

  • replace 'typing comments' with type annotations throughout #298

v1.4.1

12 Mar 06:56
f9dfeaa
Compare
Choose a tag to compare

Features & Improvements

  • Support importing dependencies from requirements.txt to dev-dependencies or sections. #291

Bug Fixes

  • Fallback to static parsing when building was failed to find the dependencies of a candidate. #293
  • Fix a bug that pdm init fails when pyproject.toml exists but has no [project] section. #295

Improved Documentation

  • Document about how to use PDM with Nox. #281

v1.4.0

05 Mar 08:00
4342ec1
Compare
Choose a tag to compare

Features & Improvements

  • When -I/--ignore-python passed or PDM_IGNORE_SAVED_PYTHON=1, ignore the interpreter set in .pdm.toml and don't save to it afterwards. #283
  • A new option -p/--project is introduced to specify another path for the project base. It can also be combined with -g/--global option.
    The latter is changed to a flag only option that does not accept values. #286
  • Support -f setuppy for pdm export to export the metadata as setup.py #289

Bug Fixes

  • Fix a bug that editable local package requirements cannot be parsed rightly. #285
  • Change the priority of metadata files to parse so that PEP 621 metadata will be parsed first. #288

Improved Documentation

  • Add examples of how to integrate with CI pipelines (and tox). #281

v1.3.4

01 Mar 00:48
7112896
Compare
Choose a tag to compare

Improved Documentation

Bug Fixes

  • Ignore the python requires constraints when fetching the link from the PyPI index.