Description
As discussed with @pablogsal , meta-issue to add the significant PEPs not yet added to the summary section of the What's New in Python 3.11, as well as PEPs that are not documented in the body of the What's New but probably should be.
Specifically, the PEPs not currently mentioned in the Summary - Release Highlights section are (written with a non-canonical -
so GitHub will link them):
- PEP-594 Removing dead stdlib batteries
- PEP-624 Remove Py_UNICODE encoder APIs
- PEP-657 Fine-grained error locations
- PEP-670 Macros to Functions in the C API
- PEP-678 Enriching exceptions with notes
- PEP-680: Tomllib
- PEP-681 Dataclass transforms
- PEP-682 Format specifier for signed zero (?)
These will be added to the relevant lists as appropriate, following the mold of the Python 3.10 What's New
- I've opened gh-95914: Add missing PEPs to the Summary section of 3.11 What's New #95916 to do so. Edit: Merged!
Most 3.11 PEPs are already described in other What's New sections, but a few are conspicuously missing and should probably be documented somewhere. I've cross referenced this with the PEP API, as well as Accepted/Final PEPs that were not tagged with a Python-Version (notably, PEP 654 was lacking it, which I also fixed):
-
PEP-624 Remove Py_UNICODE encoder APIs contains an Alternative APIs section that would be useful for porting, but is not mentioned at all anywhere in What's New. Documenting the change and migration guidance was a condition of the PEP's acceptance by the SC, so it seems we should list those APIs under the
Removed
section and add the migration guidance under theC API Changes
->Porting to Python 3.11
subsection.@methane any objections if I go ahead with that, or would you like to do it yourself (I can proofread as needed)- I went ahead and opened gh-95914: Add Py_UNICODE encode APIs removed in PEP 624 to 3.11 What's New #96016
-
PEP-654 Exception Groups and except* is listed in the Summary, but does not appear to be discussed at all in the body of the What's New, which it presumably should as it is a major new feature (and its related PEP 678 is documented under New Features, but is not listed in the Summary).
@iritkatriel @1st1 @gvanrossum you're listed as the authors; would one of you like to write a summary, or do you want me to draft something for your (and @pablogsal 's) review?Done, thanks @iritkatriel ! -
PEP-670 Convert Macros to Functions in the Python C API isn't mentioned anywhere; the intention with the specific PEP appears to be to avoid any backward compat impacts and be mostly transparent to users, but there is one significant change: With the limited ABI set to >=3.11, callers will need to cast arguments to their expected values. @erlend-aasland @vstinner , should at least this (and maybe a mention of the broader change) be including in C API Changes -> Porting to Python 3.11 subsection?
- On the suggestion of @erlend-aasland , I've opened gh-95914: Add What's New item describing PEP 670 changes #98315 to finally implement this
Then, once those are dealt with, we should finally:
- Link the relevant What's New sections and other index targets in the respective summary items, so readers can quickly jump to more information about them
Related: #95913
Metadata
Metadata
Assignees
Projects
Status
Done