Skip to content

Commit ab72b64

Browse files
lesnik512claude
andcommitted
docs: release notes for 0.5.0
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 82e3661 commit ab72b64

1 file changed

Lines changed: 30 additions & 0 deletions

File tree

planning/releases/0.5.0.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# db-retry 0.5.0 — Python 3.11 and 3.12 support
2+
3+
The supported Python floor drops from 3.13 to **3.11**. `db-retry` now runs on
4+
Python 3.11, 3.12, 3.13, and 3.14. **There are no behavior or public-API
5+
changes** — the five public symbols (`postgres_retry`,
6+
`build_connection_factory`, `build_db_dsn`, `is_dsn_multihost`, `Transaction`)
7+
and their signatures are unchanged.
8+
9+
## What changed
10+
11+
- **`requires-python` is now `>=3.11,<4`** (was `>=3.13`), with matching PyPI
12+
classifiers for 3.11 and 3.12.
13+
- **`postgres_retry`'s generics were rewritten off PEP 695.** The `type` alias
14+
statements and `def postgres_retry[**P, T]` syntax (3.12+ only) became
15+
module-level `typing.ParamSpec`/`TypeVar` with `TypeAlias` aliases. No new
16+
dependency — those are stdlib since 3.10. The decorator's behavior and the
17+
two call forms (`@postgres_retry` / `@postgres_retry(retries=N)`) are
18+
identical.
19+
20+
## Downstream
21+
22+
No action needed beyond the wider version support — no API or behavior change.
23+
A drop-in upgrade from 0.4.3 for projects already on 3.13+, and now installable
24+
on 3.11 and 3.12.
25+
26+
## Internals
27+
28+
- The refactor landed test-first with 100% coverage maintained.
29+
- CI now runs the suite on a Python 3.11/3.12/3.13/3.14 matrix, with each leg
30+
pinned to its target interpreter so every version is genuinely exercised.

0 commit comments

Comments
 (0)