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
Python version support deprecation warning is now written to stderr.
stderr. (#3131)KeyError when PATH is not defined in environment variables. (#3159)config command in a directory with an existing pyproject.toml without any Poetry configuration. (#3172)show command to use already resolved package metadata. (#3117)export command output when using requirements.txt format. (#3119)One column per quarter.
Dependency installation of editable packages and all uninstall operations are now performed serially within their corresponding priority groups.
requirements.txt when project dependency contains git dependencies. (#3100)Added --no-update option to lock command.
--no-update option to lock command. (#3034)requirements.txt dependencies to include development dependencies. (#3024)build command. (#3056)init command when specifying --dependency in non-interactive mode when a pyproject.toml file already exists. (#3076)The init command will now use existing pyproject.toml if possible (#2448).
init command will now use existing pyproject.toml if possible (#2448).rc prereleases (#2978).setup.cfg files (#2957).pyproject.toml file not being taken into account for authentication when downloading packages (#2990).site-packages directory is not writeable (#3002).requirements.txt format (#3002).The virtualenvs.in-project setting will now always be honored, if set explicitly, regardless of the presence of a .venv directory (#2771).
virtualenvs.in-project setting will now always be honored, if set explicitly, regardless of the presence of a .venv directory (#2771).pyproject.toml file will no longer raise an error (#2886).dependency option of the init command being ignored (#2587).show command displaying erroneous information following the changes in the lock file format (#2967).For using poetry on FreeBSD 11 and 13 under Python 3.5, we recommend that you use an installation method other than the get-poetry.py script.
Installation using get-poetry.py script of FreeBSD 11 and 13 releases do not included vendored dependencies for Python 3.5 environments. This is due to FreeBSD build environments not provided python35 packages at the time of this release. Users on these environments, with a previous 1.1.0 preview releases should not use poetry update to consume this release.
FreeBSD 12 release will also drop Python 3.5 vendored dependencies in future releases.
When running under Python 2.7 on Windows, install command will be limited to one worker to mitigate threading issue (#2941).
Improved the error reporting when HTTP error are encountered for legacy repositories (#2459).
develop option is set to true (#2887).PyPI always being displayed when publishing even for custom repositories (#2905).Added support for build scripts without the setup.py file generation in the editable builder (#2718).
Support for Python 2.7 and 3.5 is now officially deprecated and a warning message will be displayed (#2683).
virtualenv (#2666).content-hash value not being updated when using the add and remove commands (#2710).New installer which provides a faster and better experience (#2595).
Note that lock files generated with this release are not compatible with previous releases of Poetry.
Note that lock files generated with this release are not compatible with previous releases of Poetry.
install command now supports a --remove-untracked option to ensure only packages from the lock file are present in the environment (#2172).This release must be downloaded via the get-poetry.py script and not via the self update command.
This release must be downloaded via the get-poetry.py script and not via the self update command.
--dry-run option to the publish command (#2199).poetry-core (#2212).poetry.masonry.api but poetry.core.masonry.api which requires poetry-core>=1.0.0a5 (#2212).The lock files are now versioned to ease transitions for lock file format changes, with warnings being displayed on incompatibility detection (#2695).
Fixed an issue where packages from custom indices where continuously updated (#2525).
Fixed a possible error when installing the root package (#2505).
Fixed an error when trying to execute some packages setup.py file (#2349).
setup.py file (#2349).The self update command has been updated in order to handle future releases of Poetry (#2429).
self update command has been updated in order to handle future releases of Poetry (#2429).env info (#2196).packages property was empty (#2265).Fixed an error when building distributions if the git executable was not found (#2105).
Fixed the PyPI URL used when installing packages (#2099).
.venv virtual environment not being displayed in env list (#1762).virtualenv (#2096).setup.py files (#2041).Fixed an error which caused the configuration environment variables (like POETRY_HTTP_BASIC_XXX_PASSWORD) to not be used (#1909).
POETRY_HTTP_BASIC_XXX_PASSWORD) to not be used (#1909).--help option was not working (#1910).pyproject.toml file (#1892).get_requires_for_build_wheel() function of masonry.api which wasn't returning the proper result (#1875).Reverted a previous fix (#1796) which was causing errors for projects with file and/or directory dependencies (#1865).
Fixed an error in env use where the wrong Python executable was being used to check compatibility (#1736).
env use where the wrong Python executable was being used to check compatibility (#1736).shell command (#1673).env commands on Windows if the path to the executable contained a space (#1774).keyring on some systems (#1788).export command (#1840).setup.py file in some cases (#1764).Specifying dependencies with allows-prereleases in the pyproject.toml file is deprecated for consistency with the add command. Use allow-prereleases i…
export command to export the lock file to other formats (only requirements.txt is currently supported).env info command to get basic information about the current environment.env use command to control the Python version used by the project.env list command to list the virtualenvs associated with the current project.env remove command to delete virtualenvs associated with the current project.POETRY_HOME declaration within get-poetry.py.markers property.add, it no longer requires the --git option.add, it no longer requires the --path option.cache:clear command has been renamed to cache clear.debug:info command has been renamed to debug info.debug:resolve command has been renamed to debug resolve.self:update command has been renamed to self update.--git option of the add command has been removed.--path option of the add command has been removed.add command will now automatically select the latest prerelease if only prereleases are available.add command can now update a dependencies if an explicit constraint is given (#1221).--develop option from the install command.init command.shell command has been improved.poetry run command now uses os.execvp() rather than spawning a new subprocess.allows-prereleases in the pyproject.toml file is deprecated for consistency with the add command. Use allow-prereleases instead.sys.executable instead of the python command.site-packages directory detection (#1683).pyproject.toml configuration is now properly validated.pip.~= operator.run command now properly handles the -- separator.path dependencies being seen as git dependencies.extra markers in dependencies were handled.run command.show -l.TooManyRedirects errors being raised when resolving dependencies.--install option of the debug resolve command.show when using the -o/--outdated option.exclude being included in distributions.env use if the virtualenvs.in-project setting is activated (#1682)empty and any markers in unions of markers (#1650).Improved the error message displayed on conflicting Python requirements (#1681).
Fixed source references not being locked for private indices
Fixed PEP 508 url dependency handling.
exclude being included in distributions.requirement.txt file.Improved the error message when the lock file is invalid
poetry versionsys.executable instead of the python command.importlib-metadata being installed for Python 3.8show when using the -o/--outdated option.Fixed wrong latest version being displayed when executing show -l.
show -l.TooManyRedirects errors being raised when resolving dependencies.--install option of the debug resolve command.Specifying dependencies with allows-prereleases in the pyproject.toml file is deprecated for consistency with the add command. Use allow-prereleases i…
allows-prereleases in the pyproject.toml file is deprecated for consistency with the add command. Use allow-prereleases instead.path dependencies being seen as git dependencies.extra markers in dependencies were handled.run command.Added support for support for custom certificate authority and client certificates for private repositories.
~= operator.run command now properly handles the -- separator.Improved files metadata in lock files
init command.shell has been improved.poetry run command now uses os.execvp() rather than spawning a new subprocess.Added support for url dependencies (#1260).
--develop option from the install command.settings. when using the config command.pip.Added the ability to specify git dependencies directly in add, it no longer requires the --git option.
add, it no longer requires the --git option.add, it no longer requires the --path option.init command.--git option of the add command has been removed.--path option of the add command has been removed.add command will now automatically select the latest prerelease if only prereleases are available.Added the ability to specify packages on a per-format basis.
markers property.pyproject.toml configuration is now properly validated.Added support for declaring a specific source for dependencies.
Added a env info command to get basic information about the current environment.
env info command to get basic information about the current environment.env use command to control the Python version used by the project.env list command to list the virtualenvs associated with the current project.env remove command to delete virtualenvs associated with the current project.cache:clear command has been renamed to cache clear.debug:info command has been renamed to debug info.debug:resolve command has been renamed to debug resolve.self:update command has been renamed to self update.Fixed reading of extras in lock file
Added an export command to export the lock file to other formats (only requirements.txt is currently supported).
export command to export the lock file to other formats (only requirements.txt is currently supported).Fixed dependency resolution with circular dependencies.
.venv when it's not a directory. (Thanks to @mpanarin)Fixed packages with no hashes retrieval for legacy repositories.
Fixed an AttributeError in the editable builder.
AttributeError in the editable builder.Fixed root package installation for pure Python packages.
Fixed root package installation with pip>=19.0.
pip>=19.0.remove command.Fix markers evaluation for python_version with precision < 3.
python_version with precision < 3.dist-info files.prepare_metadata_for_build_wheel() missing in the build backend.platform_release markers.extras_require in some setup.py files. (Thanks to @asodeur)Fixed the way packages information are retrieved for legacy repositories.
Fixed run not executing scripts.
run not executing scripts.Fixed executables from outside the virtualenv not being accessible.
exclude option.run command for namespaced packages.add command.Fixed permission errors when adding/removing git dependencies on Windows.
Pool not raising an exception when no package could be found.bz2 source distribution.InstalledRepository.Fixed reading of some setup.py files.
setup.py files.KeyError when getting information for packages which require reading setup files.src layout.Poetry will now try to read, without executing, setup files (setup.py and/or setup.cfg) if the egg_info command fails when resolving dependencies.
setup.py and/or setup.cfg) if the egg_info command fails when resolving dependencies.not in marker operator.exclude property not being respected if no VCS was available.Fixed installation of Poetry git dependencies with a build system.
python_full_version marker.Python-Requires metadata being invalid for single Python versions.Fixed possible error on some combinations of markers.
VIRTUAL_ENV to detect activated virtualenvs.Fixed the --no-dev option in install not working properly.
--no-dev option in install not working properly.setup.py had special characters.install for applications not following a known structure.debug:info not showing the current project's virtualenv.Fixed an error when installing from private repositories.
Fixed an error when license is unspecified.
The develop command is now deprecated in favor of install.
--lock option to update to only update the lock file without executing operations. (Thanks to @greysteil)Project-URL metadata.--no-dev option to show. (Thanks to @rodcloutier)python dependencies are now equivalent to ~2.7 || ^3.4.install command will now install the current project in editable mode.develop command is now deprecated in favor of install.check command.package_data of the generated setup.py.cache:clear for Python 2.7.Oct 16, 2018 2 files Pre-release
Oct 16, 2018 2 files
Pre-release
Oct 16, 2018 2 files Pre-release
Oct 16, 2018 2 files
Pre-release
Oct 8, 2018 2 files Pre-release
Oct 8, 2018 2 files
Pre-release
Sep 18, 2018 2 files Pre-release
Sep 18, 2018 2 files
Pre-release
Your coding agent can read these notes before it upgrades. Set up the MCP server →