Skip to content

Commit 9dba679

Browse files
committed
Merge branch 'master' into sh_merge_master
2 parents fc2b922 + e85696e commit 9dba679

File tree

4 files changed

+62
-18
lines changed

4 files changed

+62
-18
lines changed

docs/changelog.rst

Lines changed: 46 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,21 @@ Changes will be added here periodically from the "Suggested changelog entry"
1010
block in pull request descriptions.
1111

1212

13-
Version 2.11.0 (June 2, 2023)
13+
IN DEVELOPMENT
14+
--------------
15+
16+
Changes will be summarized here periodically.
17+
18+
19+
Version 2.11.0 (July 14, 2023)
1420
-----------------------------
1521

1622
New features:
1723

18-
* ``pybind11::detail::is_move_constructible`` can now be specialized for cases
19-
in which ``std::is_move_constructible`` does not work as needed. This is
20-
very similar to the long-established
21-
``pybind11::detail::is_copy_constructible``.
24+
* The newly added ``pybind11::detail::is_move_constructible`` trait can be
25+
specialized for cases in which ``std::is_move_constructible`` does not work
26+
as needed. This is very similar to the long-established
27+
``pybind11::detail::is_copy_constructible``.
2228
`#4631 <https://github.com/pybind/pybind11/pull/4631>`_
2329

2430
* Introduce ``recursive_container_traits``.
@@ -30,6 +36,19 @@ New features:
3036
with ``pybind/pybind11.h``).
3137
`#4601 <https://github.com/pybind/pybind11/pull/4601>`_
3238

39+
* ``format_descriptor<>`` & ``npy_format_descriptor<>`` ``PyObject *``
40+
specializations were added. The latter enables ``py::array_t<PyObject *>``
41+
to/from-python conversions.
42+
`#4674 <https://github.com/pybind/pybind11/pull/4674>`_
43+
44+
* ``buffer_info`` gained an ``item_type_is_equivalent_to<T>()`` member
45+
function.
46+
`#4674 <https://github.com/pybind/pybind11/pull/4674>`_
47+
48+
* The ``capsule`` API gained a user-friendly constructor
49+
(``py::capsule(ptr, "name", dtor)``).
50+
`#4720 <https://github.com/pybind/pybind11/pull/4720>`_
51+
3352
Changes:
3453

3554
* ``PyGILState_Check()``'s in ``pybind11::handle``'s ``inc_ref()`` &
@@ -46,6 +65,12 @@ Changes:
4665
sizes slightly (~1.5%) but the error messages are much more informative.
4766
`#4463 <https://github.com/pybind/pybind11/pull/4463>`_
4867

68+
* The docstring generation for the ``std::array``-list caster was fixed.
69+
Previously, signatures included the size of the list in a non-standard,
70+
non-spec compliant way. The new format conforms to PEP 593.
71+
**Tooling for processing the docstrings may need to be updated accordingly.**
72+
`#4679 <https://github.com/pybind/pybind11/pull/4679>`_
73+
4974
* Setter return values (which are inaccessible for all practical purposes) are
5075
no longer converted to Python (only to be discarded).
5176
`#4621 <https://github.com/pybind/pybind11/pull/4621>`_
@@ -58,7 +83,7 @@ Changes:
5883
signatures on C++17 and higher.
5984
`#4587 <https://github.com/pybind/pybind11/pull/4587>`_
6085

61-
* Compatibility with Python 3.12 (alpha). Note that the minimum pybind11
86+
* Compatibility with Python 3.12 (beta). Note that the minimum pybind11
6287
ABI version for Python 3.12 is version 5. (The default ABI version
6388
for Python versions up to and including 3.11 is still version 4.).
6489
`#4570 <https://github.com/pybind/pybind11/pull/4570>`_
@@ -69,22 +94,36 @@ Changes:
6994
types defined in the unnamed namespace.
7095
`#4319 <https://github.com/pybind/pybind11/pull/4319>`_
7196

97+
* Python exception ``__notes__`` (introduced with Python 3.11) are now added to
98+
the ``error_already_set::what()`` output.
99+
`#4678 <https://github.com/pybind/pybind11/pull/4678>`_
100+
72101
Build system improvements:
73102

103+
* CMake 3.27 support was added, CMake 3.4 support was dropped.
104+
FindPython will be used if ``FindPythonInterp`` is not present.
105+
`#4719 <https://github.com/pybind/pybind11/pull/4719>`_
106+
74107
* Update clang-tidy to 15 in CI.
75108
`#4387 <https://github.com/pybind/pybind11/pull/4387>`_
76109

77110
* Moved the linting framework over to Ruff.
78111
`#4483 <https://github.com/pybind/pybind11/pull/4483>`_
79112

80-
* Skip lto checks and target generation when
113+
* Skip ``lto`` checks and target generation when
81114
``CMAKE_INTERPROCEDURAL_OPTIMIZATION`` is defined.
82115
`#4643 <https://github.com/pybind/pybind11/pull/4643>`_
83116

84117
* No longer inject ``-stdlib=libc++``, not needed for modern Pythons
85118
(macOS 10.9+).
86119
`#4639 <https://github.com/pybind/pybind11/pull/4639>`_
87120

121+
* PyPy 3.10 support was added, PyPy 3.7 support was dropped.
122+
`#4728 <https://github.com/pybind/pybind11/pull/4728>`_
123+
124+
* Testing with Python 3.12 beta releases was added.
125+
`#4713 <https://github.com/pybind/pybind11/pull/4713>`_
126+
88127

89128
Version 2.10.4 (Mar 16, 2023)
90129
-----------------------------

docs/release.rst

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,15 @@ If you don't have nox, you should either use ``pipx run nox`` instead, or use
3333
- Run ``nox -s tests_packaging`` to ensure this was done correctly.
3434
- Ensure that all the information in ``setup.cfg`` is up-to-date, like
3535
supported Python versions.
36-
- Add release date in ``docs/changelog.rst``.
37-
- Check to make sure
38-
`needs-changelog <https://github.com/pybind/pybind11/pulls?q=is%3Apr+is%3Aclosed+label%3A%22needs+changelog%22>`_
39-
issues are entered in the changelog (clear the label when done).
36+
- Add release date in ``docs/changelog.rst`` and integrate the output of
37+
``nox -s make_changelog``.
38+
- Note that the ``make_changelog`` command inspects
39+
`needs changelog <https://github.com/pybind/pybind11/pulls?q=is%3Apr+is%3Aclosed+label%3A%22needs+changelog%22>`_.
40+
- Manually clear the ``needs changelog`` labels using the GitHub web
41+
interface (very easy: start by clicking the link above).
4042
- ``git add`` and ``git commit``, ``git push``. **Ensure CI passes**. (If it
4143
fails due to a known flake issue, either ignore or restart CI.)
42-
- Add a release branch if this is a new minor version, or update the existing release branch if it is a patch version
44+
- Add a release branch if this is a new MINOR version, or update the existing release branch if it is a patch version
4345
- New branch: ``git checkout -b vX.Y``, ``git push -u origin vX.Y``
4446
- Update branch: ``git checkout vX.Y``, ``git merge <release branch>``, ``git push``
4547
- Update tags (optional; if you skip this, the GitHub release makes a
@@ -48,7 +50,9 @@ If you don't have nox, you should either use ``pipx run nox`` instead, or use
4850
- ``git push --tags``.
4951
- Update stable
5052
- ``git checkout stable``
51-
- ``git merge master``
53+
- ``git merge -X theirs vX.Y.Z``
54+
- ``git diff vX.Y.Z``
55+
- Carefully review and reconcile any diffs. There should be none.
5256
- ``git push``
5357
- Make a GitHub release (this shows up in the UI, sends new release
5458
notifications to users watching releases, and also uploads PyPI packages).
@@ -67,9 +71,10 @@ If you don't have nox, you should either use ``pipx run nox`` instead, or use
6771
- Make sure you are on master, not somewhere else: ``git checkout master``
6872
- Update version macros in ``include/pybind11/detail/common.h`` (set PATCH to
6973
``0.dev1`` and increment MINOR).
70-
- Update ``_version.py`` to match
74+
- Update ``pybind11/_version.py`` to match
7175
- Run ``nox -s tests_packaging`` to ensure this was done correctly.
72-
- Add a spot for in-development updates in ``docs/changelog.rst``.
76+
- If the release was a new MINOR version, add a new `IN DEVELOPMENT`
77+
section in ``docs/changelog.rst``.
7378
- ``git add``, ``git commit``, ``git push``
7479

7580
If a version branch is updated, remember to set PATCH to ``1.dev1``.

include/pybind11/detail/common.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010
#pragma once
1111

1212
#define PYBIND11_VERSION_MAJOR 2
13-
#define PYBIND11_VERSION_MINOR 11
13+
#define PYBIND11_VERSION_MINOR 12
1414
#define PYBIND11_VERSION_PATCH 0.dev1
1515

1616
// Similar to Python's convention: https://docs.python.org/3/c-api/apiabiversion.html
1717
// Additional convention: 0xD = dev
18-
#define PYBIND11_VERSION_HEX 0x020B00D1
18+
#define PYBIND11_VERSION_HEX 0x020C00D1
1919

2020
// Define some generic pybind11 helper macros for warning management.
2121
//

pybind11/_version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,5 +8,5 @@ def _to_int(s: str) -> Union[int, str]:
88
return s
99

1010

11-
__version__ = "2.11.0.dev1"
11+
__version__ = "2.12.0.dev1"
1212
version_info = tuple(_to_int(s) for s in __version__.split("."))

0 commit comments

Comments
 (0)