Skip to content

Releases: python-poetry/poetry

1.3.1

12 Dec 01:31
1.3.1
Compare
Choose a tag to compare

Fixed

  • Fix an issue where an explicit dependency on lockfile was missing, resulting in a broken Poetry in rare circumstances (7169).

1.3.0

09 Dec 21:03
1.3.0
Compare
Choose a tag to compare

Added

  • Mark the lock file with an @generated comment as used by common tooling (#2773).
  • poetry check validates trove classifiers and warns for deprecations (#2881).
  • Introduce a top level -C, --directory option to set the working path (#6810).

Changed

  • New lock file format (version 2.0) (#6393).
  • Path dependency metadata is unconditionally re-locked (#6843).
  • URL dependency hashes are locked (#7121).
  • poetry update and poetry lock should now resolve dependencies more similarly (#6477).
  • poetry publish will report more useful errors when a file does not exist (#4417).
  • poetry add will check for duplicate entries using canonical names (#6832).
  • Wheels are preferred to source distributions when gathering metadata (#6547).
  • Git dependencies of extras are only fetched if the extra is requested (#6615).
  • Invoke pip with --no-input to prevent hanging without feedback (#6724, #6966).
  • Invoke pip with --isolated to prevent the influence of user configuration (#6531).
  • Interrogate environments with Python in isolated (-I) mode (#6628).
  • Raise an informative error when multiple version constraints overlap and are incompatible (#7098).

Fixed

  • Fix an issue where concurrent instances of Poetry would corrupt the artifact cache (#6186).
  • Fix an issue where Poetry can hang after being interrupted due to stale locking in cache (#6471).
  • Fix an issue where the output of commands executed with --dry-run contained duplicate entries (#4660).
  • Fix an issue where requests's pool size did not match the number of installer workers (#6805).
  • Fix an issue where poetry show --outdated failed with a runtime error related to direct origin dependencies (#6016).
  • Fix an issue where only the last command of an ApplicationPlugin is registered (#6304).
  • Fix an issue where git dependencies were fetched unnecessarily when running poetry lock --no-update (#6131).
  • Fix an issue where stdout was polluted with messages that should go to stderr (#6429).
  • Fix an issue with poetry shell activation and zsh (#5795).
  • Fix an issue where a url dependencies were shown as outdated (#6396).
  • Fix an issue where the source field of a dependency with extras was ignored (#6472).
  • Fix an issue where a package from the wrong source was installed for a multiple-constraints dependency with different sources (#6747).
  • Fix an issue where dependencies from different sources where merged during dependency resolution (#6679).
  • Fix an issue where experimental.system-git-client could not be used via environment variable (#6783).
  • Fix an issue where Poetry fails with an AssertionError due to distribution.files being None (#6788).
  • Fix an issue where poetry env info did not respect virtualenvs.prefer-active-python (#6986).
  • Fix an issue where poetry env list does not list the in-project environment (#6979).
  • Fix an issue where poetry env remove removed the wrong environment (#6195).
  • Fix an issue where the return code of a script was not relayed as exit code (#6824).
  • Fix an issue where the solver could silently swallow ValueError (#6790).

Docs

  • Improve documentation of package sources (#5605).
  • Correct the default cache path on Windows (#7012).

poetry-core (1.4.0)

  • The PEP 517 metadata_directory is now respected as an input to the build_wheel hook (#487).
  • ParseConstraintError is now raised on version and constraint parsing errors, and includes information on the package that caused the error (#514).
  • Fix an issue where invalid PEP 508 requirements were generated due to a missing space before semicolons (#510).
  • Fix an issue where relative paths were encoded into package requirements, instead of a file:// URL as required by PEP 508 (#512).

poetry-plugin-export (^1.2.0)

  • Ensure compatibility with Poetry 1.3.0. No functional changes.

cleo (^2.0.0)

  • Fix an issue where shell completions had syntax errors (#247).
  • Fix an issue where not reading all the output of a command resulted in a "Broken pipe" error (#165).
  • Fix an issue where errors were not shown in non-verbose mode (#166).

1.2.2

10 Oct 19:43
1.2.2
337e90f
Compare
Choose a tag to compare

Added

  • Add forward compatibility for lock file format 2.0, which will be used by Poetry 1.3 (#6608).

Changed

  • Allow poetry lock to re-generate the lock file when invalid or incompatible (#6753).

Fixed

  • Fix an issue where the deprecated JSON API was used to query PyPI for available versions of a package (#6081).
  • Fix an issue where versions were escaped wrongly when building the wheel name (#6476).
  • Fix an issue where the installation of dependencies failed if pip is a dependency and is updated in parallel to other dependencies (#6582).
  • Fix an issue where the names of extras were not normalized according to PEP 685 (#6541).
  • Fix an issue where sdist names were not normalized (#6621).
  • Fix an issue where invalid constraints, which are ignored, were only reported in a debug message instead of a warning (#6730).
  • Fix an issue where poetry shell was broken in git bash on Windows (#6560).

Docs

  • Rework the README and contribution docs (#6552).
  • Fix for inconsistent docs for multiple-constraint dependencies (#6604).
  • Rephrase plugin configuration (#6557).
  • Add a note about publishable repositories to publish (#6641).
  • Fix the path for lazy-loaded bash completion (#6656).
  • Fix a reference to the invalid option --require (#6672).
  • Add a PowerShell one-liner to the basic usage section (#6683).
  • Fix the minimum poetry version in the example for plugins (#6739).

poetry-core (1.3.2)

  • Add 3.11 to the list of available Python versions (#477).
  • Fix an issue where caret constraints of pre-releases with a major version of 0 resulted in an empty version range (#475).

poetry-plugin-export (^1.1.2)

  • Add support for exporting constraints.txt files (#128).
  • Fix an issue where a relative path passed via -o was not interpreted relative to the current working directory (#130).

1.2.1

16 Sep 18:22
Compare
Choose a tag to compare

Changed

  • Bump poetry-core to 1.2.0.
  • Bump poetry-plugin-export to ^1.0.7.

Fixed

  • Fix an issue where poetry cache clear did not respect the -n/--no-interaction flag (#6338).
  • Fix an issue where poetry lock --no-update updated dependencies from non-PyPI package sources (#6335).
  • Fix a poetry install performance regression by falling back to internal pip (#6062).
  • Fix an issue where a virtual environment was created unnecessarily when running poetry export (#6282).
  • Fix an issue where poetry lock --no-update added duplicate hashes to the lock file (#6389).
  • Fix an issue where poetry install fails because of missing hashes for url dependencies (#6389).
  • Fix an issue where Poetry was not able to update pip in Windows virtual environments (#6430).
  • Fix an issue where Poetry was not able to install releases that contained less common link types (#5767).
  • Fix a poetry lock performance regression when checking non-PyPI sources for yanked versions (#6442).
  • Fix an issue where --no-cache was not respected when running poetry install (#6479).
  • Fix an issue where deprecation warnings for --dev were missing (#6475).
  • Fix an issue where Git dependencies failed to clone when insteadOf was used in .gitconfig using the Dulwich Git client (#6506).
  • Fix an issue where no cache entry is found when calling poetry cache clear with a non-normalized package name (#6537).
  • Fix an invalid virtualenv constraint on Poetry (#6402).
  • Fix outdated build system requirements for Poetry (#6509).

Docs

  • Add missing path segment to paths used by install.python-poetry.org (#6311).
  • Add recommendations about how to install Poetry in a CI environment (#6345).
  • Fix examples for --with and --without (#6318).
  • Update configuration folder path for macOS (#6395).
  • Improve the description of the virtualenv.create option (#6460).
  • Clarify that poetry install removes dependencies of non-installed extras (#6229).
  • Add a note about pre-commit autoupdate and Poetry's hooks (#6497).

1.2.0

31 Aug 03:46
Compare
Choose a tag to compare

Note that this release makes the new install format (and thus new installer or an alternative supported install method) a hard requirement.

If you are currently installing using the deprecated get-poetry.py, you will be unable to install Poetry 1.2.
Additionally, Poetry 1.1 installed using get-poetry.py will be not be able to update using poetry self update.

See the 1.2.0 release announcement for a summary of how to migrate to install.python-poetry.org if you fall into one of these two cases.

Docs

  • Added note about how to add a git dependency with a subdirectory (#6218)
  • Fixed several style issues in the docs (#6255)
  • Fixed outdated info about --only parameter (#6264)

1.2.0rc2

26 Aug 14:12
74d6781
Compare
Choose a tag to compare
1.2.0rc2 Pre-release
Pre-release

Fixed

  • Fixed an issue where virtual environments were created unnecessarily when running poetry self commands (#6226)
  • Ensure that packages' pretty_name are written to the lock file (#6243)

Improvements

  • Improved the consistency of Pool().remove_repository() to make it easier to write poetry plugins (#6231)

Docs

  • Removed mentions of Python 2.7 from docs (#6235)
  • Added note about the difference between groups and extras (#6232)

1.2.0rc1

23 Aug 01:21
77e9d35
Compare
Choose a tag to compare
1.2.0rc1 Pre-release
Pre-release

Added

  • Added support for subdirectories in git dependencies (#5172)
  • Added support for yanked releases and files (PEP-592) (#5841)
  • Virtual environments can now be created even with empty project names (#5856)
  • Added support for nushell in poetry shell (#6063)

Changed

  • Poetry now falls back to gather metadata for dependencies via pep517 if parsing pyproject.toml fails (#5834)
  • Replaced Poetry's helper method canonicalize_name() with packaging.utils.canonicalize_name() (#6022)
  • Removed code for the export command, which is now provided via plugin (#6128)
  • Extras and extras dependencies are now sorted in the lock file (#6169)
  • Removed deprecated (1.2-only) CLI options (#6210)

Fixed

  • Fixed an issue where symlinks in the lock file were not resolved (#5850)
  • Fixed a tomlkit regression resulting in inconsistent line endings (#5870)
  • Fixed an issue where the POETRY_PYPI_TOKEN_PYPI environment variable wasn't respected (#5911)
  • Fixed an issue where neither Python nor a managed venv can be found, when using Python from MS Store (#5931)
  • Improved error message of poetry publish in the event of an upload error (#6043)
  • Fixed an issue where poetry lock fails without output (#6058)
  • Fixed an issue where Windows drive mappings break virtual environment names (#6110)
  • tomlkit versions with memory leak are now avoided (#6160)
  • Fixed an infinite loop in the solver (#6178)
  • Fixed an issue where latest version was used instead of locked one for vcs dependencies with extras (#6185)

Docs

  • Document use of the subdirectory parameter (#5949)
  • Document suggested tox config for different use cases (#6026)

1.1.15

22 Aug 10:55
46bf7fd
Compare
Choose a tag to compare

Changed

  • Poetry now fallback to gather metadata for dependencies via pep517 if parsing pyproject.toml fail (#6206)
  • Extras and extras dependencies are now sorted in lock file (#6207)

1.2.0b3

13 Jul 21:37
Compare
Choose a tag to compare
1.2.0b3 Pre-release
Pre-release

Important: This release fixes a critical issue that prevented hashes from being retrieved when locking dependencies, due to a breaking change on PyPI JSON API (see #5972 and the upstream change for more details).

After upgrading, you have to clear Poetry cache manually to get that feature working correctly again:

$ poetry cache clear pypi --all

Added

  • Added --only-root to poetry install to install a project without its dependencies (#5783)

Changed

  • Improved user experience of poetry init (#5838)
  • Added default timeout for all HTTP requests, to avoid hanging requests (#5881)
  • Updated poetry init to better specify how to skip adding dependencies (#5946)
  • Updated Poetry repository names to avoid clashes with user-defined repositories (#5910)

Fixed

  • Fixed an issue where extras where not handled if they did not match the case-sensitive name of the packages (#4122)
  • Fixed configuration of experimental.system-git-client option through poetry config (#5818)
  • Fixed uninstallation of git dependencies on Windows (#5836)
  • Fixed an issue where ~ was not correctly expanded in virtualenvs.path (#5848)
  • Fixed an issue where installing/locking dependencies would hang when setting an incorrect git repository (#5880)
  • Fixed an issue in poetry publish when keyring was not properly configured (#5889)
  • Fixed duplicated line output in console (#5890)
  • Fixed an issue where the same wheels where downloaded multiple times during installation (#5871)
  • Fixed an issue where dependencies hashes could not be retrieved when locking due to a breaking change on PyPI JSON API (#5973)
  • Fixed an issue where a dependency with non-requested extras could not be installed if it is requested with extras by another dependency (#5770)
  • Updated git backend to correctly read local/global git config when using dulwich as a git backend (#5935)
  • Fixed an issue where optional dependencies where not correctly exported when defining groups (#5819)

Docs

  • Fixed configuration instructions for repositories specification (#5809)
  • Added a link to dependency specification from pyproject.toml (#5815)
  • Improved zsh autocompletion instructions (#5859)
  • Improved installation and update documentations (#5857)
  • Improved exact requirements documentation (#5874)
  • Added documentation for @ operator (#5822)
  • Improved autocompletion documentation (#5879)
  • Improved scripts definition documentation (#5884)

1.1.14

08 Jul 14:34
dac371b
Compare
Choose a tag to compare

Fixed

  • Fixed an issue where dependencies hashes could not be retrieved when locking due to a breaking change on PyPI JSON API (#5973)