The Poetry team is pleased to announce the immediate availability of Poetry 1.1.0.

Thanks to the maintainers, community and everyone involved in making this release possible.

This release brings a lot of new features and improvements.

If you have a previous version of Poetry installed via the official installer, getting Poetry 1.1.0 is as easy as:

$ poetry self update

This article will highlight the most important features and changes but the full list is available in the change log.

Brand new installer

This release brings a brand new, faster installer that supports parallel operations.

The user experience has also been improved by displaying each step of the installation process so users know the progress of the operation.

Note that since it's a fundamental internal change, it's still considered experimental.

Standalone build backend

The PEP-517 build backend of Poetry has been extracted into its own, standalone, library.

This change allows for faster builds - via pip for instance - for Poetry-managed projects.

New projects created with Poetry will already use the proper build-system backend, but for existing projects, the build-system section must be changed from:

[build-system]
requires = ["poetry>=1.1.0"]
build-backend = "poetry.masonry.api"

to

[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"

UX improvements

Errors are now better displayed and more intuitive so that they are easier to understand and debug.

Some of them will also be provided with possible solutions and links to the documentation.

Better errors

Dependency resolution improvements

The dependency resolution algorithm has been further improved in order to fix some long standing issues.

It's also now much more accurate for cases of multiple constraints dependencies.

Lock file format changes

The format of the lock has changed slightly compared to previous versions to make improvements to the dependency resolution process and installation.

Note that lock file formats are now versioned, so Poetry will now either display a warning or return an error if there are incompatibilities or it can't read the lock file.

Improved install command

The install command now supports a --remove-untracked option to keep your environment in sync with the poetry.lock file. This option ensures that you only have the packages that are strictly required by your project.

poetry install --remove-untracked

Improved publish command

The publish command now supports a --dry-run option to check if everything is in order before uploading to a remote repository.

Publishing error handling and reporting have been improved to help debug issues when uploading packages.

poetry publish --dry-run

Directory dependencies are now non-editable by default

In previous versions, directory dependencies were installed in "editable" mode by default.

However, this is no longer the case in Poetry 1.1 and they will now be installed fully in the environment.

If you still want to install them in editable mode you need to set the develop property to true:

[tool.poetry.dependencies]
my-package = {path = "../path/to/dependency", develop = true}
View Comments