mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-23 05:35:13 +00:00
Merge branch 'pybind:master' into master
This commit is contained in:
commit
616937b731
@ -10,15 +10,21 @@ Changes will be added here periodically from the "Suggested changelog entry"
|
||||
block in pull request descriptions.
|
||||
|
||||
|
||||
Version 2.11.0 (June 2, 2023)
|
||||
IN DEVELOPMENT
|
||||
--------------
|
||||
|
||||
Changes will be summarized here periodically.
|
||||
|
||||
|
||||
Version 2.11.0 (July 14, 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``.
|
||||
* The newly added ``pybind11::detail::is_move_constructible`` trait can 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 <https://github.com/pybind/pybind11/pull/4631>`_
|
||||
|
||||
* Introduce ``recursive_container_traits``.
|
||||
@ -30,6 +36,19 @@ New features:
|
||||
with ``pybind/pybind11.h``).
|
||||
`#4601 <https://github.com/pybind/pybind11/pull/4601>`_
|
||||
|
||||
* ``format_descriptor<>`` & ``npy_format_descriptor<>`` ``PyObject *``
|
||||
specializations were added. The latter enables ``py::array_t<PyObject *>``
|
||||
to/from-python conversions.
|
||||
`#4674 <https://github.com/pybind/pybind11/pull/4674>`_
|
||||
|
||||
* ``buffer_info`` gained an ``item_type_is_equivalent_to<T>()`` member
|
||||
function.
|
||||
`#4674 <https://github.com/pybind/pybind11/pull/4674>`_
|
||||
|
||||
* The ``capsule`` API gained a user-friendly constructor
|
||||
(``py::capsule(ptr, "name", dtor)``).
|
||||
`#4720 <https://github.com/pybind/pybind11/pull/4720>`_
|
||||
|
||||
Changes:
|
||||
|
||||
* ``PyGILState_Check()``'s in ``pybind11::handle``'s ``inc_ref()`` &
|
||||
@ -46,6 +65,12 @@ Changes:
|
||||
sizes slightly (~1.5%) but the error messages are much more informative.
|
||||
`#4463 <https://github.com/pybind/pybind11/pull/4463>`_
|
||||
|
||||
* The docstring generation for the ``std::array``-list caster was fixed.
|
||||
Previously, signatures included the size of the list in a non-standard,
|
||||
non-spec compliant way. The new format conforms to PEP 593.
|
||||
**Tooling for processing the docstrings may need to be updated accordingly.**
|
||||
`#4679 <https://github.com/pybind/pybind11/pull/4679>`_
|
||||
|
||||
* Setter return values (which are inaccessible for all practical purposes) are
|
||||
no longer converted to Python (only to be discarded).
|
||||
`#4621 <https://github.com/pybind/pybind11/pull/4621>`_
|
||||
@ -58,7 +83,7 @@ Changes:
|
||||
signatures on C++17 and higher.
|
||||
`#4587 <https://github.com/pybind/pybind11/pull/4587>`_
|
||||
|
||||
* Compatibility with Python 3.12 (alpha). Note that the minimum pybind11
|
||||
* Compatibility with Python 3.12 (beta). 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 <https://github.com/pybind/pybind11/pull/4570>`_
|
||||
@ -69,15 +94,23 @@ Changes:
|
||||
types defined in the unnamed namespace.
|
||||
`#4319 <https://github.com/pybind/pybind11/pull/4319>`_
|
||||
|
||||
* Python exception ``__notes__`` (introduced with Python 3.11) are now added to
|
||||
the ``error_already_set::what()`` output.
|
||||
`#4678 <https://github.com/pybind/pybind11/pull/4678>`_
|
||||
|
||||
Build system improvements:
|
||||
|
||||
* CMake 3.27 support was added, CMake 3.4 support was dropped.
|
||||
FindPython will be used if ``FindPythonInterp`` is not present.
|
||||
`#4719 <https://github.com/pybind/pybind11/pull/4719>`_
|
||||
|
||||
* Update clang-tidy to 15 in CI.
|
||||
`#4387 <https://github.com/pybind/pybind11/pull/4387>`_
|
||||
|
||||
* Moved the linting framework over to Ruff.
|
||||
`#4483 <https://github.com/pybind/pybind11/pull/4483>`_
|
||||
|
||||
* Skip lto checks and target generation when
|
||||
* Skip ``lto`` checks and target generation when
|
||||
``CMAKE_INTERPROCEDURAL_OPTIMIZATION`` is defined.
|
||||
`#4643 <https://github.com/pybind/pybind11/pull/4643>`_
|
||||
|
||||
@ -85,6 +118,12 @@ Build system improvements:
|
||||
(macOS 10.9+).
|
||||
`#4639 <https://github.com/pybind/pybind11/pull/4639>`_
|
||||
|
||||
* PyPy 3.10 support was added, PyPy 3.7 support was dropped.
|
||||
`#4728 <https://github.com/pybind/pybind11/pull/4728>`_
|
||||
|
||||
* Testing with Python 3.12 beta releases was added.
|
||||
`#4713 <https://github.com/pybind/pybind11/pull/4713>`_
|
||||
|
||||
|
||||
Version 2.10.4 (Mar 16, 2023)
|
||||
-----------------------------
|
||||
|
@ -33,13 +33,15 @@ If you don't have nox, you should either use ``pipx run nox`` instead, or use
|
||||
- Run ``nox -s tests_packaging`` to ensure this was done correctly.
|
||||
- Ensure that all the information in ``setup.cfg`` is up-to-date, like
|
||||
supported Python versions.
|
||||
- Add release date in ``docs/changelog.rst``.
|
||||
- Check to make sure
|
||||
`needs-changelog <https://github.com/pybind/pybind11/pulls?q=is%3Apr+is%3Aclosed+label%3A%22needs+changelog%22>`_
|
||||
issues are entered in the changelog (clear the label when done).
|
||||
- Add release date in ``docs/changelog.rst`` and integrate the output of
|
||||
``nox -s make_changelog``.
|
||||
- Note that the ``make_changelog`` command inspects
|
||||
`needs changelog <https://github.com/pybind/pybind11/pulls?q=is%3Apr+is%3Aclosed+label%3A%22needs+changelog%22>`_.
|
||||
- Manually clear the ``needs changelog`` labels using the GitHub web
|
||||
interface (very easy: start by clicking the link above).
|
||||
- ``git add`` and ``git commit``, ``git push``. **Ensure CI passes**. (If it
|
||||
fails due to a known flake issue, either ignore or restart CI.)
|
||||
- Add a release branch if this is a new minor version, or update the existing release branch if it is a patch version
|
||||
- Add a release branch if this is a new MINOR version, or update the existing release branch if it is a patch version
|
||||
- New branch: ``git checkout -b vX.Y``, ``git push -u origin vX.Y``
|
||||
- Update branch: ``git checkout vX.Y``, ``git merge <release branch>``, ``git push``
|
||||
- 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
|
||||
- ``git push --tags``.
|
||||
- Update stable
|
||||
- ``git checkout stable``
|
||||
- ``git merge master``
|
||||
- ``git merge -X theirs vX.Y.Z``
|
||||
- ``git diff vX.Y.Z``
|
||||
- Carefully review and reconcile any diffs. There should be none.
|
||||
- ``git push``
|
||||
- Make a GitHub release (this shows up in the UI, sends new release
|
||||
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
|
||||
- Make sure you are on master, not somewhere else: ``git checkout master``
|
||||
- Update version macros in ``include/pybind11/detail/common.h`` (set PATCH to
|
||||
``0.dev1`` and increment MINOR).
|
||||
- Update ``_version.py`` to match
|
||||
- Update ``pybind11/_version.py`` to match
|
||||
- Run ``nox -s tests_packaging`` to ensure this was done correctly.
|
||||
- Add a spot for in-development updates in ``docs/changelog.rst``.
|
||||
- If the release was a new MINOR version, add a new `IN DEVELOPMENT`
|
||||
section in ``docs/changelog.rst``.
|
||||
- ``git add``, ``git commit``, ``git push``
|
||||
|
||||
If a version branch is updated, remember to set PATCH to ``1.dev1``.
|
||||
|
@ -10,12 +10,12 @@
|
||||
#pragma once
|
||||
|
||||
#define PYBIND11_VERSION_MAJOR 2
|
||||
#define PYBIND11_VERSION_MINOR 11
|
||||
#define PYBIND11_VERSION_MINOR 12
|
||||
#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 0x020B00D1
|
||||
#define PYBIND11_VERSION_HEX 0x020C00D1
|
||||
|
||||
// Define some generic pybind11 helper macros for warning management.
|
||||
//
|
||||
|
@ -8,5 +8,5 @@ def _to_int(s: str) -> Union[int, str]:
|
||||
return s
|
||||
|
||||
|
||||
__version__ = "2.11.0.dev1"
|
||||
__version__ = "2.12.0.dev1"
|
||||
version_info = tuple(_to_int(s) for s in __version__.split("."))
|
||||
|
Loading…
Reference in New Issue
Block a user