Skip to content
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

Docs: move deprecations into include files #122085

Open
5 tasks done
hugovk opened this issue Jul 21, 2024 · 3 comments
Open
5 tasks done

Docs: move deprecations into include files #122085

hugovk opened this issue Jul 21, 2024 · 3 comments
Labels
docs Documentation in the Doc dir

Comments

@hugovk
Copy link
Member

hugovk commented Jul 21, 2024

Documentation

Re: https://discuss.python.org/t/streamline-whats-new-by-moving-deprecations-and-removals-out-of-news/53997/8

To avoid needing to duplicate and sync the deprecation sections across What's New files, and ease backports, move them into include files.

  • Python:
    • Use include files for whatsnew/3.12.rst deprecations
    • Use include files for whatsnew/3.13.rst deprecations
    • Use include files for whatsnew/3.14.rst deprecations
  • C API:
    • Use include files for deprecations
  • Create dedicated page to list deprecations using include files

Linked PRs

@hugovk hugovk added the docs Documentation in the Doc dir label Jul 21, 2024
hugovk added a commit to hugovk/cpython that referenced this issue Jul 24, 2024
…recations (pythonGH-122093)

(cherry picked from commit b3b7b7d)

Co-authored-by: Hugo van Kemenade <[email protected]>
hugovk added a commit to hugovk/cpython that referenced this issue Jul 24, 2024
…recations (pythonGH-122093)

(cherry picked from commit b3b7b7d)

Co-authored-by: Hugo van Kemenade <[email protected]>
hugovk added a commit that referenced this issue Jul 24, 2024
hugovk added a commit that referenced this issue Jul 24, 2024
nohlson pushed a commit to nohlson/cpython that referenced this issue Jul 24, 2024
nohlson pushed a commit to nohlson/cpython that referenced this issue Jul 24, 2024
hugovk added a commit to hugovk/cpython that referenced this issue Jul 27, 2024
…recations (pythonGH-122242)

(cherry picked from commit 4e75509)

Co-authored-by: Hugo van Kemenade <[email protected]>
hugovk added a commit to hugovk/cpython that referenced this issue Jul 27, 2024
…recations (pythonGH-122242)

(cherry picked from commit 4e75509)

Co-authored-by: Hugo van Kemenade <[email protected]>
hugovk added a commit that referenced this issue Jul 28, 2024
miss-islington pushed a commit to miss-islington/cpython that referenced this issue Jul 28, 2024
)

(cherry picked from commit aa449cf)

Co-authored-by: Hugo van Kemenade <[email protected]>
Co-authored-by: Adam Turner <[email protected]>
miss-islington pushed a commit to miss-islington/cpython that referenced this issue Jul 28, 2024
)

(cherry picked from commit aa449cf)

Co-authored-by: Hugo van Kemenade <[email protected]>
Co-authored-by: Adam Turner <[email protected]>
hugovk added a commit that referenced this issue Jul 28, 2024
@AA-Turner
Copy link
Member

Anything left outstanding?

A

@hugovk
Copy link
Member Author

hugovk commented Jul 29, 2024

@ezio-melotti and @encukou discussed some rearrangements in #121241 (comment), now is a good time for that. What did you have in mind?

AA-Turner added a commit that referenced this issue Jul 29, 2024
AA-Turner added a commit that referenced this issue Jul 30, 2024
@ezio-melotti
Copy link
Member

What did you have in mind?

I'm looking at the ToC of What's new in 3.13, which looks like:

...
Optimizations
Removed Modules And APIs
    ...
New Deprecations
    Pending Removal in Python 3.14
    Pending Removal in Python 3.15
    Pending Removal in Python 3.16
    Pending Removal in Future Versions
CPython Bytecode Changes
C API Changes
    New Features
Build Changes
Porting to Python 3.13
    Changes in the Python API
    Changes in the C API
    Removed C APIs
    Deprecated C APIs
    Pending Removal in Python 3.14
    Pending Removal in Python 3.15
    Pending Removal in Future Versions
Regression Test Changes
...

There are a few issues here:

  1. The "Pending Removal"s don't seem to belong under "New Deprecations", assuming they also include existing deprecations carried over from previous versions.
  2. It also seems that some (all?) new deprecations are also duplicated under the "Pending Removal"s.
  3. All these sections except "Pending Removal in Future Versions" have no introductory paragraph to explain briefly what are they listing (possibly including the fact that some entries are duplicated and that old deprecations are included too).
  4. Under "Porting to Python 3.13" there's another set of "Pending Removal"s, with no clear indication of the difference with the previous set. Since the title is the same, it creates a conflict in the link fragment (and the fragment is replaced by an #idxx)
  5. This part also doesn't mirror the previous one, with "Deprecated C APIs" seemingly being the C equivalent of the previous "New Deprecations", even though it's now on the same level.
  6. This new set of "Pending Removal"s seems to be about C APIs, but this is not clear from the title, and it's also not explicitly mentioned in the sections themselves.
  7. The "Porting to Python 3.13" section should arguably also contains the first set of "Pending Removal"s, or maybe both sets should be moved before and referenced where needed.
  8. "Pending Removal in Python 3.16" is missing from the second set (maybe intentionally if there are no new deprecations? should it still be added with a short note stating that there are currently no deprecations about features removed in 3.16?)

Taking a step back, we might want to separate both Python changes from C changes (this applies to rest too) or new vs existing deprecations (this only applies to deprecation), i.e.:

Python changes
  New APIs
  Deprecations
     New Deprecations
     Pending removal in 3.x
     Pending removal in future versions
C changes
  New APIs
  Deprecations
     New Deprecations
     Pending removal in 3.x
     Pending removal in future versions

or

...
New APIs
  Python APIs
  C APIs
Deprecations
  New Deprecations
    Python Deprecations
    C Deprecations
  Pending removal in 3.x
    Python
    C
  ...
  Pending removal in future versions
    Python
    C

IOW, either the structure of the document is confusing (and should be fixed), or I am misunderstanding it (which probably means that it's confusing (and should be fixed)).

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

No branches or pull requests

3 participants