Repository navigation
Description
Summary
The Desktop "Release notes" setting is enabled, but no What's New dialog appears after updating 2.2.0 → 2.2.1. showWhatsNew fetches https://opencode.ai/changelog.json and only opens the dialog when it finds highlights whose source contains "desktop". The feed currently returns "highlights": [] for every release, so the code silently marks the new version as seen.
Environment
- opencode version: 2.2.1 (desktop, packaged; bundled CLI 2.2.1)
- OS: Windows 11 Pro 10.0.26300 x64
- Terminal: Desktop app
- Shell: n/a
- Install/channel: packaged desktop, channel
latest - Active plugins: env-guard.ts, headroom-compress.ts, memory-inject.ts, modelscope-imagegen.ts (none related to release notes)
Reproduction
- Enable Settings → General → Updates → Release notes (default is on).
- Update from 2.2.0 to 2.2.1 with the in-app updater and restart.
- No What's New dialog appears.
- Inspect
%APPDATA%\ai.opencode.desktop\drafts.sqlite:plugin.updater.seenis{"version":"2.2.1"}, written about 3 seconds after startup.
Expected Behavior
A What's New dialog with the desktop highlights for 2.2.1 (the release notes contain four Highlights, including /goal, image generation, background shell output, and the new model picker).
Actual Behavior
No dialog. The version is recorded as seen, so those highlights are skipped permanently.
Additional Context
- Code path:
packages/gui-plugins/src/updater/whats-new.tsx(showWhatsNew), stores inpackages/gui-plugins/src/updater/index.ts. showWhatsNewdoesif (highlights.length === 0) return input.markSeen().https://opencode.ai/changelog.json(fetched today) returns 20 releases, all with"highlights": [].- v2.2.1:
{"tag":"v2.2.1","name":"v2.2.1","date":"2026-10-29T05:16:55Z","highlights":[],"sections":[]} - v1.18.26:
highlights: [], butsectionscontains Core and Desktop entries.
- v2.2.1:
- The rendered changelog page (
https://opencode.ai/changelog) still shows v2.2.0 highlights, so the source data exists but is not carried into the JSON feed. - Likely causes: the JSON generator does not parse the v2 release-note format (
### Highlightsplus product sections), and the app only readshighlightswhile ignoringsections. - Suggested fix: emit
highlightsfor v2 releases, or fall back to Desktopsections; and avoidmarkSeen()when the feed is present but has no parseable highlights (or log the parse failure), so a bad deploy does not silently consume the update.
Impact
Any stable Desktop user with the default setting never sees release highlights, and each new version is recorded as seen.
Activity
opencodejr commentedon Oct 29, 2026
Thanks for the detailed report. I can confirm this.
I couldn't run the Windows desktop app here, so I tested the code behind it directly:
### Highlightslist with four items. The result is"highlights": []and"sections": [], the same as the live https://opencode.ai/changelog.json. The generator only recognises the older<highlight source="…">HTML blocks and##headings, and v2 release notes use neither.showWhatsNewwith previous = 2.2.0 and current = 2.2.1. It marked 2.2.1 as seen and never opened the dialog, which matches what you saw indrafts.sqlite.The code is unchanged on the latest
dev(510aa79), so this still happens there. The test below reproduces both steps.Related: #59152 and #57940 (What's new page work), and #54902 (rendering
/changelogfromCHANGELOG.md).feat: anomalyco#44 desktop: What's New popup never appears after upda…