Skip to content

[WIP] Preparation for v3.0.0 release: Upgrade guide & Changelog #5589

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

Draft
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

rwgk
Copy link
Collaborator

@rwgk rwgk commented Mar 29, 2025

Description

PENDING:

Suggested changelog entry:


Browse prepv300/manuscript tree

Browse prepv300/manuscript commits

@rwgk rwgk force-pushed the prepv300/review branch 4 times, most recently from ff79927 to ab3df83 Compare March 30, 2025 16:46
@rwgk rwgk force-pushed the prepv300/review branch from ab3df83 to 1015c74 Compare March 30, 2025 21:56
@henryiii
Copy link
Collaborator

We should highlight the CMake change, moving the default to FindPython will affect a lot, even with the back-compat tricks we used. For example, this will no longer work cmake -DPYTHON_EXECUTABLE=..., it needs to be cmake -DPython_EXECUTABLE=....

We can do the changelog in a separate PR if you prefer, that's mostly autogenerated so might be easier to split them up.

@rwgk
Copy link
Collaborator Author

rwgk commented Mar 31, 2025

We can do the changelog in a separate PR if you prefer, that's mostly autogenerated so might be easier to split them up.

I was actually hoping that we can collaborate here, working on the Upgrade guide and Changlog together.

I'm mostly done with the Upgrade guide, except for two small-ish TODOs, to explain a couple traits structures. (I still need to add a couple matching tests.)

It'd be awesome if you could make a first pass for the Changelog. Maybe some items from there should be added to the Upgrade guide, and maybe we don't have to mention #5580 in the Upgrade guide, only the Changelog?

@henryiii
Copy link
Collaborator

I'll try to do that soon.

@henryiii
Copy link
Collaborator

Reminder TODO (maybe mostly to self): I'd like to try the scikit-build-core conversion and convert the changelog to markdown before 3.0.

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
@henryiii
Copy link
Collaborator

henryiii commented Apr 1, 2025

Which ones of these might we want to clean up for 3.0?

Feature Deprecated Version Year Notes
py::metaclass() 2.1 2017 A tiny bit of usage
PYBIND11_PLUGIN 2.2 2017 Still used (~3% on GitHub, but inflated by pybind11 forks), possibly in legacy code.
make_simple_namespace 2.8.1 2021 Added in 2.8.0, I can't find any usage
py::set_error() replacing operator() 2.12 2024
get_type_overload 2.6 2020
call() 2.0 2016
.str() ?
.get_type() 2.6 (no message) Making this produce a warning in #5596
== and != 2.2 2017 Error prone
.check() ?
object(handle, bool) ?
error_already_set.clear() 2.2 2017
obj.attr(…) as bool ?
.contains ? (maybe 2.4)
py::capsule two-argument with destructor ?

(Used ChatGPT to make that a table instead of a list)

These are clearly unused:

rwgk added 6 commits April 7, 2025 10:17
…er_shared_ptr_with_smart_holder_support_enabled, move_only_holder_caster_unique_ptr_with_smart_holder_support_enabled in Upgrade guide.
…xtension compatibility.

This isn't true, because we also modernized `PYBIND11_PLATFORM_ABI_ID`
(which I believe was absolutely necessary). I think it'll be too complicated
to explain that here, and there is a mention in the Upgrade guide.
@rwgk
Copy link
Collaborator Author

rwgk commented Apr 7, 2025

@henryiii I'm done with a round of adding some new material ...

... and a few tiny fix-up commits:

There is also #5603, adding a unit test to ensure that people can find a certain-to-work example after looking at the Upgrade guide. It'd be great to get that merged.

Next I'll try to work through the PENDING CLEANUP listed in the PR description.

@dyollb
Copy link
Contributor

dyollb commented Apr 14, 2025

I am starting to try out the current master branch (mainly to get access to py::native_enum). Do you have any idea when you will release v3? I will report any issues I face porting from v2.13.6 and also test if pybind11-stubgen needs to be updated ...

@rwgk
Copy link
Collaborator Author

rwgk commented Apr 14, 2025

Do you have any idea when you will release v3?

Just speaking for myself: I was thinking a week or so after we merge #5564.

@henryiii
Copy link
Collaborator

I'd also like to get #5598 in, I have a little to finish there. After that, I think we could make a beta or rc release, then maybe a week or so for full release?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants