2.0.0
Added
- Add support for the
projectsection in thepyproject.tomlfile according to PEP 621 (#9135, #9917). - Add support for defining Poetry plugins that are required by the project and automatically installed if not present (#9547).
- Lock resulting markers and groups and add a
installer.re-resolveoption (default:true) to allow installation without re-resolving (#9427). - Add a
--local-versionoption topoetry build(#9064). - Add a
--cleanoption topoetry build(#9067). - Add FIPS support for
poetry publish(#9101). - Add the option to use
poetry newinteractively and configure more fields (#9101). - Add a config option
installer.only-binaryto enforce the use of binary distribution formats (#9150). - Add support for
poetry searchin legacy sources (#9132). - Add support to resume downloads from connection resets (#9422).
- Add the option to define a constraint for the required Poetry version to manage the project (#9547).
- Add an
--all-groupsoption topoetry install(#9744). - Add an
poetry env activatecommand as replacement ofpoetry shell(#9763). - Add a
--markersoption topoetry addto add a dependency with markers (#9814). - Add a
--migrateoption topoetry configto migrate outdated configs (#9830). - Add a
--projectoption to search thepyproject.tomlfile in another directory without switching the directory (#9831). - Add support for shortened hashes to define git dependencies (#9748).
- Add partial support for conflicting extras (#9553).
- Add a
poetry synccommand as replacement ofpoetry install --sync(#9801).
Changed
- Change the default behavior of
poetry lockto--no-updateand introduce a--regenerateoption for the old default behavior (#9327). - Remove the dependency on
poetry-plugin-exportso thatpoetry exportis not included per default (#5980). - Outsource
poetry shellintopoetry-plugin-shell(#9763). - Change the interface of
poetry add --optionalto require an extra the optional dependency is added to (#9135). - Actually switch the directory when using
--directory/-C(#9831). - Drop support for Python 3.8 (#9692).
- Rename
experimental.system-git-clienttoexperimental.system-git(#9787, #9795). - Replace
virtualenvs.prefer-active-pythonby the inverse settingvirtualenvs.use-poetry-pythonand prefer the active Python by default (#9786). - Deprecate several fields in the
tool.poetrysection in favor of the respective fields in theprojectsection in thepyproject.tomlfile (#9135). - Deprecate
poetry install --syncin favor ofpoetry sync(#9801). - Upgrade the warning if the current project cannot be installed to an error (#9333).
- Remove special handling for
platformdirs 2.0macOS config directory (#8916). - Tweak PEP 517 builds (#9094).
- Use Poetry instead of pip to manage dependencies in isolated build environments (#9168, #9227).
- Trust empty
Requires-Distwith modern metadata (#9078). - Do PEP 517 builds instead of parsing
setup.pyto determine dependencies (#9099). - Drop support for reading lock files prior version 1.0 (created with Poetry prior 1.1) (#9345).
- Default to
>=instead of^for the Python requirement when initializing a new project (#9558). - Limit
build-systemto the current major version ofpoetry-corewhen initializing a new project (#9812). - Remove pip-based installation, i.e.
installer.modern-installation = false(#9392). - Remove
virtualenvs.options.no-setuptoolsconfig option and never includesetuptoolsper default (#9331). - Rename exceptions to have an
Errorsuffix (#9705). - Remove deprecated CLI options and methods and revoke the deprecation of
--dev(#9732). - Ignore installed packages during dependency resolution (#9851).
- Improve the error message on upload failure (#9701).
- Improve the error message if the current project cannot be installed to include another root cause (#9651).
- Improve the output of
poetry show <package>(#9750). - Improve the error message for build errors (#9870).
- Improve the error message when trying to remove a package from a project without any dependencies (#9918).
- Drop the direct dependency on
crashtest(#9108). - Require
keyring>=23.3.1(#9167). - Require
build>=1.2.1(#9283). - Require
dulwich>=0.22.6(#9748).
Fixed
- Fix an issue where git dependencies with extras could only be cloned if a branch was specified explicitly (#7028).
- Fix an issue where
poetry env removefailed ifvirtualenvs.in-projectwas set totrue(#9118). - Fix an issue where locking packages with a digit at the end of the name and non-standard sdist names failed (#9189).
- Fix an issue where credentials where not passed when trying to download an URL dependency (#9202).
- Fix an issue where using uncommon group names with
poetry addresulted in a brokenpyproject.toml(#9277). - Fix an issue where an inconsistent entry regarding the patch version of Python was kept in
envs.toml(#9286). - Fix an issue where relative paths were not resolved properly when using
poetry build --directory(#9433). - Fix an issue where unrequested extras were not uninstalled when running
poetry installwithout an existing lock file (#9345). - Fix an issue where the
poetry-checkpre-commit hook did not trigger if onlypoetry.lockhas changed (#9504). - Fix an issue where files (rather than directories) could not be added as single page source (#9166).
- Fix an issue where invalid constraints were generated when adding a package with a local version specifier (#9603).
- Fix several encoding warnings (#8893).
- Fix an issue where
virtualenvs.prefer-active-pythonwas not respected (#9278). - Fix an issue where the line endings of the lock file were changed (#9468).
- Fix an issue where installing multiple dependencies from the same git repository failed sporadically due to a race condition (#9658).
- Fix an issue where installing multiple dependencies from forked monorepos failed sporadically due to a race condition (#9723).
- Fix an issue where an extra package was not installed if it is required by multiple extras (#9700).
- Fix an issue where a
direct_url.jsonwith vcs URLs not compliant with PEP 610 was written (#9007). - Fix an issue where other files than wheels were recognized as wheels (#9770).
- Fix an issue where
installer.max-workerswas ignored for the implicit PyPI source (#9815). - Fix an issue where local settings (from
poetry.toml) were ignored for the implicit PyPI source (#9816). - Fix an issue where different
dulwichversions resulted in different hashes for a git dependency from a tag (#9849). - Fix an issue where installing a yanked package with no dependencies failed with an
IndexError(#9505). - Fix an issue where a package could not be added from a source that required an empty password (#9850).
- Fix an issue where setting
allow-prereleases = falsestill allowed pre-releases if no other solution was found (#9798). - Fix an issue where the wrong environment was used for checking if an installed package is from system site packages (#9861).
- Fix an issue where build errors from builds to retrieve metadata information were hidden (#9870).
- Fix an issue where
poetry checkfalsely reported that an invalid source "pypi" is referenced in dependencies (#9475). - Fix an issue where
poetry install --synctried to uninstall system site packages if the virtual environment was created withvirtualenvs.options.system-site-packages = true(#9863). - Fix an issue where HTTP streaming requests were not closed properly when not completely consumed (#9899).
Docs
- Add information about getting test coverage in the contribution guide (#9726).
- Mention
pre-commit-autoupdateas an alternative topre-commit autoupdate(#9716). - Improve the explanation of
excludeandinclude(#9734). - Add information about compatible release requirements, i.e.
~=(#9783). - Add documentation for using a build script to build extension modules (#9864).
poetry-core (2.0.0)
- Add support for non PEP440 compliant version in the
platform_releasemarker (#722). - Add support for string comparisons with
in/not inin generic constraints (#722). - Add support for script files that are generated by a build script (#710).
- Add support for
SOURCE_DATE_EPOCHwhen building packages (#766, #781). - Create
METADATAfiles with version 2.3 instead of 2.2 (#707). - Remove support for
xin version constraints (#770). - Remove support for scripts with extras (#708).
- Remove deprecated features and interfaces (#702, #769).
- Deprecate
tool.poetry.dev-dependenciesin favor oftool.poetry.group.dev.dependencies(#754). - Fix an issue where the
platlibdirectory of the wrong Python was used (#726). - Fix an issue where building a wheel in a nested output directory results in an error (#762).
- Fix an issue where
+was not allowed in git URL paths (#765). - Fix an issue where the temporary directory was not cleaned up on error (#775).
- Fix an issue where the regular expression for author names was too restrictive (#517).
- Fix an issue where basic auth http(s) credentials could not be parsed (#791).