NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #475 most downloaded on PyPI
Python dependency management and packaging made easy.
Last release 14 days ago
20 Sep 2026
Release timing varies
gaps range from 2 weeks to 4 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
191 releases · first in 2018
Fix an issue where uninstalling a package with installer.builtin-uninstall set failed with a TypeError ( #11077 ).
installer.builtin-uninstall set failed with a TypeError (#11077).Add an installer.builtin-uninstall setting to uninstall packages with a built-in uninstaller instead of invoking pip uninstall ( #10931 ).
installer.builtin-uninstall setting to uninstall packages with a built-in uninstaller instead of invoking pip uninstall (#10931).https repository via http (#11073).virtualenvs.create is false (#10941).poetry init (#10909).pyproject.toml file in the message about already present packages in poetry add (#10908).poetry search for single-token queries (#10906).requests (#11004).KeyError (#11008).pyproject.toml file (#10987).develop setting changed (#11022).file were not installed when installing the project (#10736).direct_url.json for path dependencies (#10917).poetry show <package> showed a version that was not relevant for the current environment if there were multiple versions of the package in the lock file (#11003).poetry show --outdated did not find newer versions of packages from sources with explicit priority (#10982).poetry env activate ignored the environment that was determined by the application, e.g. when using --directory (#10916).poetry init proposed an invalid package name if the directory name was not a valid package name (#10975).--license option of poetry init and poetry new (#11064).poetry update with dependency groups (#11024).poetry run with console scripts (#10984).--no-cache disables (#10915).poetry self update (#10923).2.5.0)<V version constraint wrongly allowed pre-releases of V in some cases (#939).!= <value> constraint was wrongly considered to allow all values of a <value> not in constraint (#955).platform_release markers with incompatible constraint types failed (#956).IndexError (#964).IndexError (#971).~= constraint was wrong for versions with more than three release segments (#973).One column per quarter.
Fix an issue where Poetry could not extract sdists on Python 3.10.0-3.10.12 and 3.11.0-3.11.4 ( #11037 ).
Fix a path traversal vulnerability when downloading files from a compromised URL and/or package source ( #11029 ).
Re-allow installer==0.7.0 ( #10887 ).
installer==0.7.0 (#10887).poetry update <package> failed when <package> was a transitive dependency (#10885).Add solver.min-release-age setting to require package releases to be a certain number of days old before they are considered during dependency resolut
solver.min-release-age setting to require package releases to be a certain number of days old before they are considered during dependency resolution (#10824).solver.min-release-age-exclude to exclude selected packages from age filtering (#10824).solver.min-release-age-exclude-source to exclude all packages from selected package indexes from age filtering (#10824).poetry update (#10721).installer>=1.0.0 (#10869).findpython>=0.8 (#10874).requires-plugins fails on Windows if scheme paths are on different drives (#10869).poetry self commands failed due to an outdated lock file (#10715).poetry env activate did not work for bash on Windows (#10716).poetry debug resolve failed when there was a package with a marker (#10807).--config-settings (#10804).poetry publish --build ignored failing builds and uploaded stale artifacts (#10802).poetry publish was aborted instead of retrying after package registration (#10801).lazy-wheel (#10800).lazy-wheel was corrupted when part of it had already been cached (#10806).METADATA file caused an exception on Python 3.15+ (#10860).http-basic could not be set for repository names with periods (#10845)..gitignore on tool.poetry.packages (#10835).2.4.0)packaging to 26.2 (#936).Fix a path traversal vulnerability in sdist extraction on Python 3.10.0-3.10.12 and 3.11.0-3.11.4 that could allow malicious tarball files to write fi…
Fix a path traversal vulnerability in the wheel installer that could allow malicious wheel files to write files outside the intended installation dire…
git dependencies from annotated tags could not be updated (#10719).VIRTUAL_ENV or CONDA_PREFIX environment variables (e.g., after conda deactivate) would cause Poetry to incorrectly detect an active virtualenv (#10784)..venv was a file instead of a directory (#10777).poetry publish --no-interaction --build requested user interaction (#10769).poetry init and poetry new created a deprecated project.license format (#10787).poetry install and poetry update (#10713).pyproject.toml examples (#10753).poetry cache clear example (#10749).pipx installation instructions (#10783).2.3.2)platform_release could not be parsed on Debian Trixie (#930).project.readme.text in the pyproject.toml file resulted in broken metadata (#914).include-group entries were lost when [tool.poetry.group] also defined include-groups for the same group (#924).<value> not in <marker> constraints was wrongly treated as always satisfied (#925).> version constraint (#921).0 was treated as equal to the corresponding public version (#920).!= <version> constraint wrongly disallowed pre releases and post releases of the specified version (#929).in and not in constraints were wrongly not allowed by specific compound constraints (#927).Fix an issue where platform_release could not be parsed on Windows Server ( #911 ).
Fix an issue where cached information about each package was always considered outdated ( #10699 ).
Deprecate poetry.utils._compat.metadata , which is sometimes used in plugins, in favor of importlib.metadata ( #10634 ).
pylock.toml files with poetry-plugin-export (#10677).requires-poetry before any other validation (#10593).project.readme when running poetry check (#10604).poetry cache clear optional (#10627).--no-cache solves an issue (#10585).poetry init when trying poetry new for an existing directory (#10563).poetry publish --skip-existing for new Nexus OSS versions (#10603).poetry debug info (#10588).installer.re-resolve from true to false (#10622).poetry.utils._compat.metadata, which is sometimes used in plugins, in favor of importlib.metadata (#10634).poetry python (#10606).poetry init, only add the readme field in the pyproject.toml if the readme file exists (#10679).dulwich>=0.25.0 (#10674).poetry remove did not work for PEP 735 dependency groups with include-group items (#10587).poetry remove caused dangling include-group references in PEP 735 dependency groups (#10590).poetry add did not work for PEP 735 dependency groups with include-group items (#10636).poetry-plugin-export (#10667).poetry publish used the metadata of the project instead of the metadata of the build artifact (#10624).poetry env use just used another Python version instead of failing when the requested version was not supported by the project (#10685).poetry env activate returned the wrong command for dash (#10696).data-dir and python.installation-dir could not be set (#10595).virtualenvs.prompt caused an incomprehensible error message (#10648).~/.netrc for Poetry credential configuration (#10630).packages are automatically detected (#10680).2.3.0)python_full_version markers with pre-release versions were parsed incorrectly (#893).Fix an issue where poetry self show failed with a message about an invalid output format ( #10560 ).
Deprecate table values and values that are not valid SPDX expressions for [project.license] ( #870 ).
--format option to poetry show to alternatively output json format (#10487).installer.no-binary and installer.only-binary so that explicit package names will take precedence over :all: (#10278).poetry install when a wheel is built from source (#10404).dulwich>=0.24.0 (#10492).virtualenv>=20.33 again (#10506).findpython>=0.7 (#10510).importlib-metadata>=8.7 (#10511).poetry new did not create the project structure in an existing empty directory (#10431).2.2.0)Require virtualenv<20.33 to work around an issue where Poetry uses the wrong Python version ( #10491 ).
virtualenv<20.33 to work around an issue where Poetry uses the wrong Python version (#10491).pyproject.toml file (#10471).poetry install was called with --no-plugins (#10405).Require importlib-metadata<8.7 for Python 3.9 because of a breaking change in importlib-metadata 8.7 (#10374).
importlib-metadata<8.7 for Python 3.9 because of a breaking change in importlib-metadata 8.7 (#10374).--directory option did not work if a plugin, which accesses the poetry instance during its activation, was installed (#10352).poetry env activate -v printed additional information to stdout instead of stderr so that the output could not be used as designed (#10353).2.1.3)project section were treated as non-optional when a source was defined for them in the tool.poetry section (#857).=== were not parsed correctly (#860).extra markers with a value starting with "in" were not validated correctly (#862).Improve performance of locking dependencies (#10275).
poetry lock was not deterministic (#10276).poetry env activate returned the wrong command for tcsh (#10243).poetry env activate returned the wrong command for pwsh on Linux (#10256).2.1.2)extra markers were not simplified (#842, #845, #847).python_version markers was not recognized as empty (#849).python_version markers were not simplified (#848, #851).Fix an issue where poetry env use python does not choose the Python from the PATH (#10187).
Deprecate adding sources without specifying --priority (#10134).
build command build-system agnostic (#10059, #10092).--config-settings option to poetry build (#10059).config-settings when building dependencies (#10129).findpython to find the Python interpreters (#10097).--no-truncate option to poetry show (#9580).poetry new defaults to "src" layout by default (#10135).--priority (#10134).poetry init was not able to find a package on PyPI while adding dependencies interactively (#10055).@latest descriptor was incorrectly passed to the core requirement parser (#10069).True (in contrast to true) were interpreted as false (#10080).poetry env activate reported a misleading error message (#10087).poetry add --optional would not correctly update the lock file (#10076).pip was not installed/updated before other dependencies resulting in a race condition (#10102).keyring simultaneously (#10062).zipapp (#10074).env commands (#10027).name and version fields are always required if the project section is specified (#10033).project.gui-scripts #10121.2.1.0)__pycache__ directory and *.pyc files were included in sdists and wheels (#835).Replace the deprecated core metadata field Home-page with Project-URL: Homepage (#807).
poetry search in legacy sources (#9949).poetry source show output when PyPI is implicitly enabled (#9974).poetry sync did not remove packages that were not requested (#9946).poetry check failed even though there were just warnings and add a --strict option to fail on warnings (#9983).poetry update, poetry add and poetry remove with --only uninstalled packages from other groups (#10014).poetry update, poetry add and poetry remove uninstalled all extra packages (#10016).poetry self update did not recognize Poetry's own environment (#9995).poetry install started with Warning: instead of Error: (#9945).Command.set_poetry, which is used by plugins, was removed (#9981).poetry build --clean showed a malformed short option instead of the description (#9994).project section (#9996).project.readme and project.urls (#9948).poetry install --sync with poetry sync in the section about synchronizing dependencies (#9944).poetry shell with poetry env activate in the basic usage section (#9963).project.name is always required when the project section is used (#9989).poetry-plugin-export in the section about poetry export (#9954).2.0.1)Home-page with Project-URL: Homepage (#807).tool.poetry.packages without a specified format were not initialized with the default value resulting in a KeyError (#805).project.urls entries were not processed correctly resulting in a KeyError (#807).project.dependencies via tool.poetry.dependencies were ignored if project.optional-dependencies were defined (#811).Deprecate several fields in the tool.poetry section in favor of the respective fields in the project section in the pyproject.toml file (#9135).
project section in the pyproject.toml file according to PEP 621 (#9135, #9917).installer.re-resolve option (default: true) to allow installation without re-resolving (#9427).--local-version option to poetry build (#9064).--clean option to poetry build (#9067).poetry publish (#9101).poetry new interactively and configure more fields (#9101).installer.only-binary to enforce the use of binary distribution formats (#9150).poetry search in legacy sources (#9132).--all-groups option to poetry install (#9744).poetry env activate command as replacement of poetry shell (#9763).--markers option to poetry add to add a dependency with markers (#9814).--migrate option to poetry config to migrate outdated configs (#9830).--project option to search the pyproject.toml file in another directory without switching the directory (#9831).poetry sync command as replacement of poetry install --sync (#9801).poetry lock to --no-update and introduce a --regenerate option for the old default behavior (#9327).poetry-plugin-export so that poetry export is not included per default (#5980).poetry shell into poetry-plugin-shell (#9763).poetry add --optional to require an extra the optional dependency is added to (#9135).--directory/-C (#9831).experimental.system-git-client to experimental.system-git (#9787, #9795).virtualenvs.prefer-active-python by the inverse setting virtualenvs.use-poetry-python and prefer the active Python by default (#9786).tool.poetry section in favor of the respective fields in the project section in the pyproject.toml file (#9135).poetry install --sync in favor of poetry sync (#9801).platformdirs 2.0 macOS config directory (#8916).Requires-Dist with modern metadata (#9078).setup.py to determine dependencies (#9099).>= instead of ^ for the Python requirement when initializing a new project (#9558).build-system to the current major version of poetry-core when initializing a new project (#9812).installer.modern-installation = false (#9392).virtualenvs.options.no-setuptools config option and never include setuptools per default (#9331).Error suffix (#9705).--dev (#9732).poetry show <package> (#9750).crashtest (#9108).keyring>=23.3.1 (#9167).build>=1.2.1 (#9283).dulwich>=0.22.6 (#9748).poetry env remove failed if virtualenvs.in-project was set to true (#9118).poetry add resulted in a broken pyproject.toml (#9277).envs.toml (#9286).poetry build --directory (#9433).poetry install without an existing lock file (#9345).poetry-check pre-commit hook did not trigger if only poetry.lock has changed (#9504).virtualenvs.prefer-active-python was not respected (#9278).direct_url.json with vcs URLs not compliant with PEP 610 was written (#9007).installer.max-workers was ignored for the implicit PyPI source (#9815).poetry.toml) were ignored for the implicit PyPI source (#9816).dulwich versions resulted in different hashes for a git dependency from a tag (#9849).IndexError (#9505).allow-prereleases = false still allowed pre-releases if no other solution was found (#9798).poetry check falsely reported that an invalid source "pypi" is referenced in dependencies (#9475).poetry install --sync tried to uninstall system site packages if the virtual environment was created with virtualenvs.options.system-site-packages = true (#9863).pre-commit-autoupdate as an alternative to pre-commit autoupdate (#9716).exclude and include (#9734).~= (#9783).2.0.0)platform_release marker (#722).in / not in in generic constraints (#722).SOURCE_DATE_EPOCH when building packages (#766, #781).METADATA files with version 2.3 instead of 2.2 (#707).x in version constraints (#770).tool.poetry.dev-dependencies in favor of tool.poetry.group.dev.dependencies (#754).platlib directory of the wrong Python was used (#726).+ was not allowed in git URL paths (#765).Require pkginfo>=1.12 to fix an issue with an unknown metadata version 2.4 (#9888).
Add official support for Python 3.13 (#9523).
Add support for untagged CPython builds with versions ending with a + (#9207).
+ (#9207).pkginfo>=1.10 to ensure support for packages with metadata version 2.3 (#9130).poetry self commands printed a warning that the current project cannot be installed (#9302).poetry install sporadically failed with a KeyError due to a race condition (#9335).poetry shell (#9060).poetry add (#9080).publish (#9110).pyproject.toml example for a dependency with multiple extras (#9138).poetry add (#9230).poetry publish (#9255).--readme option in poetry new (#9260).dependencies (#9256).pipx (#9320).Harden lazy-wheel error handling if the index server is behaving badly in an unexpected way (#9051).
lazy-wheel error handling if the index server is behaving badly in an unexpected way (#9051).lazy-wheel error handling if the index server does not handle HTTP range requests correctly (#9082).lazy-wheel error handling if the index server pretends to support HTTP range requests but does not respect them (#9084).lazy-wheel to allow redirects for HEAD requests (#9087).lazy-wheel errors (#9059).poetry add failed in non-package mode if no project name was set (#9046).Update the minimum required version of packaging (#9031).
Deprecate source priority `default` (#8771).
non-package mode for use cases where Poetry is only used for dependency management (#8650).lazy-wheel config option (default: true) to reduce wheel downloads during dependency resolution (#8815, #8941).poetry check validates that no unknown sources are referenced in dependencies (#8709).to key in tool.poetry.packages to allow custom subpackage names (#8791).keyring (#8910).--sync option to poetry update (#8931).--output option to poetry build (#8828).--dist-dir option to poetry publish (#8828).default (#8771).installer.modern-installation to false (#8988).pip<19 (#8894).requests-toolbelt>=1 (#8680).platformdirs 4.x (#8668).xattr 1.x on macOS (#8801).fish (#8804).system to base in output of poetry env info (#8832).poetry version (#8849).tool.poetry.scripts (#8898).poetry shell failed when Python has been installed with MSYS2 (#8644).sdist path dependency (#8682).poetry install failed because an unused extra was not available (#8548).poetry install --sync did not remove an unrequested extra (#8621).poetry init did not allow specific characters in the author field (#8779).sdists from misconfigured servers (#8701).poetry shell failed in zsh if a space was in the venv path (#7245).setup.py were ignored silently (#9000).virtualenv.options were ignored (#9015).virtualenvs.options.no-pip and virtualenvs.options.no-setuptools were not normalized (#9015).--no-dev with --without dev in the FAQ (#8659).poetry-check instead of the deprecated poetry-lock pre-commit hook (#8675).poetry show --why (#8817).poetry update (#8706).poetry run and externally managed environments (#8748).tox for tox 4.x (#8658).format option for include and exclude value (#8852).tox and configured credentials (#8888).pipx (#8878).poetry add with git dependencies over ssh (#8911).--only main instead of --without dev (#8921).develop attribute is a Poetry-specific feature and not propagated to other tools (#8971).1.9.0)Fix an issue where sdists that call CLI tools of their build requirements could not be installed (#8630).
poetry init failed when trying to add dependencies (#8655).poetry install failed if virtualenvs.create was set to false (#8672).Add official support for Python 3.12 (#7803, #8544).
poetry-plugin-export will not be installed by default anymore (#8562).poetry-install pre-commit hook (#8327).--next-phase option to poetry version (#8089).user-agent for all HTTP requests (#8394).setuptools per default in Python 3.12 (#7803).wheel per default (#7803).setuptools and wheel when running poetry install --sync if they are not required by the project (#8600).keyring handling (#8227).description field when extracting metadata from setup.py files (#8545).virtualenvs.options.system-site-packages was set (#8359).poetry shell did not work completely with nushell (#8478).poetry config pypi-token.pypi without a value (#8502).pipx the preferred (first mentioned) installation method (#8090).poetry self on Windows (#8090).poetry add with a git dependency (#8438).POETRY_REPOSITORIES_ variables docs (#8492).CITATION.cff file (#8510).1.8.1)extra markers (#636).lib folder was added to the wheel (#634).^1.6.0)Update the minimum required version of requests (#8336).
requests (#8336).Move poetry lock --check to poetry check --lock and deprecate the former (#8015).
poetry lock for certain edge cases (#8256).poetry install (#8031).poetry check validates that specified readme files do exist (#7444).vox in the xonsh shell (#8203).pre-commit hooks for projects where the pyproject.toml file is located in a subfolder (#8204).git+http:// scheme (#6619).poetry lock --check to poetry check --lock and deprecate the former (#8015).build-system.requires were not respected for projects with build scripts (#7975).poetry show --top-level did not show top level dependencies with extras (#8076).poetry init handled projects with src layout incorrectly (#8218)..pth files with the wrong encoding (#8041).poetry install did not respect the source if the same version of a package has been locked from different sources (#8304).virtualenvs.in-project setting. (#8126).pre-commit YAML style to be consistent with pre-commit's own examples (#8146).nox-poetry package (#8173).reference instead of deprecated callable in the scripts example (#8211).1.7.0)| as a value separator in markers with the operators in and not in (#608)..gitignore file resulting in an empty wheel (#611).^1.5.0)Improve dependency resolution performance in cases with a lot of backtracking (#7950).
poetry run did no longer execute relative-path scripts (#7963).in-project environments (#7977).1.6.1)^1.4.0)--extra-index-url and --trusted-host was not generated for sources with priority explicit (#205).Remove the old deprecated installer and the corresponding setting `experimental.new-installer` (#7356).
explicit and supplemental (#7658,
#6879).--executable option to poetry env info (#7547).--top-level option to poetry show (#7415).--lock option to poetry remove (#7917).POETRY_REQUESTS_TIMEOUT option (#7081).experimental.new-installer (#7356).priority key for sources and deprecate flags default and secondary (#7658).poetry run <entry point> if the entry point was not previously installed via poetry install (#7606).Retry-After in HTTP responses was not respected and retries were handled inconsistently (#7072).direct_url.json of an editable install from a git dependency was invalid (#7473).poetry install returns a zero exit status even though the build script failed (#7812)..venv was not used if in-project was not set (#7792).poetry add were not parsed correctly (#7836).poetry shell did not send a newline to fish (#7884).poetry update --lock printed operations that were not executed (#7915).poetry add --lock did perform a full update of all dependencies (#7920).poetry shell did not work with nushell (#7919).--dev (#7647).poetry.lock (#7506).virtualenv.create (#7608).1.6.0)tomlkit with tomli, which changes the interface of some internal classes (#483).Package.category (#561).poetry build created duplicate Python classifiers if they were specified manually (#578).When trying to install wheels with invalid RECORD files, Poetry does not fail anymore but only prints a warning. This mitigates an unintended change i
RECORD files, Poetry does not fail anymore but only prints a warning.
This mitigates an unintended change introduced in Poetry 1.4.1 (#7694).Fix an issue where poetry install did not respect the requirements for building editable dependencies (#7579).
poetry install did not respect the requirements for building editable dependencies (#7579).poetry init crashed due to bad input when adding packages interactively (#7569).poetry install ignored the subdirectory argument of git dependencies (#7580).no-binary could result in a false hash mismatch (#7594).direct_url.json during installation (#7594).poetry install --sync attempted to remove itself (#7626).dist-info directory names could not be installed (#7671).poetry install --compile compiled with optimization level 1 (#7666).poetry install did not respect the requirements for building editable dependencies (#7579).poetry init crashed due to bad input when adding packages interactively (#7569).poetry install ignored the subdirectory argument of git dependencies (#7580).no-binary could result in a false hash mismatch (#7594).direct_url.json during installation (#7594).poetry install --sync attempted to remove itself (#7626).dist-info directory names could not be installed (#7671).poetry install --compile compiled with optimization level 1 (#7666).--extras option (#7563).1.5.2)Deprecate the old installer, i.e. setting `experimental.new-installer` to `false` (#7358).
installer.modern-installation) for faster installation of packages and independence from pip (#6205).Private :: trove classifiers (#7271).@generated comment at the beginning of the lock file (#7339).virtualenvs.prefer-active-python when running poetry new and poetry init (#7100).experimental.new-installer to false (#7358).platform field from cached package info and bump the cache version (#7304).importlib-metadata dependency (#7434).repository modules (#7468).poetry check did not handle the -C, --directory option correctly (#7241).poetry install --sync (#7389).sys.argv[0] when running installed scripts (#6737).direct_url.json files were not written according to the specification (#7475).JSONDecodeError when running a Python script that produced certain warnings (#6665).poetry export can export constraints.txt files (#7383).1.5.1)extras are defined in the main dependency group (#542).setup.py file in sdists by default (#318).tool.poetry.description (#505).^1.3.0)Update docs to reflect the removal of the deprecated get-poetry.py installer from the repository (#7288).
Fix an issue where an explicit dependency on lockfile was missing, resulting in a broken Poetry in rare circumstances (7169).
lockfile was missing, resulting in a broken Poetry in rare circumstances (7169).poetry check validates trove classifiers and warns for deprecations (#2881).
@generated comment as used by common tooling (#2773).poetry check validates trove classifiers and warns for deprecations (#2881).-C, --directory option to set the working path (#6810).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).pip with --no-input to prevent hanging without feedback (#6724, #6966).pip with --isolated to prevent the influence of user configuration (#6531).-I) mode (#6628).--dry-run contained duplicate entries (#4660).requests's pool size did not match the number of installer workers (#6805).poetry show --outdated failed with a runtime error related to direct origin dependencies (#6016).ApplicationPlugin is registered (#6304).poetry lock --no-update (#6131).poetry shell activation and zsh (#5795).source field of a dependency with extras was ignored (#6472).experimental.system-git-client could not be used via environment variable (#6783).AssertionError due to distribution.files being None (#6788).poetry env info did not respect virtualenvs.prefer-active-python (#6986).poetry env list does not list the in-project environment (#6979).poetry env remove removed the wrong environment (#6195).ValueError (#6790).1.4.0)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).^1.2.0)^2.0.0)Fix an issue where the deprecated JSON API was used to query PyPI for available versions of a package (#6081).
poetry lock to re-generate the lock file when invalid or incompatible (#6753).poetry shell was broken in git bash on Windows (#6560).publish (#6641).--require (#6672).1.3.2)3.11 to the list of available Python versions (#477).^1.1.2)Fix an issue where deprecation warnings for --dev were missing (#6475).
poetry cache clear did not respect the -n/--no-interaction flag (#6338).poetry lock --no-update updated dependencies from non-PyPI package sources (#6335).poetry install performance regression by falling back to internal pip (#6062).poetry export (#6282).poetry lock --no-update added duplicate hashes to the lock file (#6389).poetry install fails because of missing hashes for url dependencies (#6389).poetry lock performance regression when checking non-PyPI sources for yanked versions (#6442).--no-cache was not respected when running poetry install (#6479).--dev were missing (#6475).insteadOf was used in .gitconfig using the Dulwich Git client (#6506).poetry cache clear with a non-normalized package name (#6537).--with and --without (#6318).virtualenv.create option (#6460).poetry install removes dependencies of non-installed extras (#6229).pre-commit autoupdate and Poetry's hooks (#6497).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…
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.
Fixed an issue where virtual environments were created unnecessarily when running poetry self commands
poetry self commands (#6226)pretty_name are written to the lock file (#6243)Pool().remove_repository() to make it easier to write poetry plugins (#6231)poetry self commands (#6225)pretty_name are written to the lock file (#6237)Pool().remove_repository() to make it easier to write poetry plugins (#6214)Removed deprecated (1.2-only) CLI options
nushell in poetry shell (#6063)pyproject.toml fails (#5834)canonicalize_name() with packaging.utils.canonicalize_name() (#6022)export command, which is now provided via plugin (#6128)tomlkit regression resulting in inconsistent line endings (#5870)POETRY_PYPI_TOKEN_PYPI environment variable wasn't respected (#5911)poetry publish in the event of an upload error (#6043)poetry lock fails without output (#6058)tomlkit versions with memory leak are now avoided (#6160)Important: This release fixes a critical issue that prevented hashes from being retrieved when locking dependencies, due to a breaking change on PyPI…
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
--only-root to poetry install to install a project without its dependencies (#5783)poetry init (#5838)poetry init to better specify how to skip adding dependencies (#5946)experimental.system-git-client option through poetry config (#5818)~ was not correctly expanded in virtualenvs.path (#5848)poetry publish when keyring was not properly configured (#5889)pyproject.toml (#5815)zsh autocompletion instructions (#5859)@ operator (#5822)scripts definition documentation (#5884)poetry plugin commands are now deprecated in favor of the more generic poetry self commands
poetry config certificates.<repository>.cert false (#5719virtualenvs.prompt) to customize the prompt of the Poetry-managed virtual environment (#5606)download_file (used when downloading dists) (#5451)--dry-run to poetry version command (#5603)--why to poetry show (#5444)poetry add command (#5554)--no-cache as a global option (#5519)--skip-existing to poetry publish (#2812)--all-extras to poetry install (#5452)poetry self sub-commands to manage plugins and/or system environment packages, eg: keyring backends (#5450)installer.no-binary) to allow selection of non-binary distributions when installing a dependency (#5609)poetry plugin commands are now deprecated in favor of the more generic poetry self commands (#5450)md and rst (#5357)experimental.system-git-client configuration to true (#5428)no-pip and no-setuptools configuration explicit (#5455)-vv now provides more debug information (#5503)default to main (#5465)poetry export with poetry-plugin-export (#5413)"null" keyring when disabled (#5251)packaging dependency to use major version 21, this change forces Poetry to drop support for managing Python 2.7 environments (#4749)poetry update --dry-run to not modify poetry.lock (#5718, #3666, #3766)POETRY_CONFIG_DIR and POETRY_CACHE_DIR were not being respected (#5672)poetry init -n crashes in a root directory (#5612)setuptools could not be correctly installed (#5590)poetry lock --no-update only sorted by name and not by name and version (#5446)poetry lock --no-update dropped packages (#5435)--readme flag to documentation (#5357)poetry.toml note in configuration (#5492)poetry about, poetry help, poetrylist, and the --full-path and --all options documentation (#5664)--why flag (#5653)--local to fix issue #5623 (#5629)readme option, including multiple files and additional formats (#5158)--dev-only option (#5771)Replace deprecated requests parameter in uploader (#4580).
poetry export (#4575).locale is unset (#4038).@latest on poetry update (#4945).poetry self update (#5049).poetry init (#5076).poetry show when no lock files exists (#5242).vcs_info.requested_version in direct_url.json wasn't included (#5274).--no-update (#4618).POETRY_EXPERIMENTAL_NEW_INSTALLER needs to be set to an empty string to disable it (#3811).poetry show <package> now also shows which packages depend on it (#2351).poetry about now contains version information about installed poetry and poetry-core (#5288).poetry publish fails (#3549).poetry lock --check (#5081).--all for poetry env remove to delete all venv of a project at once (#3212).--without-urls for poetry export to exclude source repository urls from the exported file (#4763).new installer.max-workers property to the configuration (#3516).virtualenvs.prefer-active-python to detect current activated python (#4852).pep517 high level interfaces for package metadata inspections have been replaced with the build package. (#5155).The --remove-untracked option of the install command is now deprecated in favor of the new --sync option.
install command now supports a --sync option to synchronize the environment with the lock file. (#4336)--remove-untracked option of the install command is now deprecated in favor of the new --sync option. (#4336)init command in non-interactive mode. (#2899)virtualenvs.create is deactivated. (#4329)The usage of the get-poetry.py script is now deprecated and is replaced by the install-poetry.py script.
This release is the first testing release of the upcoming 1.2.0 version.
It drops support for Python 2.7 and 3.5.
new command now supports namespace packages. (#2768)add command now supports the --editable option to add packages in editable mode. (#3940)get-poetry.py script is now deprecated and is replaced by the install-poetry.py script. (#3706)pip, setuptools, wheels and distribute) can now be managed as any other package. (#2826)new command now defaults to the Markdown format for README files. (#2768)Poetry now fallback to gather metadata for dependencies via pep517 if parsing pyproject.toml fail
Fixed an issue where dependencies hashes could not be retrieved when locking due to a breaking change on PyPI JSON API
Fixed an issue where envs in MSYS2 always reported as broken
Fixed broken caches on Windows due to Path starting with a slash
Fixed errors when installing packages on Python 3.10.
git executable could be used on Windows. (python-poetry/poetry-core#213)Fixed an issue where non-sha256 hashes were not checked.
Fixed a security issue where file hashes were not checked prior to installation. (#4420, #4444, python-poetry/poetry-core#193)
virtualenvs.create is deactivated. (#4507)git commands. (python-poetry/poetry-core#203)git executable could be used on Windows. (python-poetry/poetry-core#205)Fixed an error with repository prioritization when specifying secondary repositories.
virtualenvs.create is deactivated. (#4330, #4407)in/not in markers (python-poetry/poetry-core#189)Note: Lock files might need to be regenerated for the first fix below to take effect. You can use poetry lock to do so without the --no-update option.
Note: Lock files might need to be regenerated for the first fix below to take effect.
You can use poetry lock to do so without the --no-update option.
install-poetry.py installation script to ease the migration path from 1.1 releases to 1.2 releases. (#4192)Fixed export format for path dependencies.
Fixed an error in the export command when no lock file existed and a verbose flag was passed to the command.
export command when no lock file existed and a verbose flag was passed to the command. (#3310)pyproject.toml was not reverted when using the add command. (#3622)poetry-core and packaging. (#3677)poetry-core due to an incorrect import . (#3696)Added installer.parallel boolean flag (defaults to true) configuration to enable/disable parallel execution of operations when using the new installer
installer.parallel boolean flag (defaults to true) configuration to enable/disable parallel execution of operations when using the new installer. (#3088)poetry lock --no-update. (#3229).pth file exists. (#3210)Your coding agent can read these notes before it upgrades. Set up the MCP server →