Skip to content

Commit 1b49908

Browse files
committed
docs: add v3.0.3 ~and v3.1.0~ changelog updates. (#6023)
git amend: v3.1.0 section removed * [skip ci] docs: add v3.0.3 and v3.1.0 changelog updates. Made-with: Cursor * [skip ci] docs: set v3.0.3 release date: March 31, 2026
1 parent c066c76 commit 1b49908

1 file changed

Lines changed: 56 additions & 0 deletions

File tree

docs/changelog.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,62 @@ Changes will be added here periodically from the "Suggested changelog
1313
entry" block in pull request descriptions.
1414

1515

16+
## Version 3.0.3 (March 31, 2026)
17+
18+
Bug fixes:
19+
20+
- Fixed TSS key exhaustion in `implicitly_convertible()` when many implicit conversions are registered across large module sets.
21+
[#6020](https://github.com/pybind/pybind11/pull/6020)
22+
23+
- Fixed heap-buffer-overflow in `pythonbuf` with undersized buffers by enforcing a minimum buffer size.
24+
[#6019](https://github.com/pybind/pybind11/pull/6019)
25+
26+
- Fixed virtual-inheritance pointer offset crashes when dispatching inherited methods through virtual bases.
27+
[#6017](https://github.com/pybind/pybind11/pull/6017)
28+
29+
- Fixed `free(): invalid pointer` crashes during interpreter shutdown with `py::enum_<>` by duplicating late-added `def_property_static` argument strings.
30+
[#6015](https://github.com/pybind/pybind11/pull/6015)
31+
32+
- Fixed `function_record` heap-type deallocation to call `PyObject_Free()` and decref the type.
33+
[#6010](https://github.com/pybind/pybind11/pull/6010)
34+
35+
- Hardened `PYBIND11_MODULE_PYINIT` and `get_internals()` against module-initialization crashes.
36+
[#6018](https://github.com/pybind/pybind11/pull/6018)
37+
38+
- Fixed `static_pointer_cast` build failure with virtual inheritance in `holder_caster_foreign_helpers.h`.
39+
[#6014](https://github.com/pybind/pybind11/pull/6014)
40+
41+
- Fixed ambiguous `factory` template specialization that caused compilation failures with nvcc + GCC 14.
42+
[#6011](https://github.com/pybind/pybind11/pull/6011)
43+
44+
- Fixed crash in `def_readwrite` for non-smart-holder properties of smart-holder classes.
45+
[#6008](https://github.com/pybind/pybind11/pull/6008)
46+
47+
- Fixed memory leak for `py::dynamic_attr()` objects on Python 3.13+ by clearing managed `__dict__` contents during deallocation.
48+
[#5999](https://github.com/pybind/pybind11/pull/5999)
49+
50+
- Fixed binding of `noexcept` and ref-qualified (`&`, `&&`) methods inherited from unregistered base classes.
51+
[#5992](https://github.com/pybind/pybind11/pull/5992)
52+
53+
Internal:
54+
55+
- Moved `tomlkit` dependency to the dev dependency group.
56+
[#5990](https://github.com/pybind/pybind11/pull/5990)
57+
58+
- Switched to newer public CPython APIs (`PyType_GetFlags` and public vectorcall APIs where available).
59+
[#6005](https://github.com/pybind/pybind11/pull/6005)
60+
61+
Tests:
62+
63+
- Made an async callback test deterministic by replacing fixed sleep with bounded waiting.
64+
[#5986](https://github.com/pybind/pybind11/pull/5986)
65+
66+
CI:
67+
68+
- Re-enabled Android tests in the cibuildwheel workflow.
69+
[#6001](https://github.com/pybind/pybind11/pull/6001)
70+
71+
1672
## Version 3.0.2 (February 16, 2026)
1773

1874
New Features:

0 commit comments

Comments
 (0)