Merge branch 'pybind:master' into master

This commit is contained in:
Steve R. Sun 2023-01-04 08:58:33 +08:00 committed by GitHub
commit a1f63c4097
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 51 additions and 21 deletions

View File

@ -283,8 +283,6 @@ jobs:
include: include:
- clang: 5 - clang: 5
std: 14 std: 14
- clang: 10
std: 20
- clang: 10 - clang: 10
std: 17 std: 17
- clang: 11 - clang: 11

View File

@ -41,20 +41,20 @@ repos:
# Upgrade old Python syntax # Upgrade old Python syntax
- repo: https://github.com/asottile/pyupgrade - repo: https://github.com/asottile/pyupgrade
rev: "v3.3.0" rev: "v3.3.1"
hooks: hooks:
- id: pyupgrade - id: pyupgrade
args: [--py36-plus] args: [--py36-plus]
# Nicely sort includes # Nicely sort includes
- repo: https://github.com/PyCQA/isort - repo: https://github.com/PyCQA/isort
rev: "5.10.1" rev: "5.11.4"
hooks: hooks:
- id: isort - id: isort
# Black, the code formatter, natively supports pre-commit # Black, the code formatter, natively supports pre-commit
- repo: https://github.com/psf/black - repo: https://github.com/psf/black
rev: "22.10.0" # Keep in sync with blacken-docs rev: "22.12.0" # Keep in sync with blacken-docs
hooks: hooks:
- id: black - id: black
@ -116,7 +116,7 @@ repos:
# PyLint has native support - not always usable, but works for us # PyLint has native support - not always usable, but works for us
- repo: https://github.com/PyCQA/pylint - repo: https://github.com/PyCQA/pylint
rev: "v2.15.8" rev: "v2.15.9"
hooks: hooks:
- id: pylint - id: pylint
files: ^pybind11 files: ^pybind11
@ -160,7 +160,7 @@ repos:
# Check for common shell mistakes # Check for common shell mistakes
- repo: https://github.com/shellcheck-py/shellcheck-py - repo: https://github.com/shellcheck-py/shellcheck-py
rev: "v0.8.0.4" rev: "v0.9.0.2"
hooks: hooks:
- id: shellcheck - id: shellcheck
@ -175,7 +175,7 @@ repos:
# Clang format the codebase automatically # Clang format the codebase automatically
- repo: https://github.com/pre-commit/mirrors-clang-format - repo: https://github.com/pre-commit/mirrors-clang-format
rev: "v15.0.4" rev: "v15.0.6"
hooks: hooks:
- id: clang-format - id: clang-format
types_or: [c++, c, cuda] types_or: [c++, c, cuda]

View File

@ -15,6 +15,39 @@ IN DEVELOPMENT
Changes will be summarized here periodically. Changes will be summarized here periodically.
Changes:
* ``PyGILState_Check()``'s in ``pybind11::handle``'s ``inc_ref()`` &
``dec_ref()`` are now enabled by default again.
`#4246 <https://github.com/pybind/pybind11/pull/4246>`_
Build system improvements:
* Update clang-tidy to 15 in CI.
`#4387 <https://github.com/pybind/pybind11/pull/4387>`_
Version 2.10.3 (Jan 3, 2023)
----------------------------
Changes:
* Temporarily made our GIL status assertions (added in 2.10.2) disabled by
default (re-enable manually by defining
``PYBIND11_ASSERT_GIL_HELD_INCREF_DECREF``, will be enabled in 2.11).
`#4432 <https://github.com/pybind/pybind11/pull/4432>`_
* Improved error messages when ``inc_ref``/``dec_ref`` are called with an
invalid GIL state.
`#4427 <https://github.com/pybind/pybind11/pull/4427>`_
`#4436 <https://github.com/pybind/pybind11/pull/4436>`_
Bug Fixes:
* Some minor touchups found by static analyzers.
`#4440 <https://github.com/pybind/pybind11/pull/4440>`_
Version 2.10.2 (Dec 20, 2022) Version 2.10.2 (Dec 20, 2022)
----------------------------- -----------------------------
@ -30,7 +63,7 @@ Changes:
* ``PyGILState_Check()``'s were integrated to ``pybind11::handle`` * ``PyGILState_Check()``'s were integrated to ``pybind11::handle``
``inc_ref()`` & ``dec_ref()``. The added GIL checks are guarded by ``inc_ref()`` & ``dec_ref()``. The added GIL checks are guarded by
``PYBIND11_ASSERT_GIL_HELD_INCREF_DECREF``, which is the default only if ``PYBIND11_ASSERT_GIL_HELD_INCREF_DECREF``, which is the default only if
``NDEBUG`` is not defined. ``NDEBUG`` is not defined. (Made non-default in 2.10.3, will be active in 2.11)
`#4246 <https://github.com/pybind/pybind11/pull/4246>`_ `#4246 <https://github.com/pybind/pybind11/pull/4246>`_
* Add option for enable/disable enum members in docstring. * Add option for enable/disable enum members in docstring.

View File

@ -399,7 +399,7 @@ struct process_attribute<doc> : process_attribute_default<doc> {
template <> template <>
struct process_attribute<const char *> : process_attribute_default<const char *> { struct process_attribute<const char *> : process_attribute_default<const char *> {
static void init(const char *d, function_record *r) { r->doc = const_cast<char *>(d); } static void init(const char *d, function_record *r) { r->doc = const_cast<char *>(d); }
static void init(const char *d, type_record *r) { r->doc = const_cast<char *>(d); } static void init(const char *d, type_record *r) { r->doc = d; }
}; };
template <> template <>
struct process_attribute<char *> : process_attribute<const char *> {}; struct process_attribute<char *> : process_attribute<const char *> {};

View File

@ -10,12 +10,12 @@
#pragma once #pragma once
#define PYBIND11_VERSION_MAJOR 2 #define PYBIND11_VERSION_MAJOR 2
#define PYBIND11_VERSION_MINOR 10 #define PYBIND11_VERSION_MINOR 11
#define PYBIND11_VERSION_PATCH 2 #define PYBIND11_VERSION_PATCH 0.dev1
// Similar to Python's convention: https://docs.python.org/3/c-api/apiabiversion.html // Similar to Python's convention: https://docs.python.org/3/c-api/apiabiversion.html
// Additional convention: 0xD = dev // Additional convention: 0xD = dev
#define PYBIND11_VERSION_HEX 0x020A0200 #define PYBIND11_VERSION_HEX 0x020B00D1
// Define some generic pybind11 helper macros for warning management. // Define some generic pybind11 helper macros for warning management.
// //

View File

@ -176,7 +176,7 @@ struct type_caster<Type, typename eigen_tensor_helper<Type>::ValidType> {
return false; return false;
} }
if (!convert && !temp.dtype().is(dtype::of<typename Type::Scalar>())) { if (!temp.dtype().is(dtype::of<typename Type::Scalar>())) {
return false; return false;
} }
} }

View File

@ -501,7 +501,7 @@ struct error_fetch_and_normalize {
"active exception."); "active exception.");
} }
const char *exc_type_name_norm = detail::obj_class_name(m_type.ptr()); const char *exc_type_name_norm = detail::obj_class_name(m_type.ptr());
if (exc_type_name_orig == nullptr) { if (exc_type_name_norm == nullptr) {
pybind11_fail("Internal error: " + std::string(called) pybind11_fail("Internal error: " + std::string(called)
+ " failed to obtain the name " + " failed to obtain the name "
"of the normalized active exception type."); "of the normalized active exception type.");

View File

@ -8,5 +8,5 @@ def _to_int(s: str) -> Union[int, str]:
return s return s
__version__ = "2.10.2" __version__ = "2.11.0.dev1"
version_info = tuple(_to_int(s) for s in __version__.split(".")) version_info = tuple(_to_int(s) for s in __version__.split("."))

View File

@ -31,8 +31,10 @@ issues = (issue for page in issues_pages for issue in page)
missing = [] missing = []
for issue in issues: for issue in issues:
changelog = ENTRY.findall(issue.body) changelog = ENTRY.findall(issue.body or "")
if changelog: if not changelog or not changelog[0]:
missing.append(issue)
else:
(msg,) = changelog (msg,) = changelog
if not msg.startswith("* "): if not msg.startswith("* "):
msg = "* " + msg msg = "* " + msg
@ -44,9 +46,6 @@ for issue in issues:
print(Syntax(msg, "rst", theme="ansi_light", word_wrap=True)) print(Syntax(msg, "rst", theme="ansi_light", word_wrap=True))
print() print()
else:
missing.append(issue)
if missing: if missing:
print() print()
print("[blue]" + "-" * 30) print("[blue]" + "-" * 30)