Annaxs opened a new issue, #1145:
URL: https://github.com/apache/pulsar-site/issues/1145

   ## Summary
   
   Release notes are currently compiled manually at release time, requiring a 
committer to categorise and summarise all merged PRs after the fact. This is 
time-consuming and produces release notes written by someone other than the PR 
author, when context about the change is no longer fresh.
   
   ## Proposed approach
   
   Adopt an incremental model where release note content is contributed by the 
PR author at merge time, then compiled automatically at release time.
   
   ### 1. PR template change (`apache/pulsar`)
   
   Add a `### Release notes` section to `.github/PULL_REQUEST_TEMPLATE.md`. 
Authors fill this in when their change requires operator attention, a notable 
behaviour change, or upgrade considerations. Example:
   
   ```markdown
   ### Release notes
   
   #### Changed default value of `managedLedgerMaxEntriesPerLedger`
   The default has changed from 50000 to 10000. Clusters upgrading from < 3.x 
should review this setting before upgrading.
   ```
   
   PRs that contain this section are labelled `release-notes` at review time.
   
   ### 2. Compilation script (`apache/pulsar-site`)
   
   A Python + uv script collects all `release-notes`-labelled PRs merged since 
the last release, extracts the `### Release notes` section from each PR 
description, normalises markdown heading levels (e.g. `####` → `##`, `#####` → 
`###`), and compiles them into a structured release notes document.
   
   Script header (uv inline dependencies, no install required):
   
   ```python
   #!/usr/bin/env -S uv run
   # /// script
   # requires-python = ">=3.12"
   # dependencies = [
   #     "requests>=2.31.0",
   #     "PyGithub>=2.1.1",
   # ]
   # ///
   ```
   
   ### 3. Upgrade considerations flag (optional)
   
   A PR author can add `upgrade-attention: true` as a marker within their 
release note block. The script uses this to auto-populate a dedicated **Upgrade 
Considerations** section at the top of the release notes.
   
   ## Why this approach
   
   - Release note content is written by the author when context is fresh
   - No new tooling for contributors — just a markdown section in the PR 
description
   - Compiler script is a standalone Python file, runnable by any release 
manager with `uv` installed
   - Label-based filtering is reliable (GitHub text search is not)
   - Heading level normalisation means authors don't need to think about the 
final document structure
   
   ## Related
   
   - Discussed on the Apache Pulsar Slack #dev channel, May 2026
   - Lari Hotari noted the Gradle incremental release notes model as inspiration
   - Release process docs: 
https://pulsar.apache.org/contribute/release-process/#update-the-document


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to