Pdm Versions Save

A modern Python package and dependency manager supporting the latest PEP standards

2.15.1

2 weeks ago

Bug Fixes

  • Disable check update in zsh completion script. (#2838)
  • Fixes cached packages metadata files (.referrers) collisions on sync when using a venv with symlink cache method. (#2839)

Documentation

  • Build docs with object inventory to support cross references from Sphinx documentation projects. (#2841)

2.15.0

3 weeks ago

Features & Improvements

  • Packages format preferences can now be defined in the project pyproject.toml using the no-binary, only-binary and prefer-binary keys of the tool.pdm.resolution section. (#2656)

Bug Fixes

  • Don't create project and virtualenv when running pdm python install. (#2809)
  • Clean up the python installation directory if a previous download was unsuccessful. (#2810)
  • Don't cache editable installations. (#2816)
  • Fix a bug that installing in-project plugins with editable local paths doesn't work. (#2820)
  • Don't create log directory until it's needed, to fix a PermissionError in docker environment. (#2825)
  • Fix recursive script detection on multiple invocations. (#2829)

2.14.0

1 month ago

Features & Improvements

  • Revert the package cache introduced in 2.13. Don't cache the decompressed contents of wheels unless being told so. (#2803)

Bug Fixes

  • Fix inconsistent logging when pdm use a different python interpreter (#2776)
  • Fix PDM unable to find Python interpreters when PDM_IGNORE_ACTIVE_VENV is set (#2779)
  • Check verify_ssl when trusting each source. (#2784)
  • Fix name check for project itself in pdm outdated (#2785)
  • Fix a regression that proxy env vars are not respected. (#2788)
  • Fix an issue that venv provider can't be found when providers are explicitly configured. (#2792)
  • Fix a bug that [tool.pdm.options] are ignored if -c/--config CONFIG is given. (#2793)
  • Make --without respect groups in dev-dependencies (#2799)

2.13.3

1 month ago

Bug Fixes

  • Per-source configuration for ca-certs and client-cert. #2754
  • Remove all caches by removing individual cache types one by one. #2757
  • Use the default HTTP client when downloading the pythons, to use the certificates settings. #2759
  • Fix a race condition where pth files take effect when multiple packages are installed in parallel. #2762
  • Refuse to run recursive composite scripts. #2766

2.13.2

1 month ago

Bug Fixes

  • Fix errors when parsing poetry format that contains special characters in author name. Poetry-specific parse_name_email and NAME_EMAIL_RE moved from pdm.formats.base to pdm.formats.poetry. #2665
  • Fix a race condition in cached packages. When a cached package is being created it shouldn't be used for installation. #2739
  • Add back PreparedCandidate.build() for backward-compatibility. #2747

Documentation

  • Fixed a small non-code typo in docs and prodivded better wording. #2740

2.13.1

1 month ago

Bug Fixes

  • Fix a bug that PDM couldn't find interpreters for global project. #2726
  • Make the cache package path shorter to solve the Windows path problem. #2730

Documentation

  • Extract "Lock file" doc from "Manage Dependencies" doc. #2725

2.13.0

1 month ago

Features & Improvements

  • Add option to exclude group(s) when running pdm sync/install -G:all by adding flag --without group1,group2,... #2258
  • Default to log to user home and make logs directory configurable. #2398
  • Add an option keep_going to continue on errors for composite scripts and return the last failing exit code. #2582
  • Add an option working_dir for PDM's scripts to set the current working directory. #2620
  • Allow updating specific sub-dependencies (i.e., transitive dependencies) in the lock file. #2628
  • Add --config-setting option to add/install/sync/update/remove/export commands, the config settings dictionary will be shared by all packages. #2636
  • Cache the decompressed contents of wheels for faster access. #2660
  • Add configuration for timeout for network requests. #2680
  • Reuse the request sesison within the environment. #2697
  • Caches can be disabled by using the --no-cache option or setting the PDM_NO_CACHE environment variable. #2702
  • Switch to httpx.Client for HTTP requests, drop requests dependency. #2709
  • We have timemachine now! You can exclude packages published newer than a certain date via pdm lock --exclude-newer=<date>, allowing reproduction of resolutions regardless of new package releases. #2712
  • Add command pdm outdated to check the outdated packages and list the latest versions. #2718
  • When python.use_venv is on, always try to create a virtualenv when using pdm use to switch the Python interpreter. #2720
  • Support installing Pythons from python-build-standalone. Add command group pdm python to manage Python installations. And pdm use can automatically install the Python interpreter if it's not found. #2721
  • Supports custom distribution files path via -d/--dest option for pdm publish. #2723

Bug Fixes

  • Don't modify TOML tables that are not related to PDM. #2666
  • Made --without imply --with :all. #2670
  • Expand user path for venv.location and other path-like config values. #2672
  • Give a default version when it's missing in pyproject.toml when parsing candidate's metadata. #2677
  • Fix the issue that ANSI codes are shown in the output of pdm --help on Windows. #2678
  • Don't show empty configuration sections in pdm config. #2683

Documentation

  • Document the difference between [tool.pdm.scripts] and [project.scripts] #2121

Removals and Deprecations

  • Remove the support of pth cache method. And symlink cache method now behaves the same as symlink_individual cache method. #2660
  • Remove pdm.models.environment module deprecated before. Also remove the renamed members from pdm.environments. #2710

Miscellany

  • Delete setup.cfg, move tool configurations under it to pyproject.toml #2703

2.12.4

2 months ago

Features & Improvements

  • Use env PDM_NO_EDITABLE as the default value for --no-editable option. #2613

Bug Fixes

  • Reset project.environment when importing from setup.py, to fix resolution error. #2608
  • Do not fetch package hashes when --frozen-lockfile is passed. #2630
  • Make sure non-venv interpreters are used by venv creator. #2631
  • Don't cause a hard failure if the local directory doesn't exist. #2650

Documentation

  • Fix the default value for negative CLI flags. #2642
  • Auto-gen configuration reference documentation. #2645

2.12.3

3 months ago

Bug Fixes

  • fix the package-type fixer won't update toml properly for "Nested Section Ordering Issue in TOML". #2578
  • Unable to force override a package if the package is required with extras. #2586
  • Failed to clone template repository if the URL contains the rev part. #2597
  • Handle legacy specifiers when converting from poetry project. #2599

Documentation

  • Fix typo in template docs #2588

2.12.2

3 months ago

Bug Fixes

  • Fix the auto fixer for package-type. #2564
  • Fix the wrong installation destination for header files when installing build requirements. #2573
  • Install header files into package namespace under include directory. #2574