Skip to content

Conversation

@ptgott
Copy link
Contributor

@ptgott ptgott commented Apr 4, 2025

Change the process for updating CHANGELOG.md to reflect the one that we use when preparing releases.

@ptgott ptgott added the no-changelog Indicates that a PR does not require a changelog entry label Apr 4, 2025
@ptgott ptgott requested a review from camscale April 4, 2025 15:34
@github-actions github-actions bot requested a review from kiosion April 4, 2025 15:35
@github-actions github-actions bot requested a review from probakowski April 4, 2025 15:35
@ptgott ptgott force-pushed the paul.gottschling/2025-04-03-changelog branch 2 times, most recently from 3262f97 to 226d825 Compare April 8, 2025 17:53
Comment on lines 70 to 71
`branch/v20` must end with `v20` release notes and `master` must end with
`v21` release notes.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How is the changelog on master used? When doing releases, we never touch master. Looking at the changelog on master, it seems to mostly have draft release notes for the upcoming release, so right now it has draft v18 release notes. When v18 is cut from master v18 will have those release notes, but so will master. There will be a period of time that master will not have the next version release notes - I expect draft release notes may not come for months.

Do we need to differentiate between a just cut release branch for the first alpha release and the first actual release on that branch?

Should the changelog on a release branch contain only entries for that major version? That is, should we start a new release branch with the draft release notes only for that upcoming release which then get updated to published release notes when the release is made? And then just add release notes for that major release to that branch's changelog?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How is the changelog on master used?

On the current docs site, the master changelog is visible at a URL path similar to /docs/ver/18.x. On the previous docs site (based on gravitational/docs), we would only display the changelog for the default docs version. We haven't added logic to the docs build to use a single version of the changelog like we have for the Upcoming Releases page.

Do we need to differentiate between a just cut release branch for the first alpha release and the first actual release on that branch?

I don't think so. Once we publish the first actual release on a major version, we change the default version of the docs site: there's already a distinction between the edge version (which can include alpha releases) and the default docs version.

Should the changelog on a release branch contain only entries for that major version? That is, should we start a new release branch with the draft release notes only for that upcoming release which then get updated to published release notes when the release is made? And then just add release notes for that major release to that branch's changelog?

The docs site only shows the edge version (master), the latest supported major version, and the previous two major versions. If we were to include a changelog only for entries under each version of the docs site, only four versions (included master) would be included in the changelog, and a user wouldn't be able to see changes included in EOL versions.

That said, we could only include release notes for a single version of the changelog on the appropriate version of the docs site, then provide instructions for navigating to the changelog on an EOL release branch.

Would it make sense to rephrase the paragraph as:

  For example, if we cut `branch/v20` from `master`, the `CHANGELOG.md` on
  `branch/v20` must end with `v20` release notes. `master` can end with draft notes
  for changes that will likely be included in the upcoming release.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The first sentence of that paragraph means each release branch has only changelog entries for that major version, which as you say means "a user wouldn't be able to see changes included in EOL versions." Do we need to do something about that? (see below)

For updating master, I suggest we say something like the CHANGELOG.md on master should be updated with a heading for the next major version under which features can be added during development on master.

We have the preflight checklist for cutting a new release branch, so this just needs to be an item to be added to roll the master changelog to the next version.

WRT EOL versions, perhaps we could append the freshly EOL version's changelog to the subsequent release's changelog? So when looking at the v15 changelog now, it would go all the way back to v1. When we release v18 and stop supporting v15, we add the v15 changelog to the end of the v16 changelog. That way there is a complete changelog available and we don't need to worry about maintaining concurrent changelogs across branches as we maintain those releases.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll add the suggested wording re: master, thanks!

One issue with regard to adding the newly EOL changelog to the subsequent releases's changelog is that we'd need to work out a way to make the EOL changelog discoverable. I'm not sure this is straightforward, but I'm happy to work on ways to make this work.

I might make sense to save the work on EOL versions for a separate PR so we can take care of it when we have a plan to make the EOL changelog discoverable.

@ptgott ptgott requested a review from camscale April 21, 2025 21:13
@ptgott ptgott force-pushed the paul.gottschling/2025-04-03-changelog branch 2 times, most recently from ae8eee0 to 4d9993e Compare April 25, 2025 13:26
@ptgott ptgott force-pushed the paul.gottschling/2025-04-03-changelog branch 2 times, most recently from cb7aaf3 to dba3ab9 Compare May 6, 2025 18:40
@ptgott
Copy link
Contributor Author

ptgott commented May 7, 2025

@camscale Just checking to see if you were planning to give the discussion in this PR another look. Thanks!

@camscale
Copy link
Contributor

camscale commented May 8, 2025

Just checking to see if you were planning to give the discussion in this PR another look. Thanks!

@ptgott Sorry, it slipped past. Replied above in thread.

ptgott added 2 commits May 12, 2025 14:47
Change the process for updating CHANGELOG.md to reflect the one that we
use when preparing releases.
- Include clearer expectations for the most recent content of the
  `master` CHANGELOG.
@ptgott ptgott force-pushed the paul.gottschling/2025-04-03-changelog branch from dba3ab9 to 5fa1195 Compare May 12, 2025 19:04
@ptgott ptgott added this pull request to the merge queue May 13, 2025
Merged via the queue into master with commit 1846b69 May 13, 2025
40 checks passed
@ptgott ptgott deleted the paul.gottschling/2025-04-03-changelog branch May 13, 2025 18:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-changelog Indicates that a PR does not require a changelog entry size/sm

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants