Skip to content

build(deps-dev): update pybind11 requirement from >=3.0.4 to >=3.1.0 - #1405

Merged
accesswatch merged 1 commit into
mainfrom
dependabot/pip/pybind11-gte-3.1.0
Aug 17, 2026
Merged

build(deps-dev): update pybind11 requirement from >=3.0.4 to >=3.1.0#1405
accesswatch merged 1 commit into
mainfrom
dependabot/pip/pybind11-gte-3.1.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 16, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on pybind11 to permit the latest version.

Release notes

Sourced from pybind11's releases.

Version 3.1.0

New Features:

  • Support for Python 3.8 was removed. The minimum supported version is now Python 3.9. #6110

  • Support for MSVC 2017 has been dropped. #6110

  • Changed strict-mode numeric conversions for PEP 484 compatibility: float now accepts int, and complex now accepts int and float. #5879

  • Small extra features added to the pybind11 command line tool based on python-config. #4272

  • Added subinterpreter_thread_state, an RAII wrapper that owns a reusable PyThreadState for a sub-interpreter, together with a subinterpreter_scoped_activate overload that activates it. This lets an OS thread re-enter one or more sub-interpreters without creating and destroying a PyThreadState on every activation. #6073

  • Add py::mod_gil_used() as replacement spelling to py::mod_gil_not_used(false). #5797

Bug fixes:

  • Fixed a crash in py::subinterpreter::create() when called without a current PyThreadState, which its documentation explicitly allows — for example from an embedder that ended initialization with PyEval_SaveThread(), or from a worker thread that has never touched Python. error_scope is now constructed after a thread state has been attached instead of before. #6127

  • Make py::print delegate to the current frame/interpreter built-ins print entry, fixing handling of sys.stdout = None, following the active runtime's stream, keyword, and error semantics, and remaining a no-op if the entry is unavailable during teardown. #6121

  • Include the builtin complex type in the input annotation of the std::complex<T> type caster. #6113

  • String views (e.g. std::string_view) are now kept alive only when loaded from a transient source (such as a generator), fixing both a use-after-free and a regression where casting a view from a durable object outside a bound function would throw. #6096

  • Drop Python 2 prepend to evaluated source, causing errors to be off by one. #6089

  • Fix data race on last_storage_ptr_ cache in gil_safe_call_once_and_store. #6087

  • Allow user defined __str__ on enum_. #6078

  • Fix generated Callable type annotations for Python callbacks passed into C++ by inverting the callback's argument/return I/O context relative to the enclosing function signature. #6055

  • Correct __delitem__ for negative-step slices and re-enable contiguous erase fast path. #6088

  • Do not pass -fno-fat-lto-objects to GCC on macOS, which made all LTO probes fail and silently disabled LTO. #6114

  • Fixed cross-compilation to Emscripten/Pyodide with CMake ≥ 4.1 by no longer overriding an explicitly set PYBIND11_USE_CROSSCOMPILING when CMAKE_CROSSCOMPILING_EMULATOR is defined. #6094

  • Unset stale PYTHON_MODULE_DEBUG_POSTFIX and correct USE_PYTHON_INCLUDE_DIR variable. #6086

  • Apply -undefined dynamic_lookup to all Apple platforms. #6075

Internal:

  • Improved py::enum_ operator performance by restoring type-specific implementations. #5887

  • Optimized internal std::unordered_map/std::unordered_set hashing paths with noexcept. #5960

CI:

... (truncated)

Changelog

Sourced from pybind11's changelog.

Version 3.1.0 (August 6, 2026)

New Features:

  • Support for Python 3.8 was removed. The minimum supported version is now Python 3.9. #6110

  • Support for MSVC 2017 has been dropped. #6110

  • Changed strict-mode numeric conversions for PEP 484 compatibility: float now accepts int, and complex now accepts int and float. #5879

  • Small extra features added to the pybind11 command line tool based on python-config. #4272

  • Added subinterpreter_thread_state, an RAII wrapper that owns a reusable PyThreadState for a sub-interpreter, together with a subinterpreter_scoped_activate overload that activates it. This lets an OS thread re-enter one or more sub-interpreters without creating and destroying a PyThreadState on every activation. #6073

  • Add py::mod_gil_used() as replacement spelling to py::mod_gil_not_used(false). #5797

Bug fixes:

  • Fixed a crash in py::subinterpreter::create() when called without a current PyThreadState, which its documentation explicitly allows — for example from an embedder that ended initialization with PyEval_SaveThread(), or from a worker thread that has never touched Python. error_scope is now constructed after a thread state has been attached instead of before. #6127

  • Make py::print delegate to the current frame/interpreter built-ins print entry, fixing handling of sys.stdout = None, following the active runtime's stream, keyword, and error semantics, and remaining a no-op if the entry is unavailable during teardown. #6121

  • Include the builtin complex type in the input annotation of the std::complex<T> type caster. #6113

  • String views (e.g. std::string_view) are now kept alive only when loaded from a transient source (such as a generator), fixing both a use-after-free and a regression where casting a view from a durable object outside a bound function would throw. #6096

  • Drop Python 2 prepend to evaluated source, causing errors to be off by one. #6089

  • Fix data race on last_storage_ptr_ cache in gil_safe_call_once_and_store. #6087

... (truncated)

Commits
  • 97bf890 chore: prepare 3.1.0 release (#6125)
  • 05f6e6f fix(subinterpreter): don't touch the thread state before create() attaches on...
  • 6dd1756 chore(deps): update pre-commit hooks (#6126)
  • 5956509 Delegate py::print to Python's native print (#6121)
  • 63d627c feat!: drop support for Python 3.8, MSVC 2017 (#6110)
  • 695a7a4 chore(deps): bump the actions group with 3 updates (#6119)
  • ea9e6e6 feat: small command line helpers for quick tests (#4272)
  • 652c694 fix: add py::mod_gil_used() spelling, support pedantic tests (#5797)
  • 2f85cc8 chore(ci): bump NVHPC to 26.5 (#6117)
  • 5540f96 fix: only add string_view life support for transient sources (#6096)
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Dependency and supply-chain updates. security Security hardening and vulnerability-related work. labels Aug 16, 2026
Updates the requirements on [pybind11](https://github.com/pybind/pybind11) to permit the latest version.
- [Release notes](https://github.com/pybind/pybind11/releases)
- [Changelog](https://github.com/pybind/pybind11/blob/master/docs/changelog.md)
- [Commits](pybind/pybind11@v3.0.4...v3.1.0)

---
updated-dependencies:
- dependency-name: pybind11
  dependency-version: 3.1.0
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/pip/pybind11-gte-3.1.0 branch from 2c9f6e7 to bf9e8d9 Compare August 17, 2026 18:51
@accesswatch

Copy link
Copy Markdown
Contributor

@dependabot rebase

@dependabot @github

dependabot Bot commented on behalf of github Aug 17, 2026

Copy link
Copy Markdown
Contributor Author

Looks like this PR is already up-to-date with main! If you'd still like to recreate it from scratch, overwriting any edits, you can request @dependabot recreate.

@accesswatch
accesswatch merged commit dea39ef into main Aug 17, 2026
13 checks passed
@accesswatch
accesswatch deleted the dependabot/pip/pybind11-gte-3.1.0 branch August 17, 2026 19:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Dependency and supply-chain updates. security Security hardening and vulnerability-related work.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant