[Python-Dev] Split Misc/NEWS into individual files

Victor Stinner victor.stinner at gmail.com
Wed Feb 22 07:27:57 EST 2017


Hi,

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":
https://pypi.python.org/pypi/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:
https://github.com/python/core-workflow/issues/6

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?

Victor


More information about the Python-Dev mailing list