Skip to content

2.0.0

Latest
Compare
Choose a tag to compare
@radoering radoering released this 05 Jan 11:53
· 5 commits to main since this release
2.0.0

Added

  • Add support for the project section in the pyproject.toml file 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-resolve option (default: true) to allow installation without re-resolving (#9427).
  • Add a --local-version option to poetry build (#9064).
  • Add a --clean option to poetry build (#9067).
  • Add FIPS support for poetry publish (#9101).
  • Add the option to use poetry new interactively and configure more fields (#9101).
  • Add a config option installer.only-binary to enforce the use of binary distribution formats (#9150).
  • Add support for poetry search in 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-groups option to poetry install (#9744).
  • Add an poetry env activate command as replacement of poetry shell (#9763).
  • Add a --markers option to poetry add to add a dependency with markers (#9814).
  • Add a --migrate option to poetry config to migrate outdated configs (#9830).
  • Add a --project option to search the pyproject.toml file 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 sync command as replacement of poetry install --sync (#9801).

Changed

  • Change the default behavior of poetry lock to --no-update and introduce a --regenerate option for the old default behavior (#9327).
  • Remove the dependency on poetry-plugin-export so that poetry export is not included per default (#5980).
  • Outsource poetry shell into poetry-plugin-shell (#9763).
  • Change the interface of poetry add --optional to 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-client to experimental.system-git (#9787, #9795).
  • Replace virtualenvs.prefer-active-python by the inverse setting virtualenvs.use-poetry-python and prefer the active Python by default (#9786).
  • Deprecate several fields in the tool.poetry section in favor of the respective fields in the project section in the pyproject.toml file (#9135).
  • Deprecate poetry install --sync in favor of poetry sync (#9801).
  • Upgrade the warning if the current project cannot be installed to an error (#9333).
  • Remove special handling for platformdirs 2.0 macOS 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-Dist with modern metadata (#9078).
  • Do PEP 517 builds instead of parsing setup.py to 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-system to the current major version of poetry-core when initializing a new project (#9812).
  • Remove pip-based installation, i.e. installer.modern-installation = false (#9392).
  • Remove virtualenvs.options.no-setuptools config option and never include setuptools per default (#9331).
  • Rename exceptions to have an Error suffix (#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 remove failed if virtualenvs.in-project was set to true (#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 add resulted in a broken pyproject.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 install without an existing lock file (#9345).
  • Fix an issue where the poetry-check pre-commit hook did not trigger if only poetry.lock has 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-python was 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.json with 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-workers was 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 dulwich versions 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 = false still 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 check falsely reported that an invalid source "pypi" is referenced in dependencies (#9475).
  • Fix an issue where poetry install --sync tried to uninstall system site packages if the virtual environment was created with virtualenvs.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-autoupdate as an alternative to pre-commit autoupdate (#9716).
  • Improve the explanation of exclude and include (#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_release marker (#722).
  • Add support for string comparisons with in / not in in generic constraints (#722).
  • Add support for script files that are generated by a build script (#710).
  • Add support for SOURCE_DATE_EPOCH when building packages (#766, #781).
  • Create METADATA files with version 2.3 instead of 2.2 (#707).
  • Remove support for x in version constraints (#770).
  • Remove support for scripts with extras (#708).
  • Remove deprecated features and interfaces (#702, #769).
  • Deprecate tool.poetry.dev-dependencies in favor of tool.poetry.group.dev.dependencies (#754).
  • Fix an issue where the platlib directory 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).