Skip to content

Releases: python-poetry/poetry

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)

1.2.0b2

06 Jun 21:40
Compare
Choose a tag to compare
1.2.0b2 Pre-release
Pre-release

Added

  • Added support for multiple-constraint direct origin dependencies with the same version (#5715)
  • Added support disabling TLS verification for custom package sources via poetry config certificates.<repository>.cert false (#5719
  • Added new configuration (virtualenvs.prompt) to customize the prompt of the Poetry-managed virtual environment (#5606)
  • Added progress indicator to download_file (used when downloading dists) (#5451)
  • Added --dry-run to poetry version command (#5603)
  • Added --why to poetry show (#5444)
  • Added support for single page (html) repositories (#5517)
  • Added support for PEP 508 strings when adding dependencies via poetry add command (#5554)
  • Added --no-cache as a global option (#5519)
  • Added cert retrieval for HTTP requests made by Poetry (#5320)
  • Added --skip-existing to poetry publish (#2812)
  • Added --all-extras to poetry install (#5452)
  • Added new poetry self sub-commands to manage plugins and/or system environment packages, eg: keyring backends (#5450)
  • Added new configuration (installer.no-binary) to allow selection of non-binary distributions when installing a dependency (#5609)

Changed

  • poetry plugin commands are now deprecated in favor of the more generic poetry self commands (#5450)
  • When creating new projects, Poetry no longer restricts README extensions to md and rst (#5357)
  • Changed the provider to allow fallback to installed packages (#5704)
  • Solver now correctly handles and prefers direct reference constraints (vcs, file etc.) over public version identifiers (#5654)
  • Changed the build script behavior to create an ephemeral build environment when a build script is specified (#5401)
  • Improved performance when determining PEP 517 metadata from sources (#5601)
  • Project package sources no longer need to be redefined as global repositories when configuring credentials (#5563)
  • Replaced external git command use with dulwich, in order to force the legacy behaviour set experimental.system-git-client configuration to true (#5428)
  • Improved http request handling for sources and multiple paths on same netloc (#5518)
  • Made no-pip and no-setuptools configuration explicit (#5455)
  • Improved application logging, use of -vv now provides more debug information (#5503)
  • Renamed implicit group default to main (#5465)
  • Replaced in-tree implementation of poetry export with poetry-plugin-export (#5413)
  • Changed the password manager behavior to use a "null" keyring when disabled (#5251)
  • Incremental improvement of Solver performance (#5335)
  • Newly created virtual environments on macOS now are excluded from Time Machine backups (#4599)
  • Poetry no longer raises an exception when a package is not found on PyPI (#5698)
  • Update packaging dependency to use major version 21, this change forces Poetry to drop support for managing Python 2.7 environments (#4749)

Fixed

  • Fixed poetry update --dry-run to not modify poetry.lock (#5718, #3666, #3766)
  • Fixed #5537 where export fails to resolve dependencies with more than one path (#5688)
  • Fixed an issue where the environment variables POETRY_CONFIG_DIR and POETRY_CACHE_DIR were not being respected (#5672)
  • Fixed #3628 and #4702 by handling invalid distributions gracefully (#5645)
  • Fixed an issue where the provider ignored subdirectory when merging and improve subdirectory support for vcs deps (#5648)
  • Fixed an issue where users could not select an empty choice when selecting dependencies (#4606)
  • Fixed an issue where poetry init -n crashes in a root directory (#5612)
  • Fixed an issue where Solver errors arise due to wheels having different Python constraints (#5616)
  • Fixed an issue where editable path dependencies using setuptools could not be correctly installed (#5590)
  • Fixed flicker when displaying executor operations (#5556)
  • Fixed an issue where the poetry lock --no-update only sorted by name and not by name and version (#5446)
  • Fixed an issue where the Solver fails when a dependency has multiple constrained dependency definitions for the same package (#5403)
  • Fixed an issue where dependency resolution takes a while because Poetry checks all possible combinations even markers are mutually exclusive (#4695)
  • Fixed incorrect version selector constraint (#5500)
  • Fixed an issue where poetry lock --no-update dropped packages (#5435)
  • Fixed an issue where packages were incorrectly grouped when exporting (#5156)
  • Fixed an issue where lockfile always updates when using private sources (#5362)
  • Fixed an issue where the solver did not account for selected package features (#5305)
  • Fixed an issue with console script execution of editable dependencies on Windows (#3339)
  • Fixed an issue where editable builder did not write PEP-610 metadata (#5703)
  • Fixed an issue where Poetry 1.1 lock files were incorrectly identified as not fresh (#5458)

Docs

  • Updated plugin management commands (#5450)
  • Added the --readme flag to documentation (#5357)
  • Added example for multiple maintainers (#5661)
  • Updated documentation for issues #4800, #3709, #3573, #2211 and #2414 (#5656)
  • Added poetry.toml note in configuration (#5492)
  • Add documentation for poetry about, poetry help, poetrylist, and the --full-path and --all options documentation (#5664)
  • Added more clarification to the --why flag (#5653)
  • Updated documentation to refer to PowerShell for Windows, including instructions (#3978, #5618)
  • Added PEP 508 name requirement (#5642)
  • Added example for each section of pyproject.toml (#5585)
  • Added documentation for --local to fix issue #5623 (#5629)
  • Added troubleshooting documentation for using proper quotation with ZSH (#4847)
  • Added information on git and basic http auth ([#5578](https://github.com/python-poetry...
Read more

1.2.0b1

17 Mar 10:49
Compare
Choose a tag to compare
1.2.0b1 Pre-release
Pre-release

Fixed

  • Fixed an issue where the system environment couldn't be detected (#4406).
  • Fixed another issue where the system environment couldn't be detected (#4433).
  • Replace deprecated requests parameter in uploader (#4580).
  • Fix an issue where venv are detected as broken when using MSys2 on windows (#4482).
  • Fixed an issue where the cache breaks on windows (#4531).
  • Fixed an issue where a whitespace before a semicolon was missing on poetry export (#4575).
  • Fixed an issue where markers were not correctly assigned to nested dependencies (#3511).
  • Recognize one digit version in wheel filenames (#3338).
  • Fixed an issue when locale is unset (#4038).
  • Fixed an issue where the fallback to another interpreter didn't work (#3475).
  • Merge any marker constraints into constraints with specific markers (#4590).
  • Normalize path before hashing so that the generated venv name is independent of case on Windows (#4813).
  • Fixed an issue where a dependency wasn't upgrade by using @latest on poetry update (#4945).
  • Fixed an issue where conda envs in windows are always reported as broken(#5007).
  • Fixed an issue where Poetry doesn't find its own venv on poetry self update (#5049).
  • Fix misuse of pretty_constraint (#4932).
  • Fixed an issue where the reported python version used for venv creation wasn't correct (#5086).
  • Fixed an issue where the searched package wasn't display in the interactive dialog of poetry init (#5076).
  • Fixed an issue where Poetry raises an exception on poetry show when no lock files exists (#5242).
  • Fixed an issue where Poetry crashes when optional vcs_info.requested_version in direct_url.json wasn't included (#5274).
  • Fixed an issue where dependencies with extras were updated despite using --no-update (#4618).
  • Fixed various places where poetry writes messages to stdout instead of stderr (#4110, #5179).
  • Ensured that when complete packages are created dependency inherits source and resolved refs from package (#4604).
  • Ensured that when complete packages are created dependency inherits subdirectory from package if supported (#4604).
  • Fixed an issue where POETRY_EXPERIMENTAL_NEW_INSTALLER needs to be set to an empty string to disable it (#3811).

Added

  • poetry show <package> now also shows which packages depend on it (#2351).
  • The info dialog by poetry about now contains version information about installed poetry and poetry-core (#5288).
  • Print error message when poetry publish fails (#3549).
  • Added in info output to poetry lock --check (#5081).
  • Added new argument --all for poetry env remove to delete all venv of a project at once (#3212).
  • Added new argument --without-urls for poetry export to exclude source repository urls from the exported file (#4763).
  • Added a new installer.max-workers property to the configuration (#3516).
  • Added experimental option virtualenvs.prefer-active-python to detect current activated python (#4852).
  • Added better windows shell support (#5053).

Changed

  • Drop python3.6 support (#5055).
  • Exit with callable return code in generated script (#4456).
  • Internal use of the pep517 high level interfaces for package metadata inspections have been replaced with the build package. (#5155).
  • Poetry now raises an error if the python version in the project environment is no longer compatible with the project (#4520).

1.1.13

10 Feb 21:33
6864994
Compare
Choose a tag to compare

Fixed

  • Fixed an issue where envs in MSYS2 always reported as broken (#4942)
  • Fixed an issue where conda envs in windows are always reported as broken(#5008)
  • Fixed an issue where Poetry doesn't find its own venv on poetry self update (#5048)

1.1.12

28 Nov 06:15
1.1.12
Compare
Choose a tag to compare

Fixed

  • Fixed broken caches on Windows due to Path starting with a slash (#4549)
  • Fixed JSONDecodeError when installing packages by updating cachecontrol version (#4831)
  • Fixed dropped markers in dependency walk (#4686)