Skip to content

Conversation

@brianseeders
Copy link
Contributor

@brianseeders brianseeders commented Mar 5, 2025

The release notes for 9.0 are in an entirely new structure compared to 8.x and prior. Not only are the release notes now in markdown, but all release notes now live in main, instead of on the branch for the given version.

So, when we generate the release notes files, we're now generating release notes for all versions at the same time, instead of just one. To make this possible, I'm introducing ChangelogBundles, which are just yaml files that contain all of the changelogs for a given version, bundled up into one file. That way, we can re-generate all release notes for all versions at any time.

My two main goals, outside of supporting the new format/structure were:

  • Keep the changelog process the same for developers working on ES
  • Make correcting release notes simpler (it's so complicated right now that basically only ES Delivery folks can do it)

Here's what the process now looks like (it's automated, this is just for reference):

# After a BC is cut:
./gradlew bundleChangelogs --branch <branch> --bc-ref <bc_sha>
./gradlew generateReleaseNotes
# commit the changes

# After the release is finalized/released:
./gradlew bundleChangelogs --branch <branch> --bc-ref <bc_sha> --finalize
./gradlew generateReleaseNotes
# commit the changes

# That's it!

Adding missing changelogs or correcting existing ones after a BC is cut is indeed much simpler:

  • If the release and the release notes have not been finalized yet:
    • Add or update the docs/changelog/<PR>.yaml file
    • Commit / PR / Backport
  • If the release and notes have been finalized
    • Add or update an entry in the final docs/release-notes/changelog-bundles/<version>.yml file`
    • Run ./gradlew generateReleaseNotes
    • Commit / PR (only needed on main)

I have already been using this branch to generate the release notes for 9.0+.

Once this is merged, I will also update the release automation to use it.

@leemthompo
Copy link
Contributor

leemthompo commented Mar 25, 2025

FYI this PR to update headings might be relevant to your templates: #125548

@brianseeders brianseeders changed the title [wip] Update release notes automation to use new markdown format [release-notes] Update automation to use new markdown format May 22, 2025
@brianseeders brianseeders added >docs General docs changes :Delivery/Tooling Developer tooliing and automation and removed v9.0.3 labels May 22, 2025
@brianseeders brianseeders marked this pull request as ready for review May 22, 2025 20:25
@brianseeders brianseeders requested a review from a team as a code owner May 22, 2025 20:25
@brianseeders brianseeders requested a review from leemthompo May 22, 2025 20:25
@elasticsearchmachine elasticsearchmachine added Team:Docs Meta label for docs team Team:Delivery Meta label for Delivery team labels May 22, 2025
@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/es-docs (Team:Docs)

@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/es-delivery (Team:Delivery)

Copy link
Contributor

@leemthompo leemthompo left a comment

Choose a reason for hiding this comment

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

Output looks good based on 9.0.2 updates. Thanks for all your work on this @brianseeders !

@brianseeders brianseeders merged commit c2ad34b into elastic:main May 28, 2025
16 of 19 checks passed
@brianseeders brianseeders deleted the docs-automation-md branch May 28, 2025 18:53
Samiul-TheSoccerFan pushed a commit to Samiul-TheSoccerFan/elasticsearch that referenced this pull request Jun 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

:Delivery/Tooling Developer tooliing and automation >docs General docs changes >non-issue Team:Delivery Meta label for Delivery team Team:Docs Meta label for docs team v9.1.0

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants