Skip to content

chore(deps): update rust crate pyo3 to 0.28.0#7043

Merged
renovate[bot] merged 2 commits intodevelopfrom
renovate/pyo3-0.x
Mar 19, 2026
Merged

chore(deps): update rust crate pyo3 to 0.28.0#7043
renovate[bot] merged 2 commits intodevelopfrom
renovate/pyo3-0.x

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Mar 19, 2026

This PR contains the following updates:

Package Type Update Change
pyo3 workspace.dependencies minor 0.27.00.28.0

Release Notes

pyo3/pyo3 (pyo3)

v0.28.2

Compare Source

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

v0.28.1

Compare Source

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

v0.28.0

Compare Source

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
    • Added FFI definitions and an unsafe Rust API wrapping Py_BEGIN_CRITICAL_SECTION_MUTEX and Py_BEGIN_CRITICAL_SECTION_MUTEX2. #​5642
    • Add FFI definition PyDict_GetItemStringRef on Python 3.13 and up. #​5659
    • Add FFI definition PyIter_NextItem on Python 3.14 and up, and compat::PyIter_NextItem for older versions. #​5661
    • Add FFI definitions PyThreadState_GetInterpreter and PyThreadState_GetID on Python 3.9+, PyThreadState_EnterTracing and PyThreadState_LeaveTracing on Python 3.11+, PyThreadState_GetUnchecked on Python 3.13+, and compat::PyThreadState_GetUnchecked. #​5711
    • Add FFI definitions PyImport_ImportModuleAttr and PyImport_ImportModuleAttrString on Python 3.14+. #​5737
    • Add FFI definitions for the PyABIInfo and PyModExport APIs available in Python 3.15. #​5746
  • experimental-inspect:
    • Emit base classes. #​5331
    • Emit @typing.final on final classes. #​5552
    • Generate nested classes for complex enums. #​5708
    • Emit async keyword for async functions. #​5731
Changed
  • Call sys.unraisablehook instead of PyErr_Print if panicking on null FFI pointer in Bound, Borrowed and Py constructors. #​5496
  • Use PEP-489 multi-phase initialization for #[pymodule]. #​5525
  • Deprecate implicit by-value implementation of FromPyObject for #[pyclass]. #​5550
  • Deprecate PyTypeInfo::NAME and PyTypeInfo::MODULE. #​5579
  • Deprecate Py<T>::from_{owned,borrowed}[or_{err,opt}] constructors from raw pointer. #​5585
  • Deprecate FFI definitions PyEval_AcquireLock and PyEval_ReleaseLock. #​5590
  • Relax 'py: 'a bound in Py::extract. #​5594
  • Add a T: PyTypeCheck bound to the IntoPyObject implementations on Bound<T>, Borrowed<T> and Py<T>. #​5640
  • The with_critical_section and with_critical_section2 functions are moved to pyo3::sync::critical_section. #​5642
  • Use PyIter_NextItem in PyIterator::next implementation. #​5661
  • IntoPyObject for simple enums now uses a singleton value, allowing identity (python is) comparisons. #​5665
  • Allow any Sequence[int] in FromPyObject on Cow<[u8]> and change the error type to PyErr. #​5667
  • async pymethods now borrow self only for the duration of awaiting the future, not the entire method call. #​5684
  • Change CastError formatted message to directly describe the "is not an instance of" failure condition. #​5693
  • Add #[inline] hints to many methods on PyBackedStr. #​5723
  • Remove redundant internal counters from BoundSetIterator and BoundFrozenSetIterator. #​5725
  • Implement PyIterator::size_hint on abi3 builds (previously was only on unlimited API builds). #​5727
  • Deprecate FFI definition PyImport_ImportModuleNoBlock (deprecated in Python 3.13). #​5737
  • #[new] can now return arbitrary Python objects. #​5739
  • experimental-inspect:
    • Introduce TypeHint and make use of it to encode type hint annotations. #​5438
    • Rename PyType{Info,Check}::TYPE_INFO into PyType{Info,Check}::TYPE_HINT. #​5438 #​5619 #​5641
    • Fill annotations on function arguments and return values for all types supported natively by PyO3. #​5634 #​5637 #​5639
    • Use _typeshed.Incomplete instead of typing.Any as default type hint, to make it easier to spot incomplete trait implementations. #​5744
    • Use general Python expression syntax for type hints. #​5671
Removed
  • Remove all functionality deprecated in PyO3 0.25 and 0.26. #​5740
  • FFI definitions:
    • Remove FFI definition PyEval_GetCallStats (removed from CPython in Python 3.7). #​5590
    • Remove FFI definitions PyEval_AcquireLock and PyEval_ReleaseLock on Python 3.13 and up. #​5590
    • Remove private FFI definitions _PyObject_New, _PyObject_NewVar, _PyObject_GC_Resize, _PyObject_GC_New, and _PyObject_GC_NewVar. #​5591
    • Remove private FFI definitions _PyDict_SetItem_KnownHash, _PyDict_Next, _PyDict_NewPresized, _PyDict_Contains_KnownHash, and _PyDict_Contains. #​5659
    • Remove private FFI definitions _PyFrameEvalFunction, _PyInterpreterState_GetEvalFrameFunc and _PyInterpreterState_SetEvalFrameFunc. #​5711
    • Remove private FFI definitions _PyImport_IsInitialized, _PyImport_SetModule, _PyImport_SetModuleString, _PyImport_AcquireLock, _PyImport_ReleaseLock, _PyImport_FindBuiltin, _PyImport_FindExtensionObject, _PyImport_FixupBuiltin, and _PyImport_FixupExtensionObject. #​5737
Fixed
  • Fix PyModuleMethods::add_submodule() to use the last segment of the submodule name as the attribute name on the parent module instead of using the full name. #​5375
  • Link with libpython for Cygwin extension modules. #​5571
  • Link against the limited API DLL for Cygwin when abi3 is used. #​5574
  • Handle errors in PyIterator when calling size_hint #​5604
  • Link with libpython for iOS extension modules. #​5605
  • Correct IntoPyObject output type of PyBackedStr to be PyString, not PyAny. #​5655
  • Fix async functions to return None rather than empty tuple (). #​5685
  • Fix compile error when using references to #[pyclass] types (e.g. &MyClass) as arguments to async #[pyfunction]s. #​5725
  • FFI definitions:
    • Fix FFI definition PyMemberDescrObject.d_member to use PyMemberDef for Python 3.11+ (was incorrectly PyGetSetDef). #​5647
    • Mark FFI definition PyThreadState_GetFrame available with abi3 in 3.10+. #​5711
    • Fix FFI definition PyImport_GetModule on PyPy. #​5737
  • experimental-inspect:
    • fix __new__ return type to be the built object type and not None. #​5555
    • fix imports of decorators. #​5618
    • fix the return type annotation of PyResult<()> (must be None and not tuple) #​5674

Configuration

📅 Schedule: Branch creation - Between 12:00 AM and 03:59 AM, only on Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added the changelog/chore A trivial change label Mar 19, 2026
@renovate renovate bot enabled auto-merge (squash) March 19, 2026 05:15
@renovate
Copy link
Contributor Author

renovate bot commented Mar 19, 2026

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: Cargo.lock
Command failed: cargo update --config net.git-fetch-with-cli=true --manifest-path Cargo.toml --workspace
    Updating crates.io index
error: failed to select a version for `pyo3-ffi`.
    ... required by package `pyo3 v0.27.0`
    ... which satisfies dependency `pyo3 = "^0.27"` of package `pyo3-bytes v0.5.0`
    ... which satisfies dependency `pyo3-bytes = "^0.5"` of package `vortex-python v0.1.0 (/tmp/renovate/repos/github/vortex-data/vortex/vortex-python)`
versions that meet the requirements `=0.27.0` are: 0.27.0

package `pyo3-ffi` links to the native library `python`, but it conflicts with a previous package which links to `python` as well:
package `pyo3-ffi v0.28.2`
    ... which satisfies dependency `pyo3-ffi = "=0.28.2"` of package `pyo3 v0.28.2`
    ... which satisfies dependency `pyo3 = "^0.28.0"` of package `vortex-python v0.1.0 (/tmp/renovate/repos/github/vortex-data/vortex/vortex-python)`
Only one package in the dependency graph may specify the same links value. This helps ensure that only one copy of a native library is linked in the final binary. Try to adjust your dependencies so that only one package uses the `links = "python"` value. For more information, see https://doc.rust-lang.org/cargo/reference/resolver.html#links.

failed to select a version for `pyo3-ffi` which could resolve this conflict

Signed-off-by: Robert Kruszewski <github@robertk.io>
@renovate
Copy link
Contributor Author

renovate bot commented Mar 19, 2026

Edited/Blocked Notification

Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.

You can manually request rebase by checking the rebase/retry box above.

⚠️ Warning: custom changes will be lost.

@renovate renovate bot merged commit bf0ec1c into develop Mar 19, 2026
55 checks passed
@renovate renovate bot deleted the renovate/pyo3-0.x branch March 19, 2026 05:59
dimitarvdimitrov pushed a commit that referenced this pull request Mar 20, 2026
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [pyo3](https://redirect.github.com/pyo3/pyo3) | workspace.dependencies
| minor | `0.27.0` → `0.28.0` |

---

### Release Notes

<details>
<summary>pyo3/pyo3 (pyo3)</summary>

###
[`v0.28.2`](https://redirect.github.com/pyo3/pyo3/blob/HEAD/CHANGELOG.md#0282---2026-02-18)

[Compare
Source](https://redirect.github.com/pyo3/pyo3/compare/v0.28.1...v0.28.2)

##### Fixed

- Fix complex enum `__qualname__` not using python name
[#&#8203;5815](https://redirect.github.com/PyO3/pyo3/pull/5815)
- Fix FFI definition `PyType_GetTypeDataSize` (was incorrectly named
`PyObject_GetTypeDataSize`).
[#&#8203;5819](https://redirect.github.com/PyO3/pyo3/pull/5819)
- Fix memory corruption when subclassing native types with `abi3`
feature on Python 3.12+ (newly enabled in PyO3 0.28.0).
[#&#8203;5823](https://redirect.github.com/PyO3/pyo3/pull/5823)

###
[`v0.28.1`](https://redirect.github.com/pyo3/pyo3/blob/HEAD/CHANGELOG.md#0281---2026-02-14)

[Compare
Source](https://redirect.github.com/pyo3/pyo3/compare/v0.28.0...v0.28.1)

##### Fixed

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

###
[`v0.28.0`](https://redirect.github.com/pyo3/pyo3/blob/HEAD/CHANGELOG.md#0280---2026-02-01)

[Compare
Source](https://redirect.github.com/pyo3/pyo3/compare/v0.27.2...v0.28.0)

##### Packaging

- Bump MSRV to Rust 1.83.
[#&#8203;5531](https://redirect.github.com/PyO3/pyo3/pull/5531)
- Bump minimum supported `quote` version to 1.0.37.
[#&#8203;5531](https://redirect.github.com/PyO3/pyo3/pull/5531)
- Bump supported GraalPy version to 25.0.
[#&#8203;5542](https://redirect.github.com/PyO3/pyo3/pull/5542)
- Drop `memoffset` dependency.
[#&#8203;5545](https://redirect.github.com/PyO3/pyo3/pull/5545)
- Support for free-threaded Python is now opt-out rather than opt-in.
[#&#8203;5564](https://redirect.github.com/PyO3/pyo3/pull/5564)
- Bump `target-lexicon` dependency to 0.13.3.
[#&#8203;5571](https://redirect.github.com/PyO3/pyo3/pull/5571)
- Drop `indoc` and `unindent` dependencies.
[#&#8203;5608](https://redirect.github.com/PyO3/pyo3/pull/5608)

##### Added

- Add `__init__` support in `#[pymethods]`.
[#&#8203;4951](https://redirect.github.com/PyO3/pyo3/pull/4951)
- Expose `PySuper` on PyPy, GraalPy and ABI3
[#&#8203;4951](https://redirect.github.com/PyO3/pyo3/pull/4951)
- Add `PyString::from_fmt` and `py_format!` macro.
[#&#8203;5199](https://redirect.github.com/PyO3/pyo3/pull/5199)
- Add `#[pyclass(new = "from_fields")]` option.
[#&#8203;5421](https://redirect.github.com/PyO3/pyo3/pull/5421)
- Add `pyo3::buffer::PyUntypedBuffer`, a type-erased form of
`PyBuffer<T>`.
[#&#8203;5458](https://redirect.github.com/PyO3/pyo3/pull/5458)
- Add `PyBytes::new_with_writer`
[#&#8203;5517](https://redirect.github.com/PyO3/pyo3/pull/5517)
- Add `PyClass::NAME`.
[#&#8203;5579](https://redirect.github.com/PyO3/pyo3/pull/5579)
- Add `pyo3_build_config::add_libpython_rpath_link_args`.
[#&#8203;5624](https://redirect.github.com/PyO3/pyo3/pull/5624)
- Add `PyBackedStr::clone_ref` and `PyBackedBytes::clone_ref` methods.
[#&#8203;5654](https://redirect.github.com/PyO3/pyo3/pull/5654)
- Add `PyCapsule::new_with_pointer` and
`PyCapsule::new_with_pointer_and_destructor` for creating capsules with
raw pointers.
[#&#8203;5689](https://redirect.github.com/PyO3/pyo3/pull/5689)
- Add `#[deleter]` attribute to implement property deleters in
`#[methods]`.
[#&#8203;5699](https://redirect.github.com/PyO3/pyo3/pull/5699)
- Add `IntoPyObject` and `FromPyObject` implementations for
`uuid::NonNilUuid`.
[#&#8203;5707](https://redirect.github.com/PyO3/pyo3/pull/5707)
- Add `PyBackedStr::as_str` and `PyBackedStr::as_py_str` methods.
[#&#8203;5723](https://redirect.github.com/PyO3/pyo3/pull/5723)
- Add support for subclassing native types (`PyDict`, exceptions, ...)
when building for abi3 on Python 3.12+.
[#&#8203;5733](https://redirect.github.com/PyO3/pyo3/pull/5733)
- Add support for subclassing `PyList` when building for Python 3.12+.
[#&#8203;5734](https://redirect.github.com/PyO3/pyo3/pull/5734)
- FFI definitions:
- Add FFI definitions `PyEval_GetFrameBuiltins`,
`PyEval_GetFrameGlobals` and `PyEval_GetFrameLocals` on Python 3.13 and
up. [#&#8203;5590](https://redirect.github.com/PyO3/pyo3/pull/5590)
- Add FFI definitions `PyObject_New`, `PyObject_NewVar`,
`PyObject_GC_Resize`, `PyObject_GC_New`, and `PyObject_GC_NewVar`.
[#&#8203;5591](https://redirect.github.com/PyO3/pyo3/pull/5591)
- Added FFI definitions and an unsafe Rust API wrapping
`Py_BEGIN_CRITICAL_SECTION_MUTEX` and
`Py_BEGIN_CRITICAL_SECTION_MUTEX2`.
[#&#8203;5642](https://redirect.github.com/PyO3/pyo3/pull/5642)
- Add FFI definition `PyDict_GetItemStringRef` on Python 3.13 and up.
[#&#8203;5659](https://redirect.github.com/PyO3/pyo3/pull/5659)
- Add FFI definition `PyIter_NextItem` on Python 3.14 and up, and
`compat::PyIter_NextItem` for older versions.
[#&#8203;5661](https://redirect.github.com/PyO3/pyo3/pull/5661)
- Add FFI definitions `PyThreadState_GetInterpreter` and
`PyThreadState_GetID` on Python 3.9+, `PyThreadState_EnterTracing` and
`PyThreadState_LeaveTracing` on Python 3.11+,
`PyThreadState_GetUnchecked` on Python 3.13+, and
`compat::PyThreadState_GetUnchecked`.
[#&#8203;5711](https://redirect.github.com/PyO3/pyo3/pull/5711)
- Add FFI definitions `PyImport_ImportModuleAttr` and
`PyImport_ImportModuleAttrString` on Python 3.14+.
[#&#8203;5737](https://redirect.github.com/PyO3/pyo3/pull/5737)
- Add FFI definitions for the `PyABIInfo` and `PyModExport` APIs
available in Python 3.15.
[#&#8203;5746](https://redirect.github.com/PyO3/pyo3/pull/5746)
- `experimental-inspect`:
- Emit base classes.
[#&#8203;5331](https://redirect.github.com/PyO3/pyo3/pull/5331)
- Emit `@typing.final` on final classes.
[#&#8203;5552](https://redirect.github.com/PyO3/pyo3/pull/5552)
- Generate nested classes for complex enums.
[#&#8203;5708](https://redirect.github.com/PyO3/pyo3/pull/5708)
- Emit `async` keyword for async functions.
[#&#8203;5731](https://redirect.github.com/PyO3/pyo3/pull/5731)

##### Changed

- Call `sys.unraisablehook` instead of `PyErr_Print` if panicking on
null FFI pointer in `Bound`, `Borrowed` and `Py` constructors.
[#&#8203;5496](https://redirect.github.com/PyO3/pyo3/pull/5496)
- Use PEP-489 multi-phase initialization for `#[pymodule]`.
[#&#8203;5525](https://redirect.github.com/PyO3/pyo3/pull/5525)
- Deprecate implicit by-value implementation of `FromPyObject` for
`#[pyclass]`.
[#&#8203;5550](https://redirect.github.com/PyO3/pyo3/pull/5550)
- Deprecate `PyTypeInfo::NAME` and `PyTypeInfo::MODULE`.
[#&#8203;5579](https://redirect.github.com/PyO3/pyo3/pull/5579)
- Deprecate `Py<T>::from_{owned,borrowed}[or_{err,opt}]` constructors
from raw pointer.
[#&#8203;5585](https://redirect.github.com/PyO3/pyo3/pull/5585)
- Deprecate FFI definitions `PyEval_AcquireLock` and
`PyEval_ReleaseLock`.
[#&#8203;5590](https://redirect.github.com/PyO3/pyo3/pull/5590)
- Relax `'py: 'a` bound in `Py::extract`.
[#&#8203;5594](https://redirect.github.com/PyO3/pyo3/pull/5594)
- Add a `T: PyTypeCheck` bound to the `IntoPyObject` implementations on
`Bound<T>`, `Borrowed<T>` and `Py<T>`.
[#&#8203;5640](https://redirect.github.com/PyO3/pyo3/pull/5640)
- The `with_critical_section` and `with_critical_section2` functions are
moved to `pyo3::sync::critical_section`.
[#&#8203;5642](https://redirect.github.com/PyO3/pyo3/pull/5642)
- Use `PyIter_NextItem` in `PyIterator::next` implementation.
[#&#8203;5661](https://redirect.github.com/PyO3/pyo3/pull/5661)
- `IntoPyObject` for simple enums now uses a singleton value, allowing
identity (python `is`) comparisons.
[#&#8203;5665](https://redirect.github.com/PyO3/pyo3/pull/5665)
- Allow any `Sequence[int]` in `FromPyObject` on `Cow<[u8]>` and change
the error type to `PyErr`.
[#&#8203;5667](https://redirect.github.com/PyO3/pyo3/pull/5667)
- `async` pymethods now borrow `self` only for the duration of awaiting
the future, not the entire method call.
[#&#8203;5684](https://redirect.github.com/PyO3/pyo3/pull/5684)
- Change `CastError` formatted message to directly describe the "is not
an instance of" failure condition.
[#&#8203;5693](https://redirect.github.com/PyO3/pyo3/pull/5693)
- Add `#[inline]` hints to many methods on `PyBackedStr`.
[#&#8203;5723](https://redirect.github.com/PyO3/pyo3/pull/5723)
- Remove redundant internal counters from `BoundSetIterator` and
`BoundFrozenSetIterator`.
[#&#8203;5725](https://redirect.github.com/PyO3/pyo3/pull/5725)
- Implement `PyIterator::size_hint` on abi3 builds (previously was only
on unlimited API builds).
[#&#8203;5727](https://redirect.github.com/PyO3/pyo3/pull/5727)
- Deprecate FFI definition `PyImport_ImportModuleNoBlock` (deprecated in
Python 3.13).
[#&#8203;5737](https://redirect.github.com/PyO3/pyo3/pull/5737)
- `#[new]` can now return arbitrary Python objects.
[#&#8203;5739](https://redirect.github.com/PyO3/pyo3/pull/5739)
- `experimental-inspect`:
- Introduce `TypeHint` and make use of it to encode type hint
annotations.
[#&#8203;5438](https://redirect.github.com/PyO3/pyo3/pull/5438)
- Rename `PyType{Info,Check}::TYPE_INFO` into
`PyType{Info,Check}::TYPE_HINT`.
[#&#8203;5438](https://redirect.github.com/PyO3/pyo3/pull/5438)
[#&#8203;5619](https://redirect.github.com/PyO3/pyo3/pull/5619)
[#&#8203;5641](https://redirect.github.com/PyO3/pyo3/pull/5641)
- Fill annotations on function arguments and return values for all types
supported natively by PyO3.
[#&#8203;5634](https://redirect.github.com/PyO3/pyo3/pull/5634)
[#&#8203;5637](https://redirect.github.com/PyO3/pyo3/pull/5637)
[#&#8203;5639](https://redirect.github.com/PyO3/pyo3/pull/5639)
- Use `_typeshed.Incomplete` instead of `typing.Any` as default type
hint, to make it easier to spot incomplete trait implementations.
[#&#8203;5744](https://redirect.github.com/PyO3/pyo3/pull/5744)
- Use general Python expression syntax for type hints.
[#&#8203;5671](https://redirect.github.com/PyO3/pyo3/pull/5671)

##### Removed

- Remove all functionality deprecated in PyO3 0.25 and 0.26.
[#&#8203;5740](https://redirect.github.com/PyO3/pyo3/pull/5740)
- FFI definitions:
- Remove FFI definition `PyEval_GetCallStats` (removed from CPython in
Python 3.7).
[#&#8203;5590](https://redirect.github.com/PyO3/pyo3/pull/5590)
- Remove FFI definitions `PyEval_AcquireLock` and `PyEval_ReleaseLock`
on Python 3.13 and up.
[#&#8203;5590](https://redirect.github.com/PyO3/pyo3/pull/5590)
- Remove private FFI definitions `_PyObject_New`, `_PyObject_NewVar`,
`_PyObject_GC_Resize`, `_PyObject_GC_New`, and `_PyObject_GC_NewVar`.
[#&#8203;5591](https://redirect.github.com/PyO3/pyo3/pull/5591)
- Remove private FFI definitions `_PyDict_SetItem_KnownHash`,
`_PyDict_Next`, `_PyDict_NewPresized`, `_PyDict_Contains_KnownHash`, and
`_PyDict_Contains`.
[#&#8203;5659](https://redirect.github.com/PyO3/pyo3/pull/5659)
- Remove private FFI definitions `_PyFrameEvalFunction`,
`_PyInterpreterState_GetEvalFrameFunc` and
`_PyInterpreterState_SetEvalFrameFunc`.
[#&#8203;5711](https://redirect.github.com/PyO3/pyo3/pull/5711)
- Remove private FFI definitions `_PyImport_IsInitialized`,
`_PyImport_SetModule`, `_PyImport_SetModuleString`,
`_PyImport_AcquireLock`, `_PyImport_ReleaseLock`,
`_PyImport_FindBuiltin`, `_PyImport_FindExtensionObject`,
`_PyImport_FixupBuiltin`, and `_PyImport_FixupExtensionObject`.
[#&#8203;5737](https://redirect.github.com/PyO3/pyo3/pull/5737)

##### Fixed

- Fix `PyModuleMethods::add_submodule()` to use the last segment of the
submodule name as the attribute name on the parent module instead of
using the full name.
[#&#8203;5375](https://redirect.github.com/PyO3/pyo3/pull/5375)
- Link with libpython for Cygwin extension modules.
[#&#8203;5571](https://redirect.github.com/PyO3/pyo3/pull/5571)
- Link against the limited API DLL for Cygwin when abi3 is used.
[#&#8203;5574](https://redirect.github.com/PyO3/pyo3/pull/5574)
- Handle errors in `PyIterator` when calling `size_hint`
[#&#8203;5604](https://redirect.github.com/PyO3/pyo3/pull/5604)
- Link with libpython for iOS extension modules.
[#&#8203;5605](https://redirect.github.com/PyO3/pyo3/pull/5605)
- Correct `IntoPyObject` output type of `PyBackedStr` to be `PyString`,
not `PyAny`.
[#&#8203;5655](https://redirect.github.com/PyO3/pyo3/pull/5655)
- Fix `async` functions to return `None` rather than empty tuple `()`.
[#&#8203;5685](https://redirect.github.com/PyO3/pyo3/pull/5685)
- Fix compile error when using references to `#[pyclass]` types (e.g.
`&MyClass`) as arguments to async `#[pyfunction]`s.
[#&#8203;5725](https://redirect.github.com/PyO3/pyo3/pull/5725)
- FFI definitions:
- Fix FFI definition `PyMemberDescrObject.d_member` to use `PyMemberDef`
for Python 3.11+ (was incorrectly `PyGetSetDef`).
[#&#8203;5647](https://redirect.github.com/PyO3/pyo3/pull/5647)
- Mark FFI definition `PyThreadState_GetFrame` available with abi3 in
3.10+. [#&#8203;5711](https://redirect.github.com/PyO3/pyo3/pull/5711)
- Fix FFI definition `PyImport_GetModule` on PyPy.
[#&#8203;5737](https://redirect.github.com/PyO3/pyo3/pull/5737)
- `experimental-inspect`:
- fix `__new__` return type to be the built object type and not `None`.
[#&#8203;5555](https://redirect.github.com/PyO3/pyo3/pull/5555)
- fix imports of decorators.
[#&#8203;5618](https://redirect.github.com/PyO3/pyo3/pull/5618)
- fix the return type annotation of `PyResult<()>` (must be `None` and
not `tuple`)
[#&#8203;5674](https://redirect.github.com/PyO3/pyo3/pull/5674)

</details>

---

### Configuration

📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM, only on
Monday ( * 0-3 * * 1 ) (UTC), Automerge - At any time (no schedule
defined).

🚦 **Automerge**: Enabled.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/vortex-data/vortex).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My42Ni40IiwidXBkYXRlZEluVmVyIjoiNDMuNjYuNCIsInRhcmdldEJyYW5jaCI6ImRldmVsb3AiLCJsYWJlbHMiOlsiY2hhbmdlbG9nL2Nob3JlIl19-->

---------

Signed-off-by: Robert Kruszewski <github@robertk.io>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Robert Kruszewski <github@robertk.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/chore A trivial change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant