Bump pyo3 from 0.24.2 to 0.28.2 in /reconcile-python #53

Closed
dependabot[bot] wants to merge 1 commit from dependabot/cargo/reconcile-python/pyo3-0.28.2 into main
dependabot[bot] commented 2026-03-11 21:25:53 +00:00 (Migrated from github.com)

Bumps pyo3 from 0.24.2 to 0.28.2.

Release notes

Sourced from pyo3's releases.

PyO3 0.28.2

This patch release contains a soundness fix for subclassing native types such as PyList with the abi3 feature enabled when targeting a minimum version of Python 3.12 or higher. (Support for doing such subclassing was newly added in PyO3 0.28.0.)

PyO3 0.28.0 and 0.28.1 will be yanked.

This release also contains a correction to the FFI definition PyType_GetTypeDataSize and incorrectly-generated __qualname__ on #[pyclass] enum variant types when using #[pyo3(name = "...")] option to rename the enum and/or variant.

Thank you to the following contributors for the improvements:

@​davidhewitt @​Icxolu @​ngoldbaum

PyO3 0.28.1

This patch contains a number of minor compile-time fixes for PyO3 0.28.0.

Thank you to the following contributors for the improvements:

@​davidhewitt @​funsafemath @​ngoldbaum @​rara64 @​tdyas

PyO3 0.28.0

This release contains many improvements across PyO3's feature set:

  • Proper support for __init__ methods for #[pyclass] types
  • Support for #[deleter]s to complement the existing #[getter] and #[setter] attributes when implementing class "properties".
  • Support for subclassing many Python types with the abi3 feature (requires Python 3.12+).
  • A new #[pyclass(new = "from_fields")] option to automatically define the constructor from the class fields.
  • Many corrections to FFI definitions (including removal of many private CPython methods)
  • Many improvements to the experimental-inspect feature's functionality.

The minimum supported Rust version has been increased to Rust 1.83.

This release also switches #[pymodule] to use PEP 489 multi-phase initialization internally. This should have no immediate functional impact other than preparing PyO3 to support newer technologies such as Python subinterpreters.

There are also many other incremental improvements, bug fixes and smaller features; full detail can be found in the CHANGELOG.

Please consult the migration guide for help upgrading.

Thank you to everyone who contributed code, documentation, design ideas, bug reports, and feedback. The following contributors' commits are included in this release:

@​ABorgna @​ahlinc @​alex @​altendky @​bazaah @​bschoenmaeckers @​chirizxc

... (truncated)

Changelog

Sourced from pyo3's changelog.

[0.28.2] - 2026-02-18

Fixed

  • Fix complex enum __qualname__ not using python name #5815
  • Fix FFI definition PyType_GetTypeDataSize (was incorrectly named PyObject_GetTypeDataSize). #5819
  • Fix memory corruption when subclassing native types with abi3 feature on Python 3.12+ (newly enabled in PyO3 0.28.0). #5823

[0.28.1] - 2026-02-14

Fixed

  • Fix *args / **kwargs support in experimental-async feature (regressed in 0.28.0). #5771
  • Fix clippy::declare_interior_mutable_const warning inside #[pyclass] generated code on enums. #5772
  • Fix ambiguous_associated_items compilation error when deriving FromPyObject or using #[pyclass(from_py_object)] macro on enums with Error variant. #5784
  • Fix __qualname__ for complex #[pyclass] enum variants to include the enum name. #5796
  • Fix missing std::sync::atomic::Ordering import for targets without atomic64. #5808

[0.28.0] - 2026-02-01

Packaging

  • Bump MSRV to Rust 1.83. #5531
  • Bump minimum supported quote version to 1.0.37. #5531
  • Bump supported GraalPy version to 25.0. #5542
  • Drop memoffset dependency. #5545
  • Support for free-threaded Python is now opt-out rather than opt-in. #5564
  • Bump target-lexicon dependency to 0.13.3. #5571
  • Drop indoc and unindent dependencies. #5608

