cvxgrp / markowitz-reference

This repository contains a reference implementation of the Markowitz portfolio optimization problem discussed in the paper Markowitz Portfolio Construction at Seventy.
Apache License 2.0
16 stars 3 forks source link

Bump pybind11 from 2.11.1 to 2.12.0 #104

Closed dependabot[bot] closed 5 months ago

dependabot[bot] commented 5 months ago

Bumps pybind11 from 2.11.1 to 2.12.0.

Release notes

Sourced from pybind11's releases.

Version 2.12.0

New Features:

  • pybind11 now supports compiling for NumPy 2. Most code shouldn't change (see upgrade-guide-2.12 for details). However, if you experience issues you can define PYBIND11_NUMPY_1_ONLY to disable the new support for now, but this will be removed in the future. #5050
  • pybind11/gil_safe_call_once.h was added (it needs to be included explicitly). The primary use case is GIL-safe initialization of C++ static variables. #4877
  • Support move-only iterators in py::make_iterator, py::make_key_iterator, py::make_value_iterator. #4834
  • Two simple py::set_error() functions were added and the documentation was updated accordingly. In particular, py::exception<>::operator() was deprecated (use one of the new functions instead). The documentation for py::exception<> was further updated to not suggest code that may result in undefined behavior. #4772

Bug fixes:

  • Removes potential for Undefined Behavior during process teardown. #4897
  • Improve compatibility with the nvcc compiler (especially CUDA 12.1/12.2). #4893
  • pybind11/numpy.h now imports NumPy's multiarray and _internal submodules with paths depending on the installed version of NumPy (for compatibility with NumPy 2). #4857
  • Builtins collections names in docstrings are now consistently rendered in lowercase (list, set, dict, tuple), in accordance with PEP 585. #4833
  • Added py::typing::Iterator<T>, py::typing::Iterable<T>. #4832
  • Render py::function as Callable in docstring. #4829
  • Also bump PYBIND11_INTERNALS_VERSION for MSVC, which unlocks two new features without creating additional incompatibilities. #4819
  • Guard against crashes/corruptions caused by modules built with different MSVC versions. #4779
  • A long-standing bug in the handling of Python multiple inheritance was fixed. See PR #4762 for the rather complex details. #4762
  • Fix bind_map with using declarations. #4952
  • Qualify py::detail::concat usage to avoid ADL selecting one from somewhere else, such as modernjson's concat. #4955
  • Use new PyCode API on Python 3.12+. #4916
  • Minor cleanup from warnings reported by Clazy. #4988
  • Remove typing and duplicate class_ for KeysView/ValuesView/ItemsView. #4985
  • Use PyObject_VisitManagedDict() and PyObject_ClearManagedDict() on Python 3.13 and newer. #4973
  • Update make_static_property_type() to make it compatible with Python 3.13. #4971
  • Render typed iterators for make_iterator, make_key_iterator, make_value_iterator. #4876
  • Add several missing type name specializations. #5073
  • Change docstring render for py::buffer, py::sequence and py::handle (to Buffer, Sequence, Any). #4831
  • Fixed base_enum.__str__ docstring. #4827
  • Enforce single line docstring signatures. #4735
  • Special 'typed' wrappers now available in typing.h to annotate tuple, dict, list, set, and function. #4259
  • Create handle_type_name specialization to type-hint variable length tuples. #5051
  • Setting PYBIND11_FINDPYTHON to OFF will force the old FindPythonLibs mechanism to be used. #5042
  • Skip empty PYBIND11_PYTHON_EXECUTABLE_LAST for the first cmake run. #4856
  • Fix FindPython mode exports & avoid pkg_resources if importlib.metadata available. #4941
  • Python_ADDITIONAL_VERSIONS (classic search) now includes 3.12. #4909
  • pybind11.pc is now relocatable by default as long as install destinations are not absolute paths. #4830
  • Correctly detect CMake FindPython removal when used as a subdirectory. #4806
  • Don't require the libs component on CMake 3.18+ when using PYBIND11_FINDPYTHON (fixes manylinux builds). #4805
  • pybind11_strip is no longer automatically applied when CMAKE_BUILD_TYPE is unset. #4780
  • Support DEBUG_POSFIX correctly for debug builds. #4761
  • Hardcode lto/thin lto for Emscripten cross-compiles. #4642
  • Upgrade maximum supported CMake version to 3.27 to fix CMP0148 warnings. #4786

