release: 0.21.1 (#4032)

This commit is contained in:
David Hewitt 2024-04-01 19:51:58 +01:00 committed by GitHub
parent 8cabd2619c
commit c1f11fb4bd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
23 changed files with 43 additions and 29 deletions

View File

@ -10,6 +10,28 @@ To see unreleased changes, please see the [CHANGELOG on the main branch guide](h
<!-- towncrier release notes start --> <!-- towncrier release notes start -->
## [0.21.1] - 2024-04-01
### Added
- Implement `Send` and `Sync` for `PyBackedStr` and `PyBackedBytes`. [#4007](https://github.com/PyO3/pyo3/pull/4007)
- Implement `Clone`, `Debug`, `PartialEq`, `Eq`, `PartialOrd`, `Ord` and `Hash` implementation for `PyBackedBytes` and `PyBackedStr`, and `Display` for `PyBackedStr`. [#4020](https://github.com/PyO3/pyo3/pull/4020)
- Add `import_exception_bound!` macro to import exception types without generating GIL Ref functionality for them. [#4027](https://github.com/PyO3/pyo3/pull/4027)
### Changed
- Emit deprecation warning for uses of GIL Refs as `#[setter]` function arguments. [#3998](https://github.com/PyO3/pyo3/pull/3998)
- Add `#[inline]` hints on many `Bound` and `Borrowed` methods. [#4024](https://github.com/PyO3/pyo3/pull/4024)
### Fixed
- Handle `#[pyo3(from_py_with = "")]` in `#[setter]` methods [#3995](https://github.com/PyO3/pyo3/pull/3995)
- Allow extraction of `&Bound` in `#[setter]` methods. [#3998](https://github.com/PyO3/pyo3/pull/3998)
- Fix some uncovered code blocks emitted by `#[pymodule]`, `#[pyfunction]` and `#[pyclass]` macros. [#4009](https://github.com/PyO3/pyo3/pull/4009)
- Fix typo in the panic message when a class referenced in `pyo3::import_exception!` does not exist. [#4012](https://github.com/PyO3/pyo3/pull/4012)
- Fix compile error when using an async `#[pymethod]` with a receiver and additional arguments. [#4015](https://github.com/PyO3/pyo3/pull/4015)
## [0.21.0] - 2024-03-25 ## [0.21.0] - 2024-03-25
### Added ### Added
@ -1709,6 +1731,8 @@ Yanked
- Initial release - Initial release
[Unreleased]: https://github.com/pyo3/pyo3/compare/v0.21.1...HEAD
[0.21.1]: https://github.com/pyo3/pyo3/compare/v0.21.0...v0.21.1
[0.21.0]: https://github.com/pyo3/pyo3/compare/v0.20.3...v0.21.0 [0.21.0]: https://github.com/pyo3/pyo3/compare/v0.20.3...v0.21.0
[0.21.0-beta.0]: https://github.com/pyo3/pyo3/compare/v0.20.3...v0.21.0-beta.0 [0.21.0-beta.0]: https://github.com/pyo3/pyo3/compare/v0.20.3...v0.21.0-beta.0
[0.20.3]: https://github.com/pyo3/pyo3/compare/v0.20.2...v0.20.3 [0.20.3]: https://github.com/pyo3/pyo3/compare/v0.20.2...v0.20.3

View File

@ -1,6 +1,6 @@
[package] [package]
name = "pyo3" name = "pyo3"
version = "0.21.0" version = "0.21.1"
description = "Bindings to Python interpreter" description = "Bindings to Python interpreter"
authors = ["PyO3 Project and Contributors <https://github.com/PyO3>"] authors = ["PyO3 Project and Contributors <https://github.com/PyO3>"]
readme = "README.md" readme = "README.md"
@ -22,10 +22,10 @@ memoffset = "0.9"
portable-atomic = "1.0" portable-atomic = "1.0"
# ffi bindings to the python interpreter, split into a separate crate so they can be used independently # ffi bindings to the python interpreter, split into a separate crate so they can be used independently
pyo3-ffi = { path = "pyo3-ffi", version = "=0.21.0" } pyo3-ffi = { path = "pyo3-ffi", version = "=0.21.1" }
# support crates for macros feature # support crates for macros feature
pyo3-macros = { path = "pyo3-macros", version = "=0.21.0", optional = true } pyo3-macros = { path = "pyo3-macros", version = "=0.21.1", optional = true }
indoc = { version = "2.0.1", optional = true } indoc = { version = "2.0.1", optional = true }
unindent = { version = "0.2.1", optional = true } unindent = { version = "0.2.1", optional = true }
@ -60,7 +60,7 @@ rayon = "1.6.1"
futures = "0.3.28" futures = "0.3.28"
[build-dependencies] [build-dependencies]
pyo3-build-config = { path = "pyo3-build-config", version = "=0.21.0", features = ["resolve-config"] } pyo3-build-config = { path = "pyo3-build-config", version = "=0.21.1", features = ["resolve-config"] }
[features] [features]
default = ["macros"] default = ["macros"]

View File

@ -68,7 +68,7 @@ name = "string_sum"
crate-type = ["cdylib"] crate-type = ["cdylib"]
[dependencies] [dependencies]
pyo3 = { version = "0.21.0", features = ["extension-module"] } pyo3 = { version = "0.21.1", features = ["extension-module"] }
``` ```
**`src/lib.rs`** **`src/lib.rs`**
@ -137,7 +137,7 @@ Start a new project with `cargo new` and add `pyo3` to the `Cargo.toml` like th
```toml ```toml
[dependencies.pyo3] [dependencies.pyo3]
version = "0.21.0" version = "0.21.1"
features = ["auto-initialize"] features = ["auto-initialize"]
``` ```

View File

@ -1,4 +1,4 @@
variable::set("PYO3_VERSION", "0.21.0"); variable::set("PYO3_VERSION", "0.21.1");
file::rename(".template/Cargo.toml", "Cargo.toml"); file::rename(".template/Cargo.toml", "Cargo.toml");
file::rename(".template/pyproject.toml", "pyproject.toml"); file::rename(".template/pyproject.toml", "pyproject.toml");
file::delete(".template"); file::delete(".template");

View File

@ -1,4 +1,4 @@
variable::set("PYO3_VERSION", "0.21.0"); variable::set("PYO3_VERSION", "0.21.1");
file::rename(".template/Cargo.toml", "Cargo.toml"); file::rename(".template/Cargo.toml", "Cargo.toml");
file::rename(".template/pyproject.toml", "pyproject.toml"); file::rename(".template/pyproject.toml", "pyproject.toml");
file::delete(".template"); file::delete(".template");

View File

@ -1,4 +1,4 @@
variable::set("PYO3_VERSION", "0.21.0"); variable::set("PYO3_VERSION", "0.21.1");
file::rename(".template/Cargo.toml", "Cargo.toml"); file::rename(".template/Cargo.toml", "Cargo.toml");
file::rename(".template/plugin_api/Cargo.toml", "plugin_api/Cargo.toml"); file::rename(".template/plugin_api/Cargo.toml", "plugin_api/Cargo.toml");
file::delete(".template"); file::delete(".template");

View File

@ -1,4 +1,4 @@
variable::set("PYO3_VERSION", "0.21.0"); variable::set("PYO3_VERSION", "0.21.1");
file::rename(".template/Cargo.toml", "Cargo.toml"); file::rename(".template/Cargo.toml", "Cargo.toml");
file::rename(".template/setup.cfg", "setup.cfg"); file::rename(".template/setup.cfg", "setup.cfg");
file::delete(".template"); file::delete(".template");

View File

@ -1,4 +1,4 @@
variable::set("PYO3_VERSION", "0.21.0"); variable::set("PYO3_VERSION", "0.21.1");
file::rename(".template/Cargo.toml", "Cargo.toml"); file::rename(".template/Cargo.toml", "Cargo.toml");
file::rename(".template/pyproject.toml", "pyproject.toml"); file::rename(".template/pyproject.toml", "pyproject.toml");
file::delete(".template"); file::delete(".template");

View File

@ -1 +0,0 @@
handle `#[pyo3(from_py_with = "")]` in `#[setter]` methods

View File

@ -1 +0,0 @@
Warn on uses of GIL Refs for `#[setter]` function arguments.

View File

@ -1 +0,0 @@
Allow extraction of `&Bound` in `#[setter]` methods.

View File

@ -1 +0,0 @@
Implement `Send` and `Sync` for `PyBackedStr` and `PyBackedBytes`.

View File

@ -1 +0,0 @@
Fix some uncovered code blocks emitted by `#[pymodule]`, `#[pyfunction]` and `#[pyclass]` macros.

View File

@ -1 +0,0 @@
Fixed the error message when a class referenced in `pyo3::import_exception!` does not exist

View File

@ -1 +0,0 @@
Fix the bug that an async `#[pymethod]` with receiver can't have any other args.

View File

@ -1 +0,0 @@
Adds `Clone`, `Debug`, `PartialEq`, `Eq`, `PartialOrd`, `Ord` and `Hash` implementation for `PyBackedBytes` and `PyBackedStr`, and `Display` for `PyBackedStr`.

View File

@ -1 +0,0 @@
Add `#[inline]` hints on many `Bound` and `Borrowed` methods.

View File

@ -1 +0,0 @@
Add `import_exception_bound!` macro to import exception types without generating GIL Ref functionality for them.

View File

@ -1,6 +1,6 @@
[package] [package]
name = "pyo3-build-config" name = "pyo3-build-config"
version = "0.21.0" version = "0.21.1"
description = "Build configuration for the PyO3 ecosystem" description = "Build configuration for the PyO3 ecosystem"
authors = ["PyO3 Project and Contributors <https://github.com/PyO3>"] authors = ["PyO3 Project and Contributors <https://github.com/PyO3>"]
keywords = ["pyo3", "python", "cpython", "ffi"] keywords = ["pyo3", "python", "cpython", "ffi"]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "pyo3-ffi" name = "pyo3-ffi"
version = "0.21.0" version = "0.21.1"
description = "Python-API bindings for the PyO3 ecosystem" description = "Python-API bindings for the PyO3 ecosystem"
authors = ["PyO3 Project and Contributors <https://github.com/PyO3>"] authors = ["PyO3 Project and Contributors <https://github.com/PyO3>"]
keywords = ["pyo3", "python", "cpython", "ffi"] keywords = ["pyo3", "python", "cpython", "ffi"]
@ -38,7 +38,7 @@ abi3-py312 = ["abi3", "pyo3-build-config/abi3-py312"]
generate-import-lib = ["pyo3-build-config/python3-dll-a"] generate-import-lib = ["pyo3-build-config/python3-dll-a"]
[build-dependencies] [build-dependencies]
pyo3-build-config = { path = "../pyo3-build-config", version = "=0.21.0", features = ["resolve-config"] } pyo3-build-config = { path = "../pyo3-build-config", version = "=0.21.1", features = ["resolve-config"] }
[lints] [lints]
workspace = true workspace = true

View File

@ -1,6 +1,6 @@
[package] [package]
name = "pyo3-macros-backend" name = "pyo3-macros-backend"
version = "0.21.0" version = "0.21.1"
description = "Code generation for PyO3 package" description = "Code generation for PyO3 package"
authors = ["PyO3 Project and Contributors <https://github.com/PyO3>"] authors = ["PyO3 Project and Contributors <https://github.com/PyO3>"]
keywords = ["pyo3", "python", "cpython", "ffi"] keywords = ["pyo3", "python", "cpython", "ffi"]
@ -16,7 +16,7 @@ edition = "2021"
[dependencies] [dependencies]
heck = "0.4" heck = "0.4"
proc-macro2 = { version = "1", default-features = false } proc-macro2 = { version = "1", default-features = false }
pyo3-build-config = { path = "../pyo3-build-config", version = "=0.21.0", features = ["resolve-config"] } pyo3-build-config = { path = "../pyo3-build-config", version = "=0.21.1", features = ["resolve-config"] }
quote = { version = "1", default-features = false } quote = { version = "1", default-features = false }
[dependencies.syn] [dependencies.syn]

View File

@ -1,6 +1,6 @@
[package] [package]
name = "pyo3-macros" name = "pyo3-macros"
version = "0.21.0" version = "0.21.1"
description = "Proc macros for PyO3 package" description = "Proc macros for PyO3 package"
authors = ["PyO3 Project and Contributors <https://github.com/PyO3>"] authors = ["PyO3 Project and Contributors <https://github.com/PyO3>"]
keywords = ["pyo3", "python", "cpython", "ffi"] keywords = ["pyo3", "python", "cpython", "ffi"]
@ -22,7 +22,7 @@ experimental-declarative-modules = []
proc-macro2 = { version = "1", default-features = false } proc-macro2 = { version = "1", default-features = false }
quote = "1" quote = "1"
syn = { version = "2", features = ["full", "extra-traits"] } syn = { version = "2", features = ["full", "extra-traits"] }
pyo3-macros-backend = { path = "../pyo3-macros-backend", version = "=0.21.0" } pyo3-macros-backend = { path = "../pyo3-macros-backend", version = "=0.21.1" }
[lints] [lints]
workspace = true workspace = true

View File

@ -3,7 +3,7 @@
[tool.towncrier] [tool.towncrier]
filename = "CHANGELOG.md" filename = "CHANGELOG.md"
version = "0.21.0" version = "0.21.1"
start_string = "<!-- towncrier release notes start -->\n" start_string = "<!-- towncrier release notes start -->\n"
template = ".towncrier.template.md" template = ".towncrier.template.md"
title_format = "## [{version}] - {project_date}" title_format = "## [{version}] - {project_date}"