Releases: pdm-project/pdm
Releases · pdm-project/pdm
v2.27.0
Breaking Changes
- Update the minimum required Python version to 3.10. (#3787)
Features & Improvements
- Respect existing values of
pyproject.tomlwhen runningpdm initorpdm new. (#3786) - Move project plugin installations from
.pdm-pluginsunder the project root to an isolated cache directory, and add a fixer to migrate existing plugin directories. (#3790) - Remove legacy importlib compatibility wrappers and use standard-library
importlib.metadataandimportlib.resourcesAPIs directly. (#3796)
Bug Fixes
- Fix a security issue with the installer to disallow installing to paths outside of the scheme directory. (#3787)
- Refuse to write project-local config and state files (
pdm.toml,.pdm-python,.python-version) when the destination is a symlink, preventing an untrusted repository from clobbering files outside the project root. (#3788) - Fix a regression issue that
PDM_LOCKFILEenv var is not respected. (#3794) - Allow configuring the default lock
--exclude-newervalue withstrategy.exclude-newer. (#3795)
2.26.9
Features & Improvements
- Support
exclude-newerinpyproject.tomlin the[tool.pdm.resolution]table (#3776)
Bug Fixes
- Preserve pylock package markers when refreshing lockfile hashes. (#3773)
What's Changed
- Remove dead code by @duriantaco in #3774
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #3780
- chore(deps): bump the actions group with 5 updates by @dependabot[bot] in #3778
- fix: update pdm_scheme to set pep582_base in sysconfig and add corresponding test by @frostming in #3781
- Allow
exclude-newerto be defined inpyproject.tomlby @sneakers-the-rat in #3782
New Contributors
- @duriantaco made their first contribution in #3774
- @sneakers-the-rat made their first contribution in #3782
Full Changelog: 2.26.8...2.26.9
v2.26.8
Features & Improvements
pdm lock --exclude-newernow accepts relative durations in the formatN{d|h|w}, such as7d,12h, and3w, in addition to absolute UTC dates and timestamps. (#3760)
Bug Fixes
- Fixed
pdm add --frozen-lockfile --no-syncto skip dependency resolution and update onlypyproject.tomlwithout attempting to write the lockfile. (#3755) - Fix
[tool.pdm.options]being loaded from the current working directory instead of the target project when-p/--projectis used. (#3756) - Put
make_file_executableintopdm.utilsto replace the method of the same name ininstaller. To fix a breakage introduced byinstallerv1. (#3764) - Fix
pdm init <template>overwriting the template's additions tobuild-system.requireswhenbuild-system.build-backendmatches the user's selection. (#3766) - Fixed
PySpecSetmerging to handle impossible Python version ranges like>=3.6,<3.4without crashing on empty or inverted gaps. (#3767)
Documentation
- The latest documentation version now shows a warning banner explaining that it is kept in sync with the main branch and may not match the features available in the latest released version. (#3765)
v2.26.7
v2.26.6
v2.26.5
v2.26.4
v2.26.3
Features & Improvements
- Port to
hishel1.0.0. (#3700)
Bug Fixes
- Update
.gitignorefile in the default template. (#3686) - Correct the sysconfig variables for Python standalone build installations. (#3693)
- Ignore
packages.vcs.requested-revisionif it's None when formatting pylock.toml. (#3694) - Fix test failures with uv test cases using non-venv Python interpreters. (#3698)
v2.26.2
Features & Improvements
- Only parse TOML document with
tomlkitwhen writing is required. (#3672) - Add SHA256 checksums for binary releases during the release workflow and create an installer script that downloads binaries from GitHub releases with automatic platform detection and checksum verification. (#3679)
Bug Fixes
- Fix test_use_python_write_file_multiple_versions to match PDM's actual behavior. (#3660)
- Correctly calculate the venv path for
UV_PROJECT_ENVIRONMENTenv var when using uv mode. (#3675) - Ensure
implementation.gil_disabledis a boolean inget_current_env_spec. This fix an issue that free-threaded wheels get rejected incorrectly. (#3677) - Fix CLI help formatting on Python 3.14+. (#3683)
- Make
PdmBasicAuthacached_propertyto accelerate execution. (#3684)
Removals and Deprecations
- Add deprecation warning for
pdm searchcommand as PyPI no longer supports search API. (#3674)
Miscellany
- Add tests to utils.fs_supports_link_method and utils.convert_to_datetime. (#3541)
