Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
86 changes: 86 additions & 0 deletions docs/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,92 @@ versioning](http://semver.org) policy.
Changes will be added here periodically from the "Suggested changelog
entry" block in pull request descriptions.


## Version 3.0.1 (August 22, 2025)

Bug fixes:

- Fixed compilation error in `type_caster_enum_type` when casting
pointer-to-enum types. Added pointer overload to handle dereferencing before
enum conversion.
[#5776](https://github.com/pybind/pybind11/pull/5776)

- Implement binary version of `make_index_sequence` to reduce template depth
requirements for functions with many parameters.
[#5751](https://github.com/pybind/pybind11/pull/5751)

- Subinterpreter-specific exception handling code was removed to resolve segfaults.
[#5795](https://github.com/pybind/pybind11/pull/5795)

- Fixed issue that caused ``PYBIND11_MODULE`` code to run again if the module
was re-imported after being deleted from ``sys.modules``.
[#5782](https://github.com/pybind/pybind11/pull/5782)

- Prevent concurrent creation of sub-interpreters as a workaround for stdlib
concurrency issues in Python 3.12.
[#5779](https://github.com/pybind/pybind11/pull/5779)

- Fixed potential crash when using `cpp_function` objects with sub-interpreters.
[#5771](https://github.com/pybind/pybind11/pull/5771)

- Fixed non-entrant check in `implicitly_convertible()`.
[#5777](https://github.com/pybind/pybind11/pull/5777)

- Support C++20 on platforms that have older c++ runtimes.
[#5761](https://github.com/pybind/pybind11/pull/5761)

- Fix compilation with clang on msys2.
[#5757](https://github.com/pybind/pybind11/pull/5757)

- Avoid `nullptr` dereference warning with GCC 13.3.0 and python 3.11.13.
[#5756](https://github.com/pybind/pybind11/pull/5756)

- Fix potential warning about number of threads being too large.
[#5807](https://github.com/pybind/pybind11/pull/5807)


<!-- fix(cmake) -->

- Fix gcc 11.4+ warning about serial compilation using CMake.
[#5791](https://github.com/pybind/pybind11/pull/5791)


Documentation:

- Improve `buffer_info` type checking in numpy docs.
[#5805](https://github.com/pybind/pybind11/pull/5805)

- Replace `robotpy-build` with `semiwrap` in the binding tool list.
[#5804](https://github.com/pybind/pybind11/pull/5804)

- Show nogil in most examples.
[#5770](https://github.com/pybind/pybind11/pull/5770)

- Fix `py::trampoline_self_life_support` visibility in docs.
[#5766](https://github.com/pybind/pybind11/pull/5766)


Tests:

- Avoid a spurious warning about `DOWNLOAD_CATCH` being manually specified.
[#5803](https://github.com/pybind/pybind11/pull/5803)

- Fix an IsolatedConfig test.
[#5768](https://github.com/pybind/pybind11/pull/5768)


CI:

- Add CI testing for Android.
[#5714](https://github.com/pybind/pybind11/pull/5714)


Internal:

- Rename internal variables to avoid the word `slots` (reads better).
[#5793](https://github.com/pybind/pybind11/pull/5793)


## Version 3.0.0 (July 10, 2025)

Pybind11 3.0 includes an ABI bump, the first required bump in many years
Expand Down
4 changes: 2 additions & 2 deletions include/pybind11/detail/common.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,10 @@
// - The release level is set to "alpha" for development versions.
// Use 0xA0 (LEVEL=0xA, SERIAL=0) for development versions.
// - For stable releases, set the serial to 0.
#define PYBIND11_VERSION_RELEASE_LEVEL PY_RELEASE_LEVEL_ALPHA
#define PYBIND11_VERSION_RELEASE_LEVEL PY_RELEASE_LEVEL_FINAL
#define PYBIND11_VERSION_RELEASE_SERIAL 0
// String version of (micro, release level, release serial), e.g.: 0a0, 0b1, 0rc1, 0
#define PYBIND11_VERSION_PATCH 1a0
#define PYBIND11_VERSION_PATCH 1
/* -- end version constants -- */

#if !defined(Py_PACK_FULL_VERSION)
Expand Down
6 changes: 6 additions & 0 deletions tools/make_changelog.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,12 +65,18 @@
continue

msg = changelog.group("content").strip()
if not msg:
missing.append(issue)
continue
if msg.startswith("* "):
msg = msg[2:]
if not msg.startswith("- "):
msg = "- " + msg
if not msg.endswith("."):
msg += "."
if msg == "- Placeholder.":
missing.append(issue)
continue

msg += f"\n [#{issue.number}]({issue.html_url})"
for cat, cat_list in cats.items():
Expand Down
Loading