chore: bump to 3.0.1 (#5810)
* docs: prepare for 3.0.1
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
* chore: bump for 3.0.1
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
* Update docs/changelog.md
---------
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
diff --git a/docs/changelog.md b/docs/changelog.md
index 722085b..c8d6318 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -12,6 +12,92 @@
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
diff --git a/include/pybind11/detail/common.h b/include/pybind11/detail/common.h
index 20a659d..314dba4 100644
--- a/include/pybind11/detail/common.h
+++ b/include/pybind11/detail/common.h
@@ -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)
diff --git a/tools/make_changelog.py b/tools/make_changelog.py
index a2e4c79..bb49de6 100755
--- a/tools/make_changelog.py
+++ b/tools/make_changelog.py
@@ -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():