Added

  • Add __init__ support in #[pymethods]. #4951
  • Expose PySuper on PyPy, GraalPy and ABI3 #4951
  • Add PyString::from_fmt and py_format! macro. #5199
  • Add #[pyclass(new = "from_fields")] option. #5421
  • Add pyo3::buffer::PyUntypedBuffer, a type-erased form of PyBuffer<T>. #5458
  • Add PyBytes::new_with_writer #5517
  • Add PyClass::NAME. #5579
  • Add pyo3_build_config::add_libpython_rpath_link_args. #5624
  • Add PyBackedStr::clone_ref and PyBackedBytes::clone_ref methods. #5654
  • Add PyCapsule::new_with_pointer and PyCapsule::new_with_pointer_and_destructor for creating capsules with raw pointers. #5689
  • Add #[deleter] attribute to implement property deleters in #[methods]. #5699
  • Add IntoPyObject and FromPyObject implementations for uuid::NonNilUuid. #5707
  • Add PyBackedStr::as_str and PyBackedStr::as_py_str methods. #5723
  • Add support for subclassing native types (PyDict, exceptions, ...) when building for abi3 on Python 3.12+. #5733
  • Add support for subclassing PyList when building for Python 3.12+. #5734
  • FFI definitions:
    • Add FFI definitions PyEval_GetFrameBuiltins, PyEval_GetFrameGlobals and PyEval_GetFrameLocals on Python 3.13 and up. #5590
    • Add FFI definitions PyObject_New, PyObject_NewVar, PyObject_GC_Resize, PyObject_GC_New, and PyObject_GC_NewVar. #5591

... (truncated)

