Skip to content

Commit ea3e33e

Browse files
authored
chore: prepare for 3.0.0rc4 (#5736)
Signed-off-by: Henry Schreiner <[email protected]>
1 parent bdc56d9 commit ea3e33e

File tree

2 files changed

+35
-28
lines changed

2 files changed

+35
-28
lines changed

docs/changelog.md

Lines changed: 33 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,18 @@ New Features:
4242
trampoline objects, and `std::enable_shared_from_this`.
4343
[#5542](https://github.com/pybind/pybind11/pull/5542)
4444

45+
- Added support for `std::shared_ptr<const T>` in `py::init()` when using
46+
`py::smart_holder`, complementing existing support for
47+
`std::unique_ptr<const T>`.
48+
[#5731](https://github.com/pybind/pybind11/pull/5731)
49+
50+
- Support const-only smart pointers.
51+
[#5718](https://github.com/pybind/pybind11/pull/5718)
52+
53+
- Eliminate cross-DSO RTTI reliance from `trampoline_self_life_support` functionality, `smart_holder` deleter detection, and other
54+
`smart_holder` bookkeeping. Resolves platform-specific issues on macOS related to cross-DSO `dynamic_cast` and `typeid` mismatches.
55+
[#5728](https://github.com/pybind/pybind11/pull/5728) (replaces [#5700](https://github.com/pybind/pybind11/pull/5700))
56+
4557
- Changed `PYBIND11_MODULE` macro implementation to perform multi-phase
4658
module initialization (PEP 489) behind the scenes.
4759
[#5574](https://github.com/pybind/pybind11/pull/5574) and avoid destruction
@@ -64,6 +76,9 @@ New Features:
6476
- Modify internals pointer-to-pointer implementation to not use `thread_local` (better iOS support).
6577
[#5709](https://github.com/pybind/pybind11/pull/5709)
6678

79+
- Support implementations without subinterpreter support.
80+
[#5732](https://github.com/pybind/pybind11/pull/5732)
81+
6782
- Changed `PYBIND11_EMBEDDED_MODULE` macro implementation to perform
6883
multi-phase module initialization (PEP 489) behind the scenes and to
6984
support `py::mod_gil_not_used()`,
@@ -85,6 +100,9 @@ New Features:
85100
- Fix signature for functions with a `native_enum` in the signature.
86101
[#5619](https://github.com/pybind/pybind11/pull/5619)
87102

103+
- Support `py::numpy_scalar<>` / `py::make_scalar()` for NumPy types.
104+
[#5726](https://github.com/pybind/pybind11/pull/5726)
105+
88106
- A `py::release_gil_before_calling_cpp_dtor` option (for `py::class_`)
89107
was added to resolve the long-standing issue \#1446.
90108
[#5522](https://github.com/pybind/pybind11/pull/5522)
@@ -124,7 +142,7 @@ New Features:
124142
update example for `pybind11::custom_type_setup` in documentation.
125143
[#5669](https://github.com/pybind/pybind11/pull/5669)
126144

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

@@ -216,12 +234,6 @@ Bug fixes:
216234
[#5381](https://github.com/pybind/pybind11/pull/5381)
217235
- Disable false-positive GCC 12 Bound Check warning.
218236
[#5355](https://github.com/pybind/pybind11/pull/5355)
219-
- fix: using `__cpp_nontype_template_args` instead of
220-
`__cpp_nontype_template_parameter_class`.
221-
[#5330](https://github.com/pybind/pybind11/pull/5330)
222-
- Properly translate C++ exception to Python exception when creating
223-
Python buffer from wrapped object.
224-
[#5324](https://github.com/pybind/pybind11/pull/5324)
225237
- Update the dict when restoring pickles, instead of assigning a
226238
replacement dict.
227239
[#5658](https://github.com/pybind/pybind11/pull/5658)
@@ -232,8 +244,6 @@ Bug fixes:
232244
- Change the behavior of the default constructor of `py::slice` to be
233245
equivalent to `::` in Python.
234246
[#5620](https://github.com/pybind/pybind11/pull/5620)
235-
- Expose required symbol when using clang.
236-
[#5700](https://github.com/pybind/pybind11/pull/5700)
237247

238248
Bug fixes and features (CMake):
239249

@@ -254,10 +264,9 @@ Bug fixes and features (CMake):
254264
- Add support for running pybind11's tests via presets in CMake 3.25+.
255265
[#5655](https://github.com/pybind/pybind11/pull/5655) and support `--fresh`.
256266
[#5668](https://github.com/pybind/pybind11/pull/5668)
257-
- Restructure venv support to support `--fresh`, make in build folder.
258-
[#5668](https://github.com/pybind/pybind11/pull/5668)
259-
260-
* Presets now generate `compile_commands.json`.
267+
- Experimental CMake support for Android.
268+
[#5733](https://github.com/pybind/pybind11/pull/5733)
269+
- Presets now generate `compile_commands.json`.
261270
[#5685](https://github.com/pybind/pybind11/pull/5685)
262271

263272
Bug fixes (free-threading):
@@ -282,7 +291,7 @@ Internals:
282291
that it can easily be reused.
283292
[#5614](https://github.com/pybind/pybind11/pull/5614)
284293

285-
* Use CPython macros to construct `PYBIND11_VERSION_HEX`.
294+
- Use CPython macros to construct `PYBIND11_VERSION_HEX`.
286295
[#5683](https://github.com/pybind/pybind11/pull/5683)
287296

288297
Documentation:
@@ -293,10 +302,6 @@ Documentation:
293302
- A new "Double locking, deadlocking, GIL" document was added.
294303
[#5394](https://github.com/pybind/pybind11/pull/5394)
295304

296-
- Adds an answer (FAQ) for "What is a highly conclusive and simple way
297-
to find memory leaks?".
298-
[#5340](https://github.com/pybind/pybind11/pull/5340)
299-
300305
- Add documenting for free-threading and subinterpreters.
301306
[#5659](https://github.com/pybind/pybind11/pull/5659)
302307

@@ -309,20 +314,20 @@ Tests:
309314
compiling using `clang` on Linux with the `-funsigned-char` flag.
310315
[#5545](https://github.com/pybind/pybind11/pull/5545)
311316

312-
- Test PyPy3.11 in CI.
313-
[#5534](https://github.com/pybind/pybind11/pull/5534)
314-
315317
- CI testing now includes
316318
`-Wwrite-strings -Wunreachable-code -Wpointer-arith -Wredundant-decls`
317319
in some jobs.
318320
[#5523](https://github.com/pybind/pybind11/pull/5523)
319321

320-
* Add nightly wheels to scientific-python's nightly wheelhouse.
322+
- Add nightly wheels to scientific-python's nightly wheelhouse.
321323
[#5675](https://github.com/pybind/pybind11/pull/5675)
322324

323-
* Expect free-threaded warning when loading a non-free-threaded module.
325+
- Expect free-threaded warning when loading a non-free-threaded module.
324326
[#5680](https://github.com/pybind/pybind11/pull/5680)
325327

328+
- Run pytest under Python devmode.
329+
[#5715](https://github.com/pybind/pybind11/pull/5715)
330+
326331
New and removed platforms:
327332

328333
- Support Python 3.14 (beta 1+).
@@ -337,15 +342,18 @@ New and removed platforms:
337342

338343
- Support for PyPy 3.11 added.
339344
[#5508](https://github.com/pybind/pybind11/pull/5508)
345+
And test in ci.
346+
[#5534](https://github.com/pybind/pybind11/pull/5534)
340347

341348
- Support for PyPy 3.8 and 3.9 was dropped.
342349
[#5578](https://github.com/pybind/pybind11/pull/5578)
343350

344351
- Support for Python 3.7 was removed. (Official end-of-life:
345-
2023-06-27). [#5191](https://github.com/pybind/pybind11/pull/5191)
352+
2023-06-27).
353+
[#5191](https://github.com/pybind/pybind11/pull/5191)
346354

347355
- Support for CMake older than 3.15 removed. CMake 3.15-4.0 supported.
348-
[#5304](https://github.com/pybind/pybind11/pull/5304) and fix regression [#5688](https://github.com/pybind/pybind11/pull/5688).
356+
[#5304](https://github.com/pybind/pybind11/pull/5304) and fix regression [#5691](https://github.com/pybind/pybind11/pull/5691).
349357

350358
- Use scikit-build-core for the build backend for the PyPI `pybind11`.
351359
The CMake generation has been moved to the sdist-\>wheel step.
@@ -362,7 +370,6 @@ New and removed platforms:
362370
- Support Windows C++20 and Linux C++23 in tests.
363371
[#5707](https://github.com/pybind/pybind11/pull/5707)
364372

365-
366373
## Version 2.13.6 (September 13, 2024)
367374

368375
New Features:

include/pybind11/detail/common.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@
2525
// Use 0xA0 (LEVEL=0xA, SERIAL=0) for development versions.
2626
// - For stable releases, set the serial to 0.
2727
#define PYBIND11_VERSION_RELEASE_LEVEL PY_RELEASE_LEVEL_GAMMA
28-
#define PYBIND11_VERSION_RELEASE_SERIAL 3
28+
#define PYBIND11_VERSION_RELEASE_SERIAL 4
2929
// String version of (micro, release level, release serial), e.g.: 0a0, 0b1, 0rc1, 0
30-
#define PYBIND11_VERSION_PATCH 0rc3
30+
#define PYBIND11_VERSION_PATCH 0rc4
3131
/* -- end version constants -- */
3232

3333
#if !defined(Py_PACK_FULL_VERSION)

0 commit comments

Comments
 (0)