This release is a bugfix release with the primary focus being improved compatibility with Python 3.12 betas. Please note that until Python 3.12.0 stable is released PyO3 cannot guarantee that code compiled using PyO3 and beta versions of Python 3.12 will support 3.12 stable.
There have been some new minor APIs added in this release: PyErr::Display, PyAny::downcast_exact and PySlice::full.
Other bugfixes shipped in this release include:
A correction to the conversion of Python datetime to chrono::DateTime<FixedOffset> with respect to the handling of timezones.
Fix an edge case where PyErr::matches and PyErr::get_type could return results inconsistent with each other.
Fix cases where converting a Python exception into a PyErr would cause its traceback to be lost.
Thank you to the following users for the improvements:
This release fixes a memory leak caused by a reference counting error which affected PySet::new, PyFrozenSet::new and conversions from Rust set types to Python's set.
There are several other notable quality-of-life changes in this release:
Support for PyPy 3.10.
Support for hashbrown 0.14 and indexmap 2.0.
Conversions for std::net::IpAddr have been added.
The num-bigint feature is now supported with the abi3 feature.
The num-complex feature with abi3 feature enabled will now correctly use __complex__ implementations (it always has without abi3 enabled).
#[new] methods can now return Py<Self> to return an existing object (e.g. for singleton classes).
There are also a handful of other additions and bugfixes included in this release.
Thank you to the following users for the improvements:
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 merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@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 from 0.18.3 to 0.19.2.
Release notes
Sourced from pyo3's releases.
... (truncated)
Changelog
Sourced from pyo3's changelog.
... (truncated)
Commits
931e23d
release: 0.19.2e8d8840
fix msrv issues for 0.19.2 patch releaseecfddd5
update tests of refcounting to use a non-immortal object5564d61
update object.h definitions for Python 3.120f1846c
update criterion to 0.5.11f7c1fc
move benches to subdirectory1fa46d0
add macro quotes module for common snippets0f796e7
macros:_py
->py
00a6ce6
fix compile failure for getter with return lifetime of self79d5e4f
Added newsfragmentDependabot 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 merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@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)