Skip to content

Bump pyo3 from 0.20.2 to 0.24.1 in /fuzz#23

Merged
fenhl merged 1 commit intomasterfrom
dependabot/cargo/fuzz/pyo3-0.24.1
Apr 27, 2026
Merged

Bump pyo3 from 0.20.2 to 0.24.1 in /fuzz#23
fenhl merged 1 commit intomasterfrom
dependabot/cargo/fuzz/pyo3-0.24.1

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot Bot commented on behalf of github Apr 2, 2025

Bumps pyo3 from 0.20.2 to 0.24.1.

Release notes

Sourced from pyo3's releases.

PyO3 0.24.1

This release is a security fix for the PyString::from_object method, which passed &str data to the Python C API without checking for a terminating nul byte. All historical PyO3 versions are affected, and we recommend you upgrade if you are using PyString::from_object. Thank you to @​vthib for the report and @​Dr-Emann for the fix. A RUSTSEC advisory will be published shortly.

Aside from the security fix, this release contains a number of other non-breaking additions:

  • An abi3-py313 feature to support compiling with the Python 3.13 stable ABI.
  • PyAnyMethods::getattr_opt to get optional attributes without paying the cost of a Python exception when the attribute in question does not exist.
  • Constructor for PyInt::new.
  • with_critical_section2 for locking two objects at the same time on the free-threaded build.
  • Fix for a PyO3 0.24.0 regression with Option<&str> and Option<&T> (where T: PyClass) function arguments no longer being permitted

There are also a few other small bug fixes for edge cases, mostly related to compile errors from PyO3's macro code.

Thank you to the following contributors for the improvements:

@​bschoenmaeckers @​davidhewitt @​Dr-Emann @​emmagordon @​epontan @​Icxolu @​IvanIsCoding @​jelmer @​jonaspleyer @​ngoldbaum @​Owen-CH-Leung @​Tpt @​Trolldemorted @​XuehaiPan

PyO3 0.24.0

This release is an incremental improvement of refinements and optimizations following the new APIs established in PyO3's last few releases.

Support for jiff datetime conversions have been added, and also UUID conversions.

The FromPyObject derive macro has gained new #[pyo3(default = ...)] and #[pyo3(rename_all = ...)] options, and the IntoPyObject derive macro has gained a new #[pyo3(into_py_with = ...)] option.

PyO3 will now pass positional arguments to Python functions using the "vectorcall" protocol in many cases, which should be an optimization over the previous behaviour (of creating a Python tuple of positional arguments).

Many methods on iterators of Python collections have been optimized.

There are also many other incremental improvements, bug fixes and smaller features.

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

@​0x676e67 @​alex @​arielb1 @​bschoenmaeckers @​davidhewitt

... (truncated)

Changelog

Sourced from pyo3's changelog.

[0.24.1] - 2025-03-31

Added

  • Add abi3-py313 feature. #4969
  • Add PyAnyMethods::getattr_opt. #4978
  • Add PyInt::new constructor for all supported number types (i32, u32, i64, u64, isize, usize). #4984
  • Add pyo3::sync::with_critical_section2. #4992
  • Implement PyCallArgs for Borrowed<'_, 'py, PyTuple>, &Bound<'py, PyTuple>, and &Py<PyTuple>. #5013

Fixed

  • Fix is_type_of for native types not using same specialized check as is_type_of_bound. #4981
  • Fix Probe class naming issue with #[pymethods]. #4988
  • Fix compile failure with required #[pyfunction] arguments taking Option<&str> and Option<&T> (for #[pyclass] types). #5002
  • Fix PyString::from_object causing of bounds reads with encoding and errors parameters which are not nul-terminated. #5008
  • Fix compile error when additional options follow after crate for #[pyfunction]. #5015

[0.24.0] - 2025-03-09

Packaging

  • Add supported CPython/PyPy versions to cargo package metadata. #4756
  • Bump target-lexicon dependency to 0.13. #4822
  • Add optional jiff dependency to add conversions for jiff datetime types. #4823
  • Add optional uuid dependency to add conversions for uuid::Uuid. #4864
  • Bump minimum supported inventory version to 0.3.5. #4954

Added

  • Add PyIterator::send method to allow sending values into a python generator. #4746
  • Add PyCallArgs trait for passing arguments into the Python calling protocol. This enabled using a faster calling convention for certain types, improving performance. #4768
  • Add #[pyo3(default = ...'] option for #[derive(FromPyObject)] to set a default value for extracted fields of named structs. #4829
  • Add #[pyo3(into_py_with = ...)] option for #[derive(IntoPyObject, IntoPyObjectRef)]. #4850
  • Add FFI definitions PyThreadState_GetFrame and PyFrame_GetBack. #4866
  • Optimize last for BoundListIterator, BoundTupleIterator and BorrowedTupleIterator. #4878
  • Optimize Iterator::count() for PyDict, PyList, PyTuple & PySet. #4878
  • Optimize nth, nth_back, advance_by and advance_back_by for BoundTupleIterator #4897
  • Add support for types.GenericAlias as pyo3::types::PyGenericAlias. #4917
  • Add MutextExt trait to help avoid deadlocks with the GIL while locking a std::sync::Mutex. #4934
  • Add #[pyo3(rename_all = "...")] option for #[derive(FromPyObject)]. #4941

Changed

  • Optimize nth, nth_back, advance_by and advance_back_by for BoundListIterator. #4810
  • Use DerefToPyAny in blanket implementations of From<Py<T>> and From<Bound<'py, T>> for PyObject. #4593
  • Map io::ErrorKind::IsADirectory/NotADirectory to the corresponding Python exception on Rust 1.83+. #4747
  • PyAnyMethods::call and friends now require PyCallArgs for their positional arguments. #4768
  • Expose FFI definitions for PyObject_Vectorcall(Method) on the stable abi on 3.12+. #4853
  • #[pyo3(from_py_with = ...)] now take a path rather than a string literal #4860

... (truncated)

Commits

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Apr 2, 2025
@fenhl
Copy link
Copy Markdown
Collaborator

fenhl commented Apr 27, 2026

@dependabot rebase

@dependabot dependabot Bot force-pushed the dependabot/cargo/fuzz/pyo3-0.24.1 branch from cfb687a to 200fb9a Compare April 27, 2026 14:37
@fenhl
Copy link
Copy Markdown
Collaborator

fenhl commented Apr 27, 2026

@dependabot rebase

Bumps [pyo3](https://github.com/pyo3/pyo3) from 0.20.2 to 0.24.1.
- [Release notes](https://github.com/pyo3/pyo3/releases)
- [Changelog](https://github.com/PyO3/pyo3/blob/main/CHANGELOG.md)
- [Commits](PyO3/pyo3@v0.20.2...v0.24.1)

---
updated-dependencies:
- dependency-name: pyo3
  dependency-version: 0.24.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot force-pushed the dependabot/cargo/fuzz/pyo3-0.24.1 branch from 200fb9a to 495ab6b Compare April 27, 2026 14:48
@fenhl fenhl merged commit 318a92a into master Apr 27, 2026
8 checks passed
@dependabot dependabot Bot deleted the dependabot/cargo/fuzz/pyo3-0.24.1 branch April 27, 2026 16:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file rust Pull requests that update rust code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant