Skip to content

fix(python): bump pyo3 to 0.29 for security advisories - #76

Merged
g4bri3lDev merged 1 commit into
mainfrom
fix/pyo3-0.29
Oct 7, 2026
Merged

g4bri3lDev merged 1 commit into
mainfrom
fix/pyo3-0.29

Conversation

@g4bri3lDev

Copy link
Copy Markdown
Member

Why

Dependabot flags pyo3 0.28.2 in packages/python/Cargo.lock. Unlike dev-only dependencies, pyo3 is compiled into every published wheel. Both advisories are fixed in 0.29.0:

  • High: out-of-bounds read in nth / nth_back for PyList / PyTuple iterators.
  • Medium: missing Sync bound on PyCFunction::new_closure closures.

Our binding most likely doesn't exercise either path (no closures; arguments are extracted, not iterated with nth), but the fix is cheap and the dependency ships to users.

What

  • pyo3 = "0.29" (resolves to 0.29.3). No source changes needed; cargo check is clean.
  • The Cargo.lock diff is only the five pyo3 crates plus the stale epaper-dithering-core entry (4.0.1 → 6.0.0, a path dependency).

Verification

  • maturin develop --release builds and loads.
  • 120 Python tests pass; ruff, mypy and pylint are clean.

As a fix(python): commit, release-please will cut 6.1.1 so the patched wheels get published.

pyo3 0.28.2 is compiled into the published wheels and is affected by two
advisories fixed in 0.29.0: an out-of-bounds read in PyList/PyTuple
iterator nth/nth_back (high), and a missing Sync bound on
PyCFunction::new_closure (medium). No source changes were needed.

Also refreshes the stale epaper-dithering-core entry in Cargo.lock
(4.0.1 -> 6.0.0, a path dependency).
@codecov

codecov Bot commented Oct 7, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@g4bri3lDev
g4bri3lDev merged commit 8b06af2 into main Oct 7, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant