cpython icon indicating copy to clipboard operation
cpython copied to clipboard

Misplaced NEWS entries

Open serhiy-storchaka opened this issue 1 month ago • 3 comments

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

serhiy-storchaka avatar Dec 09 '25 14:12 serhiy-storchaka

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 avatar Dec 14 '25 10:12 serhiy-storchaka

@serhiy-storchaka I’d be happy to help continue this cleanup for 3.13 and older.

Aniketsy avatar Jan 03 '26 13:01 Aniketsy

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 import system, 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 or PyAPI_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: ast is 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".

picnixz avatar Jan 04 '26 11:01 picnixz