From afc80134cb1035be2913fd8153a16a864181c52c Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Fri, 19 May 2023 11:43:21 -0700 Subject: [PATCH 1/7] Remove .dev1 from version number. --- include/pybind11/detail/common.h | 4 ++-- pybind11/_version.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/pybind11/detail/common.h b/include/pybind11/detail/common.h index 1ff0df09fe..2b7b4a29cb 100644 --- a/include/pybind11/detail/common.h +++ b/include/pybind11/detail/common.h @@ -11,11 +11,11 @@ #define PYBIND11_VERSION_MAJOR 2 #define PYBIND11_VERSION_MINOR 11 -#define PYBIND11_VERSION_PATCH 0.dev1 +#define PYBIND11_VERSION_PATCH 0 // Similar to Python's convention: https://docs.python.org/3/c-api/apiabiversion.html // Additional convention: 0xD = dev -#define PYBIND11_VERSION_HEX 0x020B00D1 +#define PYBIND11_VERSION_HEX 0x020B0000 // Define some generic pybind11 helper macros for warning management. // diff --git a/pybind11/_version.py b/pybind11/_version.py index 1cb51fc5c2..1c310e0c95 100644 --- a/pybind11/_version.py +++ b/pybind11/_version.py @@ -8,5 +8,5 @@ def _to_int(s: str) -> Union[int, str]: return s -__version__ = "2.11.0.dev1" +__version__ = "2.11.0" version_info = tuple(_to_int(s) for s in __version__.split(".")) From 17e092640de6b6e64a660357e41e1b0856fb0021 Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Fri, 19 May 2023 11:58:13 -0700 Subject: [PATCH 2/7] [skip ci] Update changelog.rst --- docs/changelog.rst | 50 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 46 insertions(+), 4 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index 58cc409839..e94bda771a 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -10,10 +10,23 @@ Changes will be added here periodically from the "Suggested changelog entry" block in pull request descriptions. -IN DEVELOPMENT --------------- +Version 2.11.0 (May 23, 2023) +----------------------------- + +New features: + +* `pybind11::detail::is_move_constructible` can now be specialized for cases in + which `std::is_move_constructible` does not work as needed. This is very + similar to the long-established `pybind11::detail::is_copy_constructible`. + `#4631 `_ -Changes will be summarized here periodically. +* Introduce recursive_container_traits. + `#4623 `_ + +* pybind11/type_caster_pyobject_ptr.h was added to support automatic wrapping + of APIs that make use of `PyObject *`. This header needs to included + explicitly (i.e. it is not included implicitly with pybind/pybind11.h). + `#4601 `_ Changes: @@ -31,6 +44,27 @@ Changes: sizes slightly (~1.5%) but the error messages are much more informative. `#4463 `_ +* Setter return values (which are inaccessible for all practical purposes) are + no longer converted to Python (only to be discarded). + `#4621 `_ + +* Allow lambda specified to function definition to be noexcept(true) in C++17. + `#4593 `_ + +* Get rid of recursive template instantiations for concatenating type + signatures on C++17 and higher. + `#4587 `_ + +* Compatibility with Python 3.12 (alpha). Note that the minimum pybind11 + ABI version for Python 3.12 is version 5. (The default ABI version + for Python versions up to and including 3.11 is still version 4.). + `#4570 `_ + +* With `PYBIND11_INTERNALS_VERSION 5` (default for Python 3.12+), MSVC builds + use `std::hash` and `std::equal_to` instead + of string-based type comparisons. This resolves issues when binding types + defined in the unnamed namespace. + `#4319 `_ Build system improvements: @@ -40,8 +74,16 @@ Build system improvements: * Moved the linting framework over to Ruff. `#4483 `_ +* Skip lto checks and target generation when + `CMAKE_INTERPROCEDURAL_OPTIMIZATION` is defined. + `#4643 `_ + +* No longer inject -stdlib=libc++, not needed for modern Pythons (macOS 10.9+). + `#4639 `_ + + Version 2.10.4 (Mar 16, 2023) ----------------------------- +----------------------------- Changes: From 5a96f9725ff44956d5feb0b224997e02ec3fa0a3 Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Fri, 19 May 2023 12:14:00 -0700 Subject: [PATCH 3/7] [ci skip] Fix pre-commit: rst ``code`` is two backticks --- docs/changelog.rst | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index e94bda771a..5f77bf134b 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -15,16 +15,17 @@ Version 2.11.0 (May 23, 2023) New features: -* `pybind11::detail::is_move_constructible` can now be specialized for cases in - which `std::is_move_constructible` does not work as needed. This is very - similar to the long-established `pybind11::detail::is_copy_constructible`. +* ``pybind11::detail::is_move_constructible`` can now be specialized for cases + in which ``std::is_move_constructible`` does not work as needed. This is + very similar to the long-established + ``pybind11::detail::is_copy_constructible``. `#4631 `_ * Introduce recursive_container_traits. `#4623 `_ * pybind11/type_caster_pyobject_ptr.h was added to support automatic wrapping - of APIs that make use of `PyObject *`. This header needs to included + of APIs that make use of ``PyObject *``. This header needs to included explicitly (i.e. it is not included implicitly with pybind/pybind11.h). `#4601 `_ @@ -60,10 +61,10 @@ Changes: for Python versions up to and including 3.11 is still version 4.). `#4570 `_ -* With `PYBIND11_INTERNALS_VERSION 5` (default for Python 3.12+), MSVC builds - use `std::hash` and `std::equal_to` instead - of string-based type comparisons. This resolves issues when binding types - defined in the unnamed namespace. +* With ``PYBIND11_INTERNALS_VERSION 5`` (default for Python 3.12+), MSVC builds + use ``std::hash`` and ``std::equal_to`` + instead of string-based type comparisons. This resolves issues when binding + types defined in the unnamed namespace. `#4319 `_ Build system improvements: @@ -75,7 +76,7 @@ Build system improvements: `#4483 `_ * Skip lto checks and target generation when - `CMAKE_INTERPROCEDURAL_OPTIMIZATION` is defined. + ``CMAKE_INTERPROCEDURAL_OPTIMIZATION`` is defined. `#4643 `_ * No longer inject -stdlib=libc++, not needed for modern Pythons (macOS 10.9+). From 2997ffe57c3abbe3756f4677c0383dc8205ae6b4 Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Fri, 19 May 2023 22:35:10 -0700 Subject: [PATCH 4/7] Apply fix suggested by @henryiii --- docs/changelog.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index 5f77bf134b..c5539e8b2a 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -49,7 +49,8 @@ Changes: no longer converted to Python (only to be discarded). `#4621 `_ -* Allow lambda specified to function definition to be noexcept(true) in C++17. +* Allow lambda specified to function definition to be ``noexcept(true)`` + in C++17. `#4593 `_ * Get rid of recursive template instantiations for concatenating type From dfd0bebd2870ab556276990eeac0d39d6a23d324 Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Fri, 19 May 2023 22:40:30 -0700 Subject: [PATCH 5/7] [ci skip] Set target date for the release to June 2, 2023 --- docs/changelog.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index c5539e8b2a..4f8bdbf995 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -10,7 +10,7 @@ Changes will be added here periodically from the "Suggested changelog entry" block in pull request descriptions. -Version 2.11.0 (May 23, 2023) +Version 2.11.0 (June 2, 2023) ----------------------------- New features: From b5701116de55cd0305810cc342fcc67136c965f4 Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Fri, 19 May 2023 22:47:28 -0700 Subject: [PATCH 6/7] [ci skip] Apply more fixes suggested by @henryiii (I missed those before). --- docs/changelog.rst | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index 4f8bdbf995..32f6606aad 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -21,12 +21,13 @@ New features: ``pybind11::detail::is_copy_constructible``. `#4631 `_ -* Introduce recursive_container_traits. +* Introduce ``recursive_container_traits``. `#4623 `_ -* pybind11/type_caster_pyobject_ptr.h was added to support automatic wrapping - of APIs that make use of ``PyObject *``. This header needs to included - explicitly (i.e. it is not included implicitly with pybind/pybind11.h). +* ``pybind11/type_caster_pyobject_ptr.h`` was added to support automatic + wrapping of APIs that make use of ``PyObject *``. This header needs to + included explicitly (i.e. it is not included implicitly + with ``pybind/pybind11.h``). `#4601 `_ Changes: @@ -80,7 +81,8 @@ Build system improvements: ``CMAKE_INTERPROCEDURAL_OPTIMIZATION`` is defined. `#4643 `_ -* No longer inject -stdlib=libc++, not needed for modern Pythons (macOS 10.9+). +* No longer inject ``-stdlib=libc++``, not needed for modern Pythons + (macOS 10.9+). `#4639 `_ From db98bd889146fa5e34f31ccc97120c88721720d2 Mon Sep 17 00:00:00 2001 From: "Ralf W. Grosse-Kunstleve" Date: Mon, 22 May 2023 13:26:12 -0700 Subject: [PATCH 7/7] [ci skip] Revert "Remove .dev1 from version number." This reverts commit afc80134cb1035be2913fd8153a16a864181c52c. --- include/pybind11/detail/common.h | 4 ++-- pybind11/_version.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/pybind11/detail/common.h b/include/pybind11/detail/common.h index 2b7b4a29cb..1ff0df09fe 100644 --- a/include/pybind11/detail/common.h +++ b/include/pybind11/detail/common.h @@ -11,11 +11,11 @@ #define PYBIND11_VERSION_MAJOR 2 #define PYBIND11_VERSION_MINOR 11 -#define PYBIND11_VERSION_PATCH 0 +#define PYBIND11_VERSION_PATCH 0.dev1 // Similar to Python's convention: https://docs.python.org/3/c-api/apiabiversion.html // Additional convention: 0xD = dev -#define PYBIND11_VERSION_HEX 0x020B0000 +#define PYBIND11_VERSION_HEX 0x020B00D1 // Define some generic pybind11 helper macros for warning management. // diff --git a/pybind11/_version.py b/pybind11/_version.py index 1c310e0c95..1cb51fc5c2 100644 --- a/pybind11/_version.py +++ b/pybind11/_version.py @@ -8,5 +8,5 @@ def _to_int(s: str) -> Union[int, str]: return s -__version__ = "2.11.0" +__version__ = "2.11.0.dev1" version_info = tuple(_to_int(s) for s in __version__.split("."))