Pdm

Latest version: v2.15.2

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

Scan your dependencies

Page 3 of 33

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)

2.11.2

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

Bug Fixes

- Fix a KeyError raised when resolving a URL dependency without package name given. [2488](https://github.com/pdm-project/pdm/issues/2488)
- `pdm update --update-eager` can hit InconsistentCandidate error when dependency is included both through default dependencies and extra. [2495](https://github.com/pdm-project/pdm/issues/2495)
- `pdm install` should not warn when overwriting its own symlinks on `install`/`update`. [2502](https://github.com/pdm-project/pdm/issues/2502)
- Fix a bug that candidates without local version are rejected when the local version is pinned. [2507](https://github.com/pdm-project/pdm/issues/2507)

Documentation

- Add maturin as a compatible build backend in the docs. [2510](https://github.com/pdm-project/pdm/issues/2510)

2.11.1

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

Bug Fixes

- Update candidate names before resolving markers, to fix a KeyError when the requirement is not named. [2488](https://github.com/pdm-project/pdm/issues/2488)
- Fix a KeyError when resolving packages that have parents that are no longer needed. [2489](https://github.com/pdm-project/pdm/issues/2489)

2.11.0

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

Features & Improvements

- Officially drop the support for Python 3.7.
- Allow exporting current project as editable dependency with `pdm export`. [1910](https://github.com/pdm-project/pdm/issues/1910)
- Improve the lockfile compatibility checking by using 3-digit version numbers. This can distinguish forward-compatibility and backward-compatibility. [2164](https://github.com/pdm-project/pdm/issues/2164)
- Add `--skip-existing` to `pdm publish` to ignore the uploading error if the package already exists. [2362](https://github.com/pdm-project/pdm/issues/2362)
- Use `==major.minor.*` as default requires python for application projects. [2382](https://github.com/pdm-project/pdm/issues/2382)
- We now use the `package-type` field in the `tool.pdm` table to differentiate between library and application projects. [2394](https://github.com/pdm-project/pdm/issues/2394)
- Add support for {pdm} placeholder in script definitions to call the same PDM entrypoint [2408](https://github.com/pdm-project/pdm/issues/2408)
- When exporting requirements, record the environment markers from all parents for each requirement. This allows the exported requirements to work on different platforms and Python versions. [2418](https://github.com/pdm-project/pdm/issues/2418)
- `pdm lock` now supports `--update-reuse` option to keep the pinned versions in the lockfile if possible. [2419](https://github.com/pdm-project/pdm/issues/2419)
- Introduce a new lock strategy `inherit_metadata` to inherit and merge markers from parent requirements. This is enabled by default when creating a new lockfile. [2421](https://github.com/pdm-project/pdm/issues/2421)
- New cache methods: `symlink_individual` for creating a symlink for each individual package file and `hardlink` for creating hardlinks. [2425](https://github.com/pdm-project/pdm/issues/2425)
- Add "pdm sync" pre-commit hook [2474](https://github.com/pdm-project/pdm/issues/2474)
- New update strategy: `reuse-installed`. When this strategy is enabled, PDM will try to reuse the versions already installed in the environment, even if the package names are given in the command line following `add` or `update`. This strategy is supported by `add`, `update` and `lock` commands. [2479](https://github.com/pdm-project/pdm/issues/2479)
- Show subcommand's help info when passing unrecognized arguments. [2480](https://github.com/pdm-project/pdm/issues/2480)
- add `PDM_CACHE_DIR` environment variable to configure cache directory location. [2485](https://github.com/pdm-project/pdm/issues/2485)

Bug Fixes

- Use the same order of Python interpreters as interactive mode in `pdm init -n`. [2436](https://github.com/pdm-project/pdm/issues/2436)
- `pdm init` now implies `--lib` if `--backend` is passed. [2437](https://github.com/pdm-project/pdm/issues/2437)
- Fix a bug that link collection ignores package-index-binding. [2442](https://github.com/pdm-project/pdm/issues/2442)
- Fix the wrong installation candidates for different architectures on Windows. [2464](https://github.com/pdm-project/pdm/issues/2464)
- Fix installing PEP 561 stub-only packages with `install.cache_method = "symlink"`. [2466](https://github.com/pdm-project/pdm/issues/2466)
- Fix a `KeyError` raised by `pdm update --unconstrained` when the project itself is listed as a dependency. [2483](https://github.com/pdm-project/pdm/issues/2483)

2.10.4

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

Bug Fixes

- Do not detect as requirements.txt if the file is a python script. [2416](https://github.com/pdm-project/pdm/issues/2416)
- Provide information of the original line when parsing requirement fails. [2417](https://github.com/pdm-project/pdm/issues/2417)
- Resolve `-r` requirements paths relative to the requirement file they are specified in [2422](https://github.com/pdm-project/pdm/issues/2422)
- Updating package now overwrites the old files instead of removing before installing. [2423](https://github.com/pdm-project/pdm/issues/2423)

2.10.3

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

Bug Fixes

- Create virtualenv for conda base Python. [2409](https://github.com/pdm-project/pdm/issues/2409)

Page 3 of 33

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.