Description
So I talked to @pradyunsg privately and he thought that it might be a good idea to have a follow-up discussion regarding something that I mentioned in #12539. I'm pasting it below:
Hmm... looking back at our actual usage of the changelog, it might make sense to drop this section entirely and split the deprecations and removals into separate categories.
I also looked into a few recent releases @ https://pip.pypa.io/en/latest/news/ with Ctrl+F
for "Process". The draft section has news about contributor and downstream-facing changes in this category. The 24.0 one is downstream/packaging; 23.3 is contrib; 23.2 is a feature deprecation (?); 22.2 is more of a bugfix (or forward compat / feature).
So I think that it is indeed misused, however this is probably a consequence of the category being generic and its purpose being seemingly underdefined. Changing it into specific focused and well-documented categories, like I did elsewhere, might be the thing that could improve clarity going forward. Building a shared understanding of what's the purpose of the fragment types is useful regardless of removal.
I understand where the proposal to get rid of it is coming from but it seems to me that making it clearer by splitting would be more useful to the changelog consumers compared to sticking these entries into categories that might be even less related.
Originally posted by @webknjaz in #12539 (comment)
I was recently improving the changelog structure in the @aio-libs projects, looking into what pip does, among others. I ended up putting a similar section towards the end but re-framing it as several more granular sections like contributor-facing and downstream/packaging-friendly. See https://yarl.aio-libs.org/en/latest/changes/ + https://github.com/aio-libs/yarl/blob/bd5ff24/towncrier.toml#L18-L68. I documented their purpose like so https://yarl.aio-libs.org/en/latest/contributing/guidelines/#alright-so-how-to-add-a-news-fragment.
I thought, you'll find this example useful, perhaps.
Originally posted by @webknjaz in #12539 (comment)
With the above in mind, I propose replacing the process
change fragment type with two new types — contrib
and packaging
. These would target two groups of people that somewhat intersect, sometimes, but not always — contributors to pip (people who are impacted by automation and contribution process changes) and packagers (mostly the downstream maintainers), respectively.
As I see it, the old process
' purpose was so vague that it resulted in it being misused as misc
since its purpose was broad and not defined very clearly. By defining the suggested changelog categories granularly, the chance of accidental misuse is going to be reduced. Besides, there would be an obvious place in the news for these changelog consumers to look at. The positioning would remain towards the end since most readers are end-users (and care about features, deprecations, breaking changes).
Example of changes to go to contrib
: adding a step to the pre-PR checklist, changing behavior of nox
commands, recording things related to the contribution/review process in the docs, new limitations/updates on the dev/test envs (locally and in CI), changing testing prerequisites (e.g. testrunner reconfiguration).
Example of changes for packaging
: bumping runtime and build deps, including/excluding files from sdists, dropping/adding support for Python runtimes, testrunner reconfiguration (since they normally run tests too, when repackaging).
cc @sbidoul