Commits
  • 2b392c8 release: 0.28.2
  • 7e44c1d fix complex enum __qualname__ not using python name (#5815)
  • 75abd86 fix memory corruption when subclassing variable-size types (e.g. abi3 + 3.1...
  • b62c7a2 Fix typo in PyType_GetTypeDataSize bindings (#5819)
  • 45f49ff release: 0.28.1
  • 56c34d6 Document Py_GIL_DISABLED in pyo3-build-config docs (#5810)
  • 92bc9ef Avoid unused variable warning with a debug Python build (#5811)
  • ca5df1a ci: re-enable list_get_item_unchecked benchmark on free-threaded build (#5812)
  • 413d9b5 Fix missing std::sync::atomic::Ordering import for targets without atomic64...
  • 1c764cd docs: improve messaging around #[pyclass(from_py_object)] change (#5798)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps [pyo3](https://github.com/pyo3/pyo3) from 0.24.2 to 0.28.2. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/pyo3/pyo3/releases">pyo3's releases</a>.</em></p> <blockquote> <h2>PyO3 0.28.2</h2> <p>This patch release contains a soundness fix for subclassing native types such as <code>PyList</code> with the <code>abi3</code> feature enabled when targeting a minimum version of Python 3.12 or higher. (Support for doing such subclassing was newly added in PyO3 0.28.0.)</p> <p>PyO3 0.28.0 and 0.28.1 will be yanked.</p> <p>This release also contains a correction to the FFI definition <code>PyType_GetTypeDataSize</code> and incorrectly-generated <code>__qualname__</code> on <code>#[pyclass]</code> enum variant types when using <code>#[pyo3(name = &quot;...&quot;)]</code> option to rename the enum and/or variant.</p> <p>Thank you to the following contributors for the improvements:</p> <p><a href="https://github.com/davidhewitt"><code>@​davidhewitt</code></a> <a href="https://github.com/Icxolu"><code>@​Icxolu</code></a> <a href="https://github.com/ngoldbaum"><code>@​ngoldbaum</code></a></p> <h2>PyO3 0.28.1</h2> <p>This patch contains a number of minor compile-time fixes for PyO3 0.28.0.</p> <p>Thank you to the following contributors for the improvements:</p> <p><a href="https://github.com/davidhewitt"><code>@​davidhewitt</code></a> <a href="https://github.com/funsafemath"><code>@​funsafemath</code></a> <a href="https://github.com/ngoldbaum"><code>@​ngoldbaum</code></a> <a href="https://github.com/rara64"><code>@​rara64</code></a> <a href="https://github.com/tdyas"><code>@​tdyas</code></a></p> <h2>PyO3 0.28.0</h2> <p>This release contains many improvements across PyO3's feature set:</p> <ul> <li>Proper support for <code>__init__</code> methods for <code>#[pyclass]</code> types</li> <li>Support for <code>#[deleter]</code>s to complement the existing <code>#[getter]</code> and <code>#[setter]</code> attributes when implementing class &quot;properties&quot;.</li> <li>Support for subclassing many Python types with the <code>abi3</code> feature (requires Python 3.12+).</li> <li>A new <code>#[pyclass(new = &quot;from_fields&quot;)]</code> option to automatically define the constructor from the class fields.</li> <li>Many corrections to FFI definitions (including removal of many private CPython methods)</li> <li>Many improvements to the <code>experimental-inspect</code> feature's functionality.</li> </ul> <p>The minimum supported Rust version has been increased to Rust 1.83.</p> <p>This release also switches <code>#[pymodule]</code> to use PEP 489 multi-phase initialization internally. This should have no immediate functional impact other than preparing PyO3 to support newer technologies such as Python subinterpreters.</p> <p>There are also many other incremental improvements, bug fixes and smaller features; full detail can be found in the <a href="https://pyo3.rs/v0.28.0/changelog.html">CHANGELOG</a>.</p> <p>Please consult the <a href="https://pyo3.rs/v0.28.0/migration.html">migration guide</a> for help upgrading.</p> <p>Thank you to everyone who contributed code, documentation, design ideas, bug reports, and feedback. The following contributors' commits are included in this release:</p> <p><a href="https://github.com/ABorgna"><code>@​ABorgna</code></a> <a href="https://github.com/ahlinc"><code>@​ahlinc</code></a> <a href="https://github.com/alex"><code>@​alex</code></a> <a href="https://github.com/altendky"><code>@​altendky</code></a> <a href="https://github.com/bazaah"><code>@​bazaah</code></a> <a href="https://github.com/bschoenmaeckers"><code>@​bschoenmaeckers</code></a> <a href="https://github.com/chirizxc"><code>@​chirizxc</code></a></p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/PyO3/pyo3/blob/main/CHANGELOG.md">pyo3's changelog</a>.</em></p> <blockquote> <h2>[0.28.2] - 2026-02-18</h2> <h3>Fixed</h3> <ul> <li>Fix complex enum <code>__qualname__</code> not using python name <a href="https://redirect.github.com/PyO3/pyo3/pull/5815">#5815</a></li> <li>Fix FFI definition <code>PyType_GetTypeDataSize</code> (was incorrectly named <code>PyObject_GetTypeDataSize</code>). <a href="https://redirect.github.com/PyO3/pyo3/pull/5819">#5819</a></li> <li>Fix memory corruption when subclassing native types with <code>abi3</code> feature on Python 3.12+ (newly enabled in PyO3 0.28.0). <a href="https://redirect.github.com/PyO3/pyo3/pull/5823">#5823</a></li> </ul> <h2>[0.28.1] - 2026-02-14</h2> <h3>Fixed</h3> <ul> <li>Fix <code>*args</code> / <code>**kwargs</code> support in<code> experimental-async</code> feature (regressed in 0.28.0). <a href="https://redirect.github.com/PyO3/pyo3/pull/5771">#5771</a></li> <li>Fix <code>clippy::declare_interior_mutable_const</code> warning inside <code>#[pyclass]</code> generated code on enums. <a href="https://redirect.github.com/PyO3/pyo3/pull/5772">#5772</a></li> <li>Fix <code>ambiguous_associated_items</code> compilation error when deriving <code>FromPyObject</code> or using <code>#[pyclass(from_py_object)]</code> macro on enums with <code>Error</code> variant. <a href="https://redirect.github.com/PyO3/pyo3/pull/5784">#5784</a></li> <li>Fix <code>__qualname__</code> for complex <code>#[pyclass]</code> enum variants to include the enum name. <a href="https://redirect.github.com/PyO3/pyo3/pull/5796">#5796</a></li> <li>Fix missing <code>std::sync::atomic::Ordering</code> import for targets without atomic64. <a href="https://redirect.github.com/PyO3/pyo3/pull/5808">#5808</a></li> </ul> <h2>[0.28.0] - 2026-02-01</h2> <h3>Packaging</h3> <ul> <li>Bump MSRV to Rust 1.83. <a href="https://redirect.github.com/PyO3/pyo3/pull/5531">#5531</a></li> <li>Bump minimum supported <code>quote</code> version to 1.0.37. <a href="https://redirect.github.com/PyO3/pyo3/pull/5531">#5531</a></li> <li>Bump supported GraalPy version to 25.0. <a href="https://redirect.github.com/PyO3/pyo3/pull/5542">#5542</a></li> <li>Drop <code>memoffset</code> dependency. <a href="https://redirect.github.com/PyO3/pyo3/pull/5545">#5545</a></li> <li>Support for free-threaded Python is now opt-out rather than opt-in. <a href="https://redirect.github.com/PyO3/pyo3/pull/5564">#5564</a></li> <li>Bump <code>target-lexicon</code> dependency to 0.13.3. <a href="https://redirect.github.com/PyO3/pyo3/pull/5571">#5571</a></li> <li>Drop <code>indoc</code> and <code>unindent</code> dependencies. <a href="https://redirect.github.com/PyO3/pyo3/pull/5608">#5608</a></li> </ul> <h3>Added</h3> <ul> <li>Add <code>__init__</code> support in <code>#[pymethods]</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/4951">#4951</a></li> <li>Expose <code>PySuper</code> on PyPy, GraalPy and ABI3 <a href="https://redirect.github.com/PyO3/pyo3/pull/4951">#4951</a></li> <li>Add <code>PyString::from_fmt</code> and <code>py_format!</code> macro. <a href="https://redirect.github.com/PyO3/pyo3/pull/5199">#5199</a></li> <li>Add <code>#[pyclass(new = &quot;from_fields&quot;)]</code> option. <a href="https://redirect.github.com/PyO3/pyo3/pull/5421">#5421</a></li> <li>Add <code>pyo3::buffer::PyUntypedBuffer</code>, a type-erased form of <code>PyBuffer&lt;T&gt;</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/5458">#5458</a></li> <li>Add <code>PyBytes::new_with_writer</code> <a href="https://redirect.github.com/PyO3/pyo3/pull/5517">#5517</a></li> <li>Add <code>PyClass::NAME</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/5579">#5579</a></li> <li>Add <code>pyo3_build_config::add_libpython_rpath_link_args</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/5624">#5624</a></li> <li>Add <code>PyBackedStr::clone_ref</code> and <code>PyBackedBytes::clone_ref</code> methods. <a href="https://redirect.github.com/PyO3/pyo3/pull/5654">#5654</a></li> <li>Add <code>PyCapsule::new_with_pointer</code> and <code>PyCapsule::new_with_pointer_and_destructor</code> for creating capsules with raw pointers. <a href="https://redirect.github.com/PyO3/pyo3/pull/5689">#5689</a></li> <li>Add <code>#[deleter]</code> attribute to implement property deleters in <code>#[methods]</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/5699">#5699</a></li> <li>Add <code>IntoPyObject</code> and <code>FromPyObject</code> implementations for <code>uuid::NonNilUuid</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/5707">#5707</a></li> <li>Add <code>PyBackedStr::as_str</code> and <code>PyBackedStr::as_py_str</code> methods. <a href="https://redirect.github.com/PyO3/pyo3/pull/5723">#5723</a></li> <li>Add support for subclassing native types (<code>PyDict</code>, exceptions, ...) when building for abi3 on Python 3.12+. <a href="https://redirect.github.com/PyO3/pyo3/pull/5733">#5733</a></li> <li>Add support for subclassing <code>PyList</code> when building for Python 3.12+. <a href="https://redirect.github.com/PyO3/pyo3/pull/5734">#5734</a></li> <li>FFI definitions: <ul> <li>Add FFI definitions <code>PyEval_GetFrameBuiltins</code>, <code>PyEval_GetFrameGlobals</code> and <code>PyEval_GetFrameLocals</code> on Python 3.13 and up. <a href="https://redirect.github.com/PyO3/pyo3/pull/5590">#5590</a></li> <li>Add FFI definitions <code>PyObject_New</code>, <code>PyObject_NewVar</code>, <code>PyObject_GC_Resize</code>, <code>PyObject_GC_New</code>, and <code>PyObject_GC_NewVar</code>. <a href="https://redirect.github.com/PyO3/pyo3/pull/5591">#5591</a></li> </ul> </li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/PyO3/pyo3/commit/2b392c8500673520066486f6098cbf2316211ff6"><code>2b392c8</code></a> release: 0.28.2</li> <li><a href="https://github.com/PyO3/pyo3/commit/7e44c1d64d40a12e0bd55c819e3feda5322fc219"><code>7e44c1d</code></a> fix complex enum <code>__qualname__</code> not using python name (<a href="https://redirect.github.com/pyo3/pyo3/issues/5815">#5815</a>)</li> <li><a href="https://github.com/PyO3/pyo3/commit/75abd8602896b350fd8c778e52e0a74b4644ccca"><code>75abd86</code></a> fix memory corruption when subclassing variable-size types (e.g. <code>abi3</code> + 3.1...</li> <li><a href="https://github.com/PyO3/pyo3/commit/b62c7a278fc14e9afb0d73ab1ded7ba00cda3be2"><code>b62c7a2</code></a> Fix typo in PyType_GetTypeDataSize bindings (<a href="https://redirect.github.com/pyo3/pyo3/issues/5819">#5819</a>)</li> <li><a href="https://github.com/PyO3/pyo3/commit/45f49ff9f50538c5bc2ea2c5045ee58f7270bfad"><code>45f49ff</code></a> release: 0.28.1</li> <li><a href="https://github.com/PyO3/pyo3/commit/56c34d630b8c133b3298ccae601dff2f6d5a9798"><code>56c34d6</code></a> Document Py_GIL_DISABLED in pyo3-build-config docs (<a href="https://redirect.github.com/pyo3/pyo3/issues/5810">#5810</a>)</li> <li><a href="https://github.com/PyO3/pyo3/commit/92bc9efd51f70d72d71223b2d661b7d9cc074ef6"><code>92bc9ef</code></a> Avoid unused variable warning with a debug Python build (<a href="https://redirect.github.com/pyo3/pyo3/issues/5811">#5811</a>)</li> <li><a href="https://github.com/PyO3/pyo3/commit/ca5df1a72d745c27327cddd3726aebda88556614"><code>ca5df1a</code></a> ci: re-enable <code>list_get_item_unchecked</code> benchmark on free-threaded build (<a href="https://redirect.github.com/pyo3/pyo3/issues/5812">#5812</a>)</li> <li><a href="https://github.com/PyO3/pyo3/commit/413d9b5b0130dd636d250be03d807b6091beab5e"><code>413d9b5</code></a> Fix missing <code>std::sync::atomic::Ordering</code> import for targets without atomic64...</li> <li><a href="https://github.com/PyO3/pyo3/commit/1c764cdc377d41f7117524fd9ecb311a81a2029c"><code>1c764cd</code></a> docs: improve messaging around <code>#[pyclass(from_py_object)]</code> change (<a href="https://redirect.github.com/pyo3/pyo3/issues/5798">#5798</a>)</li> <li>Additional commits viewable in <a href="https://github.com/pyo3/pyo3/compare/v0.24.2...v0.28.2">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pyo3&package-manager=cargo&previous-version=0.24.2&new-version=0.28.2)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
dependabot[bot] commented 2026-03-11 22:05:56 +00:00 (Migrated from github.com)

Looks like pyo3 is up-to-date now, so this is no longer needed.

Looks like pyo3 is up-to-date now, so this is no longer needed.

Pull request closed

Sign in to join this conversation.
No description provided.