Releases: pdm-project/pdm
Releases · pdm-project/pdm
v1.5.0
Features & Improvements
- Include dev dependencies by default for
install
andsync
commands. Add a new option--prod/--production
to exclude them. Improve the dependency selection logic to be more convenient to use — the more common the usage is, the shorter the command is. #391
Bug Fixes
- Enquote executable path to ensure generating valid scripts. #387
- Consider hashes when fetching artifact link for build. #389
- Considier the sources settings when building. #399
Improved Documentation
- New pdm setting
source-includes
to mark files to be included only in sdist builds. #390
Dependencies
- Update
pdm-pep517
to0.7.0
; updateresolvelib
to0.7.0
. #390
Removals and Deprecations
- Deprecate the usage of
-d/--dev
option ininstall
andsync
commands. #391
v1.5.0b1
Features & Improvements
- Improve the env builder to run in isolated mode. #384
Bug Fixes
- Remove the incompatible code from the files that will be run in-process. #375
- Get the correct Python ABI tag of selected interpreter #378
- Error out when doing
pdm run
on a directory not initialized yet. - Give warning message when the project automatically fallbacks to the global project.
Dependencies
- Upgrade
resolvelib
to0.6.0
. #381
Miscellany
- refactor
pdm.models.readers
to improve typing support #321 - Add a basic integration test for cross-python check. #377
- Refactor the
project.python_executable
toproject.python
that contains all info of the interpreter. #382 - Continue refactoring Python info to extract to its own module. #383
- Refactor the creation of project.
v1.5.0b0
Install the prerelease version
pip: python3 -m pip install --user --upgrade pdm==1.5.0b0
pipx: pipx upgrade --pip-args="--pre" pdm
Features & Improvements
- Add hand-written zsh completion script. #188
- Add a special value
:all
given to-s/--section
to refer to all sections under the same species.
Adjustadd
,sync
,install
,remove
andupdate
to support the newdev-dependencies
groups. Old behavior will be kept the same. #351 dev-dependencies
is now a table of dependencies groups, where key is the group name and value is an array of dependencies. These dependencies won't appear in the distribution's metadata.dev-depedencies
of the old format will turn intodev
group underdev-dependencies
. #351- Move
dev-dependencies
,includes
,excludes
andpackage-dir
out from[project]
table to[tool.pdm]
table. The migration will be done automaticaly if old format is detected. #351 - Throws an error with meaningful message when no candidate is found for one requirement. #357
- Support
--dry-run
option forupdate
command to display packages that need update, install or removal. Add--top
option to limit to top level packages only. #358 - Full-featured completion scripts for Zsh and Powershell - section selection, package name autocompletion and so on. Windows is a first-class citizen! #367
- Support non-interactive
init
command via-n/--non-interactive
option. No question will be asked in this mode. #368 - Show project packages path(PEP 582) in the output of
pdm info
, also add an option--packages
to show that value only. #372
Bug Fixes
- Fix a bug that pure python libraries are not loaded to construct the WorkingSet. #346
- Don't write
<script>-X.Y
variant to the bin folder. #365 - Python is now run in isolated mode via subprocess to avoid accidentally importing user packages. #369
- Don't overwrite existing dependencies when importing from requirements.txt. #370
Improved Documentation
Removals and Deprecations
- Remove the support of project path following
-g/--global
that was deprecated in1.4.0
. One should use-g -p <project_path>
for that purpose. #361
Miscellany
v1.4.5
v1.4.4
Features & Improvements
- Emit warning if version or description can't be retrieved when importing from flit metadata. #342
- Add
type
argument topdm cache clear
and improve its UI. #343 - Always re-install the editable packages when syncing the working set. This can help tracking the latest change of
entry-points
. #344
Bug Fixes
- Make installer quit early if a wheel isn't able to build. #338
Miscellany
- ignore type checking in
models.project_info.ProjectInfo
, which indexesdistlib.metadata._data
#335
v1.4.3
Features & Improvements
- Change the group name of entry points from
pdm.plugins
topdm
.
Export some useful objects and models for shorter import path. #318 - Refactor: Remove the reference of
stream
singleton, improve the UI related code. #320 - Support dependencies managed by poetry and flit being installed as editable packages. #324
- Refactor: Extract the logic of finding interpreters to method for the sake of subclass overriding. #326
- Complete the
cache
command, addlist
,remove
andinfo
subcommands. #329 - Refactor: Unify the code about selecting interpreter to reduce the duplication. #331
- Retrieve the version and description of a flit project by parsing the AST of the main file. #333
Bug Fixes
- Fix a parsing error when non-ascii characters exist in
pyproject.toml
. #308 - Fix a bug that non-editable VCS candidates can't satisfy their requirements once locked in the lock file. #314
- Fix a bug of import-on-init that fails when requirements.txt is detected. #328
Miscellany
v1.4.2
Features & Improvements
- Refactor the code, extract the version related logic from
specifiers.py
to a separated module. #303
Bug Fixes
- Fix a bug that get_dependencies() returns error when the
setup.py
has nointall_requires
key. #299 - Pin the VCS revision for non-editable VCS candidates in the lock file. #305
- Fix a bug that editable build hits the cached wheel unexpectedly. #307
Miscellany
- replace 'typing comments' with type annotations throughout #298
v1.4.1
Features & Improvements
- Support importing dependencies from requirements.txt to dev-dependencies or sections. #291
Bug Fixes
- Fallback to static parsing when building was failed to find the dependencies of a candidate. #293
- Fix a bug that
pdm init
fails whenpyproject.toml
exists but has no[project]
section. #295
Improved Documentation
- Document about how to use PDM with Nox. #281
v1.4.0
Features & Improvements
- When
-I/--ignore-python
passed orPDM_IGNORE_SAVED_PYTHON=1
, ignore the interpreter set in.pdm.toml
and don't save to it afterwards. #283 - A new option
-p/--project
is introduced to specify another path for the project base. It can also be combined with-g/--global
option.
The latter is changed to a flag only option that does not accept values. #286 - Support
-f setuppy
forpdm export
to export the metadata as setup.py #289
Bug Fixes
- Fix a bug that editable local package requirements cannot be parsed rightly. #285
- Change the priority of metadata files to parse so that PEP 621 metadata will be parsed first. #288
Improved Documentation
- Add examples of how to integrate with CI pipelines (and tox). #281
v1.3.4
Improved Documentation
- added documentation on a task provider for vscode #280
Bug Fixes
- Ignore the python requires constraints when fetching the link from the PyPI index.