Misplaced NEWS entries
Bug report
I noticed a common error -- a NEWS entry for changes in the stdlib can be added in the "Core and Interpreter" section instead of "Library".
Some errors I only noticed after merging a PR and creating backports, in which case I fixed them immediately. But I reviewed NEWS entries since 3.15 and found many others. I am sure there are errors in older entries.
Linked PRs
- gh-142464
- gh-142688
- gh-142702
- gh-143392
- gh-143411
I'm leaving this open for a while, in case someone wants to continue the work for 3.13 and older. It's also possible that I missed something. There may be other errors.
@serhiy-storchaka I’d be happy to help continue this cleanup for 3.13 and older.
Since people don't seem to have a definition of what "Library" and "Core and Builtins" is meant to represent here is a non-exhaustive list of points to check before making any PR or changes:
- IF YOU DON'T KNOW, ASK (you can ping me). I prefer being pinged rather than having to review and say "it's wrong". It wastes both your and my time.
- If you are not 100% sure about the change, check the commit to see what happened. The NEWS entry may be incomplete or imprecise enough that you may miss the semantics of the change.
- A NEWS entry may be present in multiple branches due to backports. Check them.
Now, here are some tips about categorizing the change:
- Everything related to built-ins must be considered as part of "Core and Builtins" or "C API". This also includes anything impacting the methods of a built-in.
- Changes related to the
importsystem, the parser, the lexer, exceptions, are meant to be under "Core and Builtins" or "C API". - The distinction between a change put in "Core and Builtins" and "C API" depends on whether the change impacted the interpreter itself or a
PyAPI_FUNC-annotated function orPyAPI_DATA-annotated variable. - Changes to pure Python modules are usually put under "Library". Changes to C modules that are located in
Modules/are also put under "Library". Be careful:astis part of the core interpreter and thus should be reflected in "Core and Builtins", including everything related to AST construction. - Changes to compile-time detection should be moved to "Build". More generally, everything related to how Python is built or configured, possibly depending on the platform, is a "Build" change.
Most of the time, we put something in "Core and Builtins" that should have been put in "Library" or vice-versa. It's quite rare to have a change for "C API" or "Build".