Skip to content

Commit c78f5f6

Browse files
committed
blog: announce Poetry 2.3.0
1 parent 9b68b7f commit c78f5f6

File tree

3 files changed

+78
-3
lines changed

3 files changed

+78
-3
lines changed
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
---
2+
layout: single
3+
title: "Announcing Poetry 2.3.0"
4+
date: 2026-01-18
5+
categories: [releases]
6+
tags: ["2.x", "2.3"]
7+
---
8+
9+
The Poetry team is pleased to announce the immediate availability of Poetry **2.3.0**.
10+
11+
<!--more-->
12+
13+
If you have a previous version of Poetry installed via `pipx`,
14+
getting Poetry **2.3.0** is as easy as:
15+
16+
```bash
17+
$ pipx upgrade poetry
18+
```
19+
20+
If you used the [official installer](/docs/#installation), you can run:
21+
22+
```bash
23+
$ poetry self update
24+
```
25+
26+
## Highlights
27+
28+
### Changing the default of `installer.re-resolve` from `true` to `false`
29+
30+
With Poetry 2.0.0, the new `installer.re-resolve` config setting was [introduced](blog/announcing-poetry-2.0.0/#locking-resulting-markers-and-groups).
31+
The default of this setting is changed from `true` to `false` in Poetry 2.3.0.
32+
33+
By default, Poetry will now evaluate the locked groups and markers to decide
34+
if a package should be installed. This makes it clearer and easier to understand
35+
why a package is (or is not) installed in certain environments.
36+
It also fixes some shortcomings of the previous default behavior.
37+
38+
If you encounter any issues, you can still restore the old default behavior by setting `installer.re-resolve` to `true`.
39+
Then, Poetry will ignore the locked markers and groups and re-resolve the dependencies
40+
with the packages from the lock file being the only source for packages.
41+
42+
### Adding support for exporting `pylock.toml` files with `poetry-plugin-export`
43+
44+
[PEP 751](https://peps.python.org/pep-0751/) defines a standard format for lock files named `pylock.toml`.
45+
Poetry is not yet able to replace `poetry.lock` with `pylock.toml`, but it now provides all necessary information
46+
for [poetry-plugin-export](https://github.com/python-poetry/poetry-plugin-export) to export `pylock.toml` files.
47+
Exporting `pylock.toml` requires at least Poetry 2.3.0 and poetry-plugin-export 1.10.0.
48+
49+
## Other important Changes
50+
51+
### Considering PEP 735 dependency groups in the lock file hash
52+
53+
Poetry 2.2.0 introduced support for [PEP 735](https://peps.python.org/pep-0735/) dependency groups.
54+
Unfortunately, it was forgotten to consider such groups in the lock file hash so that Poetry is not able to determine
55+
that a change to such groups is not yet reflected in the lock file. This has been fixed in Poetry 2.3.0.
56+
While Poetry 2.3.0 is fine with lock files created by Poetry 2.2.x, Poetry 2.2.x will recognize lock files
57+
created by Poetry 2.3.0 as outdated. Therefore, it is recommended to [require](/docs/pyproject/#requires-poetry)
58+
Poetry 2.3.0 or later when using PEP 735 dependency groups.
59+
60+
## Upcoming Changes
61+
62+
### Defaulting to `setuptools` instead of `poetry-core` if no build system is defined
63+
64+
Per [PEP 517](https://peps.python.org/pep-0517/), a build tool should fall back to `setuptools` if no build system is
65+
defined in the `[build-system]` section of `pyproject.toml`. However, to avoid immediate disruption, Poetry will
66+
currently issue a **warning** in such cases and continue using the built-in `poetry-core` backend by default.
67+
This behavior will change in a future minor release so that Poetry will default to `setuptools`
68+
if no `[build-system]` section is defined.
69+
70+
## Changelog
71+
72+
# TODO

content/history.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ layout: single
44
title: History
55
---
66

7+
# TODO
8+
79
## [2.2.1] - 2025-09-21
810

911
### Fixed
@@ -2461,7 +2463,8 @@ This release **must** be downloaded via the `get-poetry.py` script and not via t
24612463

24622464
Initial release
24632465

2464-
[Unreleased]: https://github.com/python-poetry/poetry/compare/2.2.1...main
2466+
[Unreleased]: https://github.com/python-poetry/poetry/compare/2.3.0...main
2467+
[2.3.0]: https://github.com/python-poetry/poetry/releases/tag/2.3.0
24652468
[2.2.1]: https://github.com/python-poetry/poetry/releases/tag/2.2.1
24662469
[2.2.0]: https://github.com/python-poetry/poetry/releases/tag/2.2.0
24672470
[2.1.4]: https://github.com/python-poetry/poetry/releases/tag/2.1.4

pyproject.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ tags = "/blog/tag/:title/"
6363
description = "Python dependency management and packaging made easy"
6464

6565
[tool.website.config.params.documentation]
66-
defaultVersion = "2.2"
66+
defaultVersion = "2.2" # TODO
6767

6868
[tool.website.config.markup.goldmark.renderer]
6969
unsafe = true
@@ -72,7 +72,7 @@ unsafe = true
7272
keepWhitespace = true
7373

7474
[tool.website.versions]
75-
"2.2" = "2.2"
75+
"2.2" = "2.2" # TODO
7676
"1.8" = "1.8"
7777

7878
[build-system]

0 commit comments

Comments
 (0)