From e7e58ba51e9b2094ca66d3a8493931541d8494ec Mon Sep 17 00:00:00 2001 From: David Hewitt <1939362+davidhewitt@users.noreply.github.com> Date: Thu, 9 Mar 2023 08:04:06 +0000 Subject: [PATCH] update release notes for 0.18.2 --- CHANGELOG.md | 30 ++++++++++++++++++- Cargo.toml | 8 ++--- README.md | 4 +-- examples/Cargo.toml | 2 +- examples/decorator/.template/pre-script.rhai | 2 +- .../maturin-starter/.template/pre-script.rhai | 2 +- examples/plugin/.template/pre-script.rhai | 2 +- .../.template/pre-script.rhai | 2 +- examples/word-count/.template/pre-script.rhai | 2 +- newsfragments/2899.added.md | 1 - newsfragments/2939.changed.md | 1 - newsfragments/2944.changed.md | 1 - newsfragments/2947.changed.md | 1 - newsfragments/2952.fixed.md | 1 - newsfragments/2954.changed.md | 1 - newsfragments/2961.fixed.md | 1 - newsfragments/2979.changed.md | 1 - newsfragments/2990.fixed.md | 1 - newsfragments/2993.fixed.md | 1 - newsfragments/3009.fixed.md | 1 - newsfragments/3014.added.md | 1 - newsfragments/3031.fixed.md | 1 - newsfragments/3042.added.md | 1 - newsfragments/3044.added.md | 1 - pyo3-build-config/Cargo.toml | 2 +- pyo3-ffi/Cargo.toml | 4 +-- pyo3-macros-backend/Cargo.toml | 2 +- pyo3-macros/Cargo.toml | 4 +-- pyproject.toml | 2 +- 29 files changed, 48 insertions(+), 35 deletions(-) delete mode 100644 newsfragments/2899.added.md delete mode 100644 newsfragments/2939.changed.md delete mode 100644 newsfragments/2944.changed.md delete mode 100644 newsfragments/2947.changed.md delete mode 100644 newsfragments/2952.fixed.md delete mode 100644 newsfragments/2954.changed.md delete mode 100644 newsfragments/2961.fixed.md delete mode 100644 newsfragments/2979.changed.md delete mode 100644 newsfragments/2990.fixed.md delete mode 100644 newsfragments/2993.fixed.md delete mode 100644 newsfragments/3009.fixed.md delete mode 100644 newsfragments/3014.added.md delete mode 100644 newsfragments/3031.fixed.md delete mode 100644 newsfragments/3042.added.md delete mode 100644 newsfragments/3044.added.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 46b9b028..e231d936 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,33 @@ To see unreleased changes, please see the [CHANGELOG on the main branch guide](h +## [0.18.2] - 2023-03-24 + +### Packaging + +- Disable default features of `chrono` to avoid depending on `time` v0.1.x. [#2939](https://github.com/PyO3/pyo3/pull/2939) + +### Added + +- Implement `IntoPy`, `ToPyObject` and `FromPyObject` for `Cow<[u8]>` to efficiently handle both `bytes` and `bytearray` objects. [#2899](https://github.com/PyO3/pyo3/pull/2899) +- Implement `IntoPy`, `ToPyObject` and `FromPyObject` for `Cell`. [#3014](https://github.com/PyO3/pyo3/pull/3014) +- Add `PyList::to_tuple()`, as a convenient and efficient conversion from lists to tuples. [#3042](https://github.com/PyO3/pyo3/pull/3042) +- Add `PyTuple::to_list()`, as a convenient and efficient conversion from tuples to lists. [#3044](https://github.com/PyO3/pyo3/pull/3044) + +### Changed + +- Optimize `PySequence` conversion for `list` and `tuple` inputs. [#2944](https://github.com/PyO3/pyo3/pull/2944) +- Improve exception raised when creating `#[pyclass]` type object fails during module import. [#2947](https://github.com/PyO3/pyo3/pull/2947) +- Optimize `PyMapping` conversion for `dict` inputs. [#2954](https://github.com/PyO3/pyo3/pull/2954) +- Allow `create_exception!` to take a `dotted.module` to place the exception in a submodule. [#2979](https://github.com/PyO3/pyo3/pull/2979) + +### Fixed + +- Fix a reference counting race condition affecting `PyObject`s cloned in `allow_threads` blocks. [#2952](https://github.com/PyO3/pyo3/pull/2952) +- Fix `clippy::redundant_closure` lint on default arguments in `#[pyo3(signature = (...))]` annotations. [#2990](https://github.com/PyO3/pyo3/pull/2990) +- Fix `non_snake_case` lint on generated code in `#[pyfunction]` macro. [#2993](https://github.com/PyO3/pyo3/pull/2993) +- Fix some FFI definitions for the upcoming PyPy 3.10 release. [#3031](https://github.com/PyO3/pyo3/pull/3031) + ## [0.18.1] - 2023-02-07 ### Added @@ -1392,7 +1419,8 @@ Yanked - Initial release -[Unreleased]: https://github.com/pyo3/pyo3/compare/v0.18.1...HEAD +[Unreleased]: https://github.com/pyo3/pyo3/compare/v0.18.2...HEAD +[0.18.2]: https://github.com/pyo3/pyo3/compare/v0.18.1...v0.18.2 [0.18.1]: https://github.com/pyo3/pyo3/compare/v0.18.0...v0.18.1 [0.18.0]: https://github.com/pyo3/pyo3/compare/v0.17.3...v0.18.0 [0.17.3]: https://github.com/pyo3/pyo3/compare/v0.17.2...v0.17.3 diff --git a/Cargo.toml b/Cargo.toml index 7ec2abc4..a7948069 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pyo3" -version = "0.18.1" +version = "0.18.2" 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.8" # ffi bindings to the python interpreter, split into a separate crate so they can be used independently -pyo3-ffi = { path = "pyo3-ffi", version = "=0.18.1" } +pyo3-ffi = { path = "pyo3-ffi", version = "=0.18.2" } # support crates for macros feature -pyo3-macros = { path = "pyo3-macros", version = "=0.18.1", optional = true } +pyo3-macros = { path = "pyo3-macros", version = "=0.18.2", optional = true } indoc = { version = "1.0.3", optional = true } unindent = { version = "0.1.4", optional = true } @@ -56,7 +56,7 @@ rayon = "1.0.2" widestring = "0.5.1" [build-dependencies] -pyo3-build-config = { path = "pyo3-build-config", version = "0.18.1", features = ["resolve-config"] } +pyo3-build-config = { path = "pyo3-build-config", version = "0.18.2", features = ["resolve-config"] } [features] default = ["macros"] diff --git a/README.md b/README.md index 974be38a..1548594e 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ name = "string_sum" crate-type = ["cdylib"] [dependencies] -pyo3 = { version = "0.18.1", features = ["extension-module"] } +pyo3 = { version = "0.18.2", 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.18.1" +version = "0.18.2" features = ["auto-initialize"] ``` diff --git a/examples/Cargo.toml b/examples/Cargo.toml index b178632d..09ed25d9 100644 --- a/examples/Cargo.toml +++ b/examples/Cargo.toml @@ -5,7 +5,7 @@ publish = false edition = "2018" [dev-dependencies] -pyo3 = { version = "0.18.1", path = "..", features = ["auto-initialize", "extension-module"] } +pyo3 = { version = "0.18.2", 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 3fefcd5c..f1d04cf0 100644 --- a/examples/decorator/.template/pre-script.rhai +++ b/examples/decorator/.template/pre-script.rhai @@ -1,4 +1,4 @@ -variable::set("PYO3_VERSION", "0.18.1"); +variable::set("PYO3_VERSION", "0.18.2"); 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 3fefcd5c..f1d04cf0 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.18.1"); +variable::set("PYO3_VERSION", "0.18.2"); 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 e32afb10..89e930cd 100644 --- a/examples/plugin/.template/pre-script.rhai +++ b/examples/plugin/.template/pre-script.rhai @@ -1,4 +1,4 @@ -variable::set("PYO3_VERSION", "0.18.1"); +variable::set("PYO3_VERSION", "0.18.2"); 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 2d188be6..c29734b6 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.18.1"); +variable::set("PYO3_VERSION", "0.18.2"); 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 acf819d1..a47393a2 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.18.1"); +variable::set("PYO3_VERSION", "0.18.2"); file::rename(".template/Cargo.toml", "Cargo.toml"); file::delete(".template"); diff --git a/newsfragments/2899.added.md b/newsfragments/2899.added.md deleted file mode 100644 index c6e8b5b2..00000000 --- a/newsfragments/2899.added.md +++ /dev/null @@ -1 +0,0 @@ -Add special-purpose impl of `FromPyObject` for `Cow<[u8]>` to efficiently handle both `bytes` and `bytearray` objects diff --git a/newsfragments/2939.changed.md b/newsfragments/2939.changed.md deleted file mode 100644 index b55300ab..00000000 --- a/newsfragments/2939.changed.md +++ /dev/null @@ -1 +0,0 @@ -Disable default features of `chrono` to avoid depending on `time` v0.1.x. diff --git a/newsfragments/2944.changed.md b/newsfragments/2944.changed.md deleted file mode 100644 index 47825e1d..00000000 --- a/newsfragments/2944.changed.md +++ /dev/null @@ -1 +0,0 @@ -Optimize `PySequence` conversion for `list` and `tuple` inputs. diff --git a/newsfragments/2947.changed.md b/newsfragments/2947.changed.md deleted file mode 100644 index e0d93a26..00000000 --- a/newsfragments/2947.changed.md +++ /dev/null @@ -1 +0,0 @@ -Improve exception raised when creating `#[pyclass]` type object fails during module import. diff --git a/newsfragments/2952.fixed.md b/newsfragments/2952.fixed.md deleted file mode 100644 index 50863128..00000000 --- a/newsfragments/2952.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Fix a reference counting race condition affecting `PyObject`s cloned in `allow_threads` blocks. diff --git a/newsfragments/2954.changed.md b/newsfragments/2954.changed.md deleted file mode 100644 index a7760a62..00000000 --- a/newsfragments/2954.changed.md +++ /dev/null @@ -1 +0,0 @@ -Optimize `PyMapping` conversion for `dict` inputs. diff --git a/newsfragments/2961.fixed.md b/newsfragments/2961.fixed.md deleted file mode 100644 index 910ed9fa..00000000 --- a/newsfragments/2961.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Fix docs about creating `Python` function from `Rust` one. diff --git a/newsfragments/2979.changed.md b/newsfragments/2979.changed.md deleted file mode 100644 index 35a8e49a..00000000 --- a/newsfragments/2979.changed.md +++ /dev/null @@ -1 +0,0 @@ -Allow `create_exception!` to take a `dotted.module` to place the exception in a submodule. diff --git a/newsfragments/2990.fixed.md b/newsfragments/2990.fixed.md deleted file mode 100644 index 1f972865..00000000 --- a/newsfragments/2990.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Fix `clippy::redundant_closure` lint on default arguments in `#[pyo3(signature = (...))]` annotations. diff --git a/newsfragments/2993.fixed.md b/newsfragments/2993.fixed.md deleted file mode 100644 index 130385fb..00000000 --- a/newsfragments/2993.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Fix `non_snake_case` lint fired by generated code in `#[pyfunction]` macro. diff --git a/newsfragments/3009.fixed.md b/newsfragments/3009.fixed.md deleted file mode 100644 index d4ce8930..00000000 --- a/newsfragments/3009.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Removed stale references to `tox.ini` from templates used with `cargo generate`. diff --git a/newsfragments/3014.added.md b/newsfragments/3014.added.md deleted file mode 100644 index ff11a135..00000000 --- a/newsfragments/3014.added.md +++ /dev/null @@ -1 +0,0 @@ -Add an `IntoPy`, `ToPyObject` and `FromPyObject` impl for `Cell`. \ No newline at end of file diff --git a/newsfragments/3031.fixed.md b/newsfragments/3031.fixed.md deleted file mode 100644 index a0cabd59..00000000 --- a/newsfragments/3031.fixed.md +++ /dev/null @@ -1 +0,0 @@ -Mangle exported function names for PyPy diff --git a/newsfragments/3042.added.md b/newsfragments/3042.added.md deleted file mode 100644 index fb9eb261..00000000 --- a/newsfragments/3042.added.md +++ /dev/null @@ -1 +0,0 @@ -Add `PyList::to_tuple()`, as a convenient and efficient conversion from lists to tuples. diff --git a/newsfragments/3044.added.md b/newsfragments/3044.added.md deleted file mode 100644 index fca0cae3..00000000 --- a/newsfragments/3044.added.md +++ /dev/null @@ -1 +0,0 @@ -Add `PyTuple::to_list()`, as a convenient and efficient conversion from tuples to lists. diff --git a/pyo3-build-config/Cargo.toml b/pyo3-build-config/Cargo.toml index a1d48bb7..3c721fd2 100644 --- a/pyo3-build-config/Cargo.toml +++ b/pyo3-build-config/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pyo3-build-config" -version = "0.18.1" +version = "0.18.2" 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 aba3bf22..6a433ff3 100644 --- a/pyo3-ffi/Cargo.toml +++ b/pyo3-ffi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pyo3-ffi" -version = "0.18.1" +version = "0.18.2" 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.18.1", features = ["resolve-config"] } +pyo3-build-config = { path = "../pyo3-build-config", version = "0.18.2", features = ["resolve-config"] } diff --git a/pyo3-macros-backend/Cargo.toml b/pyo3-macros-backend/Cargo.toml index d3283aa2..8b450c99 100644 --- a/pyo3-macros-backend/Cargo.toml +++ b/pyo3-macros-backend/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pyo3-macros-backend" -version = "0.18.1" +version = "0.18.2" 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 496e73d7..88f29b26 100644 --- a/pyo3-macros/Cargo.toml +++ b/pyo3-macros/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "pyo3-macros" -version = "0.18.1" +version = "0.18.2" 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.56", features = ["full", "extra-traits"] } -pyo3-macros-backend = { path = "../pyo3-macros-backend", version = "=0.18.1" } +pyo3-macros-backend = { path = "../pyo3-macros-backend", version = "=0.18.2" } diff --git a/pyproject.toml b/pyproject.toml index 9fabaf77..afd4757f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,7 +20,7 @@ exclude = ''' [tool.towncrier] filename = "CHANGELOG.md" -version = "0.18.1" +version = "0.18.2" start_string = "\n" template = ".towncrier.template.md" title_format = "## [{version}] - {project_date}"