Skip to content

docs: prepare for RC 3 #5713

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jun 5, 2025
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
15 changes: 11 additions & 4 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,9 @@ Goodies
In addition to the core functionality, pybind11 provides some extra
goodies:

- Python 3.8+, PyPy3 7.3.17+, and GraalPy 24.1+ are supported with an
implementation-agnostic interface (pybind11 2.9 was the last version to
support Python 2 and 3.5).
- CPython 3.8+, PyPy3 7.3.17+, and GraalPy 24.1+ are supported with an
implementation-agnostic interface (see older versions for older CPython
and PyPy versions).

- It is possible to bind C++11 lambda functions with captured
variables. The lambda capture data is stored inside the resulting
Expand Down Expand Up @@ -124,12 +124,19 @@ Supported compilers
1. Clang/LLVM 3.3 or newer (for Apple Xcode's clang, this is 5.0.0 or
newer)
2. GCC 4.8 or newer
3. Microsoft Visual Studio 2017 or newer
3. Microsoft Visual Studio 2022 or newer (2019 probably works, but was dropped in CI)
4. Intel classic C++ compiler 18 or newer (ICC 20.2 tested in CI)
5. Cygwin/GCC (previously tested on 2.5.1)
6. NVCC (CUDA 11.0 tested in CI)
7. NVIDIA PGI (20.9 tested in CI)

Supported Platforms
-------------------

* Windows, Linux, macOS, and iOS
* CPython 3.8+, Pyodide, PyPy, and GraalPy
* C++11, C++14, C++17, C++20, and C++23

About
-----

Expand Down
29 changes: 25 additions & 4 deletions docs/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ versioning](http://semver.org) policy.
Changes will be added here periodically from the "Suggested changelog
entry" block in pull request descriptions.

## 3.0.0 (RC 2) (May 29, 2025)
## 3.0.0 (RC 3) (June 4, 2025)

Since this is a large release, we are providing a release candidate to give
projects time to test! We also now provide
Expand Down Expand Up @@ -58,6 +58,12 @@ New Features:
- Rename macro `PYBIND11_SUBINTERPRETER_SUPPORT` -> `PYBIND11_HAS_SUBINTERPRETER_SUPPORT` to meet naming convention.
[#5682](https://github.com/pybind/pybind11/pull/5682)

- Allow subinterpreter support to be disabled if defined to 0. This is mostly an emergency workaround, and is not exposed in CMake.
[#5708](https://github.com/pybind/pybind11/pull/5708) and [#5710](https://github.com/pybind/pybind11/pull/5710)

- Modify internals pointer-to-pointer implementation to not use `thread_local` (better iOS support).
[#5709](https://github.com/pybind/pybind11/pull/5709)

- Changed `PYBIND11_EMBEDDED_MODULE` macro implementation to perform
multi-phase module initialization (PEP 489) behind the scenes and to
support `py::mod_gil_not_used()`,
Expand Down Expand Up @@ -119,7 +125,8 @@ New Features:
[#5669](https://github.com/pybind/pybind11/pull/5669)

* Added `py::scoped_critical_section` to support free-threaded mode.
[#5684](https://github.com/pybind/pybind11/pull/5684)
[#5684](https://github.com/pybind/pybind11/pull/5684) \|
[#5706](https://github.com/pybind/pybind11/pull/5706)

New Features / fixes (typing):

Expand Down Expand Up @@ -158,6 +165,8 @@ New Features / fixes (typing):
[#5566](https://github.com/pybind/pybind11/pull/5566)
- Fix `typing` and `collections.abc` type hint ambiguity.
[#5663](https://github.com/pybind/pybind11/pull/5663)
- Add `typing_extensions` alternatives for all types that need them.
[#5693](https://github.com/pybind/pybind11/pull/5693)

Removals:

Expand Down Expand Up @@ -223,6 +232,8 @@ Bug fixes:
- Change the behavior of the default constructor of `py::slice` to be
equivalent to `::` in Python.
[#5620](https://github.com/pybind/pybind11/pull/5620)
- Expose required symbol when using clang.
[#5700](https://github.com/pybind/pybind11/pull/5700)

Bug fixes and features (CMake):

Expand Down Expand Up @@ -314,13 +325,16 @@ Tests:

New and removed platforms:

- Support Python 3.14 (beta 1).
- Support Python 3.14 (beta 1+).
[#5646](https://github.com/pybind/pybind11/pull/5646)

- Added support for GraalPy Python implementation
(<https://github.com/oracle/graalpython>).
[#5380](https://github.com/pybind/pybind11/pull/5380)

- Support and test iOS in CI.
[#5705](https://github.com/pybind/pybind11/pull/5705)

- Support for PyPy 3.11 added.
[#5508](https://github.com/pybind/pybind11/pull/5508)

Expand All @@ -339,9 +353,16 @@ New and removed platforms:
[#5598](https://github.com/pybind/pybind11/pull/5598) and updated
docs/ci. [#5676](https://github.com/pybind/pybind11/pull/5676)

* clang 20 tested and used for clang-tidy.
- clang 20 tested and used for clang-tidy.
[#5692](https://github.com/pybind/pybind11/pull/5692)

- Drop testing on MSVC 2019 (as it is being removed from GitHub).
[#5712](https://github.com/pybind/pybind11/pull/5712)

- Support Windows C++20 and Linux C++23 in tests.
[#5707](https://github.com/pybind/pybind11/pull/5707)


## Version 2.13.6 (September 13, 2024)

New Features:
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 @@ -25,9 +25,9 @@
// 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_GAMMA
#define PYBIND11_VERSION_RELEASE_SERIAL 2
#define PYBIND11_VERSION_RELEASE_SERIAL 3
// String version of (micro, release level, release serial), e.g.: 0a0, 0b1, 0rc1, 0
#define PYBIND11_VERSION_PATCH 0rc2
#define PYBIND11_VERSION_PATCH 0rc3
/* -- end version constants -- */

#if !defined(Py_PACK_FULL_VERSION)
Expand Down
Loading