-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RFC] Making the changelog audience-oriented #12555
Comments
@webknjaz I agree there were misuses of the Process section and I take a mental note to be more careful when reviewing the news fragments. Your proposed changes make a lot of sense but I'm not sure it's worth the effort? |
Changing the fragment types and adding some explanatory guidance is a one time thing. Then, people would have a document to follow. It could be useful to have a flow-chart even. As for the process as a category I think that in your PR @pradyunsg even suggested removing it completely. Which I think makes sense because it's not clear who it's for in the first place. As it is unclear in what cases one would want to add a note to that section. It's not interesting for the end-users to see how the maintainers changed their operation over time, but is interesting to a subset who are contributors. That's something that could be explained. Still, I'm not sure how well this fragment name corresponds its intended purpose, then. |
UPD: last week I participated in the pytest development sprint and implemented the same thing there. Folks seem to be pretty happy with the new categories. And the effort to implement the new config is pretty low (mostly copying and adjusting a few things). @sbidoul @pradyunsg so if there's interest in moving this forward, I'll be happy to submit a PR for discussion. Or you could tag whoever you think might have opinions/be affected for commenting here… Personally, I'm convinced that this is a kind of low-effort high-impact change that would be useful in the project, which is why I'm implementing it in more of mine. |
Please go ahead with a PR. |
Previously, the change log had a section called "Process". And some of the incoming pull requests would add change notes there when they couldn't be put into other categories. Using it like that is not a good idea. This patch rethinks the categorization and the audiences of a few common change types and defines respective categories that replace "Process". The new categories are: * `packaging` -- news for downstream re-packagers * `contrib` -- news for regular project participants * `misc` -- public change log for things that don't fit anywhere but are useful Resolves pypa#12555
Previously, the change log had a section called "Process". And some of the incoming pull requests would add change notes there when they couldn't be put into other categories. Using it like that is not a good idea. This patch rethinks the categorization and the audiences of a few common change types and defines respective categories that replace "Process". The new categories are: * `packaging` -- news for downstream re-packagers * `contrib` -- news for regular project participants * `misc` -- public change log for things that don't fit anywhere but are useful Resolves pypa#12555
Previously, the change log had a section called "Process". And some of the incoming pull requests would add change notes there when they couldn't be put into other categories. Using it like that is not a good idea. This patch rethinks the categorization and the audiences of a few common change types and defines respective categories that replace "Process". The new categories are: * `packaging` -- news for downstream re-packagers * `contrib` -- news for regular project participants * `misc` -- public change log for things that don't fit anywhere but are useful Resolves pypa#12555
Previously, the change log had a section called "Process". And some of the incoming pull requests would add change notes there when they couldn't be put into other categories. Using it like that is not a good idea. This patch rethinks the categorization and the audiences of a few common change types and defines respective categories that replace "Process". The new categories are: * `packaging` -- news for downstream re-packagers * `contrib` -- news for regular project participants * `misc` -- public change log for things that don't fit anywhere but are useful Resolves pypa#12555
Previously, the change log had a section called "Process". And some of the incoming pull requests would add change notes there when they couldn't be put into other categories. Using it like that is not a good idea. This patch rethinks the categorization and the audiences of a few common change types and defines respective categories that replace "Process". The new categories are: * `packaging` -- news for downstream re-packagers * `contrib` -- news for regular project participants * `misc` -- public change log for things that don't fit anywhere but are useful Resolves pypa#12555
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:
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
andpackaging
. 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 asmisc
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 ofnox
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
The text was updated successfully, but these errors were encountered: