Support for Union, Optional, type[T], typing.TypeGuard, typing.TypeIs, typing.Never, typing.NoReturn and typing.Literal was added to pybind11/typing.h. #5166#5165#5194#5193#5192
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:
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
A subtle bug involving C++ types with unusual operator& overrides was fixed. #5189
Support Python 3.13 with minor fix, add to CI. #5127
Fix mistake affecting old cmake and old boost. #5149
Documentation:
Build docs updated to feature scikit-build-core and meson-python, and updated setuptools instructions. #5168
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](https://github.com/pybind/pybind11/issues/5148) <https://github.com/pybind/pybind11/pull/5148>_
Support for Python 3.6 was removed. (Official end-of-life: 2021-12-23).
[#5177](https://github.com/pybind/pybind11/issues/5177) <https://github.com/pybind/pybind11/pull/5177>_
py::list gained a .clear() method.
[#5153](https://github.com/pybind/pybind11/issues/5153) <https://github.com/pybind/pybind11/pull/5153>_
.. feat(types)
Support for Union, Optional, type[T], typing.TypeGuard,
typing.TypeIs, typing.Never, typing.NoReturn and
typing.Literal was added to pybind11/typing.h.
[#5166](https://github.com/pybind/pybind11/issues/5166) <https://github.com/pybind/pybind11/pull/5166>_
[#5165](https://github.com/pybind/pybind11/issues/5165) <https://github.com/pybind/pybind11/pull/5165>_
[#5194](https://github.com/pybind/pybind11/issues/5194) <https://github.com/pybind/pybind11/pull/5194>_
[#5193](https://github.com/pybind/pybind11/issues/5193) <https://github.com/pybind/pybind11/pull/5193>_
[#5192](https://github.com/pybind/pybind11/issues/5192) <https://github.com/pybind/pybind11/pull/5192>_
.. 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](https://github.com/pybind/pybind11/issues/5083) <https://github.com/pybind/pybind11/pull/5083>_
Bug fixes:
A refcount bug (leading to heap-use-after-free) involving trampoline
functions with PyObject * return type was fixed.
[#5156](https://github.com/pybind/pybind11/issues/5156) <https://github.com/pybind/pybind11/pull/5156>_
Return py::ssize_t from .ref_count() instead of int.
[#5139](https://github.com/pybind/pybind11/issues/5139) <https://github.com/pybind/pybind11/pull/5139>_
A subtle bug involving C++ types with unusual operator& overrides
was fixed.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps pybind11 from 2.12.0 to 2.13.0.
Release notes
Sourced from pybind11's releases.
Changelog
Sourced from pybind11's changelog.
... (truncated)
Commits
0c69e1e
chore: prepare for 2.13.0 (#5198)2be85c6
feat(types): adds support for TypeGuard and TypeIs (#5194)b5ec7c7
ci: release with trusted publisher and attestations (#5196)26281c7
feat(types): adds support for Never and NoReturn from python Typing (#5193)183059f
feat(types): add support for typing.Literal type (#5192)aebcd70
Add TypeVars / method generics typing (#5167)9ec64e3
docs: prepare for 2.13.0 (#5187)a406a62
fix: usestd::addressof
in type_caster_base.h (#5189)f1a2e03
feat: remove Python 3.6 support (#5177)5552cbf
Add Python 3.10, 3.11, 3.12 to win32 job matrix. (#5179)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show