Skip to content

Commit

Permalink
blog: announce poetry 1.7.0
Browse files Browse the repository at this point in the history
  • Loading branch information
radoering committed Nov 1, 2023
1 parent ed012dd commit cf8f51d
Show file tree
Hide file tree
Showing 3 changed files with 92 additions and 2 deletions.
86 changes: 86 additions & 0 deletions content/blog/2023-11-01-announcing-poetry-1-7-0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
---
layout: single
title: "Announcing Poetry 1.7.0"
date: 2023-11-01
categories: [releases]
tags: ["1.x", "1.7"]
---

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

<!--more-->

If you have a previous version of Poetry installed via `pipx`,
getting Poetry **1.7.0** is as easy as:

```bash
$ pipx upgrade poetry
```

If you used the [official installer](/docs/#installation), you can run:

```bash
$ poetry self update
```

## Highlights

### Official support for Python 3.12

Even though Poetry 1.6 probably works well with Python 3.12,
we did some fine-tuning to make the user experience more consistent:

Python 3.12 is the first Python version that does not implicitly includes `setuptools`
in newly created virtual environments. In order to align Poetry with other tools,
we now also do not implicitly include `setuptools` in newly created Python 3.12
environments. In this context, we have also changed that `wheel` is not implicitly
included anymore (for all Python versions). Further, `setuptools` and `wheel`
will now be removed when running `poetry install --sync` if they are not required
by the project. If you rely on `setuptools` or `wheel`,
please make it an explicit dependency in your `pyproject.toml`.

Further, some deprecation warnings were addressed and
the `Programming Language :: Python :: 3.12` classifier will be set automatically now
if Python 3.12 is in your project's supported Python versions.

### Improved handling of dependencies with extras during dependency resolution

The `extra` marker is quite special. Whereas other markers can only have one value for
a specific environment, `extra` can have multiple values at the same time.

For example, a marker like `sys_platform == "win32" and sys_platform == "linux"`
can never be satisfied because `sys_platform` can only be either `"win32"` or `"linux"`
(not both). By contrast, a marker like `extra == "a" and extra == "b"`
can be satisfied if both extras are requested.

Poetry can now handle this peculiarity and ignore dependencies that are only
relevant for inactive extras.

### Fix longstanding race condition in `poetry install`

Intermittent failures of `poetry install` with error messages like
`Backend 'setuptools.build_meta:__legacy__' is not available.` should now be resolved
by fixing a race condition when installing multiple source distributions with
overlapping build requirements in parallel.

## Upcoming Changes

### Removing `poetry-plugin-export` from the default installation

Prior Poetry 1.2, `export` had been a built-in command. With Poetry 1.2, the `export`
command was outsourced into `poetry-plugin-export`. To avoid a breaking change,
we decided to install `poetry-plugin-export` per default. However, this resulted
in a cyclic dependency between `poetry` and `poetry-plugin-export`, which causes
issues for some third-party tools and results in an increased maintenance effort
for the Poetry team.

Therefore, **we are planning to not install `poetry-plugin-export`
per default in a future version of Poetry.**
To ensure that as many users as possible are informed about this upcoming change,
a warning, which can be deactivated, will be shown when running `poetry export`.
In order to make your automation forward-compatible, just install `poetry-plugin-export`
explicitly (even though it is already installed per default for now).

## Changelog

TODO
4 changes: 4 additions & 0 deletions content/history.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ layout: single
title: History
---

## TODO: 1.7.0

## [1.6.1] - 2023-08-21

### Fixed
Expand Down Expand Up @@ -1867,6 +1869,8 @@ This release **must** be downloaded via the `get-poetry.py` script and not via t

Initial release

# TODO: 1.7.0

[unreleased]: https://github.com/python-poetry/poetry/compare/1.6.1...master
[1.6.1]: https://github.com/python-poetry/poetry/releases/tag/1.6.1
[1.6.0]: https://github.com/python-poetry/poetry/releases/tag/1.6.0
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ tags = "/blog/tag/:title/"
description = "Python dependency management and packaging made easy"

[tool.website.config.params.documentation]
defaultVersion = "1.6"
defaultVersion = "1.6" # TODO

[tool.website.config.markup.goldmark.renderer]
unsafe = true
Expand All @@ -76,7 +76,7 @@ unsafe = true
keepWhitespace = true

[tool.website.versions]
"1.6" = "1.6"
"1.6" = "1.6" # TODO
"1.5" = "1.5"

[build-system]
Expand Down

0 comments on commit cf8f51d

Please sign in to comment.