... (truncated)

Changelog

Sourced from pybind11's changelog.

Version 2.12.0 (March 27, 2025)

New Features:

  • pybind11 now supports compiling for NumPy 2 <https://numpy.org/devdocs/numpy_2_0_migration_guide.html>. Most code shouldn't change (see :ref:upgrade-guide-2.12 for details). However, if you experience issues you can define PYBIND11_NUMPY_1_ONLY to disable the new support for now, but this will be removed in the future. [#5050](https://github.com/pybind/pybind11/issues/5050) <https://github.com/pybind/pybind11/pull/5050>

  • pybind11/gil_safe_call_once.h was added (it needs to be included explicitly). The primary use case is GIL-safe initialization of C++ static variables. [#4877](https://github.com/pybind/pybind11/issues/4877) <https://github.com/pybind/pybind11/pull/4877>_

  • Support move-only iterators in py::make_iterator, py::make_key_iterator, py::make_value_iterator. [#4834](https://github.com/pybind/pybind11/issues/4834) <https://github.com/pybind/pybind11/pull/4834>_

  • Two simple py::set_error() functions were added and the documentation was updated accordingly. In particular, py::exception<>::operator() was deprecated (use one of the new functions instead). The documentation for py::exception<> was further updated to not suggest code that may result in undefined behavior. [#4772](https://github.com/pybind/pybind11/issues/4772) <https://github.com/pybind/pybind11/pull/4772>_

Bug fixes:

  • Removes potential for Undefined Behavior during process teardown. [#4897](https://github.com/pybind/pybind11/issues/4897) <https://github.com/pybind/pybind11/pull/4897>_

  • Improve compatibility with the nvcc compiler (especially CUDA 12.1/12.2). [#4893](https://github.com/pybind/pybind11/issues/4893) <https://github.com/pybind/pybind11/pull/4893>_

  • pybind11/numpy.h now imports NumPy's multiarray and _internal submodules with paths depending on the installed version of NumPy (for compatibility with NumPy 2). [#4857](https://github.com/pybind/pybind11/issues/4857) <https://github.com/pybind/pybind11/pull/4857>_

  • Builtins collections names in docstrings are now consistently rendered in lowercase (list, set, dict, tuple), in accordance with PEP 585. [#4833](https://github.com/pybind/pybind11/issues/4833) <https://github.com/pybind/pybind11/pull/4833>_

  • Added py::typing::Iterator<T>, py::typing::Iterable<T>. [#4832](https://github.com/pybind/pybind11/issues/4832) <https://github.com/pybind/pybind11/pull/4832>_

  • Render py::function as Callable in docstring. [#4829](https://github.com/pybind/pybind11/issues/4829) <https://github.com/pybind/pybind11/pull/4829>_

... (truncated)

Commits
  • 3e9dfa2 docs: a few missed changes for 2.12 (#5074)
  • 6b5674f chore: prepare 2.12.0 (#5070)
  • 67c9c56 fix: fully qualify usages of concat to protect against ADL (#4955)
  • 0efff79 Bug fixes: Add missing handle_type_name specializations. (#5073)
  • 705efcc feat: make numpy.h compatible with both NumPy 1.x and 2.x (#5050)
  • e0f2c71 tests: hide warning on clang (#5069)
  • 65370f3 Create handle_type_name specialization to type-hint variable length tuples (#...
  • ddb8b67 fix(cmake): allow forcing old FindPython (#5042)
  • ec73bda ci: skipping test for Windows Clang failure (#5062)
  • 8b48ff8 chore(deps): bump the actions group with 3 updates (#5024)
  • Additional commits viewable in compare view


Dependabot compatibility score

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)