Maintain web client release notes locally (#1081)#1082
Merged
Conversation
Maintain web-client release notes in this repo as per-version Markdown files, bundled into the client and shown in a dedicated landing-page tab, generated from git log at tag time and mirrored to GitHub Releases. - gen-release-notes.sh: generate web-client/src/assets/content/release-notes/ <vX.Y.Z>.md from the commit subjects since the previous tag (idempotent; --force to regenerate). Seeded v4.4.4–v4.5.2 from real commit ranges. - publish-gh-release.sh: mirror the committed notes to a GitHub Release; non-fatal if gh is missing/unauthenticated so it never blocks a deploy. - VITE_VERSION.sh: generate + commit the notes file before creating the tag, so the tag (and the build's VITE_APP_VERSION) include it. - Makefile: call publish-gh-release.sh in src-tag-and-push; add a gen-release-notes target for curating a draft before release. - LandingView.vue: tabs are now About / Contact / SlideRule Releases (existing remote scrape) / Web Client Releases (new, loads bundled markdown via import.meta.glob, reusing the marked/DOMPurify list-detail UI). - docLinks.ts: add webClient repo/tags links for the "View on GitHub" link. - README.md: document the test-first release + release-notes workflow. Co-Authored-By: Claude Opus 4.8 (1M context) <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.
Closes #1081.
Maintains web-client release notes locally in this repo — versioned with the code, bundled into the client, and shown in their own landing-page tab — instead of relying on the central SlideRule docs. Notes are generated from
git logat tag time and mirrored to GitHub Releases.What changed
Release-notes content
web-client/src/assets/content/release-notes/with one Markdown file per version (vX.Y.Z.md), seeded withv4.4.4–v4.5.2backfilled from their real commit ranges + tag dates.UI —
LandingView.vueimport.meta.glob(... ?raw)and reuses the existingmarked+DOMPurifylist→detail UI. Detail view links "View on GitHub ↗" to the release tag.docLinks.ts: addedwebClientrepo/tags links.Tagging / release tooling
gen-release-notes.sh: generates a version's notes from the commit subjects since the previous tag. Idempotent (preserves a hand-edited draft;--forceto regenerate).publish-gh-release.sh: mirrors the committed notes to a GitHub Release. Non-fatal — warns and skips ifghis missing/unauthenticated, so it never blocks a deploy.VITE_VERSION.sh: generates + commits the notes file before creating the tag, so the tag (and the build'sVITE_APP_VERSION) include it.Makefile:src-tag-and-pushnow callspublish-gh-release.sh; added agen-release-notestarget for curating a draft before release.Docs —
README.md: documents the test-first release workflow (release-live-update-to-testsliderule VERSION=…→ verify →live-update-slideruleearth) and how release notes are maintained.Release flow
The tag, the committed notes file, and the GitHub Release are created once (in the test step); production just rebuilds the existing tag.
Verification
make typecheck✓ ·make lint✓ ·make test-unit✓ (194 passed) ·make build✓LandingViewchunk.publish-gh-release.shnon-fatal guard all exercised locally.🤖 Generated with Claude Code