Pdm

Latest version: v2.13.0

Safety actively analyzes 613460 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 32

2.13.0

----------------------------

Features & Improvements

- Add option to exclude group(s) when running pdm sync/install -G:all by adding flag --without group1,group2,... [2258](https://github.com/pdm-project/pdm/issues/2258)
- Default to log to user home and make logs directory configurable. [2398](https://github.com/pdm-project/pdm/issues/2398)
- Add an option `keep_going` to continue on errors for composite scripts and return the last failing exit code. [2582](https://github.com/pdm-project/pdm/issues/2582)
- Add an option `working_dir` for PDM's scripts to set the current working directory. [2620](https://github.com/pdm-project/pdm/issues/2620)
- Allow updating specific sub-dependencies (i.e., transitive dependencies) in the lock file. [2628](https://github.com/pdm-project/pdm/issues/2628)
- Add `--config-setting` option to `add/install/sync/update/remove/export` commands, the config settings dictionary will be shared by all packages. [2636](https://github.com/pdm-project/pdm/issues/2636)
- Cache the decompressed contents of wheels for faster access. [2660](https://github.com/pdm-project/pdm/issues/2660)
- Add configuration for timeout for network requests. [2680](https://github.com/pdm-project/pdm/issues/2680)
- Reuse the request sesison within the environment. [2697](https://github.com/pdm-project/pdm/issues/2697)
- Caches can be disabled by using the `--no-cache` option or setting the `PDM_NO_CACHE` environment variable. [2702](https://github.com/pdm-project/pdm/issues/2702)
- Switch to `httpx.Client` for HTTP requests, drop `requests` dependency. [2709](https://github.com/pdm-project/pdm/issues/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](https://github.com/pdm-project/pdm/issues/2712)
- Add command `pdm outdated` to check the outdated packages and list the latest versions. [2718](https://github.com/pdm-project/pdm/issues/2718)
- When `python.use_venv` is on, always try to create a virtualenv when using `pdm use` to switch the Python interpreter. [2720](https://github.com/pdm-project/pdm/issues/2720)
- Support installing Pythons from [python-build-standalone](https://github.com/indygreg/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](https://github.com/pdm-project/pdm/issues/2721)
- Supports custom distribution files path via `-d/--dest` option for `pdm publish`. [2723](https://github.com/pdm-project/pdm/issues/2723)

Bug Fixes

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

Documentation

- Document the difference between `[tool.pdm.scripts]` and `[project.scripts]` [2121](https://github.com/pdm-project/pdm/issues/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](https://github.com/pdm-project/pdm/issues/2660)
- Remove `pdm.models.environment` module deprecated before. Also remove the renamed members from `pdm.environments`. [2710](https://github.com/pdm-project/pdm/issues/2710)

Miscellany

- Delete `setup.cfg`, move tool configurations under it to `pyproject.toml` [2703](https://github.com/pdm-project/pdm/issues/2703)

2.12.4

----------------------------

Features & Improvements

- Use env PDM_NO_EDITABLE as the default value for --no-editable option. [2613](https://github.com/pdm-project/pdm/issues/2613)

Bug Fixes

- Reset project.environment when importing from setup.py, to fix resolution error. [2608](https://github.com/pdm-project/pdm/issues/2608)
- Do not fetch package hashes when `--frozen-lockfile` is passed. [2630](https://github.com/pdm-project/pdm/issues/2630)
- Make sure non-venv interpreters are used by venv creator. [2631](https://github.com/pdm-project/pdm/issues/2631)
- Don't cause a hard failure if the local directory doesn't exist. [2650](https://github.com/pdm-project/pdm/issues/2650)

Documentation

- Fix the default value for negative CLI flags. [2642](https://github.com/pdm-project/pdm/issues/2642)
- Auto-gen configuration reference documentation. [2645](https://github.com/pdm-project/pdm/issues/2645)

2.12.3

----------------------------

Bug Fixes

- fix the package-type fixer won't update toml properly for "Nested Section Ordering Issue in TOML". [2578](https://github.com/pdm-project/pdm/issues/2578)
- Unable to force override a package if the package is required with extras. [2586](https://github.com/pdm-project/pdm/issues/2586)
- Failed to clone template repository if the URL contains the rev part. [2597](https://github.com/pdm-project/pdm/issues/2597)
- Handle legacy specifiers when converting from poetry project. [2599](https://github.com/pdm-project/pdm/issues/2599)

Documentation

- Fix typo in template docs [2588](https://github.com/pdm-project/pdm/issues/2588)

2.12.2

----------------------------

Bug Fixes

- Fix the auto fixer for package-type. [2564](https://github.com/pdm-project/pdm/issues/2564)
- Fix the wrong installation destination for header files when installing build requirements. [2573](https://github.com/pdm-project/pdm/issues/2573)
- Install header files into package namespace under `include` directory. [2574](https://github.com/pdm-project/pdm/issues/2574)

2.12.1

----------------------------

Bug Fixes

- Hotfix: missing `identifier` attribute for package type fixer. [2564](https://github.com/pdm-project/pdm/issues/2564)

2.12.0

----------------------------

Features & Improvements

- Allow excluding packages from the lockfile via `tool.pdm.resolution.excludes` setting, the dependencies will also be skipped. [1316](https://github.com/pdm-project/pdm/issues/1316)
- Rename `--no-lock` option to `--frozen-lockfile`. [2496](https://github.com/pdm-project/pdm/issues/2496)
- Add `--no-hashes` as the recommended option name in favor of `--without-hashes` for `pdm export` command. [2497](https://github.com/pdm-project/pdm/issues/2497)
- Add `--no-markers` to `export` command to exclude markers from the output. [2497](https://github.com/pdm-project/pdm/issues/2497)
- Allow initializing a project without extra project files, with a new builtin template "minimal". Run it with `pdm init minimal`. [2543](https://github.com/pdm-project/pdm/issues/2543)
- Change the warning category emitted by `deprecated_warning()` to `PDMDeprecationWarning`. [2547](https://github.com/pdm-project/pdm/issues/2547)
- Prereleases will be allowed if a prerelease version is pinned in the lockfile. This can be disabled by passing `--stable` option. [2552](https://github.com/pdm-project/pdm/issues/2552)
- Change `tracked_names` argument to keyword-only. Move `allow_prereleases` setting to `tool.pdm.resolution` table. [2552](https://github.com/pdm-project/pdm/issues/2552)
- Rename the `preferred_pins` argument of provider classes to `locked_candidates`, and deprecate the old name. [2552](https://github.com/pdm-project/pdm/issues/2552)
- Rename the `package-type` field under `tool.pdm` settings table to `distribution` to make it more clear. [2564](https://github.com/pdm-project/pdm/issues/2564)

Bug Fixes

- `tool.pdm.resolution` settings won't be honored when installing dependencies into the build environment. [1316](https://github.com/pdm-project/pdm/issues/1316)
- Fixed pdm list output containing full license text in some cases [2538](https://github.com/pdm-project/pdm/issues/2538)
- Fix the environment variable substitution for `cmd` scripts. [2542](https://github.com/pdm-project/pdm/issues/2542)
- Allow normal extension modules in wheel tags when the python is debug build. [2548](https://github.com/pdm-project/pdm/issues/2548)
- Don't use pypi.org when pypi.url is set. [2560](https://github.com/pdm-project/pdm/issues/2560)

Removals and Deprecations

- Remove deprecated methods from `Project`. Remove deprecated helper functions from `actions.py`. [2547](https://github.com/pdm-project/pdm/issues/2547)

Page 1 of 32

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.