Repository navigation
Conversation
The What's new dialog now carries the five newest stable releases' highlights, read from CHANGELOG.md at build time, and pages between them with < and > buttons beside a centered version (or left/right). An update that skipped releases still shows their highlights. The build reads CHANGELOG.md from the tagged commit instead of the OPENCODE_RELEASE_NOTES env var, so both parsers share parse().
Contributor
There was a problem hiding this comment.
I found nothing blocking; the change looks sound to me.
How I checked:
- The new script and TUI tests pass, and
tsc -bis clean inpackages/tuiandpackages/cli. history()on the realCHANGELOG.mdgives 2.2.5 → 2.2.1 with no warnings.- The release and dry-run workflows build from the tagged commit, which
tag-release.shhas already extended with the notes.Script.previewstill limits highlights to thelatestchannel, so droppingOPENCODE_RELEASE_NOTESfrombuild-clikeeps the same behaviour.
Public API: unchanged. The OPENCODE_RELEASE_HIGHLIGHTS payload and TuiApp.highlights change shape, but both are internal: the plugin API's App only exposes version/channel. The saved {"seen": ...} state keeps its format.
I couldn't run the dialog in a live TUI here: dev builds embed no highlights, and the story route didn't come up under opencode-drive. Could you add before/after screenshots or a short recording of the dialog, including stepping through releases, when you fill in that section?
3 of 6 tasks
This branch has not been deployed
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 #
Type of change
What does this PR do?
the What's new dialog only knew about the current release, so there was no way to see what an earlier update brought. it now carries the five newest stable releases and lets you step back through them.
embed()readsCHANGELOG.mdfrom the tagged commit (whichtag-release.shhas already extended with this release's notes) and runs the existingparse()on each## vX.Y.Zsection, keeping the newest five with highlights. problems are only warned for the newest section.build-clino longer getsOPENCODE_RELEASE_NOTES; the tag, GitHub release and Discord jobs still use it.>button goes to the older release, and a<button appears once there's a newer one to go back to (left/right and h/l do the same). up/down still scroll.decide()takes the embedded versions instead of a count and shows when any of them is newer than the saved one, so going from 2.2.2 to 2.2.5 still shows 2.2.4 and 2.2.3. the saved{"seen": ...}state keeps its format.**Title**: bodyform so they parse. its GitHub release body is unchanged.side effect:
build-nodenever received the release notes, so node builds had no highlights. they now get them fromCHANGELOG.mdtoo.not changed here: the console changelog page (
packages/console/app/src/lib/changelog.ts) and the desktop stable What's new (packages/gui-plugins/src/updater/whats-new.tsx) still parse GitHub release bodies for the older<highlight>HTML form.How did you verify your code works?
bun run checkfrom the rootpackages/script:bun test test/highlights.test.ts(changelog history, skipping releases without highlights, newest-five limit, CRLF)packages/tui:bun test --timeout 30000 test/highlights.test.ts test/component/dialog-highlights.test.tsx(skipped-release updates, clicking</>through the releases)highlightsstory (OPENCODE_STORY=highlights bun run dev:live, now fed the real five releases) with the legacy and new-designs footers, at wide and 56-column widthsnot tested: a real stable release build. dev builds embed no highlights, so the auto-show and
/highlightswere only exercised through tests and the story.Visual
Screenshots / recordings
to add
Checklist
Added by the opencode bot (AI-generated).
Fixes #56432
Related: #57608