diff --git a/CHANGELOG.md b/CHANGELOG.md index 128544202cf..beabedc28de 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,22 @@ To see unreleased changes, please see the [CHANGELOG on the main branch guide](h +## [0.22.1] - 2024-07-06 + +### Added + +- Add `#[pyo3(submodule)]` option for declarative `#[pymodule]`s. [#4301](https://github.com/PyO3/pyo3/pull/4301) +- Implement `PartialEq` for `Bound<'py, PyBool>`. [#4305](https://github.com/PyO3/pyo3/pull/4305) + +### Fixed + +- Return `NotImplemented` instead of raising `TypeError` from generated equality method when comparing different types. [#4287](https://github.com/PyO3/pyo3/pull/4287) +- Handle full-path `#[pyo3::prelude::pymodule]` and similar for `#[pyclass]` and `#[pyfunction]` in declarative modules.[#4288](https://github.com/PyO3/pyo3/pull/4288) +- Fix 128-bit int regression on big-endian platforms with Python <3.13. [#4291](https://github.com/PyO3/pyo3/pull/4291) +- Stop generating code that will never be covered with declarative modules. [#4297](https://github.com/PyO3/pyo3/pull/4297) +- Fix invalid deprecation warning for trailing optional on `#[setter]` function. [#4304](https://github.com/PyO3/pyo3/pull/4304) + + ## [0.22.0] - 2024-06-24 ### Packaging @@ -1808,7 +1824,8 @@ Yanked - Initial release -[Unreleased]: https://github.com/pyo3/pyo3/compare/v0.22.0...HEAD +[Unreleased]: https://github.com/pyo3/pyo3/compare/v0.22.1...HEAD +[0.22.1]: https://github.com/pyo3/pyo3/compare/v0.22.0...v0.22.1 [0.22.0]: https://github.com/pyo3/pyo3/compare/v0.21.2...v0.22.0 [0.21.2]: https://github.com/pyo3/pyo3/compare/v0.21.1...v0.21.2 [0.21.1]: https://github.com/pyo3/pyo3/compare/v0.21.0...v0.21.1 diff --git a/Cargo.toml b/Cargo.toml index 5d3888dfda1..364fbac81c1 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pyo3" -version = "0.22.0" +version = "0.22.1" description = "Bindings to Python interpreter" authors = ["PyO3 Project and Contributors "] readme = "README.md" @@ -21,10 +21,10 @@ memoffset = "0.9" once_cell = "1.13.0" # ffi bindings to the python interpreter, split into a separate crate so they can be used independently -pyo3-ffi = { path = "pyo3-ffi", version = "=0.22.0" } +pyo3-ffi = { path = "pyo3-ffi", version = "=0.22.1" } # support crates for macros feature -pyo3-macros = { path = "pyo3-macros", version = "=0.22.0", optional = true } +pyo3-macros = { path = "pyo3-macros", version = "=0.22.1", optional = true } indoc = { version = "2.0.1", optional = true } unindent = { version = "0.2.1", optional = true } @@ -63,7 +63,7 @@ rayon = "1.6.1" futures = "0.3.28" [build-dependencies] -pyo3-build-config = { path = "pyo3-build-config", version = "=0.22.0", features = ["resolve-config"] } +pyo3-build-config = { path = "pyo3-build-config", version = "=0.22.1", features = ["resolve-config"] } [features] default = ["macros"] diff --git a/README.md b/README.md index 9f08dc0ea28..d5be31967a7 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ name = "string_sum" crate-type = ["cdylib"] [dependencies] -pyo3 = { version = "0.22.0", features = ["extension-module"] } +pyo3 = { version = "0.22.1", features = ["extension-module"] } ``` **`src/lib.rs`** @@ -137,7 +137,7 @@ Start a new project with `cargo new` and add `pyo3` to the `Cargo.toml` like th ```toml [dependencies.pyo3] -version = "0.22.0" +version = "0.22.1" features = ["auto-initialize"] ``` diff --git a/examples/decorator/.template/pre-script.rhai b/examples/decorator/.template/pre-script.rhai index aea6c46edc6..f21daafeb2a 100644 --- a/examples/decorator/.template/pre-script.rhai +++ b/examples/decorator/.template/pre-script.rhai @@ -1,4 +1,4 @@ -variable::set("PYO3_VERSION", "0.22.0"); +variable::set("PYO3_VERSION", "0.22.1"); file::rename(".template/Cargo.toml", "Cargo.toml"); file::rename(".template/pyproject.toml", "pyproject.toml"); file::delete(".template"); diff --git a/examples/maturin-starter/.template/pre-script.rhai b/examples/maturin-starter/.template/pre-script.rhai index aea6c46edc6..f21daafeb2a 100644 --- a/examples/maturin-starter/.template/pre-script.rhai +++ b/examples/maturin-starter/.template/pre-script.rhai @@ -1,4 +1,4 @@ -variable::set("PYO3_VERSION", "0.22.0"); +variable::set("PYO3_VERSION", "0.22.1"); file::rename(".template/Cargo.toml", "Cargo.toml"); file::rename(".template/pyproject.toml", "pyproject.toml"); file::delete(".template"); diff --git a/examples/plugin/.template/pre-script.rhai b/examples/plugin/.template/pre-script.rhai index d5f84ed3ff8..086868dfc42 100644 --- a/examples/plugin/.template/pre-script.rhai +++ b/examples/plugin/.template/pre-script.rhai @@ -1,4 +1,4 @@ -variable::set("PYO3_VERSION", "0.22.0"); +variable::set("PYO3_VERSION", "0.22.1"); file::rename(".template/Cargo.toml", "Cargo.toml"); file::rename(".template/plugin_api/Cargo.toml", "plugin_api/Cargo.toml"); file::delete(".template"); diff --git a/examples/setuptools-rust-starter/.template/pre-script.rhai b/examples/setuptools-rust-starter/.template/pre-script.rhai index 5ea757803da..0679e89ab3f 100644 --- a/examples/setuptools-rust-starter/.template/pre-script.rhai +++ b/examples/setuptools-rust-starter/.template/pre-script.rhai @@ -1,4 +1,4 @@ -variable::set("PYO3_VERSION", "0.22.0"); +variable::set("PYO3_VERSION", "0.22.1"); file::rename(".template/Cargo.toml", "Cargo.toml"); file::rename(".template/setup.cfg", "setup.cfg"); file::delete(".template"); diff --git a/examples/word-count/.template/pre-script.rhai b/examples/word-count/.template/pre-script.rhai index aea6c46edc6..f21daafeb2a 100644 --- a/examples/word-count/.template/pre-script.rhai +++ b/examples/word-count/.template/pre-script.rhai @@ -1,4 +1,4 @@ -variable::set("PYO3_VERSION", "0.22.0"); +variable::set("PYO3_VERSION", "0.22.1"); file::rename(".template/Cargo.toml", "Cargo.toml"); file::rename(".template/pyproject.toml", "pyproject.toml"); file::delete(".template"); diff --git a/newsfragments/4287.changed.md b/newsfragments/4287.changed.md deleted file mode 100644 index 440e123cebf..00000000000 --- a/newsfragments/4287.changed.md +++ /dev/null @@ -1 +0,0 @@ -Return `NotImplemented` from generated equality method when comparing different types. diff --git a/newsfragments/4288.fixed.md b/newsfragments/4288.fixed.md deleted file mode 100644 index 105bb042276..00000000000 --- a/newsfragments/4288.fixed.md +++ /dev/null @@ -1 +0,0 @@ -allow `#[pyo3::prelude::pymodule]` with nested declarative modules diff --git a/newsfragments/4291.fixed.md b/newsfragments/4291.fixed.md deleted file mode 100644 index 38242ff7de9..00000000000 --- a/newsfragments/4291.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Fix 128-bit int regression on big-endian platforms with Python <3.13 diff --git a/newsfragments/4297.fixed.md b/newsfragments/4297.fixed.md deleted file mode 100644 index 18cfd93756f..00000000000 --- a/newsfragments/4297.fixed.md +++ /dev/null @@ -1 +0,0 @@ -stop generating code that will never be covered with declarative modules diff --git a/newsfragments/4301.added.md b/newsfragments/4301.added.md deleted file mode 100644 index 2ee759c28b5..00000000000 --- a/newsfragments/4301.added.md +++ /dev/null @@ -1 +0,0 @@ -allow setting `submodule` on declarative `#[pymodule]`s diff --git a/newsfragments/4304.fixed.md b/newsfragments/4304.fixed.md deleted file mode 100644 index 5f5b5fd8ed0..00000000000 --- a/newsfragments/4304.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Fix invalid deprecation warning for trailing optional on `#[setter]` function. diff --git a/newsfragments/4305.added.md b/newsfragments/4305.added.md deleted file mode 100644 index 9a00b8fcfd1..00000000000 --- a/newsfragments/4305.added.md +++ /dev/null @@ -1 +0,0 @@ -Implement `PartialEq` for `Bound<'py, PyBool>`. \ No newline at end of file diff --git a/pyo3-build-config/Cargo.toml b/pyo3-build-config/Cargo.toml index 6ab56e2ee14..d8c84685c7c 100644 --- a/pyo3-build-config/Cargo.toml +++ b/pyo3-build-config/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pyo3-build-config" -version = "0.22.0" +version = "0.22.1" description = "Build configuration for the PyO3 ecosystem" authors = ["PyO3 Project and Contributors "] keywords = ["pyo3", "python", "cpython", "ffi"] diff --git a/pyo3-ffi/Cargo.toml b/pyo3-ffi/Cargo.toml index c3d9c608b0c..85de25c80f0 100644 --- a/pyo3-ffi/Cargo.toml +++ b/pyo3-ffi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pyo3-ffi" -version = "0.22.0" +version = "0.22.1" description = "Python-API bindings for the PyO3 ecosystem" authors = ["PyO3 Project and Contributors "] 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"] [build-dependencies] -pyo3-build-config = { path = "../pyo3-build-config", version = "=0.22.0", features = ["resolve-config"] } +pyo3-build-config = { path = "../pyo3-build-config", version = "=0.22.1", features = ["resolve-config"] } [lints] workspace = true diff --git a/pyo3-macros-backend/Cargo.toml b/pyo3-macros-backend/Cargo.toml index 264134d5249..280e12e37a6 100644 --- a/pyo3-macros-backend/Cargo.toml +++ b/pyo3-macros-backend/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pyo3-macros-backend" -version = "0.22.0" +version = "0.22.1" description = "Code generation for PyO3 package" authors = ["PyO3 Project and Contributors "] keywords = ["pyo3", "python", "cpython", "ffi"] @@ -16,7 +16,7 @@ edition = "2021" [dependencies] heck = "0.5" proc-macro2 = { version = "1.0.60", default-features = false } -pyo3-build-config = { path = "../pyo3-build-config", version = "=0.22.0", features = ["resolve-config"] } +pyo3-build-config = { path = "../pyo3-build-config", version = "=0.22.1", features = ["resolve-config"] } quote = { version = "1", default-features = false } [dependencies.syn] @@ -25,7 +25,7 @@ default-features = false features = ["derive", "parsing", "printing", "clone-impls", "full", "extra-traits"] [build-dependencies] -pyo3-build-config = { path = "../pyo3-build-config", version = "=0.22.0" } +pyo3-build-config = { path = "../pyo3-build-config", version = "=0.22.1" } [lints] workspace = true diff --git a/pyo3-macros/Cargo.toml b/pyo3-macros/Cargo.toml index 0dbbdd7cac9..23da8ccd697 100644 --- a/pyo3-macros/Cargo.toml +++ b/pyo3-macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pyo3-macros" -version = "0.22.0" +version = "0.22.1" description = "Proc macros for PyO3 package" authors = ["PyO3 Project and Contributors "] keywords = ["pyo3", "python", "cpython", "ffi"] @@ -22,7 +22,7 @@ gil-refs = ["pyo3-macros-backend/gil-refs"] proc-macro2 = { version = "1.0.60", default-features = false } quote = "1" syn = { version = "2", features = ["full", "extra-traits"] } -pyo3-macros-backend = { path = "../pyo3-macros-backend", version = "=0.22.0" } +pyo3-macros-backend = { path = "../pyo3-macros-backend", version = "=0.22.1" } [lints] workspace = true diff --git a/pyproject.toml b/pyproject.toml index ab846250956..26cbfee0064 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,7 @@ [tool.towncrier] filename = "CHANGELOG.md" -version = "0.22.0" +version = "0.22.1" start_string = "\n" template = ".towncrier.template.md" title_format = "## [{version}] - {project_date}"