diff --git a/CHANGELOG.md b/CHANGELOG.md index 11c9b6bb772..fe87c5c3ba7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,31 @@ To see unreleased changes, please see the [CHANGELOG on the main branch guide](h +## [0.19.1] - 2023-07-03 + +### Packaging + +- Extend range of supported versions of `hashbrown` optional dependency to include version 0.14 [#3258](https://github.com/PyO3/pyo3/pull/3258) +- Extend range of supported versions of `indexmap` optional dependency to include version 2. [#3277](https://github.com/PyO3/pyo3/pull/3277) +- Support PyPy 3.10. [#3289](https://github.com/PyO3/pyo3/pull/3289) + +### Added + +- Add `pyo3::types::PyFrozenSetBuilder` to allow building a `PyFrozenSet` item by item. [#3156](https://github.com/PyO3/pyo3/pull/3156) +- Add support for converting to and from Python's `ipaddress.IPv4Address`/`ipaddress.IPv6Address` and `std::net::IpAddr`. [#3197](https://github.com/PyO3/pyo3/pull/3197) +- Add support for `num-bigint` feature in combination with `abi3`. [#3198](https://github.com/PyO3/pyo3/pull/3198) +- Add `PyErr_GetRaisedException()`, `PyErr_SetRaisedException()` to FFI definitions for Python 3.12 and later. [#3248](https://github.com/PyO3/pyo3/pull/3248) +- Add `Python::with_pool` which is a safer but more limited alternative to `Python::new_pool`. [#3263](https://github.com/PyO3/pyo3/pull/3263) +- Add `PyDict::get_item_with_error` on PyPy. [#3270](https://github.com/PyO3/pyo3/pull/3270) +- Allow `#[new]` methods may to return `Py` in order to return existing instances. [#3287](https://github.com/PyO3/pyo3/pull/3287) + +### Fixed + +- Fix conversion of classes implementing `__complex__` to `Complex` when using `abi3` or PyPy. [#3185](https://github.com/PyO3/pyo3/pull/3185) +- Stop suppressing unrelated exceptions in `PyAny::hasattr`. [#3271](https://github.com/PyO3/pyo3/pull/3271) +- Fix memory leak when creating `PySet` or `PyFrozenSet` or returning types converted into these internally, e.g. `HashSet` or `BTreeSet`. [#3286](https://github.com/PyO3/pyo3/pull/3286) + + ## [0.19.0] - 2023-05-31 ### Packaging @@ -1478,7 +1503,8 @@ Yanked - Initial release -[Unreleased]: https://github.com/pyo3/pyo3/compare/v0.19.0...HEAD +[Unreleased]: https://github.com/pyo3/pyo3/compare/v0.19.1...HEAD +[0.19.1]: https://github.com/pyo3/pyo3/compare/v0.19.0...v0.19.1 [0.19.0]: https://github.com/pyo3/pyo3/compare/v0.18.3...v0.19.0 [0.18.3]: https://github.com/pyo3/pyo3/compare/v0.18.2...v0.18.3 [0.18.2]: https://github.com/pyo3/pyo3/compare/v0.18.1...v0.18.2 diff --git a/Cargo.toml b/Cargo.toml index 115375af7b3..d6dd041bb90 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pyo3" -version = "0.19.0" +version = "0.19.1" description = "Bindings to Python interpreter" authors = ["PyO3 Project and Contributors "] readme = "README.md" @@ -20,10 +20,10 @@ parking_lot = ">= 0.11, < 0.13" memoffset = "0.9" # ffi bindings to the python interpreter, split into a separate crate so they can be used independently -pyo3-ffi = { path = "pyo3-ffi", version = "=0.19.0" } +pyo3-ffi = { path = "pyo3-ffi", version = "=0.19.1" } # support crates for macros feature -pyo3-macros = { path = "pyo3-macros", version = "=0.19.0", optional = true } +pyo3-macros = { path = "pyo3-macros", version = "=0.19.1", optional = true } indoc = { version = "1.0.3", optional = true } unindent = { version = "0.1.4", optional = true } @@ -58,7 +58,7 @@ rust_decimal = { version = "1.8.0", features = ["std"] } widestring = "0.5.1" [build-dependencies] -pyo3-build-config = { path = "pyo3-build-config", version = "0.19.0", features = ["resolve-config"] } +pyo3-build-config = { path = "pyo3-build-config", version = "0.19.1", features = ["resolve-config"] } [features] default = ["macros"] diff --git a/README.md b/README.md index 5b25101bf20..cc45f93e29c 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ name = "string_sum" crate-type = ["cdylib"] [dependencies] -pyo3 = { version = "0.19.0", features = ["extension-module"] } +pyo3 = { version = "0.19.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.19.0" +version = "0.19.1" features = ["auto-initialize"] ``` diff --git a/examples/Cargo.toml b/examples/Cargo.toml index 43907a8becd..bdc78d6a034 100644 --- a/examples/Cargo.toml +++ b/examples/Cargo.toml @@ -5,7 +5,7 @@ publish = false edition = "2018" [dev-dependencies] -pyo3 = { version = "0.19.0", path = "..", features = ["auto-initialize", "extension-module"] } +pyo3 = { version = "0.19.1", path = "..", features = ["auto-initialize", "extension-module"] } [[example]] name = "decorator" diff --git a/examples/decorator/.template/pre-script.rhai b/examples/decorator/.template/pre-script.rhai index 0368bb1f432..088ea73bfbe 100644 --- a/examples/decorator/.template/pre-script.rhai +++ b/examples/decorator/.template/pre-script.rhai @@ -1,4 +1,4 @@ -variable::set("PYO3_VERSION", "0.19.0"); +variable::set("PYO3_VERSION", "0.19.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 0368bb1f432..088ea73bfbe 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.19.0"); +variable::set("PYO3_VERSION", "0.19.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 0915e77badd..158e1522040 100644 --- a/examples/plugin/.template/pre-script.rhai +++ b/examples/plugin/.template/pre-script.rhai @@ -1,4 +1,4 @@ -variable::set("PYO3_VERSION", "0.19.0"); +variable::set("PYO3_VERSION", "0.19.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 3ed1b01d30f..19ea7cc8520 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.19.0"); +variable::set("PYO3_VERSION", "0.19.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 68988ce3f48..a4bfa7ce13b 100644 --- a/examples/word-count/.template/pre-script.rhai +++ b/examples/word-count/.template/pre-script.rhai @@ -1,3 +1,3 @@ -variable::set("PYO3_VERSION", "0.19.0"); +variable::set("PYO3_VERSION", "0.19.1"); file::rename(".template/Cargo.toml", "Cargo.toml"); file::delete(".template"); diff --git a/newsfragments/3156.added.md b/newsfragments/3156.added.md deleted file mode 100644 index 75a83ef0fe8..00000000000 --- a/newsfragments/3156.added.md +++ /dev/null @@ -1 +0,0 @@ -Add `pyo3::types::PyFrozenSetBuilder` to allow building a `PyFrozenSet` item by item. \ No newline at end of file diff --git a/newsfragments/3185.fixed.md b/newsfragments/3185.fixed.md deleted file mode 100644 index 6b3a594c91a..00000000000 --- a/newsfragments/3185.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Fix conversion of classes implementing `__complex__` to `Complex` when using `abi3` or PyPy. diff --git a/newsfragments/3197.added.md b/newsfragments/3197.added.md deleted file mode 100644 index eb8affb1042..00000000000 --- a/newsfragments/3197.added.md +++ /dev/null @@ -1 +0,0 @@ -Add support for converting to and from Python's `ipaddress.IPv4Address`/`ipaddress.IPv6Address` and `std::net::IpAddr`. diff --git a/newsfragments/3198.added.md b/newsfragments/3198.added.md deleted file mode 100644 index 2c6514a42f8..00000000000 --- a/newsfragments/3198.added.md +++ /dev/null @@ -1 +0,0 @@ -Add support for `num-bigint` feature in combination with `abi3`. \ No newline at end of file diff --git a/newsfragments/3248.added.md b/newsfragments/3248.added.md deleted file mode 100644 index 5fb5656f753..00000000000 --- a/newsfragments/3248.added.md +++ /dev/null @@ -1 +0,0 @@ -Add `PyErr_GetRaisedException()`, `PyErr_SetRaisedException()` to FFI definitions for Python 3.12 and later. diff --git a/newsfragments/3258.packaging.md b/newsfragments/3258.packaging.md deleted file mode 100644 index 758e54584d9..00000000000 --- a/newsfragments/3258.packaging.md +++ /dev/null @@ -1 +0,0 @@ -Enabled support for hashbrown version 0.14 diff --git a/newsfragments/3263.added.md b/newsfragments/3263.added.md deleted file mode 100644 index 888395d61f6..00000000000 --- a/newsfragments/3263.added.md +++ /dev/null @@ -1 +0,0 @@ -Add the `Python::with_pool` which is a safer but more limited alternative to `Python::new_pool`. diff --git a/newsfragments/3270.added.md b/newsfragments/3270.added.md deleted file mode 100644 index 66b2db9d83d..00000000000 --- a/newsfragments/3270.added.md +++ /dev/null @@ -1 +0,0 @@ -Add `PyDict::get_item_with_error` on PyPy. diff --git a/newsfragments/3271.fixed.md b/newsfragments/3271.fixed.md deleted file mode 100644 index ff3fe71517f..00000000000 --- a/newsfragments/3271.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Stop suppressing unrelated exceptions in `PyAny::hasattr`. diff --git a/newsfragments/3277.packaging.md b/newsfragments/3277.packaging.md deleted file mode 100644 index 1fbed18467d..00000000000 --- a/newsfragments/3277.packaging.md +++ /dev/null @@ -1 +0,0 @@ -Extended range of supported versions of `indexmap` optional dependency to include version 2. diff --git a/newsfragments/3286.fixed.md b/newsfragments/3286.fixed.md deleted file mode 100644 index cfe647b9eb0..00000000000 --- a/newsfragments/3286.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Fix memory leak when creating `PySet` or `PyFrozenSet` or returning types converted into these internally, e.g. `HashSet` or `BTreeSet`. diff --git a/newsfragments/3287.added.md b/newsfragments/3287.added.md deleted file mode 100644 index bde61a4b506..00000000000 --- a/newsfragments/3287.added.md +++ /dev/null @@ -1 +0,0 @@ -`#[new]` methods may now return `Py` in order to return existing instances diff --git a/newsfragments/3289.packaging.md b/newsfragments/3289.packaging.md deleted file mode 100644 index a2092bc7903..00000000000 --- a/newsfragments/3289.packaging.md +++ /dev/null @@ -1 +0,0 @@ -Support PyPy 3.10. diff --git a/pyo3-build-config/Cargo.toml b/pyo3-build-config/Cargo.toml index ac8d451fada..50445fc938a 100644 --- a/pyo3-build-config/Cargo.toml +++ b/pyo3-build-config/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pyo3-build-config" -version = "0.19.0" +version = "0.19.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 bda76ab6b55..4e910d3fa5a 100644 --- a/pyo3-ffi/Cargo.toml +++ b/pyo3-ffi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pyo3-ffi" -version = "0.19.0" +version = "0.19.1" description = "Python-API bindings for the PyO3 ecosystem" authors = ["PyO3 Project and Contributors "] keywords = ["pyo3", "python", "cpython", "ffi"] @@ -38,4 +38,4 @@ generate-import-lib = ["pyo3-build-config/python3-dll-a"] [build-dependencies] -pyo3-build-config = { path = "../pyo3-build-config", version = "0.19.0", features = ["resolve-config"] } +pyo3-build-config = { path = "../pyo3-build-config", version = "0.19.1", features = ["resolve-config"] } diff --git a/pyo3-macros-backend/Cargo.toml b/pyo3-macros-backend/Cargo.toml index e08919cfe8d..4644fc6e764 100644 --- a/pyo3-macros-backend/Cargo.toml +++ b/pyo3-macros-backend/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pyo3-macros-backend" -version = "0.19.0" +version = "0.19.1" description = "Code generation for PyO3 package" authors = ["PyO3 Project and Contributors "] keywords = ["pyo3", "python", "cpython", "ffi"] diff --git a/pyo3-macros/Cargo.toml b/pyo3-macros/Cargo.toml index 6c531c0fecf..347b8d78ae5 100644 --- a/pyo3-macros/Cargo.toml +++ b/pyo3-macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pyo3-macros" -version = "0.19.0" +version = "0.19.1" description = "Proc macros for PyO3 package" authors = ["PyO3 Project and Contributors "] keywords = ["pyo3", "python", "cpython", "ffi"] @@ -22,4 +22,4 @@ abi3 = ["pyo3-macros-backend/abi3"] proc-macro2 = { version = "1", default-features = false } quote = "1" syn = { version = "1.0.85", features = ["full", "extra-traits"] } -pyo3-macros-backend = { path = "../pyo3-macros-backend", version = "=0.19.0" } +pyo3-macros-backend = { path = "../pyo3-macros-backend", version = "=0.19.1" } diff --git a/pyproject.toml b/pyproject.toml index f53001e2f93..ae99ebf75f1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,7 +20,7 @@ exclude = ''' [tool.towncrier] filename = "CHANGELOG.md" -version = "0.19.0" +version = "0.19.1" start_string = "\n" template = ".towncrier.template.md" title_format = "## [{version}] - {project_date}"