Skip to content

build(deps): bump pyo3 from 0.18.3 to 0.24.1 in /asyncdb/conversions/rst_convert#1500

Open
dependabot[bot] wants to merge 1559 commits intomasterfrom
dependabot/cargo/asyncdb/conversions/rst_convert/pyo3-0.24.1
Open

build(deps): bump pyo3 from 0.18.3 to 0.24.1 in /asyncdb/conversions/rst_convert#1500
dependabot[bot] wants to merge 1559 commits intomasterfrom
dependabot/cargo/asyncdb/conversions/rst_convert/pyo3-0.24.1

Conversation

@dependabot
Copy link
Copy Markdown
Contributor

@dependabot dependabot bot commented on behalf of github Mar 20, 2026

Bumps pyo3 from 0.18.3 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 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)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

phenobarbital and others added 30 commits September 8, 2024 00:02
Bumps [aiofiles](https://github.com/Tinche/aiofiles) from 23.2.1 to 24.1.0.
- [Release notes](https://github.com/Tinche/aiofiles/releases)
- [Commits](Tinche/aiofiles@v23.2.1...v24.1.0)

---
updated-dependencies:
- dependency-name: aiofiles
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…st-3.6.1

Bump pytest-xdist from 3.3.1 to 3.6.1
…4.1.0

Bump aiofiles from 23.2.1 to 24.1.0
…ver-3.26.9

Bump scylla-driver from 3.26.8 to 3.26.9
phenobarbital and others added 13 commits March 20, 2026 01:31
spec status changed to approved by linter
Merged new-driver branch with all FEAT-003 changes:
- TASK-011: Refactored write() with full delta-rs API surface
- TASK-012: Refactored create() method
- TASK-013: Unit tests (19/19 passing)
- TASK-014: Example script updates

All 4 tasks verified and closed.
Merged new-driver branch with all FEAT-003 changes:
- TASK-011: Refactored write() with full delta-rs API surface
- TASK-012: Refactored create() method
- TASK-013: Unit tests (19/19 passing)
- TASK-014: Example script updates

All 4 tasks verified and closed.
exceptions.py:
- Remove redundant class-level attribute defaults; keep bare annotations
- Add str() coercion guard on hasattr(message, "message") branch
- Drop redundant inline type annotations inside __init__ body
- Add docstrings to __repr__ and __str__ (remove noqa: D105)

tests/test_exceptions.py:
- Replace weak test_all_exceptions_exported with test_all_exceptions_in_package_all
  that verifies every class appears in asyncdb.exceptions.__all__
- Add test_message_from_object_with_message_attr (str message attr)
- Add test_message_from_object_non_string_message_attr (int coercion)
- Add test_no_data_found_rejects_extra_positional_args (locks Cython-parity behaviour)

65/65 tests passing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
exceptions.py:
- Remove redundant class-level attribute defaults; keep bare annotations
- Add str() coercion guard on hasattr(message, "message") branch
- Drop redundant inline type annotations inside __init__ body
- Add docstrings to __repr__ and __str__ (remove noqa: D105)

tests/test_exceptions.py:
- Replace weak test_all_exceptions_exported with test_all_exceptions_in_package_all
  that verifies every class appears in asyncdb.exceptions.__all__
- Add test_message_from_object_with_message_attr (str message attr)
- Add test_message_from_object_non_string_message_attr (int coercion)
- Add test_no_data_found_rejects_extra_positional_args (locks Cython-parity behaviour)

65/65 tests passing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file rust Pull requests that update rust code labels Mar 20, 2026
phenobarbital and others added 7 commits March 20, 2026 02:32
Driver fixes:
- Move `import duckdb` inside try/except guard to prevent ImportError on
  optional-dep-free installs
- Remove unused `import pyarrow.dataset as ds`
- Remove `import gc` — gc.collect() in async close() dropped entirely
- Make tables(), schema(), table() async (asyncio.to_thread); they were
  calling blocking catalog RPCs on the event loop
- Change use() from async to sync (pure attribute assignment, no I/O)
- Add _summary_dict() as @staticmethod — eliminates duplicate inner fn
  in history() and current_snapshot()
- query() / queryrow(): add self._logger.error() before storing error
- queryrow(): return consistent 1-row container (DataFrame/Table) for all
  factories instead of Series/tuple/Table mix
- write(): validate mode before data conversion so invalid modes raise
  immediately without wasted CPU work
- upsert(): log debug message clarifying that join_cols is informational
  and must be pre-configured as identifier_field_ids on the schema
- _resolve_table_id(): raise DriverError when id has no namespace and no
  default namespace is set (prevents silent catalog misbehaviour)
- upsert()/tables()/table()/schema(): add self._logger.exception() on
  unexpected errors for production debuggability

Test additions (8 new tests, 43 total):
- test_upsert_inserts_and_updates: end-to-end upsert with identifier fields
- test_upsert_raises_on_unsupported_version: version guard smoke test
- test_add_files_registers_parquet: registers real Parquet file, checks rows
- test_add_files_raises_on_empty_paths: validates empty file_paths guard
- test_partial_overwrite_with_filter: overwrite() with GreaterThan expression
- test_tables_is_async: asserts tables() returns a coroutine
- test_schema_is_async: asserts schema() returns a coroutine
- test_write_invalid_mode_raises_before_conversion: mode check fires early

Test fixes:
- driver.tables("test_ns") → await driver.tables("test_ns")
- driver.schema() → await driver.schema()
- await driver.use("another_ns") → driver.use("another_ns") (now sync)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Bumps [array-init-cursor](https://github.com/planus-org/planus) from 0.2.0 to 0.2.1.
- [Release notes](https://github.com/planus-org/planus/releases)
- [Changelog](https://github.com/planus-org/planus/blob/main/CHANGELOG.md)
- [Commits](planus-org/planus@v0.2.0...array-init-cursor-v0.2.1)

---
updated-dependencies:
- dependency-name: array-init-cursor
  dependency-version: 0.2.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
…bital/asyncdb into feat-002-apache-iceberg-support
Prevent accidental commits of CSV data files and
credential-containing example scripts.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…conversions/rst_convert/array-init-cursor-0.2.1

build(deps): bump array-init-cursor from 0.2.0 to 0.2.1 in /asyncdb/conversions/rst_convert
@dependabot dependabot bot force-pushed the dependabot/cargo/asyncdb/conversions/rst_convert/pyo3-0.24.1 branch from 88384b1 to b2bc809 Compare March 20, 2026 01:59
phenobarbital and others added 3 commits March 20, 2026 03:03
Bumps [pyo3](https://github.com/pyo3/pyo3) from 0.18.3 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.18.3...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/asyncdb/conversions/rst_convert/pyo3-0.24.1 branch from b2bc809 to 0028615 Compare March 20, 2026 02:06
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.

3 participants