feat(plugin): show bundled release notes after an update - #533
Merged
Merged
Conversation
CHANGELOG.md becomes the single source of release notes, backfilled with 2.0.0-2.2.0. The plugin bundles it and, after an update, shows a notice linking to a "What's new" modal with every section since the last-seen version (skipped releases roll up). Fresh installs and pre-release builds stay quiet. The full history is available from the "Show release notes" command and a Troubleshooting settings row, with only the latest release expanded. The release workflow now copies the tag's section into the GitHub draft and fails a stable tag that has no section. Co-Authored-By: Claude <noreply@anthropic.com>
Contributor
|
Modelled on Obsidian's own release notes: a main-area tab with the S2B wordmark, "What's new in X", the release date and the latest notes in full, then earlier releases as collapsible sections (the ones announced after an update start expanded). Replaces the modal. CHANGELOG headings carry the release date, `## X.Y.Z (YYYY-MM-DD)`; the workflow's extraction accepts both forms. Linkifying `#123` now skips fenced blocks and inline code. SvelteItemView.mountComponent unmounts a previously mounted component, so a view can re-render on setState. Co-Authored-By: Claude <noreply@anthropic.com>
… renders The release workflow now matches the version heading with the same shape the plugin parses (`## X.Y.Z` or `## X.Y.Z (YYYY-MM-DD)`), so a mistyped date fails the release instead of shipping notes the plugin can't find. The pattern goes through ENVIRON (awk -v eats backslashes) and avoids brace repetition for mawk. The What's new view gives each render its own child Component, removed on re-render, so markdown render children no longer accumulate on the view while it stays open. Co-Authored-By: Claude <noreply@anthropic.com>
Shared with the upcoming update-available check, which builds on the same file. Co-Authored-By: Claude <noreply@anthropic.com>
Leo310
force-pushed
the
feat/release-notes
branch
from
September 27, 2026 18:00
8bf39aa to
3fdea1e
Compare
4 tasks
Leo310
added a commit
that referenced
this pull request
Sep 27, 2026
A reworked chat composer (growing input, attachment preview tiles, Take photo on mobile, a single jump-to-bottom button, and a composer that keeps up with the iOS keyboard), agents that keep their memory index and skills up to date (#513-#519), release notes shown in the plugin after an update (#533), and a notice when a new version is available (#534). Co-Authored-By: Claude <noreply@anthropic.com>
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.
What
Users now see the release notes after updating. The layout follows Obsidian's own release notes.
CHANGELOG.mdbecomes the single source for them and is backfilled from the 2.0.0–2.2.0 GitHub release bodies (dates added, inner##headings demoted to###).#123references become GitHub links; code spans and fenced blocks are left alone. There is also a link to all releases on GitHub.lastSeenVersionis included, so releases a user skipped roll up and start expanded.## X.Y.Z (YYYY-MM-DD)section is copied into the draft body, and a stable tag with no section fails before the build. A re-run of a stable draft rewrites its body from the changelog; a pre-release draft's hand-written body is left alone.SvelteItemView.mountComponentnow unmounts any component it mounted earlier, so a view can re-render whensetStatearrives.CHANGELOG.mdin the release commit, before tagging.No network requests: the notes are bundled with
?raw(about 25 KB).How I tested it
test/utils/releaseNotes.test.tscover:manifest.json's versionbun run check,format,lintand the fulltestsuite; all pass.showReleaseNotes(3)expands the latest plus two earlier releases without duplicating the component.dev:errorswas clean.AI assistance: Claude Code wrote this from Leo's brief (bundled changelog shown on update, collapsed older releases, S2B logo, layout modelled on Obsidian's release notes). The tab, notice and workflow change still need Leo's review and live test.
Checklist
bun run check,bun run format,bun run lint, andbun run testpass locallymanifest.json: I noted that the docs site needs updating (see "Documentation" in CONTRIBUTING.md) — n/a