[Python-Dev] Split Misc/NEWS into individual files
victor.stinner at gmail.com
Wed Feb 22 07:27:57 EST 2017
As an user, I like Misc/NEWS changelog. I like reading
https://docs.python.org/dev/whatsnew/changelog.html#changelog after a
minor Python release to see all bugfixes.
As a developer, I deeply hate this file :-) It's very painful to:
* find the latest Python version in this giant file
* find the right section
* ... handle merge conflicts!!!
* understand how this thing works on multiple Python versions
The last point was always a mystery for me. If we make a change in
Python 3.5.3, merge it into the 3.6 branch: should we document the
change in 3.5.3 and 3.6.0 changelog? What if 3.6.0 is released
*before* 3.5.3? What if 3.6.0 is released *after* 3.5.3?
IMHO developers should not have to think about the release date when
writing a changelog, we need a tool doing that for us.
OpenStack happily fixed this issue one or two years ago with "reno":
It's a simple tool building a changelog from a list of files: each
file describe a change of a commit. The filename is the commit
identifier. Simple, isn't it?
OpenStack has something like 100x more commits than CPython (the
overall OpenStack project). It's just a giant project and so many
people and pull requests which can remain open for months.
Very obvious win of individual files: no more merge conflict in two
concurrent changes, since each commit adds its own file.
My idea is not new, it's already discussed in the Python core-workflow:
I'm opening a thread on python-dev because Misc/NEWS quickly became a
blocker issue with the Python new workflow.
What do you think of the overall idea?
More information about the Python-Dev