Skip to content

Show what's new after an update - #84

Merged
afitzgerald merged 1 commit into
mainfrom
alan/live-adopt-similar-release
Sep 30, 2026
Merged

afitzgerald merged 1 commit into
mainfrom
alan/live-adopt-similar-release

Conversation

@afitzgerald

Copy link
Copy Markdown
Owner

What

  • What's New dialog: shows once after an update, listing every release since the one last seen, grouped New / Fixed / Other changes. Help → What's New in Diffier opens the whole baked history (disabled in local builds, which have no notes). Rebindable action whats-new; Escape closes it.
  • Parser: main/whats-new.ts (zero deps) strips the by @author in <url> tail, New Contributors and Full Changelog, and compares versions numerically. "Seen" is whatsNewSeen in settings, keyed on app.getVersion(); the first window to boot marks it, so only that window shows the dialog.
  • CI: release.yml runs scripts/release_notes.sh right after the release is created, writing that release's notes plus the nine before it into WhatsNew.md, which package.json files ships. Baked rather than fetched: works offline and always matches the build.
  • .github/release.yml: groups PRs by label; internal and documentation are left out. The internal label now exists.
  • CLAUDE.md: Pull requests are release notes: user-facing titles, exactly one label. Commit subjects stay conventional; next_version.sh reads those, not PR titles.

Checked

  • yarn typecheck, yarn test (new test/whats-new.test.ts: parsing, numeric order 0.0.10 > 0.0.8, fresh install, all-internal release dropped) and node test/ui.test.js all pass. shellcheck is clean on the script.
  • scripts/release_notes.sh v0.0.7 against the real releases parses to the expected three entries.
  • Launched the app with a sample WhatsNew.md: the dialog appeared at boot and whatsNewSeen was recorded.

Not checked

  • The first real release after merging: that the bake step runs in CI and the packaged app picks up WhatsNew.md from the asar.
  • Tests and typecheck were not re-run after the rebase onto docs: add MIT license #83, which only adds LICENSE and README lines.

Release notes are GitHub's generated notes, grouped by PR label
(.github/release.yml). The Release workflow bakes the last ten releases'
notes into the app as WhatsNew.md (scripts/release_notes.sh); the app
shows the unseen ones once after an update, and all of them from
Help > What's New in Diffier.
@afitzgerald afitzgerald added the enhancement New feature or request label Sep 30, 2026
@afitzgerald
afitzgerald merged commit fcd0a13 into main Sep 30, 2026
1 check passed
@afitzgerald
afitzgerald deleted the alan/live-adopt-similar-release branch September 30, 2026 11:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant