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
Every release body said "Initial release" because script/changelog.ts was a stub that hardcoded that string into UPCOMING_CHANGELOG.md, the file script/version.ts passes to gh release create --notes-file. The real generator (script/raw-changelog.ts) existed but was never invoked.
changelog.ts now runs the raw generator and reshapes its machine header into a human line:
constraw=await$`bun ${args}`.cwd(root).nothrow().text()constsince=lines.find((line)=>line.startsWith("Last release: "))?.slice("Last release: ".length)constnotes=empty ? "No notable changes" : since ? `Changes since ${since}${body}` : bodyawaitBun.write(file,notes+"")
Also fixes note quality in raw-changelog.ts: the type filter now matches scoped prefixes (chore(scope):, test(scope):) plus the sync release versions commit, team matching is case-insensitive (TEAM_MEMBERS had Devflex-ai vs the real login DevFlex-AI, so the maintainer was thanked as a community contributor), and deepsource-autofix[bot] / dependabot[bot] are treated as bots.
How did you verify your code works?
Ran bun script/changelog.ts --from 1.19.0 --to v1.20.0 against the live repo: produces grouped Core/TUI/Desktop/SDK/Extensions sections with real commits, no chore/test/sync noise, and only genuine community contributors in the thanks section. bun script/changelog.ts --to HEAD (only docs/image commits since v1.20.0) correctly falls back to "No notable changes".
Screenshots / recordings
Not a UI change.
Checklist
I have tested my changes locally
I have not included unrelated changes in this PR
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is enabled.
@DevFlex-AI, you've reached your PR review limit, so we couldn't start this review.
Next review available in:37 minutes
Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).
How can I continue?
After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.
To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.
How do review limits work?
CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.
For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.
We reviewed changes in ac70dad...51fb887 on this pull request. Below is the summary for the review, and you can see the individual issues we found as inline review comments.
Some issues found as part of this review are outside of the diff in this pull request and aren't shown in the inline review comments due to GitHub's API limitations. You can see those issues on the DeepSource dashboard.
AI Review is run only on demand for your team. We're only showing results of static analysis review right now. To trigger AI Review, comment @deepsourcebot review on this thread.
The reason will be displayed to describe this comment to others. Learn more.
Forbidden non-null assertion
Using non-null assertions cancels out the benefits of strict null-checking, and introduces the possibility of runtime errors. Avoid non-null assertions unless absolutely necessary. If you still need to use one, write a skipcq comment to explain why it is safe.
The reason will be displayed to describe this comment to others. Learn more.
Unexpected function declaration in the global scope, wrap in an IIFE for a local variable, assign as global property for a global variable
It is considered a best practice to avoid 'polluting' the global scope with variables that are intended to be local to the script. Global variables created from a script can produce name collisions with global variables created from another script, which will usually lead to runtime errors or unexpected behavior. It is mostly useful for browser scripts.
The reason will be displayed to describe this comment to others. Learn more.
use `Boolean(login)` instead
Prefer using explicit casts by calling Number, Boolean, or String over using operators like +, !! or "" +. This is considered best practice as it improves readability.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Issue for this PR
Closes #117
Type of change
What does this PR do?
Every release body said "Initial release" because
script/changelog.tswas a stub that hardcoded that string intoUPCOMING_CHANGELOG.md, the filescript/version.tspasses togh release create --notes-file. The real generator (script/raw-changelog.ts) existed but was never invoked.changelog.tsnow runs the raw generator and reshapes its machine header into a human line:Also fixes note quality in
raw-changelog.ts: the type filter now matches scoped prefixes (chore(scope):,test(scope):) plus thesync release versionscommit, team matching is case-insensitive (TEAM_MEMBERS hadDevflex-aivs the real loginDevFlex-AI, so the maintainer was thanked as a community contributor), anddeepsource-autofix[bot]/dependabot[bot]are treated as bots.How did you verify your code works?
Ran
bun script/changelog.ts --from 1.19.0 --to v1.20.0against the live repo: produces grouped Core/TUI/Desktop/SDK/Extensions sections with real commits, no chore/test/sync noise, and only genuine community contributors in the thanks section.bun script/changelog.ts --to HEAD(only docs/image commits since v1.20.0) correctly falls back to "No notable changes".Screenshots / recordings
Not a UI change.
Checklist
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is enabled.