Skip to content

Releases: python-poetry/poetry

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).

1.6.1

21 Aug 17:53
1.6.1
Compare
Choose a tag to compare

Fixed

  • Update the minimum required version of requests (#8336).

1.6.0

20 Aug 17:36
1.6.0
Compare
Choose a tag to compare

Added

  • Add support for repositories that do not provide a supported hash algorithm (#8118).
  • Add full support for duplicate dependencies with overlapping markers (#7257).
  • Improve performance of poetry lock for certain edge cases (#8256).
  • Improve performance of poetry install (#8031).
  • poetry check validates that specified readme files do exist (#7444).
  • Add a downgrading note when updating to an older version (#8176).
  • Add support for vox in the xonsh shell (#8203).
  • Add support for pre-commit hooks for projects where the pyproject.toml file is located in a subfolder (#8204).
  • Add support for the git+http:// scheme (#6619).

Changed

  • Drop support for Python 3.7 (#7674).
  • Move poetry lock --check to poetry check --lock and deprecate the former (#8015).
  • Change future warning that PyPI will only be disabled automatically if there are no primary sources (#8151).

Fixed

  • Fix an issue where build-system.requires were not respected for projects with build scripts (#7975).
  • Fix an issue where the encoding was not handled correctly when calling a subprocess (#8060).
  • Fix an issue where poetry show --top-level did not show top level dependencies with extras (#8076).
  • Fix an issue where poetry init handled projects with src layout incorrectly (#8218).
  • Fix an issue where Poetry wrote .pth files with the wrong encoding (#8041).
  • Fix an issue where poetry install did not respect the source if the same version of a package has been locked from different sources (#8304).

Docs

  • Document official Poetry badge (#8066).
  • Update configuration folder path for macOS (#8062).
  • Add a warning about pip ignoring lock files (#8117).
  • Clarify the use of the virtualenvs.in-project setting. (#8126).
  • Change pre-commit YAML style to be consistent with pre-commit's own examples (#8146).
  • Fix command for listing installed plugins (#8200).
  • Mention the nox-poetry package (#8173).
  • Add an example with a PyPI source in the pyproject.toml file (#8171).
  • Use reference instead of deprecated callable in the scripts example (#8211).

poetry-core (1.7.0)

  • Improve performance of marker handling (#609).
  • Allow | as a value separator in markers with the operators in and not in (#608).
  • Put pretty name (instead of normalized name) in metadata (#620).
  • Update list of supported licenses (#623).
  • Fix an issue where PEP 508 dependency specifications with names starting with a digit could not be parsed (#607).
  • Fix an issue where Poetry considered an unrelated .gitignore file resulting in an empty wheel (#611).

poetry-plugin-export (^1.5.0)

  • Fix an issue where markers for dependencies required by an extra were not generated correctly (#209).

1.5.1

29 May 16:05
1.5.1
Compare
Choose a tag to compare

Added

  • Improve dependency resolution performance in cases with a lot of backtracking (#7950).

Changed

  • Disable wheel content validation during installation (#7987).

Fixed

  • Fix an issue where partially downloaded wheels were cached (#7968).
  • Fix an issue where poetry run did no longer execute relative-path scripts (#7963).
  • Fix an issue where dependencies were not installed in in-project environments (#7977).
  • Fix an issue where no solution was found for a transitive dependency on a pre-release of a package (#7978).
  • Fix an issue where cached repository packages were incorrectly parsed, leading to its dependencies being ignored (#7995).
  • Fix an issue where an explicit source was ignored so that a direct origin dependency was used instead (#7973).
  • Fix an issue where the installation of big wheels consumed a lot of memory (#7987).

Docs

  • Add information about multiple constraints dependencies with direct origin and version dependencies (#7973).

poetry-core (1.6.1)

  • Fix an endless recursion in marker handling (#593).
  • Fix an issue where the wheel tag was not built correctly under certain circumstances (#591).

poetry-plugin-export (^1.4.0)

  • Fix an issue where --extra-index-url and --trusted-host was not generated for sources with priority explicit (#205).