release: 0.21.1 (#4032)
This commit is contained in:
parent
8cabd2619c
commit
c1f11fb4bd
24
CHANGELOG.md
24
CHANGELOG.md
|
@ -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
|
||||||
|
|
|
@ -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"]
|
||||||
|
|
|
@ -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"]
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
|
@ -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");
|
||||||
|
|
|
@ -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");
|
||||||
|
|
|
@ -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");
|
||||||
|
|
|
@ -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");
|
||||||
|
|
|
@ -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");
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
handle `#[pyo3(from_py_with = "")]` in `#[setter]` methods
|
|
|
@ -1 +0,0 @@
|
||||||
Warn on uses of GIL Refs for `#[setter]` function arguments.
|
|
|
@ -1 +0,0 @@
|
||||||
Allow extraction of `&Bound` in `#[setter]` methods.
|
|
|
@ -1 +0,0 @@
|
||||||
Implement `Send` and `Sync` for `PyBackedStr` and `PyBackedBytes`.
|
|
|
@ -1 +0,0 @@
|
||||||
Fix some uncovered code blocks emitted by `#[pymodule]`, `#[pyfunction]` and `#[pyclass]` macros.
|
|
|
@ -1 +0,0 @@
|
||||||
Fixed the error message when a class referenced in `pyo3::import_exception!` does not exist
|
|
|
@ -1 +0,0 @@
|
||||||
Fix the bug that an async `#[pymethod]` with receiver can't have any other args.
|
|
|
@ -1 +0,0 @@
|
||||||
Adds `Clone`, `Debug`, `PartialEq`, `Eq`, `PartialOrd`, `Ord` and `Hash` implementation for `PyBackedBytes` and `PyBackedStr`, and `Display` for `PyBackedStr`.
|
|
|
@ -1 +0,0 @@
|
||||||
Add `#[inline]` hints on many `Bound` and `Borrowed` methods.
|
|
|
@ -1 +0,0 @@
|
||||||
Add `import_exception_bound!` macro to import exception types without generating GIL Ref functionality for them.
|
|
|
@ -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"]
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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]
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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}"
|
||||||
|
|
Loading…
Reference in New Issue