Skip to content

Commit cd5369c

Browse files
committed
release: 0.22.3
1 parent f38c43a commit cd5369c

34 files changed

+56
-54
lines changed

CHANGELOG.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,40 @@ To see unreleased changes, please see the [CHANGELOG on the main branch guide](h
1010

1111
<!-- towncrier release notes start -->
1212

13+
## [0.22.3] - 2024-09-15
14+
15+
### Added
16+
17+
- Add `pyo3::ffi::compat` namespace with compatibility shims for C API functions added in recent versions of Python.
18+
- Add FFI definition `PyDict_GetItemRef` on Python 3.13 and newer, and `compat::PyDict_GetItemRef` for all versions. [#4355](https://github.com/PyO3/pyo3/pull/4355)
19+
- Add FFI definition `PyList_GetItemRef` on Python 3.13 and newer, and `pyo3_ffi::compat::PyList_GetItemRef` for all versions. [#4410](https://github.com/PyO3/pyo3/pull/4410)
20+
- Add FFI definitions `compat::Py_NewRef` and `compat::Py_XNewRef`. [#4445](https://github.com/PyO3/pyo3/pull/4445)
21+
- Add FFI definitions `compat::PyObject_CallNoArgs` and `compat::PyObject_CallMethodNoArgs`. [#4461](https://github.com/PyO3/pyo3/pull/4461)
22+
- Add `GilOnceCell<Py<T>>::clone_ref`. [#4511](https://github.com/PyO3/pyo3/pull/4511)
23+
24+
### Changed
25+
26+
- Improve error messages for `#[pyfunction]` defined inside `#[pymethods]`. [#4349](https://github.com/PyO3/pyo3/pull/4349)
27+
- Improve performance of calls to Python by using the vectorcall calling convention where possible. [#4456](https://github.com/PyO3/pyo3/pull/4456)
28+
- Mention the type name in the exception message when trying to instantiate a class with no constructor defined. [#4481](https://github.com/PyO3/pyo3/pull/4481)
29+
30+
### Removed
31+
32+
- Remove private FFI definition `_Py_PackageContext`. [#4420](https://github.com/PyO3/pyo3/pull/4420)
33+
34+
### Fixed
35+
36+
- Fix compile failure in declarative `#[pymodule]` under presence of `#![no_implicit_prelude]`. [#4328](https://github.com/PyO3/pyo3/pull/4328)
37+
- Fix use of borrowed reference in `PyDict::get_item` (unsafe in free-threaded Python). [#4355](https://github.com/PyO3/pyo3/pull/4355)
38+
- Fix `#[pyclass(eq)]` macro hygiene issues for structs and enums. [#4359](https://github.com/PyO3/pyo3/pull/4359)
39+
- Fix hygiene/span issues of `'#[pyfunction]` and `#[pymethods]` generated code which affected expansion in `macro_rules` context. [#4382](https://github.com/PyO3/pyo3/pull/4382)
40+
- Fix `unsafe_code` lint error in `#[pyclass]` generated code. [#4396](https://github.com/PyO3/pyo3/pull/4396)
41+
- Fix async functions returning a tuple only returning the first element to Python. [#4407](https://github.com/PyO3/pyo3/pull/4407)
42+
- Fix use of borrowed reference in `PyList::get_item` (unsafe in free-threaded Python). [#4410](https://github.com/PyO3/pyo3/pull/4410)
43+
- Correct FFI definition `PyArg_ParseTupleAndKeywords` to take `*const *const c_char` instead of `*mut *mut c_char` on Python 3.13 and up. [#4420](https://github.com/PyO3/pyo3/pull/4420)
44+
- Fix a soundness bug with `PyClassInitializer`: panic if adding subclass to existing instance via `PyClassInitializer::from(Py<BaseClass>).add_subclass(SubClass)`. [#4454](https://github.com/PyO3/pyo3/pull/4454)
45+
- Fix illegal reference counting op inside implementation of `__traverse__` handlers. [#4479](https://github.com/PyO3/pyo3/pull/4479)
46+
1347
## [0.22.2] - 2024-07-17
1448

1549
### Packaging

Cargo.toml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "pyo3"
3-
version = "0.22.2"
3+
version = "0.22.3"
44
description = "Bindings to Python interpreter"
55
authors = ["PyO3 Project and Contributors <https://github.com/PyO3>"]
66
readme = "README.md"
@@ -21,10 +21,10 @@ memoffset = "0.9"
2121
once_cell = "1.13"
2222

2323
# ffi bindings to the python interpreter, split into a separate crate so they can be used independently
24-
pyo3-ffi = { path = "pyo3-ffi", version = "=0.22.2" }
24+
pyo3-ffi = { path = "pyo3-ffi", version = "=0.22.3" }
2525

2626
# support crates for macros feature
27-
pyo3-macros = { path = "pyo3-macros", version = "=0.22.2", optional = true }
27+
pyo3-macros = { path = "pyo3-macros", version = "=0.22.3", optional = true }
2828
indoc = { version = "2.0.1", optional = true }
2929
unindent = { version = "0.2.1", optional = true }
3030

@@ -64,7 +64,7 @@ futures = "0.3.28"
6464
static_assertions = "1.1.0"
6565

6666
[build-dependencies]
67-
pyo3-build-config = { path = "pyo3-build-config", version = "=0.22.2", features = ["resolve-config"] }
67+
pyo3-build-config = { path = "pyo3-build-config", version = "=0.22.3", features = ["resolve-config"] }
6868

6969
[features]
7070
default = ["macros"]

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ name = "string_sum"
6868
crate-type = ["cdylib"]
6969

7070
[dependencies]
71-
pyo3 = { version = "0.22.2", features = ["extension-module"] }
71+
pyo3 = { version = "0.22.3", features = ["extension-module"] }
7272
```
7373

7474
**`src/lib.rs`**
@@ -137,7 +137,7 @@ Start a new project with `cargo new` and add `pyo3` to the `Cargo.toml` like th
137137

138138
```toml
139139
[dependencies.pyo3]
140-
version = "0.22.2"
140+
version = "0.22.3"
141141
features = ["auto-initialize"]
142142
```
143143

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
variable::set("PYO3_VERSION", "0.22.2");
1+
variable::set("PYO3_VERSION", "0.22.3");
22
file::rename(".template/Cargo.toml", "Cargo.toml");
33
file::rename(".template/pyproject.toml", "pyproject.toml");
44
file::delete(".template");
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
variable::set("PYO3_VERSION", "0.22.2");
1+
variable::set("PYO3_VERSION", "0.22.3");
22
file::rename(".template/Cargo.toml", "Cargo.toml");
33
file::rename(".template/pyproject.toml", "pyproject.toml");
44
file::delete(".template");
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
variable::set("PYO3_VERSION", "0.22.2");
1+
variable::set("PYO3_VERSION", "0.22.3");
22
file::rename(".template/Cargo.toml", "Cargo.toml");
33
file::rename(".template/plugin_api/Cargo.toml", "plugin_api/Cargo.toml");
44
file::delete(".template");
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
variable::set("PYO3_VERSION", "0.22.2");
1+
variable::set("PYO3_VERSION", "0.22.3");
22
file::rename(".template/Cargo.toml", "Cargo.toml");
33
file::rename(".template/setup.cfg", "setup.cfg");
44
file::delete(".template");
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
variable::set("PYO3_VERSION", "0.22.2");
1+
variable::set("PYO3_VERSION", "0.22.3");
22
file::rename(".template/Cargo.toml", "Cargo.toml");
33
file::rename(".template/pyproject.toml", "pyproject.toml");
44
file::delete(".template");

newsfragments/4328.fixed.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

newsfragments/4349.fixed.md

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy