-
Notifications
You must be signed in to change notification settings - Fork 7.8k
tweak: better release notes (grouped changelog) #5768
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR overhauls the release notes generation by switching from Claude Haiku 4.5 to Gemini 3 Flash and organizing changelog entries by functional area instead of a flat list. The changes enhance readability and make it easier for users to find relevant updates.
- Switches AI model from
claude-haiku-4-5togemini-3-flashfor changelog generation - Introduces area-based grouping (TUI, Desktop, SDK, Extensions, UI, Docs, Other) with automated area detection from git file paths
- Simplifies contributor acknowledgment to show only usernames rather than listing individual commits per contributor
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 1 out of 1 changed files in this pull request and generated 5 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| - "ui", "docs", "web", "console", "enterprise", "function", "util", "identity", "slack" - internal packages | ||
| Rules: | ||
| - Use the [areas: ...] tags to determine the correct category. If a commit touches multiple areas, put it in the most relevant user-facing category. | ||
| - ONLY include commits that have user-facing impact. Omit purely internal changes (CI, build scripts, internal tooling). | ||
| - However, DO include refactors that touch user-facing code - refactors can introduce bugs or change behavior. |
Copilot
AI
Dec 19, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The prompt instructs to exclude "ui", "docs", "web", "console", "enterprise", "function", "util", "identity", "slack" areas as "internal packages". However, at least some of these appear to be user-facing: "docs" likely contains documentation that users read, and "web"/"console" might be user-facing interfaces. Additionally, the Instructions state these should be "omitted entirely unless they contain user-facing changes", but changes to documentation or web UI are inherently user-facing. This could result in important user-visible changes being omitted from release notes.
| - "ui", "docs", "web", "console", "enterprise", "function", "util", "identity", "slack" - internal packages | |
| Rules: | |
| - Use the [areas: ...] tags to determine the correct category. If a commit touches multiple areas, put it in the most relevant user-facing category. | |
| - ONLY include commits that have user-facing impact. Omit purely internal changes (CI, build scripts, internal tooling). | |
| - However, DO include refactors that touch user-facing code - refactors can introduce bugs or change behavior. | |
| - "enterprise", "function", "util", "identity", "slack" - internal tooling/packages that are not directly user-facing | |
| Rules: | |
| - Use the [areas: ...] tags to determine the correct category. If a commit touches multiple areas, put it in the most relevant user-facing category. | |
| - ONLY include commits that have user-facing impact. Omit purely internal changes (CI, build scripts, internal tooling). | |
| - However, DO include refactors that touch user-facing code - refactors can introduce bugs or change behavior. | |
| - Changes to documentation ("docs") or user interfaces ("ui", "web", "console") are generally user-facing and SHOULD be included when they affect the user experience. |
| - For community contributors: if the [author: username] is NOT in the team list, add (@username) at the end of the changelog entry. This is REQUIRED for all non-team contributors. | ||
| - The team members are: ${team.join(", ")}. Do NOT add @ mentions for team members. |
Copilot
AI
Dec 19, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The prompt instructions include "DO NOT add @ mentions for team members" but also require "(@username) at the end of the changelog entry" for non-team contributors. However, the team list uses different formats: some entries have "[bot]" suffix ("opencode-agent[bot]") while the GitHub API returns login names. If a bot account's login is returned without the "[bot]" suffix by the API, it might not match the team list correctly and could be incorrectly treated as a community contributor.
| } | ||
| if (file.startsWith("sdks/")) { | ||
| const name = file.replace("sdks/", "").split("/")[0] || "other" | ||
| return `extensions/${name}` |
Copilot
AI
Dec 19, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code maps "sdks/" paths to "extensions/{name}" (line 30), but the AI prompt categorizes "sdk" area as part of the "SDK" category (line 130), while "extensions/*" are in the "Extensions" category (line 131). This inconsistency means changes in "sdks/" will be incorrectly categorized as Extensions instead of SDK, which could confuse the changelog grouping.
| return `extensions/${name}` | |
| return `sdks/${name}` |
| continue | ||
| } | ||
| if (currentHash) { | ||
| areasByHash.get(currentHash)!.add(getAreaFromPath(line)) |
Copilot
AI
Dec 19, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The non-nullish assertion operator (!) is used without prior validation. If areasByHash.get(currentHash) returns undefined (which shouldn't happen given the logic, but could in edge cases), this will throw a runtime error. Consider using optional chaining or an existence check for defensive programming.
| areasByHash.get(currentHash)!.add(getAreaFromPath(line)) | |
| let areas = areasByHash.get(currentHash) | |
| if (!areas) { | |
| areas = new Set<string>() | |
| areasByHash.set(currentHash, areas) | |
| } | |
| areas.add(getAreaFromPath(line)) |
| ## TUI | ||
| - Added experimental support for the Ty language server (@OpeOginni) | ||
| - Added /fork slash command for keyboard-friendly session forking (@ariane-emory) | ||
| - Increased retry attempts for failed requests | ||
| - Fixed model validation before executing slash commands (@devxoul) | ||
| ## Desktop | ||
| - Added shell mode support | ||
| - Fixed prompt history navigation and optimistic prompt duplication | ||
| - Disabled pinch-to-zoom on Linux (@Brendonovich) | ||
| ## Extensions |
Copilot
AI
Dec 19, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The example in the prompt shows "## TUI", "## Desktop", and "## Extensions" sections, but the category definition on line 132 says "Other" with bold formatting. This inconsistency in formatting (## vs **) could cause the AI model to produce inconsistent output, making the parsing logic on lines 174-179 fail to correctly identify category headers.
| ## TUI | |
| - Added experimental support for the Ty language server (@OpeOginni) | |
| - Added /fork slash command for keyboard-friendly session forking (@ariane-emory) | |
| - Increased retry attempts for failed requests | |
| - Fixed model validation before executing slash commands (@devxoul) | |
| ## Desktop | |
| - Added shell mode support | |
| - Fixed prompt history navigation and optimistic prompt duplication | |
| - Disabled pinch-to-zoom on Linux (@Brendonovich) | |
| ## Extensions | |
| **TUI** | |
| - Added experimental support for the Ty language server (@OpeOginni) | |
| - Added /fork slash command for keyboard-friendly session forking (@ariane-emory) | |
| - Increased retry attempts for failed requests | |
| - Fixed model validation before executing slash commands (@devxoul) | |
| **Desktop** | |
| - Added shell mode support | |
| - Fixed prompt history navigation and optimistic prompt duplication | |
| - Disabled pinch-to-zoom on Linux (@Brendonovich) | |
| **Extensions** |
* feat(tui): click on subagents to open them (anomalyco#5761) Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> * chore: generate * fix: better api call error msgs in some cases * tweak: better release notes (grouped changelog) (anomalyco#5768) * ci: better err msg for generate workflow * fix(desktop): extra reqs * fix(desktop): shell mode * release: v1.0.169 * sync: record last synced tag v1.0.169 --------- Co-authored-by: Rohan Godha <git@rohangodha.com> Co-authored-by: Aiden Cline <63023139+rekram1-node@users.noreply.github.com> Co-authored-by: GitHub Action <action@github.com> Co-authored-by: Aiden Cline <aidenpcline@gmail.com> Co-authored-by: Luke Parker <10430890+Hona@users.noreply.github.com> Co-authored-by: Adam <2363879+adamdotdevin@users.noreply.github.com> Co-authored-by: opencode <opencode@sst.dev> Co-authored-by: opencode-agent[bot] <opencode-agent[bot]@users.noreply.github.com>
This reverts commit b99afda.
This reverts commit b99afda.
Switches changelog generation from Claude Haiku to Gemini 3 Flash and groups release notes by area (TUI, Desktop, SDK, Extensions, UI, Docs, Other) instead of a flat list
sample:
TUI
Desktop
Extensions
Other
Thank you to 7 community contributors: