-
Notifications
You must be signed in to change notification settings - Fork 2.2k
docs: prepare for v3.0.0rc1 #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
Conversation
ab3df83
to
1015c74
Compare
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 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? |
I'll try to do that soon. |
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. |
Which ones of these might we want to clean up for 3.0?
(Used ChatGPT to make that a table instead of a list) These are clearly unused:
|
@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. |
I am starting to try out the current master branch (mainly to get access to
|
Just speaking for myself: I was thinking a week or so after we merge #5564. |
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? |
Will drop this table in the docs somewhere, and add a warning in the changelog/upgrade guide that 3.x releases may remove anything producing a deprecation warning in 3.0. Any deprecation warnings introduced after 3.0 will be kept till at least 4.0.
|
…kip ci] [Browse prepv300/manuscript tree](https://github.com/rwgk/pybind11/tree/30b9c268aeb98308ea42aaccfd5fe454e173c6fc) [Browse prepv300/manuscript commits](https://github.com/rwgk/pybind11/commits/30b9c268aeb98308ea42aaccfd5fe454e173c6fc/)
Signed-off-by: Henry Schreiner <[email protected]>
Signed-off-by: Henry Schreiner <[email protected]>
…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.
[skip ci] Signed-off-by: Henry Schreiner <[email protected]>
Signed-off-by: Henry Schreiner <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR prepares for the v3.0.0 release by adding an upgrade guide, expanding the changelog, and refining related tooling and documentation.
- Introduce a detailed
docs/upgrade.rst
guide for migrating to v3.0 - Overhaul
docs/changelog.rst
with categorized entries and updatemake_changelog.py
to recognize new prefixes - Add a deprecation table in
docs/advanced/deprecated.rst
and tidy minor formatting in CMake and class docs
Reviewed Changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.
Show a summary per file
File | Description |
---|---|
tools/pybind11Config.cmake.in | Switch inline code to double-backtick formatting |
tools/make_changelog.py | Add new changelog categories for free-threading and CMake |
docs/upgrade.rst | Add v3.0 upgrade guide |
docs/classes.rst | Remove std:: qualifier for enable_if_t in example |
docs/changelog.rst | Populate in-development changelog for v3.0.0 |
docs/advanced/deprecated.rst | Add table of deprecated features |
Comments suppressed due to low confidence (2)
docs/upgrade.rst:28
- There's a duplicate word "some" in "we do some some backward compatibility"; consider reducing to "we provide backward compatibility" or similar.
If you haven't moved, we do some some backward compatibility ``PYTHON_*`` variables, but
docs/classes.rst:645
- Ensure that
enable_if_t
is in scope (e.g. viausing std::enable_if_t
or fully qualifying it) so that the example remains valid.
enable_if_t<is_fancy_enum<FancyEnum>::value>> : std::false_type {};
Signed-off-by: Henry Schreiner <[email protected]>
Signed-off-by: Henry Schreiner <[email protected]>
The low confidence comments were useful and the actual comments were not. :) I've changed the versioning convention to match CPython, where D1 is the development branch. We were using D1, which comes after the alpha/beta/rc's. Which means that if someone were checking this, this RC is actually a lower version than the development branch. CPython sets A0 as soon as work starts on that version, and A1 for the first dev release. Let's merge this soon, so I can do a followup that reworks the changelog into markdown. We also have a ton of breathe warnings, it would be nice to at least fix the one about the unexpected indentation. It might be hard to find, though, since it doesn't give a location. |
…for compatibility with C++11 and C++14.
I made a few minor corrections. Please see the last 5 tiny commits.
Sounds good! Please go ahead. |
Description
PENDING:
Suggested changelog entry: