From 7b8522eb5b1c11071908475c289d0e758972ce2f Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Mon, 24 Oct 2022 11:43:59 -0400 Subject: [PATCH 1/5] docs: prepare for 2.10.1 release Signed-off-by: Henry Schreiner --- docs/changelog.rst | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index df3181c524..a02f137aea 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -10,18 +10,24 @@ Changes will be added here periodically from the "Suggested changelog entry" block in pull request descriptions. - IN DEVELOPMENT -------------- Changes will be summarized here periodically. -Version 2.10.1 (Oct 2?, 2022) +Version 2.10.1 (Oct 24, 2022) ----------------------------- +There is some concern about ABI compatibility between 2.10.x and previous +versions, possibly related to exception handling. Please test if this is +important to you before upgrading, and report an issue or comment on an issue +if there's a problem. We will be bumping the internal ABI version in an +upcoming release. -Changes: +Using at least this version is recommended if you need Python 3.11 support +(though 2.10.0 mostly supported it as long as you weren't embedding Python). +Changes: * Allow ``pybind11::capsule`` constructor to take null destructor pointers. `#4221 `_ @@ -32,6 +38,15 @@ Changes: Bug fixes: +* Revert perfect forwarding for make_iterator. This broke at least one valid use case. May revisit later. + `#4234 `_ + +* Fix support for safe casts to void* (regression in 2.10.0). + `#4275 `_ + +* Fix ``char8_t`` support (regression in 2.9). + `#4278 `_ + * Fix MSVC 2019 v.1924 & C++14 mode error for ``overload_cast``. `#4188 `_ @@ -100,9 +115,15 @@ Performance and style: * Optimize unpacking_collector when processing ``arg_v`` arguments. `#4219 `_ +* Optimize casting C++ object to None. + `#4269 `_ + Build system improvements: +* CMake: revert overwrite behavior, now opt-in with ``PYBIND11_PYTHONLIBS_OVERRWRITE OFF``. + `#4195 `_ + * Include a pkg-config file when installing pybind11, such as in the Python package. `#4077 `_ From 22be6997bfd3ff142285a91cf64feb4179452dc6 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Mon, 24 Oct 2022 16:57:47 -0400 Subject: [PATCH 2/5] Update changelog.rst --- docs/changelog.rst | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index a02f137aea..9c37b3ad68 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -18,14 +18,9 @@ Changes will be summarized here periodically. Version 2.10.1 (Oct 24, 2022) ----------------------------- -There is some concern about ABI compatibility between 2.10.x and previous -versions, possibly related to exception handling. Please test if this is -important to you before upgrading, and report an issue or comment on an issue -if there's a problem. We will be bumping the internal ABI version in an -upcoming release. - -Using at least this version is recommended if you need Python 3.11 support -(though 2.10.0 mostly supported it as long as you weren't embedding Python). +There is some concern about ABI compatibility between 2.10.x (including this release) and previous versions, possibly related to cross-module exception handling. This is still developing and tracked under `#4105 `_. Please review if this is important to you before upgrading, and report an issue or comment on an issue if there's a problem. + +This is the first version to support embedding the newly released Python 3.11. Changes: From 452d65026faa71daf9bf0564614ab95cd0c98d72 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Sun, 30 Oct 2022 23:13:11 -0400 Subject: [PATCH 3/5] docs: update changelog with final list of PRs Signed-off-by: Henry Schreiner --- docs/changelog.rst | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index 9c37b3ad68..06e584d54c 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -18,9 +18,7 @@ Changes will be summarized here periodically. Version 2.10.1 (Oct 24, 2022) ----------------------------- -There is some concern about ABI compatibility between 2.10.x (including this release) and previous versions, possibly related to cross-module exception handling. This is still developing and tracked under `#4105 `_. Please review if this is important to you before upgrading, and report an issue or comment on an issue if there's a problem. - -This is the first version to support embedding the newly released Python 3.11. +This is the first version to fully support embedding the newly released Python 3.11. Changes: @@ -31,17 +29,35 @@ Changes: (established behavior). `#4119 `_ +* A ``PYBIND11_SIMPLE_GIL_MANAGEMENT`` option was added (cmake, C++ define), + along with many additional tests in ``test_gil_scoped.py``. The option may be + useful to try when debugging GIL-related issues, to determine if the more + complex default implementation is or is not to blame. See #4216 for + background. WARNING: Please be careful to not create ODR violations when + using the option: everything that is linked together with mutual symbol + visibility needs to be rebuilt. + `#4216 `_ + Bug fixes: -* Revert perfect forwarding for make_iterator. This broke at least one valid use case. May revisit later. +* Fixed a bug where ``UnicodeDecodeError`` was not propagated from various + ``py::str`` ctors when decoding surrogate utf characters. + `#4294 `_ + +* Revert perfect forwarding for ``make_iterator``. This broke at least one + valid use case. May revisit later. `#4234 `_ -* Fix support for safe casts to void* (regression in 2.10.0). +* Fix support for safe casts to ``void*`` (regression in 2.10.0). `#4275 `_ * Fix ``char8_t`` support (regression in 2.9). `#4278 `_ +* Unicode surrogate character in Python exception message leads to process + termination in ``error_already_set::what()``. + `#4297 `_ + * Fix MSVC 2019 v.1924 & C++14 mode error for ``overload_cast``. `#4188 `_ @@ -110,7 +126,7 @@ Performance and style: * Optimize unpacking_collector when processing ``arg_v`` arguments. `#4219 `_ -* Optimize casting C++ object to None. +* Optimize casting C++ object to ``None``. `#4269 `_ From 0ac46e5932875f75107a26bd2b098f2058b6e4f1 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Sun, 30 Oct 2022 23:14:13 -0400 Subject: [PATCH 4/5] Update docs/changelog.rst --- docs/changelog.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index 06e584d54c..a89a92c045 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -15,7 +15,7 @@ IN DEVELOPMENT Changes will be summarized here periodically. -Version 2.10.1 (Oct 24, 2022) +Version 2.10.1 (Oct 31, 2022) ----------------------------- This is the first version to fully support embedding the newly released Python 3.11. From e97cbdcef95800e41e3f5219e9f4e15aeeaf3921 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Mon, 31 Oct 2022 13:38:30 -0400 Subject: [PATCH 5/5] chore: one more changelog bump --- docs/changelog.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/changelog.rst b/docs/changelog.rst index a89a92c045..7d6d0c0f56 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -38,6 +38,11 @@ Changes: visibility needs to be rebuilt. `#4216 `_ +* ``PYBIND11_EXPORT_EXCEPTION`` was made non-empty only under macOS. This makes + Linux builds safer, and enables the removal of warning suppression pragmas for + Windows. + `#4298 `_ + Bug fixes: * Fixed a bug where ``UnicodeDecodeError`` was not propagated from various