)]}'
{
  "commit": "b93c0f7ed84f02f29f4905dce00bb048f52ae8fe",
  "tree": "f9df7395e3ed2707ae01f59800c4f30fe3a97642",
  "parents": [
    "fee2527dfa05dc9157e71a6d3a9d57bc42efcde4"
  ],
  "author": {
    "name": "Ralf W. Grosse-Kunstleve",
    "email": "rwgkio@gmail.com",
    "time": "Tue Dec 30 19:54:44 2025 +0700"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Tue Dec 30 04:54:44 2025 -0800"
  },
  "message": "Fix ambiguous `str(handle)` constructor for object-derived types (#5949)\n\n* Fix ambiguous `str(handle)` constructor for object-derived types\n\nTemplatize `str(handle h)` with SFINAE to exclude types derived from\n`object`, resolving ambiguity with `str(const object\u0026)` when calling\n`py::str()` on types like `kwargs`, `dict`, etc.\n\nThe template now only accepts `handle` or `PyObject*`, while all\n`object`-derived types use the `str(const object\u0026)` overload.\n\n* fix(tests): CIBW test fixes from b-pass→vectorcall branch\n\n- Install multiple-interpreter test modules into wheel (CMakeLists.txt)\n  The mod_per_interpreter_gil, mod_shared_interpreter_gil, and\n  mod_per_interpreter_gil_with_singleton modules were being built\n  but not installed into the wheel when using scikit-build-core.\n\n- Pin numpy 2.4.0 for Python 3.14 CI tests (requirements.txt)\n  NumPy 2.4.0 is the first version with official Python 3.14 wheels.\n\n- Add IOS platform constant to tests/env.py\n\n- Skip subinterpreter tests on iOS (test_multiple_interpreters.py)\n  Subinterpreters are not supported in the iOS simulator environment.\n\n- Enable pytest timeout of 120s for CIBW tests (pyproject.toml)\n  Provides a safety net to catch hanging tests before CI job timeout.\n\n- Disable pytest-timeout for Pyodide (no signal.setitimer)\n  Pyodide runs in WebAssembly without POSIX signals.\n\n- Add -v flag for verbose pytest output in CIBW tests",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "eb02946a86ea9f13b46da982b7b61cba9a4a13a5",
      "old_mode": 33188,
      "old_path": "include/pybind11/pytypes.h",
      "new_id": "30eae090f5bd073bf5be26280b9a4dd552197d5a",
      "new_mode": 33188,
      "new_path": "include/pybind11/pytypes.h"
    },
    {
      "type": "modify",
      "old_id": "15e18705bee72743dc8a38ef5e14471310931d29",
      "old_mode": 33188,
      "old_path": "tests/CMakeLists.txt",
      "new_id": "fdf33628aa035bbea6e1c8e47e90f91a835fc14e",
      "new_mode": 33188,
      "new_path": "tests/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "4b48e9193071854aaa9382bfd4bed261e722956a",
      "old_mode": 33188,
      "old_path": "tests/env.py",
      "new_id": "ee932ad77a0b8e1052a63fef01b7b348ac7832bb",
      "new_mode": 33188,
      "new_path": "tests/env.py"
    },
    {
      "type": "modify",
      "old_id": "fa478122d3b394f320b80d788638b901e474ab70",
      "old_mode": 33188,
      "old_path": "tests/pyproject.toml",
      "new_id": "8821ea3f3411cac2dddbe8ad0dea78c01901b8fe",
      "new_mode": 33188,
      "new_path": "tests/pyproject.toml"
    },
    {
      "type": "modify",
      "old_id": "41fc9f14394b22208c29f3ba9369c30c5e257db6",
      "old_mode": 33188,
      "old_path": "tests/requirements.txt",
      "new_id": "3d61669234ff5beb44722beafed3f7104b05e9f2",
      "new_mode": 33188,
      "new_path": "tests/requirements.txt"
    },
    {
      "type": "modify",
      "old_id": "aadf3d96bbd815bbd91743df721ab4b392bc7139",
      "old_mode": 33188,
      "old_path": "tests/test_multiple_interpreters.py",
      "new_id": "44877e772aa514b38e809160d61694471d8b52e1",
      "new_mode": 33188,
      "new_path": "tests/test_multiple_interpreters.py"
    },
    {
      "type": "modify",
      "old_id": "7d5423e549148d604e4b138e7bcf9538791ce77c",
      "old_mode": 33188,
      "old_path": "tests/test_pytypes.cpp",
      "new_id": "e21435001528d5fb774de5d0155884fc8f9d182f",
      "new_mode": 33188,
      "new_path": "tests/test_pytypes.cpp"
    },
    {
      "type": "modify",
      "old_id": "09fc5f37eec4054c505c1c6bfe6b320ad72dadec",
      "old_mode": 33188,
      "old_path": "tests/test_pytypes.py",
      "new_id": "580371f02deaa6658b08c61f0de5f608d679e06f",
      "new_mode": 33188,
      "new_path": "tests/test_pytypes.py"
    }
  ]
}
