PDM v2.2.1 Release Notes

Release Date: 2022-11-03 // over 1 year ago
  • ๐Ÿ”‹ Features & Improvements

    • Make sitecustomize.py respect the PDM_PROJECT_MAX_DEPTH environment variable #1471

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fix the comparison of python_version in the environment marker. When the version contains only one digit, the result was incorrect. #1484

Previous changes from v2.2.0

  • ๐Ÿ”‹ Features & Improvements

    • โž• Add venv.prompt configuration to allow customizing prompt when a virtualenv is activated #1332
    • ๐Ÿ‘ Allow the use of custom CA certificates per publish repository using ca_certs or from the command line via pdm publish --ca-certs <path> .... #1392
    • โšก๏ธ Rename the plugin command to self, and it can not only manage plugins but also all dependencies. Add a subcommand self update to update PDM itself. #1406
    • ๐Ÿ‘ Allow pdm init to receive a Python path or version via --python option. #1412
    • โž• Add a default value for requires-python when importing from other formats. #1426
    • ๐Ÿ— Use pdm instead of pip to resolve and install build requirements. So that PDM configurations can control the process. #1429
    • Customizable color theme via pdm config command. #1450
    • ๐Ÿ”’ A new pdm lock --check flag to validate whether the lock is up to date. #1459
    • โž• Add both option and config item to ship pip when creating a new venv. #1463
    • โš  Issue warning and skip the requirement if it has the same name as the current project. #1466
    • โœจ Enhance the pdm list command with new formats: --csv,--markdown and add options --fields,--sort to control the output contents. Users can also include licenses in the --fields option to display the package licenses. #1469
    • ๐Ÿ”’ A new pre-commit hook to run pdm lock --check in pre-commit. #1471

    ๐Ÿ› Bug Fixes

    • ๐Ÿ›  Fix the issue that relative paths don't work well with --project argument. #1220
    • ๐Ÿ“ฆ It is now possible to refer to a package from outside the project with relative paths in dependencies. #1381
    • ๐Ÿ— Ensure pypi.[ca,client]_cert[s] config items are passed to distribution builder install steps to allow for custom PyPI index sources with self signed certificates. #1396
    • ๐Ÿ›  Fix a crash issue when depending on editable packages with extras. #1401
    • Do not save the python path when using non-interactive mode in pdm init. #1410
    • ๐Ÿ›  Fix the matching of python* command in pdm run. #1414
    • ๐Ÿ‘‰ Show the Python path, instead of the real executable, in the Python selection menu. #1418
    • ๐Ÿ›  Fix the HTTP client of package publishment to prompt for password and read PDM configurations correctly. #1430
    • Ignore the unknown fields when constructing a requirement object. #1445
    • ๐Ÿ›  Fix a bug of unrelated candidates being fetched if the requirement is matching wildcard versions(e.g. ==1.*). #1465
    • ๐Ÿ“‡ Use importlib-metadata from PyPI for Python < 3.10. #1467

    ๐Ÿ“š Documentation

    • โšก๏ธ Clarify the difference between a library and an application. Update the guide of multi-stage docker build. #1371

    ๐Ÿ—„ Removals and Deprecations

    • โœ‚ Remove all top-level imports, users should import from the submodules instead. #1404
    • โœ‚ Remove the usages of old config names deprecated since 2.0. #1422
    • โœ‚ Remove the deprecated color functions, use rich's console markup instead. #1452