Skip to content

Releases: python-poetry/poetry

2.3.2

01 Feb 15:39

Choose a tag to compare

Changed

  • Allow dulwich>=1.0 (#10701).

poetry-core (2.3.1)

  • Fix an issue where platform_release could not be parsed on Windows Server (#911).

2.3.1

20 Jan 14:51

Choose a tag to compare

Fixed

  • Fix an issue where cached information about each package was always considered outdated (#10699).

Docs

  • Document SHELL_VERBOSITY environment variable (#10678).

2.3.0

18 Jan 13:44

Choose a tag to compare

Added

  • Add support for exporting pylock.toml files with poetry-plugin-export (#10677).
  • Add support for specifying build constraints for dependencies (#10388).
  • Add support for publishing artifacts whose version is determined dynamically by the build-backend (#10644).
  • Add support for editable project plugins (#10661).
  • Check requires-poetry before any other validation (#10593).
  • Validate the content of project.readme when running poetry check (#10604).
  • Add the option to clear all caches by making the cache name in poetry cache clear optional (#10627).
  • Automatically update the cache for packages where the locked files differ from cached files (#10657).
  • Suggest to clear the cache if running a command with --no-cache solves an issue (#10585).
  • Propose poetry init when trying poetry new for an existing directory (#10563).
  • Add support for poetry publish --skip-existing for new Nexus OSS versions (#10603).
  • Show Poetry's own Python's path in poetry debug info (#10588).

Changed

  • Drop support for Python 3.9 (#10634).
  • Change the default of installer.re-resolve from true to false (#10622).
  • PEP 735 dependency groups are considered in the lock file hash (#10621).
  • Deprecate poetry.utils._compat.metadata, which is sometimes used in plugins, in favor of importlib.metadata (#10634).
  • Improve managing free-threaded Python versions with poetry python (#10606).
  • Prefer JSON API to HTML API in legacy repositories (#10672).
  • When running poetry init, only add the readme field in the pyproject.toml if the readme file exists (#10679).
  • Raise an error if no hash can be determined for any distribution link of a package (#10673).
  • Require dulwich>=0.25.0 (#10674).

Fixed

  • Fix an issue where poetry remove did not work for PEP 735 dependency groups with include-group items (#10587).
  • Fix an issue where poetry remove caused dangling include-group references in PEP 735 dependency groups (#10590).
  • Fix an issue where poetry add did not work for PEP 735 dependency groups with include-group items (#10636).
  • Fix an issue where PEP 735 dependency groups were not considered in the lock file hash (#10621).
  • Fix an issue where wrong markers were locked for a dependency that was required by several groups with different markers (#10613).
  • Fix an issue where non-deterministic markers were created in a method used by poetry-plugin-export (#10667).
  • Fix an issue where wrong wheels were chosen for installation in free-threaded Python environments if Poetry itself was not installed with free-threaded Python (#10614).
  • Fix an issue where poetry publish used the metadata of the project instead of the metadata of the build artifact (#10624).
  • Fix an issue where poetry env use just used another Python version instead of failing when the requested version was not supported by the project (#10685).
  • Fix an issue where poetry env activate returned the wrong command for dash (#10696).
  • Fix an issue where data-dir and python.installation-dir could not be set (#10595).
  • Fix an issue where Python and pip executables were not correctly detected on Windows (#10645).
  • Fix an issue where invalid template variables in virtualenvs.prompt caused an incomprehensible error message (#10648).

Docs

  • Add a warning about ~/.netrc for Poetry credential configuration (#10630).
  • Clarify that the local configuration takes precedence over the global configuration (#10676).
  • Add an explanation in which cases packages are automatically detected (#10680).

poetry-core (2.3.0)

  • Normalize versions (#893).
  • Fix an issue where unsatisfiable requirements did not raise an error (#891).
  • Fix an issue where the implicit main group did not exist if it was explicitly declared as not having any dependencies (#892).
  • Fix an issue where python_full_version markers with pre-release versions were parsed incorrectly (#893).

2.2.1

21 Sep 14:50

Choose a tag to compare

Fixed

  • Fix an issue where poetry self show failed with a message about an invalid output format (#10560).

Docs

  • Remove outdated statements about dependency groups (#10561).

poetry-core (2.2.1)

  • Fix an issue where it was not possible to declare a PEP 735 dependency group as optional (#888).

2.2.0

14 Sep 11:43

Choose a tag to compare

Added

  • Add support for nesting dependency groups (#10166).
  • Add support for PEP 735 dependency groups (#10130).
  • Add support for PEP 639 license clarity (#10413).
  • Add a --format option to poetry show to alternatively output json format (#10487).
  • Add official support for Python 3.14 (#10514).

Changed

  • Normalize dependency group names (#10387).
  • Change installer.no-binary and installer.only-binary so that explicit package names will take precedence over :all: (#10278).
  • Improve log output during poetry install when a wheel is built from source (#10404).
  • Improve error message in case a file lock could not be acquired while cloning a git repository (#10535).
  • Require dulwich>=0.24.0 (#10492).
  • Allow virtualenv>=20.33 again (#10506).
  • Allow findpython>=0.7 (#10510).
  • Allow importlib-metadata>=8.7 (#10511).

Fixed

  • Fix an issue where poetry new did not create the project structure in an existing empty directory (#10431).
  • Fix an issue where a dependency that was required for a specific Python version was not installed into an environment of a pre-release Python version (#10516).

poetry-core (2.2.0)

  • Deprecate table values and values that are not valid SPDX expressions for [project.license] (#870).
  • Fix an issue where explicitly included files that are in .gitignore were not included in the distribution (#874).
  • Fix an issue where marker operations could result in invalid markers (#875).

2.1.4

05 Aug 03:52

Choose a tag to compare

Changed

  • Require virtualenv<20.33 to work around an issue where Poetry uses the wrong Python version (#10491).
  • Improve the error messages for the validation of the pyproject.toml file (#10471).

Fixed

  • Fix an issue where project plugins were installed even though poetry install was called with --no-plugins (#10405).
  • Fix an issue where dependency resolution failed for self-referential extras with duplicate dependencies (#10488).

Docs

  • Clarify how to include files that were automatically excluded via VCS ignore settings (#10442).
  • Clarify the behavior of poetry add if no version constraint is explicitly specified (#10445).

2.1.3

04 May 13:37

Choose a tag to compare

Changed

  • Require importlib-metadata<8.7 for Python 3.9 because of a breaking change in importlib-metadata 8.7 (#10374).

Fixed

  • Fix an issue where re-locking failed for incomplete multiple-constraints dependencies with explicit sources (#10324).
  • Fix an issue where the --directory option did not work if a plugin, which accesses the poetry instance during its activation, was installed (#10352).
  • Fix an issue where poetry env activate -v printed additional information to stdout instead of stderr so that the output could not be used as designed (#10353).
  • Fix an issue where the original error was not printed if building a git dependency failed (#10366).
  • Fix an issue where wheels for the wrong platform were installed in rare cases. (#10361).

poetry-core (2.1.3)

  • Fix an issue where the union of specific inverse or partially inverse markers was not simplified (#858).
  • Fix an issue where optional dependencies defined in the project section were treated as non-optional when a source was defined for them in the tool.poetry section (#857).
  • Fix an issue where markers with === were not parsed correctly (#860).
  • Fix an issue where local versions with upper case letters caused an error (#859).
  • Fix an issue where extra markers with a value starting with "in" were not validated correctly (#862).

2.1.2

29 Mar 21:38

Choose a tag to compare

Changed

  • Improve performance of locking dependencies (#10275).

Fixed

  • Fix an issue where markers were not locked correctly (#10240).
  • Fix an issue where the result of poetry lock was not deterministic (#10276).
  • Fix an issue where poetry env activate returned the wrong command for tcsh (#10243).
  • Fix an issue where poetry env activate returned the wrong command for pwsh on Linux (#10256).

Docs

  • Update basic usage section to reflect new default layout (#10203).

poetry-core (2.1.2)

  • Improve performance of marker operations (#851).
  • Fix an issue where incorrect markers were calculated when removing parts covered by the project's Python constraint (#841, #846).
  • Fix an issue where extra markers were not simplified (#842, #845, #847).
  • Fix an issue where the intersection and union of markers was not deterministic (#843).
  • Fix an issue where the intersection of python_version markers was not recognized as empty (#849).
  • Fix an issue where python_version markers were not simplified (#848, #851).
  • Fix an issue where Python constraints on a package were converted into invalid markers (#853).

2.1.1

16 Feb 21:04

Choose a tag to compare

Fixed

  • Fix an issue where poetry env use python does not choose the Python from the PATH (#10187).

poetry-core (2.1.1)

  • Fix an issue where simplifying a python_version marker resulted in an invalid marker (#838).

2.1.0

15 Feb 14:07

Choose a tag to compare

Added

  • Make build command build-system agnostic (#10059, #10092).
  • Add a --config-settings option to poetry build (#10059).
  • Add support for defining config-settings when building dependencies (#10129).
  • Add (experimental) commands to manage Python installations (#10112).
  • Use findpython to find the Python interpreters (#10097).
  • Add a --no-truncate option to poetry show (#9580).
  • Re-add support for passwords with empty usernames (#10088).
  • Add better error messages (#10053, #10065, #10126, #10127, #10132).

Changed

  • poetry new defaults to "src" layout by default (#10135).
  • Improve performance of locking dependencies (#10111, #10114, #10138, #10146).
  • Deprecate adding sources without specifying --priority (#10134).

Fixed

  • Fix an issue where global options were not handled correctly when positioned after command options (#10021, #10067, #10128).
  • Fix an issue where building a dependency from source failed because of a conflict between build-system dependencies that were not required for the target environment (#10048).
  • Fix an issue where poetry init was not able to find a package on PyPI while adding dependencies interactively (#10055).
  • Fix an issue where the @latest descriptor was incorrectly passed to the core requirement parser (#10069).
  • Fix an issue where Boolean environment variables set to True (in contrast to true) were interpreted as false (#10080).
  • Fix an issue where poetry env activate reported a misleading error message (#10087).
  • Fix an issue where adding an optional dependency with poetry add --optional would not correctly update the lock file (#10076).
  • Fix an issue where pip was not installed/updated before other dependencies resulting in a race condition (#10102).
  • Fix an issue where Poetry freezes when multiple threads attempt to unlock the keyring simultaneously (#10062).
  • Fix an issue where markers with extras were not locked correctly (#10119).
  • Fix an issue where self-referential extras were not resolved correctly (#10106).
  • Fix an issue where Poetry could not be run from a zipapp (#10074).
  • Fix an issue where installation failed with a permission error when using the system environment as a user without write access to system site packages (#9014).
  • Fix an issue where a version of a dependency that is not compatible with the project's python constraint was locked. (#10141).
  • Fix an issue where Poetry wrongly reported that the current project's supported Python range is not compatible with some of the required packages Python requirement (#10157).
  • Fix an issue where the requested extras of a dependency were ignored if the same dependency (with same extras) was specified in multiple groups (#10158).

Docs

  • Sort commands by name in the CLI reference (#10035).
  • Add missing documentation for env commands (#10027).
  • Clarify that the name and version fields are always required if the project section is specified (#10033).
  • Add a note about restarting the shell for tab completion changes to take effect (#10070).
  • Fix the example for project.gui-scripts #10121.
  • Explain how to include files as scripts in the project configuration (#9572, #10133).
  • Add additional information on specifying required python versions (#10104).

poetry-core (2.1.0)

  • Fix an issue where inclusive ordering with post releases was inconsistent with PEP 440 (#379).
  • Fix an issue where invalid URI tokens in PEP 508 requirement strings were silently discarded (#817).
  • Fix an issue where wrong markers were calculated when removing parts covered by the project's python constraint (#824).
  • Fix an issue where optional dependencies that are not part of an extra were included in the wheel metadata (#830).
  • Fix an issue where the __pycache__ directory and *.pyc files were included in sdists and wheels (#835).