We currently have Deprecated and Removed sections in What’s New. I think it would be wise to emphasise future removals by also mentioning them in “in-between” versions, by introducing a Pending Removal section.
Example, deprecating method spam.eggs() in 3.11, scheduled for removal in 3.13:
3.11 What’s New, Deprecated: undocumented method spam.eggs() is deprecated, scheduled for removal in Python 3.13
3.12 What’s New, Pending Removal: deprecated method spam.egg() is pending removal, scheduled for removal in Python 3.13
3.13 What’s New, Removed: deprecated method spam.egg() is removed
As a (pytest) user and (Pillow) maintainer I find these lists useful: to respectively check where I need to change my code, what needs to be removed in the next release.
I think it would, especially if we can generate it (mostly) automatically. This should be doable, since all deprecated features should be marked with either the deprecated or the deprecated-removed Sphinx directives. (Side note: we should use deprecated-removed more often, since currently we have 30 compared to 225 deprecated – Edit: https://github.com/python/cpython/issues/92564)
The whatsnew could either just link to this new page, or its content could be copied into the whatsnew at release time.