From 4e81269442d9951622de8ae826efd153e7e5cb44 Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Sun, 23 Jun 2024 01:25:38 -0400 Subject: [PATCH 1/3] docs: prepare for 2.13.0 Signed-off-by: Henry Schreiner --- docs/changelog.rst | 84 +++++++++++++++++++++++++++++++++++++++++ setup.cfg | 1 + tools/make_changelog.py | 1 + 3 files changed, 86 insertions(+) diff --git a/docs/changelog.rst b/docs/changelog.rst index e1b7667fae..d0bfedf00a 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -15,6 +15,90 @@ IN DEVELOPMENT Changes will be summarized here periodically. +Version 2.13.0 (June 25, 2024) +------------------------------ + +New Features: + +* Support free-threaded CPython (3.13t). Add ``py::mod_gil_not_used()`` tag to + indicate if a module supports running with the GIL disabled. + `#5148 `_ + +* Support for Python 3.6 was removed. (Official end-of-life: 2021-12-23). + `#5177 `_ + +* ``py::list`` gained a ``.clear()`` method. + `#5153 `_ + + +.. feat(types) + +* Support for ``type[T]`` was added to pybind11/typing.h. + `#5166 `_ + +* ``Union`` and ``Optional`` were added to ``pybind11/typing.h``. + `#5165 `_ + + +Bug fixes: + +* A refcount bug (leading to heap-use-after-free) involving trampoline + functions with ``PyObject *`` return type was fixed. + `#5156 `_ + +* Return ``py::ssize_t`` from ``.ref_count()`` instead of ``int``. + `#5139 `_ + +* Run CI on Python 3.13. + `#5127 `_ + + +.. fix(cmake) + +* Fix mistake affecting old cmake and old boost. + `#5149 `_ + +* No longer rely on the Python interpreter when cross-compiling if + ``PYBIND11_USE_CROSSCOMPILING`` is set. + `#5083 `_ + + +Documentation: + +* Build docs updated to feature scikit-build-core and meson-python, and updated + setuptools instructions. + `#5168 `_ + + +Tests: + +* Avoid immortal objects in tests. + `#5150 `_ + + +CI: + +* Compile against Python 3.13t in CI. + +* Use ``macos-13`` (Intel) for CI jobs for now (will drop Python 3.7 soon). + `#5109 `_ + + +Other: + +* Some cleanup in preparation for 3.13 support. + `#5137 `_ + +* Avoid a warning by ensuring an iterator end check is included in release mode. + `#5129 `_ + +* Bump max cmake to 3.29. + `#5075 `_ + +* Update docs and noxfile. + `#5071 `_ + + Version 2.12.0 (March 27, 2024) ------------------------------- diff --git a/setup.cfg b/setup.cfg index 79d75d0cdb..2beca780f9 100644 --- a/setup.cfg +++ b/setup.cfg @@ -20,6 +20,7 @@ classifiers = Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 Programming Language :: Python :: 3.12 + Programming Language :: Python :: 3.13 License :: OSI Approved :: BSD License Programming Language :: Python :: Implementation :: PyPy Programming Language :: Python :: Implementation :: CPython diff --git a/tools/make_changelog.py b/tools/make_changelog.py index 89cf664835..bcfc2f2e5d 100755 --- a/tools/make_changelog.py +++ b/tools/make_changelog.py @@ -32,6 +32,7 @@ missing = [] cats_descr = { "feat": "New Features", + "feat(types)": "", "fix": "Bug fixes", "fix(types)": "", "fix(cmake)": "", From fa0394ffc5fad13f65268bb06ad7e84552ab8f6d Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Mon, 24 Jun 2024 09:50:13 -0400 Subject: [PATCH 2/3] docs: reword cross-compiling entry Signed-off-by: Henry Schreiner --- docs/changelog.rst | 14 ++++++++++---- tools/make_changelog.py | 1 + 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index d0bfedf00a..eb7dffa6ae 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -39,6 +39,16 @@ New Features: * ``Union`` and ``Optional`` were added to ``pybind11/typing.h``. `#5165 `_ +.. feat(cmake) + +* In CMake, if ``PYBIND11_USE_CROSSCOMPILING`` is enabled, then + ``CMAKE_CROSSCOMPILING`` will be respected and will keep pybind11 from + accessing the interpreter during configuration. Several CMake variables will + be required in this case, but can be deduced from the environment variable + ``SETUPTOOLS_EXT_SUFFIX``. The default (currently ``OFF``) may be changed in + the future. + `#5083 `_ + Bug fixes: @@ -58,10 +68,6 @@ Bug fixes: * Fix mistake affecting old cmake and old boost. `#5149 `_ -* No longer rely on the Python interpreter when cross-compiling if - ``PYBIND11_USE_CROSSCOMPILING`` is set. - `#5083 `_ - Documentation: diff --git a/tools/make_changelog.py b/tools/make_changelog.py index bcfc2f2e5d..daa966f204 100755 --- a/tools/make_changelog.py +++ b/tools/make_changelog.py @@ -33,6 +33,7 @@ cats_descr = { "feat": "New Features", "feat(types)": "", + "feat(cmake)": "", "fix": "Bug fixes", "fix(types)": "", "fix(cmake)": "", From 49e8ff3c60144e536e6506988985befcff100f5a Mon Sep 17 00:00:00 2001 From: Henry Schreiner Date: Mon, 24 Jun 2024 13:19:31 -0400 Subject: [PATCH 3/3] Update changelog.rst --- docs/changelog.rst | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index eb7dffa6ae..0a556973ed 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -59,7 +59,11 @@ Bug fixes: * Return ``py::ssize_t`` from ``.ref_count()`` instead of ``int``. `#5139 `_ -* Run CI on Python 3.13. +* A subtle bug involving C++ types with unusual ``operator&`` overrides + was fixed. + `#5189 `_ + +* Support Python 3.13 with minor fix, add to CI. `#5127 `_