Skip to content

Say what each release gives people, in one place - #86

Merged
marcosqlbi merged 2 commits into
mainfrom
feature/whats-new-page
Sep 2, 2026
Merged

Say what each release gives people, in one place#86
marcosqlbi merged 2 commits into
mainfrom
feature/whats-new-page

Conversation

@marcosqlbi

Copy link
Copy Markdown
Collaborator

The GitHub release body for a stable version has been the single line SQLBI Whiteboard <version>., and the alternative the pipeline offered — addChangeLog — is a list of commit subjects. That is the too-short and the too-verbose you described, and neither answers the only question a reader has: is this upgrade worth having.

CHANGELOG.md is now the one place release notes are written, and scripts/release-notes.ps1 the only thing that reads it. One ## <version> - <date> section per released version, one ### heading per thing a person would notice.

Three readers, none of which the other two can serve:

  • Release notes on every pull request fails when Directory.Build.props changes VersionPrefix and no section exists for the new version.
  • Azure Pipelines writes that section into the GitHub release body, before the release is created — so an unwritten changelog stops the release instead of being noticed after it is public. Only the releaseNotes input of the stable release task changed; nothing in the signing path.
  • Publish site renders every section into site/changelog.html and refuses to deploy a published release that has no section.

changelog.html becomes What's new: it no longer fetches releases from the GitHub API and renders their markdown in the browser, so the notes ship as HTML that reads without scripting and can be indexed. The footer link across the site is renamed to match. Entries go back to 1.0.0, written from the merge history; earlier versions stay on GitHub, where their notes already are.

Pre-release Dev builds are exempt everywhere — they come from every merge and would bury the releases people actually choose between.

The gate is on the version bump rather than only on the release, so the notes are written while the change is fresh, by the person who made it. The release is still checked, because a release need not have come from a bump.

Verified locally: all three script modes (Verify, Markdown, Html); the pull-request gate against a real bump (1.2.1 → 1.2.2, passes), a no-bump case (skips), and a bump to an unwritten 1.3.0 (exits 1); the rendered page served over HTTP and checked against the site's own stylesheet; and the Markdown output confirmed as UTF-8 with its arrows intact. An unstyled render caught 1.2.22 September 2026 — version and date collided when the only separator was a CSS gap — so the separator is now a character in the markup.

The generated region is not committed, the way the release manifests are not: site/changelog.html holds a placeholder between its markers and the deployment fills it, so the page cannot drift from the changelog.

🤖 Generated with Claude Code

marcosqlbi and others added 2 commits September 2, 2026 15:13
The first submission is still an unmerged pull request, so these files
have described 0.9.2 since August. Update the version, the release date,
the two installer URLs and the two hashes, taken from the release's own
asset digests rather than transcribed.

The description is left alone: it is tied to installer/msix/STORE-LISTING.md
and the two still match, so moving one without the other would break that.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The GitHub release body was the single line "SQLBI Whiteboard <version>.",
and the alternative the pipeline offered was a list of commit subjects.
Neither tells anyone whether an upgrade is worth having.

CHANGELOG.md is now the one place release notes are written, and
scripts/release-notes.ps1 the only thing that reads it. It has three
readers: the Release notes check on a pull request that bumps
VersionPrefix, the Azure Pipelines step that writes the GitHub release
body, and the Pages deployment that renders every entry into
site/changelog.html.

That page stops fetching releases from the GitHub API and becomes What's
new: curated, released versions only, carried as HTML so it reads
without scripting and can be found by a search engine. Entries go back
to 1.0.0; earlier versions are left on GitHub, where they were written.

Dev builds are exempt everywhere. They come from every merge to main and
would bury the releases people actually choose between.

The gate is on the version bump rather than only on the release, so the
notes are written while the change is fresh rather than remembered under
pressure once the release is already public. The release is checked
again anyway, because a release need not have come from a bump.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@marcosqlbi
marcosqlbi merged commit f169379 into main Sep 2, 2026
5 checks passed
@marcosqlbi
marcosqlbi deleted the feature/whats-new-page branch September 2, 2026 13:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant