Skip to content

Commit f2a8460

Browse files
committed
release: 0.23.4
1 parent 0c10e34 commit f2a8460

File tree

29 files changed

+54
-45
lines changed

29 files changed

+54
-45
lines changed

CHANGELOG.md

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

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

13+
## [0.23.4] - 2025-01-10
14+
15+
### Added
16+
17+
- Add `PyList::locked_for_each`, which uses a critical section to lock the list on the free-threaded build. [#4789](https://github.com/PyO3/pyo3/pull/4789)
18+
- Add `pyo3_build_config::add_python_framework_link_args` build script API to set rpath when using macOS system Python. [#4833](https://github.com/PyO3/pyo3/pull/4833)
19+
20+
### Changed
21+
22+
- Use `datetime.fold` to distinguish ambiguous datetimes when converting to and from `chrono::DateTime<Tz>` (rather than erroring). [#4791](https://github.com/PyO3/pyo3/pull/4791)
23+
- Optimize PyList iteration on the free-threaded build. [#4789](https://github.com/PyO3/pyo3/pull/4789)
24+
25+
### Fixed
26+
27+
- Fix unnecessary internal `py.allow_threads` GIL-switch when attempting to access contents of a `PyErr` which originated from Python (could lead to unintended deadlocks). [#4766](https://github.com/PyO3/pyo3/pull/4766)
28+
- Fix thread-unsafe access of dict internals in `BoundDictIterator` on the free-threaded build. [#4788](https://github.com/PyO3/pyo3/pull/4788)
29+
* Fix unnecessary critical sections in `BoundDictIterator` on the free-threaded build. [#4788](https://github.com/PyO3/pyo3/pull/4788)
30+
- Fix time-of-check to time-of-use issues with list iteration on the free-threaded build. [#4789](https://github.com/PyO3/pyo3/pull/4789)
31+
- Fix `chrono::DateTime<Tz>` to-Python conversion when `Tz` is `chrono_tz::Tz`. [#4790](https://github.com/PyO3/pyo3/pull/4790)
32+
- Fix `#[pyclass]` not being able to be named `Probe`. [#4794](https://github.com/PyO3/pyo3/pull/4794)
33+
- Fix not treating cross-compilation from x64 to aarch64 on Windows as a cross-compile. [#4800](https://github.com/PyO3/pyo3/pull/4800)
34+
- Fix missing struct fields on GraalPy when subclassing builtin classes. [#4802](https://github.com/PyO3/pyo3/pull/4802)
35+
- Fix generating import lib for PyPy when `abi3` feature is enabled. [#4806](https://github.com/PyO3/pyo3/pull/4806)
36+
- Fix generating import lib for python3.13t when `abi3` feature is enabled. [#4808](https://github.com/PyO3/pyo3/pull/4808)
37+
- Fix compile failure for raw identifiers like `r#box` in `derive(FromPyObject)`. [#4814](https://github.com/PyO3/pyo3/pull/4814)
38+
- Fix compile failure for `#[pyclass]` enum variants with more than 12 fields. [#4832](https://github.com/PyO3/pyo3/pull/4832)
39+
40+
1341
## [0.23.3] - 2024-12-03
1442

1543
### Packaging
@@ -2026,7 +2054,8 @@ Yanked
20262054

20272055
- Initial release
20282056

2029-
[Unreleased]: https://github.com/pyo3/pyo3/compare/v0.23.3...HEAD
2057+
[Unreleased]: https://github.com/pyo3/pyo3/compare/v0.23.4...HEAD
2058+
[0.23.4]: https://github.com/pyo3/pyo3/compare/v0.23.3...v0.23.4
20302059
[0.23.3]: https://github.com/pyo3/pyo3/compare/v0.23.2...v0.23.3
20312060
[0.23.2]: https://github.com/pyo3/pyo3/compare/v0.23.1...v0.23.2
20322061
[0.23.1]: https://github.com/pyo3/pyo3/compare/v0.23.0...v0.23.1

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.23.3"
3+
version = "0.23.4"
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.23.3" }
24+
pyo3-ffi = { path = "pyo3-ffi", version = "=0.23.4" }
2525

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

@@ -66,7 +66,7 @@ static_assertions = "1.1.0"
6666
uuid = {version = "1.10.0", features = ["v4"] }
6767

6868
[build-dependencies]
69-
pyo3-build-config = { path = "pyo3-build-config", version = "=0.23.3", features = ["resolve-config"] }
69+
pyo3-build-config = { path = "pyo3-build-config", version = "=0.23.4", features = ["resolve-config"] }
7070

7171
[features]
7272
default = ["macros"]

README.md

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

7373
[dependencies]
74-
pyo3 = { version = "0.23.3", features = ["extension-module"] }
74+
pyo3 = { version = "0.23.4", features = ["extension-module"] }
7575
```
7676

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

141141
```toml
142142
[dependencies.pyo3]
143-
version = "0.23.3"
143+
version = "0.23.4"
144144
features = ["auto-initialize"]
145145
```
146146

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
variable::set("PYO3_VERSION", "0.23.3");
1+
variable::set("PYO3_VERSION", "0.23.4");
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.23.3");
1+
variable::set("PYO3_VERSION", "0.23.4");
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.23.3");
1+
variable::set("PYO3_VERSION", "0.23.4");
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.23.3");
1+
variable::set("PYO3_VERSION", "0.23.4");
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.23.3");
1+
variable::set("PYO3_VERSION", "0.23.4");
22
file::rename(".template/Cargo.toml", "Cargo.toml");
33
file::rename(".template/pyproject.toml", "pyproject.toml");
44
file::delete(".template");

newsfragments/4766.fixed.md

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

newsfragments/4788.fixed.md

Lines changed: 0 additions & 4 deletions
This file was deleted.

0 commit comments

Comments
 (0)