Skip to content

Commit 4ac53d8

Browse files
convex-renovate-runner[bot]Convex, Inc.
authored andcommitted
Update pyo3 dependencies to 0.27 (#39657)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [pyo3](https://redirect.github.com/pyo3/pyo3) | dependencies | minor | `0.24` -> `0.27` | | [pyo3](https://redirect.github.com/pyo3/pyo3) | workspace.dependencies | minor | `0.24` -> `0.27` | | [pyo3-async-runtimes](https://redirect.github.com/PyO3/pyo3-async-runtimes) | dependencies | minor | `0.24` -> `0.27` | | [pyo3-async-runtimes](https://redirect.github.com/PyO3/pyo3-async-runtimes) | workspace.dependencies | minor | `0.24` -> `0.27` | | [pyo3-build-config](https://redirect.github.com/pyo3/pyo3) | build-dependencies | minor | `0.24` -> `0.27` | | [pyo3-build-config](https://redirect.github.com/pyo3/pyo3) | workspace.dependencies | minor | `0.24` -> `0.27` | --- ### Release Notes <details> <summary>pyo3/pyo3 (pyo3)</summary> ### [`v0.27.1`](https://redirect.github.com/pyo3/pyo3/blob/HEAD/CHANGELOG.md#0271---2025-10-21) [Compare Source](https://redirect.github.com/pyo3/pyo3/compare/v0.27.0...v0.27.1) ##### Fixed - Fix `clippy:declare_interior_mutable_const` warning from `#[pyfunction]`. [#&#8203;5538](https://redirect.github.com/PyO3/pyo3/pull/5538) - Expose `pyo3::types::PySendResult` in public API. [#&#8203;5539](https://redirect.github.com/PyO3/pyo3/pull/5539) ### [`v0.27.0`](https://redirect.github.com/pyo3/pyo3/blob/HEAD/CHANGELOG.md#0270---2025-10-19) [Compare Source](https://redirect.github.com/pyo3/pyo3/compare/v0.26.0...v0.27.0) ##### Packaging - Extend range of supported versions of `hashbrown` optional dependency to include version 0.16. [#&#8203;5428](https://redirect.github.com/PyO3/pyo3/pull/5428) - Bump optional `num-bigint` dependency minimum version to 0.4.4. [#&#8203;5471](https://redirect.github.com/PyO3/pyo3/pull/5471) - Test against Python 3.14 final release. [#&#8203;5499](https://redirect.github.com/PyO3/pyo3/pull/5499) - Drop support for PyPy 3.9 and 3.10. [#&#8203;5516](https://redirect.github.com/PyO3/pyo3/pull/5516) - Provide a better error message when building an outdated PyO3 for a too-new Python version. [#&#8203;5519](https://redirect.github.com/PyO3/pyo3/pull/5519) ##### Added - Add `FromPyObjectOwned` as convenient trait bound for `FromPyObject` when the data is not borrowed from Python. [#&#8203;4390](https://redirect.github.com/PyO3/pyo3/pull/4390) - Add `Borrowed::extract`, same as `PyAnyMethods::extract`, but does not restrict the lifetime by deref. [#&#8203;4390](https://redirect.github.com/PyO3/pyo3/pull/4390) - `experimental-inspect`: basic support for `#[derive(IntoPyObject)]` (no struct fields support yet). [#&#8203;5365](https://redirect.github.com/PyO3/pyo3/pull/5365) - `experimental-inspect`: support `#[pyo3(get, set)]` and `#[pyclass(get_all, set_all)]`. [#&#8203;5370](https://redirect.github.com/PyO3/pyo3/pull/5370) - Add `PyTypeCheck::classinfo_object` that returns an object that can be used as parameter in `isinstance` or `issubclass`. [#&#8203;5387](https://redirect.github.com/PyO3/pyo3/pull/5387) - Implement `PyTypeInfo` on `datetime.*` types even when the limited API is enabled. [#&#8203;5388](https://redirect.github.com/PyO3/pyo3/pull/5388) - Implement `PyTypeInfo` on `PyIterator`, `PyMapping` and `PySequence`. [#&#8203;5402](https://redirect.github.com/PyO3/pyo3/pull/5402) - Implement `PyTypeInfo` on `PyCode` when using the stable ABI. [#&#8203;5403](https://redirect.github.com/PyO3/pyo3/pull/5403) - Implement `PyTypeInfo` on `PyWeakrefReference` when using the stable ABI. [#&#8203;5404](https://redirect.github.com/PyO3/pyo3/pull/5404) - Add `pyo3::sync::RwLockExt` trait, analogous to `pyo3::sync::MutexExt` for readwrite locks. [#&#8203;5435](https://redirect.github.com/PyO3/pyo3/pull/5435) - Add `PyString::from_bytes`. [#&#8203;5437](https://redirect.github.com/PyO3/pyo3/pull/5437) - Implement `AsRef<[u8]>` for `PyBytes`. [#&#8203;5445](https://redirect.github.com/PyO3/pyo3/pull/5445) - Add `CastError` and `CastIntoError`. [#&#8203;5468](https://redirect.github.com/PyO3/pyo3/pull/5468) - Add `PyCapsuleMethods::pointer_checked` and `PyCapsuleMethods::is_valid_checked`. [#&#8203;5474](https://redirect.github.com/PyO3/pyo3/pull/5474) - Add `Borrowed::cast`, `Borrowed::cast_exact` and `Borrowed::cast_unchecked`. [#&#8203;5475](https://redirect.github.com/PyO3/pyo3/pull/5475) - Add conversions for `jiff::civil::ISOWeekDate`. [#&#8203;5478](https://redirect.github.com/PyO3/pyo3/pull/5478) - Add conversions for `&Cstr`, `Cstring` and `Cow<Cstr>`. [#&#8203;5482](https://redirect.github.com/PyO3/pyo3/pull/5482) - add `#[pyclass(skip_from_py_object)]` option, to opt-out of the `FromPyObject: PyClass + Clone` blanket impl. [#&#8203;5488](https://redirect.github.com/PyO3/pyo3/pull/5488) - Add `PyErr::add_note`. [#&#8203;5489](https://redirect.github.com/PyO3/pyo3/pull/5489) - Add `FromPyObject` impl for `Cow<Path>` & `Cow<OsStr>`. [#&#8203;5497](https://redirect.github.com/PyO3/pyo3/pull/5497) - Add `#[pyclass(from_py_object)]` pyclass option, to opt-in to the extraction of pyclasses by value (requires `Clone`). [#&#8203;5506](https://redirect.github.com/PyO3/pyo3/pull/5506) ##### Changed - Rework `FromPyObject` trait for flexibility and performance: [#&#8203;4390](https://redirect.github.com/PyO3/pyo3/pull/4390) - Add a second lifetime to `FromPyObject`, to allow borrowing data from Python objects (e.g. `&str` from Python `str`). - Replace `extract_bound` with `extract`, which takes `Borrowed<'a, 'py, PyAny>`. - Optimize `FromPyObject` implementations for `Vec<u8>` and `[u8; N]` from `bytes` and `bytearray`. [#&#8203;5244](https://redirect.github.com/PyO3/pyo3/pull/5244) - Deprecate `#[pyfn]` attribute. [#&#8203;5384](https://redirect.github.com/PyO3/pyo3/pull/5384) - Fetch type name dynamically on cast errors instead of using `PyTypeCheck::NAME`. [#&#8203;5387](https://redirect.github.com/PyO3/pyo3/pull/5387) - Deprecate `PyTypeCheck::NAME` in favour of `PyTypeCheck::classinfo_object` which provides the type information at runtime. [#&#8203;5387](https://redirect.github.com/PyO3/pyo3/pull/5387) - `PyClassGuard(Mut)` and `PyRef(Mut)` extraction now returns an opaque Rust error [#&#8203;5413](https://redirect.github.com/PyO3/pyo3/pull/5413) - Fetch type name dynamically when exporting types implementing `PyTypeInfo` with `#[pymodule_use]`. [#&#8203;5414](https://redirect.github.com/PyO3/pyo3/pull/5414) - Improve `Debug` representation of `PyBuffer<T>`. [#&#8203;5442](https://redirect.github.com/PyO3/pyo3/pull/5442) - `experimental-inspect`: change the way introspection data is emitted in the binaries to avoid a pointer indirection and simplify parsing. [#&#8203;5450](https://redirect.github.com/PyO3/pyo3/pull/5450) - Optimize `Py<T>::drop` for the case when attached to the Python interpreter. [#&#8203;5454](https://redirect.github.com/PyO3/pyo3/pull/5454) - Replace `DowncastError` and `DowncastIntoError` with `CastError` and `CastIntoError`. [#&#8203;5468](https://redirect.github.com/PyO3/pyo3/pull/5468) - Enable fast-path for 128-bit integer conversions on `GraalPy`. [#&#8203;5471](https://redirect.github.com/PyO3/pyo3/pull/5471) - Deprecate `PyAnyMethods::downcast` functions in favour of `Bound::cast` functions. [#&#8203;5472](https://redirect.github.com/PyO3/pyo3/pull/5472) - Make `PyTypeCheck` an `unsafe trait`. [#&#8203;5473](https://redirect.github.com/PyO3/pyo3/pull/5473) - Deprecate unchecked `PyCapsuleMethods`: `pointer()`, `reference()`, and `is_valid()`. [#&#8203;5474](https://redirect.github.com/PyO3/pyo3/pull/5474) - Reduce lifetime of return value in `PyCapsuleMethods::reference`. [#&#8203;5474](https://redirect.github.com/PyO3/pyo3/pull/5474) - `PyCapsuleMethods::name` now returns `CapsuleName` wrapper instead of `&CStr`. [#&#8203;5474](https://redirect.github.com/PyO3/pyo3/pull/5474) - Deprecate `import_exception_bound` in favour of `import_exception`. [#&#8203;5480](https://redirect.github.com/PyO3/pyo3/pull/5480) - `PyList::get_item_unchecked`, `PyTuple::get_item_unchecked`, and `PyTuple::get_borrowed_item_unchecked` no longer check for null values at the provided index. [#&#8203;5494](https://redirect.github.com/PyO3/pyo3/pull/5494) - Allow converting naive datetime into chrono `DateTime<Local>`. [#&#8203;5507](https://redirect.github.com/PyO3/pyo3/pull/5507) ##### Removed - Removed `FromPyObjectBound` trait. [#&#8203;4390](https://redirect.github.com/PyO3/pyo3/pull/4390) ##### Fixed - Fix compilation failure on `wasm32-wasip2`. [#&#8203;5368](https://redirect.github.com/PyO3/pyo3/pull/5368) - Fix `OsStr` conversion for non-utf8 strings on Windows. [#&#8203;5444](https://redirect.github.com/PyO3/pyo3/pull/5444) - Fix issue with `cargo vendor` caused by gitignored build artifact `emscripten/pybuilddir.txt`. [#&#8203;5456](https://redirect.github.com/PyO3/pyo3/pull/5456) - Stop leaking `PyMethodDef` instances inside `#[pyfunction]` macro generated code. [#&#8203;5459](https://redirect.github.com/PyO3/pyo3/pull/5459) - Don't export definition of FFI struct `PyObjectObFlagsAndRefcnt` on 32-bit Python 3.14 (doesn't exist). [#&#8203;5499](https://redirect.github.com/PyO3/pyo3/pull/5499) - Fix failure to build for `abi3` interpreters on Windows using maturin's built-in sysconfig in combination with the `generate-import-lib` feature. [#&#8203;5503](https://redirect.github.com/PyO3/pyo3/pull/5503) - Fix FFI definitions `PyModule_ExecDef` and `PyModule_FromDefAndSpec2` on PyPy. [#&#8203;5529](https://redirect.github.com/PyO3/pyo3/pull/5529) ### [`v0.26.0`](https://redirect.github.com/pyo3/pyo3/blob/HEAD/CHANGELOG.md#0260---2025-08-29) [Compare Source](https://redirect.github.com/pyo3/pyo3/compare/v0.25.1...v0.26.0) ##### Packaging - Bump hashbrown dependency to 0.15. [#&#8203;5152](https://redirect.github.com/PyO3/pyo3/pull/5152) - Update MSRV to 1.74. [#&#8203;5171](https://redirect.github.com/PyO3/pyo3/pull/5171) - Set the same maximum supported version for alternative interpreters as for CPython. [#&#8203;5192](https://redirect.github.com/PyO3/pyo3/pull/5192) - Add optional `bytes` dependency to add conversions for `bytes::Bytes`. [#&#8203;5252](https://redirect.github.com/PyO3/pyo3/pull/5252) - Publish new crate `pyo3-introspection` to pair with the `experimental-inspect` feature. [#&#8203;5300](https://redirect.github.com/PyO3/pyo3/pull/5300) - The `PYO3_BUILD_EXTENSION_MODULE` now causes the same effect as the `extension-module` feature. Eventually we expect maturin and setuptools-rust to set this environment variable automatically. Users with their own build systems will need to do the same. [#&#8203;5343](https://redirect.github.com/PyO3/pyo3/pull/5343) ##### Added - Add `#[pyo3(warn(message = "...", category = ...))]` attribute for automatic warnings generation for `#[pyfunction]` and `#[pymethods]`. [#&#8203;4364](https://redirect.github.com/PyO3/pyo3/pull/4364) - Add `PyMutex`, available on Python 3.13 and newer. [#&#8203;4523](https://redirect.github.com/PyO3/pyo3/pull/4523) - Add FFI definition `PyMutex_IsLocked`, available on Python 3.14 and newer. [#&#8203;4523](https://redirect.github.com/PyO3/pyo3/pull/4523) - Add `PyString::from_encoded_object`. [#&#8203;5017](https://redirect.github.com/PyO3/pyo3/pull/5017) - `experimental-inspect`: add basic input type annotations. [#&#8203;5089](https://redirect.github.com/PyO3/pyo3/pull/5089) - Add FFI function definitions for `PyFrameObject` from CPython 3.13. [#&#8203;5154](https://redirect.github.com/PyO3/pyo3/pull/5154) - `experimental-inspect`: tag modules created using `#[pymodule]` or `#[pymodule_init]` functions as incomplete. [#&#8203;5207](https://redirect.github.com/PyO3/pyo3/pull/5207) - `experimental-inspect`: add basic return type support. [#&#8203;5208](https://redirect.github.com/PyO3/pyo3/pull/5208) - Add `PyCode::compile` and `PyCodeMethods::run` to create and execute code objects. [#&#8203;5217](https://redirect.github.com/PyO3/pyo3/pull/5217) - Add `PyOnceLock` type for thread-safe single-initialization. [#&#8203;5223](https://redirect.github.com/PyO3/pyo3/pull/5223) - Add `PyClassGuard(Mut)` pyclass holders. In the future they will replace `PyRef(Mut)`. [#&#8203;5233](https://redirect.github.com/PyO3/pyo3/pull/5233) - `experimental-inspect`: allow annotations in `#[pyo3(signature)]` signature attribute. [#&#8203;5241](https://redirect.github.com/PyO3/pyo3/pull/5241) - Implement `MutexExt` for parking_lot's/lock_api `ReentrantMutex`. [#&#8203;5258](https://redirect.github.com/PyO3/pyo3/pull/5258) - `experimental-inspect`: support class associated constants. [#&#8203;5272](https://redirect.github.com/PyO3/pyo3/pull/5272) - Add `Bound::cast` family of functions superseding the `PyAnyMethods::downcast` family. [#&#8203;5289](https://redirect.github.com/PyO3/pyo3/pull/5289) - Add FFI definitions `Py_Version` and `Py_IsFinalizing`. [#&#8203;5317](https://redirect.github.com/PyO3/pyo3/pull/5317) - `experimental-inspect`: add output type annotation for `#[pyclass]`. [#&#8203;5320](https://redirect.github.com/PyO3/pyo3/pull/5320) - `experimental-inspect`: support `#[pyclass(eq, eq_int, ord, hash, str)]`. [#&#8203;5338](https://redirect.github.com/PyO3/pyo3/pull/5338) - `experimental-inspect`: add basic support for `#[derive(FromPyObject)]` (no struct fields support yet). [#&#8203;5339](https://redirect.github.com/PyO3/pyo3/pull/5339) - Add `Python::try_attach`. [#&#8203;5342](https://redirect.github.com/PyO3/pyo3/pull/5342) ##### Changed - Use `Py_TPFLAGS_DISALLOW_INSTANTIATION` instead of a `__new__` which always fails for a `#[pyclass]` without a `#[new]` on Python 3.10 and up. [#&#8203;4568](https://redirect.github.com/PyO3/pyo3/pull/4568) - `PyModule::from_code` now defaults `file_name` to `<string>` if empty. [#&#8203;4777](https://redirect.github.com/PyO3/pyo3/pull/4777) - Deprecate `PyString::from_object` in favour of `PyString::from_encoded_object`. [#&#8203;5017](https://redirect.github.com/PyO3/pyo3/pull/5017) - When building with `abi3` for a Python version newer than pyo3 supports, automatically fall back to an abi3 build for the latest supported version. [#&#8203;5144](https://redirect.github.com/PyO3/pyo3/pull/5144) - Change `is_instance_of` trait bound from `PyTypeInfo` to `PyTypeCheck`. [#&#8203;5146](https://redirect.github.com/PyO3/pyo3/pull/5146) - Many PyO3 proc macros now report multiple errors instead of only the first one. [#&#8203;5159](https://redirect.github.com/PyO3/pyo3/pull/5159) - Change `MutexExt` return type to be an associated type. [#&#8203;5201](https://redirect.github.com/PyO3/pyo3/pull/5201) - Use `PyCallArgs` for `Py::call` and friends so they're equivalent to their `Bound` counterpart. [#&#8203;5206](https://redirect.github.com/PyO3/pyo3/pull/5206) - Rename `Python::with_gil` to `Python::attach`. [#&#8203;5209](https://redirect.github.com/PyO3/pyo3/pull/5209) - Rename `Python::allow_threads` to `Python::detach` [#&#8203;5221](https://redirect.github.com/PyO3/pyo3/pull/5221) - Deprecate `GILOnceCell` type in favour of `PyOnceLock`. [#&#8203;5223](https://redirect.github.com/PyO3/pyo3/pull/5223) - Rename `pyo3::prepare_freethreaded_python` to `Python::initialize`. [#&#8203;5247](https://redirect.github.com/PyO3/pyo3/pull/5247) - Convert `PyMemoryError` into/from `io::ErrorKind::OutOfMemory`. [#&#8203;5256](https://redirect.github.com/PyO3/pyo3/pull/5256) - Deprecate `GILProtected`. [#&#8203;5285](https://redirect.github.com/PyO3/pyo3/pull/5285) - Move `#[pyclass]` docstring formatting from import time to compile time. [#&#8203;5286](https://redirect.github.com/PyO3/pyo3/pull/5286) - `Python::attach` will now panic if the Python interpreter is in the process of shutting down. [#&#8203;5317](https://redirect.github.com/PyO3/pyo3/pull/5317) - Add fast-path to `PyTypeInfo::type_object` for `#[pyclass]` types. [#&#8203;5324](https://redirect.github.com/PyO3/pyo3/pull/5324) - Deprecate `PyObject` type alias for `Py<PyAny>`. [#&#8203;5325](https://redirect.github.com/PyO3/pyo3/pull/5325) - Rename `Python::with_gil_unchecked` to `Python::attach_unchecked`. [#&#8203;5340](https://redirect.github.com/PyO3/pyo3/pull/5340) - Rename `Python::assume_gil_acquired` to `Python::assume_attached`. [#&#8203;5354](https://redirect.github.com/PyO3/pyo3/pull/5354) ##### Removed - Remove FFI definition of internals of `PyFrameObject`. [#&#8203;5154](https://redirect.github.com/PyO3/pyo3/pull/5154) - Remove `Eq` and `PartialEq` implementations on `PyGetSetDef` FFI definition. [#&#8203;5196](https://redirect.github.com/PyO3/pyo3/pull/5196) - Remove private FFI definitions `_Py_IsCoreInitialized` and `_Py_InitializeMain`. [#&#8203;5317](https://redirect.github.com/PyO3/pyo3/pull/5317) ##### Fixed - Use critical section in `PyByteArray::to_vec` on freethreaded build to replicate GIL-enabled "soundness". [#&#8203;4742](https://redirect.github.com/PyO3/pyo3/pull/4742) - Fix precision loss when converting `bigdecimal` into Python. [#&#8203;5198](https://redirect.github.com/PyO3/pyo3/pull/5198) - Don't treat win7 target as a cross-compilation. [#&#8203;5210](https://redirect.github.com/PyO3/pyo3/pull/5210) - WASM targets no longer require exception handling support for Python < 3.14. [#&#8203;5239](https://redirect.github.com/PyO3/pyo3/pull/5239) - Fix segfault when dropping `PyBuffer<T>` after the Python interpreter has been finalized. [#&#8203;5242](https://redirect.github.com/PyO3/pyo3/pull/5242) - `experimental-inspect`: better automated imports generation. [#&#8203;5251](https://redirect.github.com/PyO3/pyo3/pull/5251) - `experimental-inspect`: fix introspection of `__richcmp__`, `__concat__`, `__repeat__`, `__inplace_concat__` and `__inplace_repeat__`. [#&#8203;5273](https://redirect.github.com/PyO3/pyo3/pull/5273) - fixed a leaked borrow, when converting a mutable sub class into a frozen base class using `PyRef::into_super` [#&#8203;5281](https://redirect.github.com/PyO3/pyo3/pull/5281) - Fix FFI definition `Py_Exit` (never returns, was `()` return value, now `!`). [#&#8203;5317](https://redirect.github.com/PyO3/pyo3/pull/5317) - `experimental-inspect`: fix handling of module members gated behind `#[cfg(...)]` attributes. [#&#8203;5318](https://redirect.github.com/PyO3/pyo3/pull/5318) ### [`v0.25.1`](https://redirect.github.com/pyo3/pyo3/blob/HEAD/CHANGELOG.md#0251---2025-06-12) [Compare Source](https://redirect.github.com/pyo3/pyo3/compare/v0.25.0...v0.25.1) ##### Packaging - Add support for Windows on ARM64. [#&#8203;5145](https://redirect.github.com/PyO3/pyo3/pull/5145) - Add `chrono-local` feature for optional conversions for chrono's `Local` timezone & `DateTime<Local>` instances. [#&#8203;5174](https://redirect.github.com/PyO3/pyo3/pull/5174) ##### Added - Add FFI definition `PyBytes_AS_STRING`. [#&#8203;5121](https://redirect.github.com/PyO3/pyo3/pull/5121) - Add support for module associated consts introspection. [#&#8203;5150](https://redirect.github.com/PyO3/pyo3/pull/5150) ##### Changed - Enable "vectorcall" FFI definitions on GraalPy. [#&#8203;5121](https://redirect.github.com/PyO3/pyo3/pull/5121) - Use `Py_Is` function on GraalPy [#&#8203;5121](https://redirect.github.com/PyO3/pyo3/pull/5121) ##### Fixed - Report a better compile error for `async` declarations when not using `experimental-async` feature. [#&#8203;5156](https://redirect.github.com/PyO3/pyo3/pull/5156) - Fix implementation of `FromPyObject` for `uuid::Uuid` on big-endian architectures. [#&#8203;5161](https://redirect.github.com/PyO3/pyo3/pull/5161) - Fix segmentation faults on 32-bit x86 with Python 3.14. [#&#8203;5180](https://redirect.github.com/PyO3/pyo3/pull/5180) ### [`v0.25.0`](https://redirect.github.com/pyo3/pyo3/blob/HEAD/CHANGELOG.md#0250---2025-05-14) [Compare Source](https://redirect.github.com/pyo3/pyo3/compare/v0.24.2...v0.25.0) ##### Packaging - Support Python 3.14.0b1. [#&#8203;4811](https://redirect.github.com/PyO3/pyo3/pull/4811) - Bump supported GraalPy version to 24.2. [#&#8203;5116](https://redirect.github.com/PyO3/pyo3/pull/5116) - Add optional `bigdecimal` dependency to add conversions for `bigdecimal::BigDecimal`. [#&#8203;5011](https://redirect.github.com/PyO3/pyo3/pull/5011) - Add optional `time` dependency to add conversions for `time` types. [#&#8203;5057](https://redirect.github.com/PyO3/pyo3/pull/5057) - Remove `cfg-if` dependency. [#&#8203;5110](https://redirect.github.com/PyO3/pyo3/pull/5110) - Add optional `ordered_float` dependency to add conversions for `ordered_float::NotNan` and `ordered_float::OrderedFloat`. [#&#8203;5114](https://redirect.github.com/PyO3/pyo3/pull/5114) ##### Added - Add initial type stub generation to the `experimental-inspect` feature. [#&#8203;3977](https://redirect.github.com/PyO3/pyo3/pull/3977) - Add `#[pyclass(generic)]` option to support runtime generic typing. [#&#8203;4926](https://redirect.github.com/PyO3/pyo3/pull/4926) - Implement `OnceExt` & `MutexExt` for `parking_lot` & `lock_api`. Use the new extension traits by enabling the `arc_lock`, `lock_api`, or `parking_lot` cargo features. [#&#8203;5044](https://redirect.github.com/PyO3/pyo3/pull/5044) - Implement `From`/`Into` for `Borrowed<T>` -> `Py<T>`. [#&#8203;5054](https://redirect.github.com/PyO3/pyo3/pull/5054) - Add `PyTzInfo` constructors. [#&#8203;5055](https://redirect.github.com/PyO3/pyo3/pull/5055) - Add FFI definition `PY_INVALID_STACK_EFFECT`. [#&#8203;5064](https://redirect.github.com/PyO3/pyo3/pull/5064) - Implement `AsRef<Py<PyAny>>` for `Py<T>`, `Bound<T>` and `Borrowed<T>`. [#&#8203;5071](https://redirect.github.com/PyO3/pyo3/pull/5071) - Add FFI definition `PyModule_Add` and `compat::PyModule_Add`. [#&#8203;5085](https://redirect.github.com/PyO3/pyo3/pull/5085) - Add FFI definitions `Py_HashBuffer`, `Py_HashPointer`, and `PyObject_GenericHash`. [#&#8203;5086](https://redirect.github.com/PyO3/pyo3/pull/5086) - Support `#[pymodule_export]` on `const` items in declarative modules. [#&#8203;5096](https://redirect.github.com/PyO3/pyo3/pull/5096) - Add `#[pyclass(immutable_type)]` option (on Python 3.14+ with `abi3`, or 3.10+ otherwise) for immutable type objects. [#&#8203;5101](https://redirect.github.com/PyO3/pyo3/pull/5101) - Support `#[pyo3(rename_all)]` support on `#[derive(IntoPyObject)]`. [#&#8203;5112](https://redirect.github.com/PyO3/pyo3/pull/5112) - Add `PyRange` wrapper. [#&#8203;5117](https://redirect.github.com/PyO3/pyo3/pull/5117) ##### Changed - Enable use of `datetime` types with `abi3` feature enabled. [#&#8203;4970](https://redirect.github.com/PyO3/pyo3/pull/4970) - Deprecate `timezone_utc` in favor of `PyTzInfo::utc`. [#&#8203;5055](https://redirect.github.com/PyO3/pyo3/pull/5055) - Reduce visibility of some CPython implementation details: [#&#8203;5064](https://redirect.github.com/PyO3/pyo3/pull/5064) - The FFI definition `PyCodeObject` is now an opaque struct on all Python versions. - The FFI definition `PyFutureFeatures` is now only defined up until Python 3.10 (it was present in CPython headers but unused in 3.11 and 3.12). - Change `PyAnyMethods::is` to take `other: &Bound<T>`. [#&#8203;5071](https://redirect.github.com/PyO3/pyo3/pull/5071) - Change `Py::is` to take `other: &Py<T>`. [#&#8203;5071](https://redirect.github.com/PyO3/pyo3/pull/5071) - Change `PyVisit::call` to take `T: Into<Option<&Py<T>>>`. [#&#8203;5071](https://redirect.github.com/PyO3/pyo3/pull/5071) - Expose `PyDateTime_DATE_GET_TZINFO` and `PyDateTime_TIME_GET_TZINFO` on PyPy 3.10 and later. [#&#8203;5079](https://redirect.github.com/PyO3/pyo3/pull/5079) - Add `#[track_caller]` to `with_gil` and `with_gil_unchecked`. [#&#8203;5109](https://redirect.github.com/PyO3/pyo3/pull/5109) - Use `std::thread::park()` instead of `libc::pause()` or `sleep(9999999)`. [#&#8203;5115](https://redirect.github.com/PyO3/pyo3/pull/5115) ##### Removed - Remove all functionality deprecated in PyO3 0.23. [#&#8203;4982](https://redirect.github.com/PyO3/pyo3/pull/4982) - Remove deprecated `IntoPy` and `ToPyObject` traits. [#&#8203;5010](https://redirect.github.com/PyO3/pyo3/pull/5010) - Remove private types from `pyo3-ffi` (i.e. starting with `_Py`) which are not referenced by public APIs: `_PyLocalMonitors`, `_Py_GlobalMonitors`, `_PyCoCached`, `_PyCoLineInstrumentationData`, `_PyCoMonitoringData`, `_PyCompilerSrcLocation`, `_PyErr_StackItem`. [#&#8203;5064](https://redirect.github.com/PyO3/pyo3/pull/5064) - Remove FFI definition `PyCode_GetNumFree` (PyO3 cannot support it due to knowledge of the code object). [#&#8203;5064](https://redirect.github.com/PyO3/pyo3/pull/5064) - Remove `AsPyPointer` trait. [#&#8203;5071](https://redirect.github.com/PyO3/pyo3/pull/5071) - Remove support for the deprecated string form of `from_py_with`. [#&#8203;5097](https://redirect.github.com/PyO3/pyo3/pull/5097) - Remove FFI definitions of private static variables: `_PyMethodWrapper_Type`, `_PyCoroWrapper_Type`, `_PyImport_FrozenBootstrap`, `_PyImport_FrozenStdlib`, `_PyImport_FrozenTest`, `_PyManagedBuffer_Type`, `_PySet_Dummy`, `_PyWeakref_ProxyType`, and `_PyWeakref_CallableProxyType`. [#&#8203;5105](https://redirect.github.com/PyO3/pyo3/pull/5105) - Remove FFI definitions `PyASCIIObjectState`, `PyUnicode_IS_ASCII`, `PyUnicode_IS_COMPACT`, and `PyUnicode_IS_COMPACT_ASCII` on Python 3.14 and newer. [#&#8203;5133](https://redirect.github.com/PyO3/pyo3/pull/5133) ##### Fixed - Correctly pick up the shared state for conda-based Python installation when reading information from sysconfigdata. [#&#8203;5037](https://redirect.github.com/PyO3/pyo3/pull/5037) - Fix compile failure with `#[derive(IntoPyObject, FromPyObject)]` when using `#[pyo3()]` options recognised by only one of the two derives. [#&#8203;5070](https://redirect.github.com/PyO3/pyo3/pull/5070) - Fix various compile errors from missing FFI definitions using certain feature combinations on PyPy and GraalPy. [#&#8203;5091](https://redirect.github.com/PyO3/pyo3/pull/5091) - Fallback on `backports.zoneinfo` for python <3.9 when converting timezones into python. [#&#8203;5120](https://redirect.github.com/PyO3/pyo3/pull/5120) </details> <details> <summary>PyO3/pyo3-async-runtimes (pyo3-async-runtimes)</summary> ### [`v0.27.0`](https://redirect.github.com/PyO3/pyo3-async-runtimes/blob/HEAD/CHANGELOG.md#0270---2025-10-20) [Compare Source](https://redirect.github.com/PyO3/pyo3-async-runtimes/compare/v0.26.0...v0.27.0) - Avoid attaching to the runtime when cloning TaskLocals by using std::sync::Arc. [#&#8203;62](https://redirect.github.com/PyO3/pyo3-async-runtimes/pull/62) - **Breaking**: Finalize the future without holding GIL inside async-std/tokio runtime. Trait `Runtime` now requires `spawn_blocking` function, `future_into_py` functions now require future return type to be `Send`. [#&#8203;60](https://redirect.github.com/PyO3/pyo3-async-runtimes/pull/60) - Change pyo3 `downcast` calls to `cast` calls [#&#8203;65](https://redirect.github.com/PyO3/pyo3-async-runtimes/pull/65) - Use `pyo3::intern!` for method calls and `getattr` calls [#&#8203;66](https://redirect.github.com/PyO3/pyo3-async-runtimes/pull/66) - Fix missing LICENSE file in macros crate by [@&#8203;musicinmybrain](https://redirect.github.com/musicinmybrain) in [https://github.com/PyO3/pyo3-async-runtimes/pull/63](https://redirect.github.com/PyO3/pyo3-async-runtimes/pull/63) - Bump to pyo3 0.27. [#&#8203;68](https://redirect.github.com/PyO3/pyo3-async-runtimes/pull/68) ### [`v0.26.0`](https://redirect.github.com/PyO3/pyo3-async-runtimes/blob/HEAD/CHANGELOG.md#0260---2025-09-02) [Compare Source](https://redirect.github.com/PyO3/pyo3-async-runtimes/compare/v0.25.0...v0.26.0) - Bump to pyo3 0.26. [#&#8203;54](https://redirect.github.com/PyO3/pyo3-async-runtimes/pull/54) ### [`v0.25.0`](https://redirect.github.com/PyO3/pyo3-async-runtimes/blob/HEAD/CHANGELOG.md#0250---2025-05-14) [Compare Source](https://redirect.github.com/PyO3/pyo3-async-runtimes/compare/v0.24.0...v0.25.0) - Bump to pyo3 0.25. [#&#8203;41](https://redirect.github.com/PyO3/pyo3-async-runtimes/pull/41) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "on the first day of the month" in timezone America/Los_Angeles, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://redirect.github.com/renovatebot/renovate). GitOrigin-RevId: 5a0ef1c4a53b56fb982c6b8d87545a2c12615477
1 parent 717fe22 commit 4ac53d8

File tree

4 files changed

+28
-94
lines changed

4 files changed

+28
-94
lines changed

Cargo.lock

Lines changed: 9 additions & 9 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -179,9 +179,9 @@ proptest-http = { git = "https://github.com/nipunn1313/proptest-http", rev = "0e
179179
prost = { version = "0.13", features = [ "no-recursion-limit" ] }
180180
prost-reflect = { version = "0.15.0", features = [ "text-format", "miette" ] }
181181
prost-types = "0.13"
182-
pyo3 = "0.24"
183-
pyo3-async-runtimes = { version = "0.24", features = [ "tokio-runtime" ] }
184-
pyo3-build-config = { version = "0.24", features = [ "resolve-config" ] }
182+
pyo3 = "0.27"
183+
pyo3-async-runtimes = { version = "0.27", features = [ "tokio-runtime" ] }
184+
pyo3-build-config = { version = "0.27", features = [ "resolve-config" ] }
185185
qdrant_common = { git = "https://github.com/get-convex/qdrant", rev = "a5d1b7bc9fd04861316b6455204c8a946d43117e", package = "qdrant_common" }
186186
qdrant_segment = { git = "https://github.com/get-convex/qdrant", rev = "a5d1b7bc9fd04861316b6455204c8a946d43117e", package = "segment" }
187187
quote = "1.0"

crates/convex/Cargo.oss.lock

Lines changed: 14 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ version = "3.0.0"
152152
source = "registry+https://github.com/rust-lang/crates.io-index"
153153
checksum = "fde0e0ec90c9dfb3b4b1a0891a7dcd0e2bffde2f7efed5fe7c9bb00e5bfb915e"
154154
dependencies = [
155-
"windows-sys 0.48.0",
155+
"windows-sys 0.59.0",
156156
]
157157

158158
[[package]]
@@ -506,7 +506,7 @@ dependencies = [
506506
"cfg-if",
507507
"libc",
508508
"wasi 0.13.3+wasi-0.2.2",
509-
"windows-targets 0.52.6",
509+
"windows-targets",
510510
]
511511

512512
[[package]]
@@ -905,9 +905,9 @@ dependencies = [
905905

906906
[[package]]
907907
name = "once_cell"
908-
version = "1.20.2"
908+
version = "1.21.3"
909909
source = "registry+https://github.com/rust-lang/crates.io-index"
910-
checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
910+
checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
911911

912912
[[package]]
913913
name = "openssl"
@@ -998,7 +998,7 @@ dependencies = [
998998
"libc",
999999
"redox_syscall",
10001000
"smallvec",
1001-
"windows-targets 0.52.6",
1001+
"windows-targets",
10021002
]
10031003

10041004
[[package]]
@@ -1932,22 +1932,13 @@ version = "0.4.0"
19321932
source = "registry+https://github.com/rust-lang/crates.io-index"
19331933
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
19341934

1935-
[[package]]
1936-
name = "windows-sys"
1937-
version = "0.48.0"
1938-
source = "registry+https://github.com/rust-lang/crates.io-index"
1939-
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
1940-
dependencies = [
1941-
"windows-targets 0.48.0",
1942-
]
1943-
19441935
[[package]]
19451936
name = "windows-sys"
19461937
version = "0.52.0"
19471938
source = "registry+https://github.com/rust-lang/crates.io-index"
19481939
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
19491940
dependencies = [
1950-
"windows-targets 0.52.6",
1941+
"windows-targets",
19511942
]
19521943

19531944
[[package]]
@@ -1956,22 +1947,7 @@ version = "0.59.0"
19561947
source = "registry+https://github.com/rust-lang/crates.io-index"
19571948
checksum = "1e38bc4d79ed67fd075bcc251a1c39b32a1776bbe92e5bef1f0bf1f8c531853b"
19581949
dependencies = [
1959-
"windows-targets 0.52.6",
1960-
]
1961-
1962-
[[package]]
1963-
name = "windows-targets"
1964-
version = "0.48.0"
1965-
source = "registry+https://github.com/rust-lang/crates.io-index"
1966-
checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5"
1967-
dependencies = [
1968-
"windows_aarch64_gnullvm 0.48.0",
1969-
"windows_aarch64_msvc 0.48.0",
1970-
"windows_i686_gnu 0.48.0",
1971-
"windows_i686_msvc 0.48.0",
1972-
"windows_x86_64_gnu 0.48.0",
1973-
"windows_x86_64_gnullvm 0.48.0",
1974-
"windows_x86_64_msvc 0.48.0",
1950+
"windows-targets",
19751951
]
19761952

19771953
[[package]]
@@ -1980,46 +1956,28 @@ version = "0.52.6"
19801956
source = "registry+https://github.com/rust-lang/crates.io-index"
19811957
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
19821958
dependencies = [
1983-
"windows_aarch64_gnullvm 0.52.6",
1984-
"windows_aarch64_msvc 0.52.6",
1985-
"windows_i686_gnu 0.52.6",
1959+
"windows_aarch64_gnullvm",
1960+
"windows_aarch64_msvc",
1961+
"windows_i686_gnu",
19861962
"windows_i686_gnullvm",
1987-
"windows_i686_msvc 0.52.6",
1988-
"windows_x86_64_gnu 0.52.6",
1989-
"windows_x86_64_gnullvm 0.52.6",
1990-
"windows_x86_64_msvc 0.52.6",
1963+
"windows_i686_msvc",
1964+
"windows_x86_64_gnu",
1965+
"windows_x86_64_gnullvm",
1966+
"windows_x86_64_msvc",
19911967
]
19921968

1993-
[[package]]
1994-
name = "windows_aarch64_gnullvm"
1995-
version = "0.48.0"
1996-
source = "registry+https://github.com/rust-lang/crates.io-index"
1997-
checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc"
1998-
19991969
[[package]]
20001970
name = "windows_aarch64_gnullvm"
20011971
version = "0.52.6"
20021972
source = "registry+https://github.com/rust-lang/crates.io-index"
20031973
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
20041974

2005-
[[package]]
2006-
name = "windows_aarch64_msvc"
2007-
version = "0.48.0"
2008-
source = "registry+https://github.com/rust-lang/crates.io-index"
2009-
checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3"
2010-
20111975
[[package]]
20121976
name = "windows_aarch64_msvc"
20131977
version = "0.52.6"
20141978
source = "registry+https://github.com/rust-lang/crates.io-index"
20151979
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
20161980

2017-
[[package]]
2018-
name = "windows_i686_gnu"
2019-
version = "0.48.0"
2020-
source = "registry+https://github.com/rust-lang/crates.io-index"
2021-
checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241"
2022-
20231981
[[package]]
20241982
name = "windows_i686_gnu"
20251983
version = "0.52.6"
@@ -2032,48 +1990,24 @@ version = "0.52.6"
20321990
source = "registry+https://github.com/rust-lang/crates.io-index"
20331991
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
20341992

2035-
[[package]]
2036-
name = "windows_i686_msvc"
2037-
version = "0.48.0"
2038-
source = "registry+https://github.com/rust-lang/crates.io-index"
2039-
checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00"
2040-
20411993
[[package]]
20421994
name = "windows_i686_msvc"
20431995
version = "0.52.6"
20441996
source = "registry+https://github.com/rust-lang/crates.io-index"
20451997
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
20461998

2047-
[[package]]
2048-
name = "windows_x86_64_gnu"
2049-
version = "0.48.0"
2050-
source = "registry+https://github.com/rust-lang/crates.io-index"
2051-
checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1"
2052-
20531999
[[package]]
20542000
name = "windows_x86_64_gnu"
20552001
version = "0.52.6"
20562002
source = "registry+https://github.com/rust-lang/crates.io-index"
20572003
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
20582004

2059-
[[package]]
2060-
name = "windows_x86_64_gnullvm"
2061-
version = "0.48.0"
2062-
source = "registry+https://github.com/rust-lang/crates.io-index"
2063-
checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953"
2064-
20652005
[[package]]
20662006
name = "windows_x86_64_gnullvm"
20672007
version = "0.52.6"
20682008
source = "registry+https://github.com/rust-lang/crates.io-index"
20692009
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
20702010

2071-
[[package]]
2072-
name = "windows_x86_64_msvc"
2073-
version = "0.48.0"
2074-
source = "registry+https://github.com/rust-lang/crates.io-index"
2075-
checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a"
2076-
20772011
[[package]]
20782012
name = "windows_x86_64_msvc"
20792013
version = "0.52.6"

crates/convex/sync_types/Cargo.oss.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -341,9 +341,9 @@ dependencies = [
341341

342342
[[package]]
343343
name = "once_cell"
344-
version = "1.20.2"
344+
version = "1.21.3"
345345
source = "registry+https://github.com/rust-lang/crates.io-index"
346-
checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775"
346+
checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
347347

348348
[[package]]
349349
name = "output_vt100"

0 commit comments

Comments
 (0)