Skip to content

Releases: python-poetry/poetry

2.0.1

12 Jan 05:10
Compare
Choose a tag to compare

Added

  • Add support for poetry search in legacy sources (#9949).
  • Add a message in the poetry source show output when PyPI is implicitly enabled (#9974).

Changed

  • Improve performance for merging markers from overrides at the end of dependency resolution (#10018).

Fixed

  • Fix an issue where poetry sync did not remove packages that were not requested (#9946).
  • Fix an issue where poetry check failed even though there were just warnings and add a --strict option to fail on warnings (#9983).
  • Fix an issue where poetry update, poetry add and poetry remove with --only uninstalled packages from other groups (#10014).
  • Fix an issue where poetry update, poetry add and poetry remove uninstalled all extra packages (#10016).
  • Fix an issue where poetry self update did not recognize Poetry's own environment (#9995).
  • Fix an issue where read-only system site-packages were not considered when loading an environment with system site-packages (#9942).
  • Fix an issue where an error message in poetry install started with Warning: instead of Error: (#9945).
  • Fix an issue where Command.set_poetry, which is used by plugins, was removed (#9981).
  • Fix an issue where the help text of poetry build --clean showed a malformed short option instead of the description (#9994).

Docs

  • Add a FAQ entry for the migration from Poetry-specific fields to the project section (#9996).
  • Fix examples for project.readme and project.urls (#9948).
  • Add a warning that package sources are a Poetry-specific feature that is not included in core metadata (#9935).
  • Replace poetry install --sync with poetry sync in the section about synchronizing dependencies (#9944).
  • Replace poetry shell with poetry env activate in the basic usage section (#9963).
  • Mention that project.name is always required when the project section is used (#9989).
  • Fix the constraint of poetry-plugin-export in the section about poetry export (#9954).

poetry-core (2.0.1)

  • Replace the deprecated core metadata field Home-page with Project-URL: Homepage (#807).
  • Fix an issue where includes from tool.poetry.packages without a specified format were not initialized with the default value resulting in a KeyError (#805).
  • Fix an issue where some project.urls entries were not processed correctly resulting in a KeyError (#807).
  • Fix an issue where dynamic project.dependencies via tool.poetry.dependencies were ignored if project.optional-dependencies were defined (#811).

2.0.0

05 Jan 11:53
2.0.0
Compare
Choose a tag to compare

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 requi...
Read more

1.8.5

06 Dec 16:29
Compare
Choose a tag to compare

Changed

  • Require pkginfo>=1.12 to fix an issue with an unknown metadata version 2.4 (#9888).
  • Do not fail if the unknown metadata version is only a minor version update (#9888).

1.8.4

14 Oct 15:43
1.8.4
Compare
Choose a tag to compare

Added

  • Add official support for Python 3.13 (#9523).

Changed

  • Require virtualenv>=20.26.6 to mitigate potential command injection when running poetry shell in untrusted projects (#9757).

poetry-core (1.9.1)

  • Add 3.13 to the list of available Python versions (#747).

1.8.3

08 May 13:45
1.8.3
Compare
Choose a tag to compare

Added

  • Add support for untagged CPython builds with versions ending with a + (#9207).

Changed

  • Require pkginfo>=1.10 to ensure support for packages with metadata version 2.3 (#9130).
  • Improve locking on FIPS systems (#9152).

Fixed

  • Fix an issue where unrecognized package metadata versions silently resulted in empty dependencies (#9203, #9226).
  • Fix an issue where trailing slashes in git URLs where not handled correctly (#9205).
  • Fix an issue where poetry self commands printed a warning that the current project cannot be installed (#9302).
  • Fix an issue where poetry install sporadically failed with a KeyError due to a race condition (#9335).

Docs

  • Fix incorrect information about poetry shell (#9060).
  • Add a git subdirectory example to poetry add (#9080).
  • Mention interactive credential configuration (#9074).
  • Add notes for optional advanced installation steps (#9098).
  • Add reference to configuration credentials in documentation of poetry publish (#9110).
  • Improve documentation for configuring credentials via environment variables (#9121).
  • Remove misleading wording around virtual environments (#9213).
  • Remove outdated advice regarding seeding keyring backends (#9164).
  • Add a pyproject.toml example for a dependency with multiple extras (#9138).
  • Clarify help of poetry add (#9230).
  • Add a note how to configure credentials for TestPyPI for poetry publish (#9255).
  • Fix information about the --readme option in poetry new (#9260).
  • Clarify what is special about the Python constraint in dependencies (#9256).
  • Update how to uninstall plugins via pipx (#9320).

1.8.2

02 Mar 15:26
1.8.2
Compare
Choose a tag to compare

Fixed

  • Harden lazy-wheel error handling if the index server is behaving badly in an unexpected way (#9051).
  • Improve lazy-wheel error handling if the index server does not handle HTTP range requests correctly (#9082).
  • Improve lazy-wheel error handling if the index server pretends to support HTTP range requests but does not respect them (#9084).
  • Improve lazy-wheel to allow redirects for HEAD requests (#9087).
  • Improve debug logging for lazy-wheel errors (#9059).
  • Fix an issue where the hash of a metadata file could not be calculated correctly due to an encoding issue (#9048).
  • Fix an issue where poetry add failed in non-package mode if no project name was set (#9046).
  • Fix an issue where a hint to non-package mode was not compliant with the final name of the setting (#9073).

1.8.1

26 Feb 16:12
1.8.1
Compare
Choose a tag to compare

Fixed

  • Update the minimum required version of packaging (#9031).
  • Handle unexpected responses from servers that do not support HTTP range requests with negative offsets more robust (#9030).

Docs

  • Rename master branch to main (#9022).

1.8.0

25 Feb 12:18
1.8.0
Compare
Choose a tag to compare

Added

  • Add a non-package mode for use cases where Poetry is only used for dependency management (#8650).
  • Add support for PEP 658 to fetch metadata without having to download wheels (#5509).
  • Add a lazy-wheel config option (default: true) to reduce wheel downloads during dependency resolution (#8815, #8941).
  • Improve performance of dependency resolution by using shallow copies instead of deep copies (#8671).
  • poetry check validates that no unknown sources are referenced in dependencies (#8709).
  • Add archive validation during installation for further hash algorithms (#8851).
  • Add a to key in tool.poetry.packages to allow custom subpackage names (#8791).
  • Add a config option to disable keyring (#8910).
  • Add a --sync option to poetry update (#8931).
  • Add an --output option to poetry build (#8828).
  • Add a --dist-dir option to poetry publish (#8828).

Changed

  • The implicit PyPI source is disabled if at least one primary source is configured (#8771).
  • Deprecate source priority default (#8771).
  • Upgrade the warning about an inconsistent lockfile to an error (#8737).
  • Deprecate setting installer.modern-installation to false (#8988).
  • Drop support for pip<19 (#8894).
  • Require requests-toolbelt>=1 (#8680).
  • Allow platformdirs 4.x (#8668).
  • Allow and require xattr 1.x on macOS (#8801).
  • Improve venv shell activation in fish (#8804).
  • Rename system to base in output of poetry env info (#8832).
  • Use pretty name in output of poetry version (#8849).
  • Improve error handling for invalid entries in tool.poetry.scripts (#8898).
  • Improve verbose output for dependencies with extras during dependency resolution (#8834).
  • Improve message about an outdated lockfile (#8962).

Fixed

  • Fix an issue where poetry shell failed when Python has been installed with MSYS2 (#8644).
  • Fix an issue where Poetry commands failed in a terminal with a non-UTF-8 encoding (#8608).
  • Fix an issue where a missing project name caused an incomprehensible error message (#8691).
  • Fix an issue where Poetry failed to install an sdist path dependency (#8682).
  • Fix an issue where poetry install failed because an unused extra was not available (#8548).
  • Fix an issue where poetry install --sync did not remove an unrequested extra (#8621).
  • Fix an issue where poetry init did not allow specific characters in the author field (#8779).
  • Fix an issue where Poetry could not download sdists from misconfigured servers (#8701).
  • Fix an issue where metadata of sdists that call CLI tools of their build requirements could not be determined (#8827).
  • Fix an issue where Poetry failed to use the currently activated environment (#8831).
  • Fix an issue where poetry shell failed in zsh if a space was in the venv path (#7245).
  • Fix an issue where scripts with extras could not be installed (#8900).
  • Fix an issue where explicit sources where not propagated correctly (#8835).
  • Fix an issue where debug prints where swallowed when using a build script (#8760).
  • Fix an issue where explicit sources of locked dependencies where not propagated correctly (#8948).
  • Fix an issue where Poetry's own environment was falsely identified as system environment (#8970).
  • Fix an issue where dependencies from a setup.py were ignored silently (#9000).
  • Fix an issue where environment variables for virtualenv.options were ignored (#9015).
  • Fix an issue where virtualenvs.options.no-pip and virtualenvs.options.no-setuptools were not normalized (#9015).

Docs

  • Replace deprecated --no-dev with --without dev in the FAQ (#8659).
  • Recommend poetry-check instead of the deprecated poetry-lock pre-commit hook (#8675).
  • Clarify the names of the environment variables to provide credentials for repositories (#8782).
  • Add note how to install several version of Poetry in parallel (#8814).
  • Improve description of poetry show --why (#8817).
  • Improve documentation of poetry update (#8706).
  • Add a warning about passing variables that may start with a hyphen via command line (#8850).
  • Mention that the virtual environment in which Poetry itself is installed should not be activated (#8833).
  • Add note about poetry run and externally managed environments (#8748).
  • Update FAQ entry about tox for tox 4.x (#8658).
  • Fix documentation for default format option for include and exclude value (#8852).
  • Add note about tox and configured credentials (#8888).
  • Add note and link how to install pipx (#8878).
  • Fix examples for poetry add with git dependencies over ssh (#8911).
  • Remove reference to deprecated scripts extras feature (#8903).
  • Change examples to prefer --only main instead of --without dev (#8921).
  • Mention that the develop attribute is a Poetry-specific feature and not propagated to other tools (#8971).
  • Fix examples for adding supplemental and secondary sources (#8953).
  • Add PyTorch example for explicit sources (#9006).

poetry-core (1.9.0)

  • Deprecate scripts that depend on extras (#690).
  • Add support for path dependencies that do not define a build system (#675).
  • Update list of supported licenses (#659, #669, #678, #694).
  • Rework list of files included in build artifacts (#666).
  • Fix an issue where insignificant errors were printed if the working directory is not inside a git repository (#684).
  • Fix an issue where the project's directory was not recognized as git repository on Windows due to an encoding issue (#685).

1.7.1

16 Nov 19:09
1.7.1
Compare
Choose a tag to compare

Fixed

  • Fix an issue where sdists that call CLI tools of their build requirements could not be installed (#8630).
  • Fix an issue where sdists with symlinks could not be installed due to a broken tarfile datafilter (#8649).
  • Fix an issue where poetry init failed when trying to add dependencies (#8655).
  • Fix an issue where poetry install failed if virtualenvs.create was set to false (#8672).

1.7.0

03 Nov 14:24
1.7.0
Compare
Choose a tag to compare

Added

  • Add official support for Python 3.12 (#7803, #8544).
  • Print a future warning that poetry-plugin-export will not be installed by default anymore (#8562).
  • Add poetry-install pre-commit hook (#8327).
  • Add --next-phase option to poetry version (#8089).
  • Print a warning when overwriting files from another package at installation (#8386).
  • Print a warning if the current project cannot be installed (#8369).
  • Report more details on build backend exceptions (#8464).

Changed

  • Set Poetry as user-agent for all HTTP requests (#8394).
  • Do not install setuptools per default in Python 3.12 (#7803).
  • Do not install wheel per default (#7803).
  • Remove setuptools and wheel when running poetry install --sync if they are not required by the project (#8600).
  • Improve error message about PEP-517 support (#8463).
  • Improve keyring handling (#8227).
  • Read the description field when extracting metadata from setup.py files (#8545).

Fixed

  • Fix an issue where dependencies of inactive extras were locked and installed (#8399).
  • Fix an issue where build requirements were not installed due to a race condition in the artifact cache (#8517).
  • Fix an issue where packages included in the system site packages were installed even though virtualenvs.options.system-site-packages was set (#8359).
  • Fix an issue where git dependencies' submodules with relative URLs were handled incorrectly (#8020).
  • Fix an issue where a failed installation of build dependencies was not noticed directly (#8479).
  • Fix an issue where poetry shell did not work completely with nushell (#8478).
  • Fix an issue where a confusing error messages was displayed when running poetry config pypi-token.pypi without a value (#8502).
  • Fix an issue where a cryptic error message is printed if there is no metadata entry in the lockfile (#8523).
  • Fix an issue with the encoding with special characters in the virtualenv's path (#8565).
  • Fix an issue where the connection pool size was not adjusted to the number of workers (#8559).

Docs

  • Improve the wording regarding a project's supported Python range (#8423).
  • Make pipx the preferred (first mentioned) installation method (#8090).
  • Add a warning about poetry self on Windows (#8090).
  • Fix example for poetry add with a git dependency (#8438).
  • Add information about auto-included files in wheels and sdist (#8555).
  • Fix documentation of the POETRY_REPOSITORIES_ variables docs (#8492).
  • Add CITATION.cff file (#8510).

poetry-core (1.8.1)

  • Add support for creating packages dynamically in the build script (#629).
  • Improve marker logic for extra markers (#636).
  • Update list of supported licenses (#635, #646).
  • Fix an issue where projects with extension modules were not installed in editable mode (#633).
  • Fix an issue where the wrong or no lib folder was added to the wheel (#634).

poetry-plugin-export (^1.6.0)

  • Add an --all-extras option (#241).
  • Fix an issue where git dependencies are exported with the branch name instead of the resolved commit hash (#213).