core icon indicating copy to clipboard operation
core copied to clipboard

Introduce new process for entering changelog entries prior to release PR

Open mcmire opened this issue 1 year ago • 2 comments

Currently, we ask that when contributors submit a PR, they add changelog entries within the description of that PR. When a new release PR is created, the manager of the release then copies over the various changelog entries from the PRs involved in that release to various changelogs.

This process is problematic for a few reasons:

  1. Reviewers are used to using the PR description to understand the context behind the changes; they are not used to reviewing changelog entries there.
  2. If a reviewer wants to leave a suggestion for a changelog entry, it is awkward to do so in a comment on the Conversation tab. It would be more natural to attach that suggestion to a line on the Changes tab (the diff view).
  3. When preparing a release PR, it's a pain to go back through each PR to copy the changelog entries from the description into the final changelog. It would be easier to assume that they are in the correct form by the time that a release PR is created.

Putting this together, changelog entries often get missed in reviews, so in preparing a release PR, the release manager must spend time gathering context about PRs they may not have created themselves in order to reword them appropriately. Ideally, the team who introduced the change are the best people to describe that change in the changelog, and the time during which a change is being introduced is the best time to update the changelog.

To fix this, we can ask that contributors update changelogs in their PRs. However, we have another problem, which is that people still don't quite know how to do this (we find we have to make all kinds of corrections in release PRs). We should not only communicate the new process but also provide a better guide for filling out changelogs than what we have today.

Acceptance Criteria

  • We have documentation on the new process for updating changelogs (we can either add a new section to Contributing or make a new document in docs/).
  • We have better instructions on how to leave good changelog entries (and which changelog entries we are okay to omit). Again, perhaps another document in docs/.
  • The pull request template is updated to remove the Changes section and to ask that contributors update the changelog in the PR (perhaps adding a new item in the checklist at the end).

mcmire avatar Jun 06 '24 22:06 mcmire

Is there anything keeping us from applying this practice as standard to all repos that rely on auto-changelog and the create-release-pr action? If not, would it be better to move docs/reviewing-release-prs.md and the documentation articles proposed in this ticket into contributor-docs?

MajorLift avatar Jul 24 '24 13:07 MajorLift

We need documentation, update the PR template to include this in the check list, make a general announcement about this and push back on PRs that aren't doing this.

desi avatar Sep 19 '24 15:09 desi

Note that in order to complete this ticket, we will need to update auto-changelog to verify that all changelog entries have associated PR links: https://github.com/MetaMask/auto-changelog/issues/150. Typically, auto-changelog automatically adds these PR links in release PRs when it copies over changelogs. But if we shift the responsibility of updating changelogs from auto-changelog to contributors, it creates a bit of a chicken-and-egg situation, as contributors cannot add a PR link to a changelog entry that are adding until they create the PR. Therefore we need a verification step, otherwise there's a good chance that people will forget to add those links.

mcmire avatar Nov 25 '24 22:11 mcmire

As stated above, this ticket is still blocked on the above ticket, however, the documentation updates are available in a branch: https://github.com/MetaMask/core/tree/add-docs-for-new-changelog-process

mcmire avatar Feb 04 '25 16:02 mcmire

No longer making the auto-changelog bug a blocker for this.

There is also https://github.com/MetaMask/MetaMask-planning/issues/3678 for automatically adding a comment to enforce that people update changelogs along with changes. That is also not a blocker for this ticket but we should make sure we follow up on that.

mcmire avatar Mar 13 '25 15:03 mcmire