You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use GitHub release notes plus commit data so direct-push
changes are included, and update the prompt to dedupe and
reference commits or PRs consistently.
Generate release notes for version ${{ inputs.tag }}.
2
-
Read the file `github_changes.tmp.json` in the current directory. It contains an array
3
-
of commits between the previous and current release tags, each with:
4
-
- sha: the commit SHA
5
-
- fullMessage: the full commit message (multiline)
6
-
- shortMessage: the first line of the commit message
7
-
- author: the commit author name
8
-
- date: the commit date (ISO 8601)
9
-
- url: the commit URL on GitHub
10
-
- pr: the associated PR info (number, title, body, url, author, labels, merged_at) or null if directly committed
11
-
12
-
Use ONLY this data — do not look up additional history.
2
+
3
+
Read the file `github_changes.tmp.json` in the current directory. It has this shape:
4
+
5
+
```json
6
+
{
7
+
"current_tag": "YYYY.MM.DD.N",
8
+
"previous_tag": "YYYY.MM.DD.N",
9
+
"github_generated_notes": "<markdown string from GitHub's generate-notes API>",
10
+
"commits": [
11
+
{
12
+
"sha": "<short sha>",
13
+
"message": "<first line of commit message>",
14
+
"author": "<name>",
15
+
"date": "<ISO 8601>",
16
+
"url": "<commit URL>"
17
+
}
18
+
]
19
+
}
20
+
```
21
+
22
+
**Two sources, both equally important:**
23
+
24
+
-`github_generated_notes` — A markdown list of **merged PRs** in this release, generated server-side by GitHub. This is the authoritative source for changes that came in via pull request.
25
+
-`commits` — Every commit in the range between the previous and current tag. This is the authoritative source for **direct-push changes** (commits not associated with a PR). Many real changes land this way.
26
+
27
+
**Deduplication:** A commit and a PR entry may describe the same change (e.g., a PR merge commit). When they clearly refer to the same thing, include it once — prefer the PR entry since it has richer metadata (number, author). Do not list a change twice.
28
+
29
+
Use ONLY data from these two sources — do not look up additional history.
13
30
14
31
---
15
32
@@ -33,23 +50,24 @@ The release notes must follow this structure, in this order, with no additional
33
50
backwards-incompatible changes. Each bullet should:
34
51
- Clearly state what changed and what the impact is
35
52
- Link to a migration guide or workaround if one exists
36
-
- Reference the PR or issue number in parentheses at the end
53
+
- Reference the PR or issue number in parentheses at the end, or the commit SHA if no PR exists
37
54
If there are NO breaking changes, omit this entire section entirely. Do not include the heading with an empty list.
38
55
39
-
5.**New Features** — An H3 section (🆕 icon) listing new capabilities. Each bullet should:
56
+
5.**New Features** — An H3 section (✨ icon) listing new capabilities. Each bullet should:
40
57
- Bold the feature name, followed by an em dash, then a one-sentence description
41
-
- Reference the PR or issue number in parentheses at the end
42
-
- Example: **Feature Name** — Description of the feature. (#1234)
58
+
- Reference the PR number in parentheses at the end, or the short commit SHA if no PR exists
59
+
- Example (PR): **Feature Name** — Description of the feature. (#1234)
60
+
- Example (direct push): **Feature Name** — Description of the feature. (abc1234)
43
61
44
62
6.**Bug Fixes** — An H3 section (🐛 icon) listing resolved issues. Each bullet should:
45
63
- Start with "Fixed", "Resolved", or "Corrected"
46
64
- Briefly describe the bug and its fix
47
-
- Reference the PR or issue number in parentheses at the end
65
+
- Reference the PR number or commit SHA in parentheses at the end
48
66
- Example: Fixed an issue where [description of bug]. (#5678)
49
67
50
-
7.**Other Changes** — An H3 section (📦 icon) for deprecations, notable internal improvements, or anything that doesn't fit above, but only when it is meaningful to end users, operators, or integrators. Do NOT include items that are purely dependency updates or purely CI/workflow/build-pipeline maintenance. Same bullet format as the other sections.
68
+
7.**Other Changes** — An H3 section (🔧 icon) for deprecations, notable internal improvements, or anything that doesn't fit above, but only when it is meaningful to end users, operators, or integrators. Do NOT include items that are purely dependency updates or purely CI/workflow/build-pipeline maintenance. Same bullet format as the other sections.
51
69
52
-
8.**Contributors** — An H3 section (🙏 icon) listing the people who contributed, prefixed with @. Format as a comma-separated line:
70
+
8.**Contributors** — An H3 section (👥 icon) listing the people who contributed, prefixed with @. Format as a comma-separated line:
53
71
Thanks to the following people who contributed to this release:
54
72
@username1, @username2, @username3
55
73
@@ -60,10 +78,11 @@ The release notes must follow this structure, in this order, with no additional
60
78
- Do NOT add sections not listed above (no Upgrade Instructions, no Links, no FAQ, etc.).
61
79
- Breaking Changes comes immediately after Overview, before New Features.
62
80
- If a section has no items, omit the section and its heading entirely — do not leave an empty section.
63
-
- Exclude changes that are purely dependency/version bumps, lockfile refreshes, package manager maintenance, or similar dependency housekeeping unless the input clearly shows a user-visible impact that should be called out.
64
-
- Exclude changes that are purely CI, GitHub Actions, workflow, release automation, test harness, or build-pipeline maintenance unless the input clearly shows a user-visible operational impact that belongs in release notes.
65
-
- If a PR or commit mixes substantive product changes with dependency or CI/workflow churn, include only the substantive product-facing change and ignore the maintenance-only parts.
66
-
- Every bullet must end with a PR or issue number in parentheses, e.g. (#1234), unless the input provides none.
81
+
- Treat direct-push commits as full equals to PR-based changes — do not bury or omit them because they lack a PR number.
82
+
- Exclude changes that are purely dependency/version bumps, lockfile refreshes, or package manager maintenance unless there is a clear user-visible impact.
83
+
- Exclude changes that are purely CI, GitHub Actions, workflow, release automation, test harness, or build-pipeline maintenance unless there is a clear user-visible operational impact.
84
+
- If a PR or commit mixes substantive product changes with dependency or CI/workflow churn, include only the substantive product-facing change.
85
+
- Every bullet must end with a PR number (#NNN) or short commit SHA in parentheses. Only omit a reference if the input provides absolutely none.
67
86
- Keep the narrative overview concise (3-5 sentences). It should read like a human wrote it, not an automated log.
68
87
- Use consistent tense: present tense for features ("Adds"), past tense for fixes ("Fixed").
69
-
- Do not use the header divider (---) between sections; only use it after the title/date block and after the overview.
88
+
- Do not use the header divider (---) between sections; only use it after the title/date block and after the overview.
0 commit comments