Change8

2.1.3

Breaking Changes
📦 poetryView on GitHub →
1 breaking🐛 10 fixes🔧 3 symbols

Summary

This release pins importlib-metadata<8.7 for Python 3.9 due to upstream breaking changes and includes numerous bug fixes across Poetry and poetry-core.

⚠️ Breaking Changes

  • importlib-metadata version 8.7 introduced a breaking change; Poetry now requires importlib-metadata<8.7 on Python 3.9 to maintain compatibility.

Migration Steps

  1. For projects using Python 3.9, pin importlib-metadata to a version lower than 8.7 (e.g., add `importlib-metadata<8.7` to your dependencies).

🐛 Bug Fixes

  • Fixed re-locking failure for incomplete multiple-constraints dependencies with explicit sources.
  • Fixed the `--directory` option not working when a plugin accessed the Poetry instance during activation.
  • Fixed `poetry env activate -v` printing additional information to stdout instead of stderr.
  • Fixed missing original error output when building a git dependency failed.
  • Fixed installation of wheels for the wrong platform in rare cases.
  • Fixed poetry-core: union of specific inverse or partially inverse markers was not simplified.
  • Fixed poetry-core: optional dependencies defined in the `project` section were treated as non-optional when a source was defined in `tool.poetry`.
  • Fixed poetry-core: markers with `===` were not parsed correctly.
  • Fixed poetry-core: local versions containing uppercase letters caused an error.
  • Fixed poetry-core: `extra` markers with values starting with "in" were not validated correctly.

🔧 Affected Symbols

importlib_metadatapoetry.env.activatepoetry.core.markers