Skip to content

chore(release): prepare v2.3.1 - #149

Merged
mmcky merged 1 commit into
mainfrom
chore/release-2.3.1
Aug 26, 2026
Merged

chore(release): prepare v2.3.1#149
mmcky merged 1 commit into
mainfrom
chore/release-2.3.1

Conversation

@mmcky

@mmcky mmcky commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Cuts v2.3.1 — the release that makes the shipped parity surface actually correct. Both Phase 0 defects on the #147 cutover gate are fixed on main but unreleased, so the live consumer (lecture-wasm) is still pinned to a v2.3.0 that ships dead run buttons and 404'd KaTeX fonts.

What ships

Change Why it matters
#137 — register code cells nested in a directive with the kernel (closes #117) Run buttons inside {exercise} / {solution} / {note} were clickable but inert, and nested pre-baked outputs blanked once the kernel attached
#139 — make built stylesheet asset URLs relative (closes #138) All 60 KaTeX font references 404'd in myst build --html, so maths fell back to system glyphs on every statically built site — and under a baseurl, including this repo's own PR previews
#140 — self-host the Source Sans 3 webfont Removes the last third-party origin from the critical rendering path; Google Fonts is blocked in mainland China
#136, #148 — visual coverage for fancy lists in a directive; linux mobile-chrome baseline refresh Test-only

Why 2.3.1 and not 2.4.0

Two bug fixes plus an asset-hosting optimization. No new features, no configuration surface added or changed, nothing breaking — consumers upgrade by bumping the pinned release URL in site.template and get identical rendered output, minus the defects. Semver puts an optimization under patch.

The release move itself

Per CONTRIBUTING.md: the [Unreleased] entries move under ## [2.3.1] - 2026-08-26 with a headline blockquote, the footer gains the compare link, and package.json is bumped via npm version 2.3.1 --no-git-tag-version. template.yml is deliberately untouched — release.yml stamps its version from package.json at build time.

The [Unreleased] compare base is re-pointed at v2.3.1. Worth flagging because the v2.3.0 prep (#133) missed exactly this and needed #134 to repair it.

Two accuracy corrections riding along

Verification

npm run compile clean · npm run test:unit 20/20.

After merge

Tag and push to trigger release.yml:

git tag v2.3.1 && git push origin v2.3.1

🤖 Generated with Claude Code

Move the [Unreleased] entries under ## [2.3.1] - 2026-08-26 with a headline
blockquote, add the footer compare link, re-point the [Unreleased] compare
base at v2.3.1, and bump package.json (npm version 2.3.1 --no-git-tag-version).
template.yml is stamped by release.yml at build time.

Two accuracy corrections ride along:

- The #131 changelog entry claimed the visual suite passes against untouched
  baselines. That was true when written, but the @fontsource glyph metrics
  re-wrapped a line at the mobile viewport and #148 had to refresh the linux
  mobile-chrome baselines. The entry now says so.
- PLAN.md open question 4 still named #117 as an open defect gating the
  cutover. It is fixed and ships here, as does #138. The paragraph now points
  at the live gate items and at the tracking issue #147.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings August 26, 2026 01:22
@github-actions

github-actions Bot commented Aug 26, 2026

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-08-26 01:31 UTC

@github-actions

Copy link
Copy Markdown
Contributor

🎭 Visual regression results

passed  17 passed
skipped  3 skipped

Details

stats  20 tests across 1 suite
duration  38.5 seconds
commit  bcbbcc2

Skipped tests

mobile-chrome › theme.spec.ts › QuantEcon theme — visual regression › launch-colab
mobile-chrome › theme.spec.ts › QuantEcon theme — visual regression › live-compute-toggle
mobile-chrome › theme.spec.ts › QuantEcon theme — visual regression › live-compute-toggle-absent-without-thebe

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR cuts release v2.3.1, a patch release that promotes two already-merged bug fixes (dead run buttons for code cells nested in directives, #137/#117; and 404'd KaTeX font assets in static builds, #139/#138) plus the Source Sans 3 self-hosting optimization (#140) from [Unreleased] into a dated changelog section. It follows the documented release flow in CONTRIBUTING.md: move [Unreleased] entries under a dated heading, add the compare footer link, re-point the [Unreleased] compare base, and bump package.json. It fits into the #147 parity-cutover effort by unblocking the live consumer (lecture-wasm), which is still pinned to the defective v2.3.0.

Changes:

  • Move [Unreleased] entries under ## [2.3.1] - 2026-08-26, add the [2.3.1] compare link, and re-point [Unreleased] to v2.3.1...HEAD; also correct the #131 entry to note the linux mobile-chrome baseline refresh (#148).
  • Bump the version to 2.3.1 in package.json and package-lock.json.
  • Update PLAN.md open-question 4 to reflect that #117/#138 are fixed and shipping, re-pointing the cutover gate at #114/#128/#87 and tracker #147.

Reviewed changes

Copilot reviewed 3 out of 4 changed files in this pull request and generated no comments.

File Description
CHANGELOG.md Adds the dated 2.3.1 section with headline blockquote, corrects the Source Sans 3 baseline claim, and updates compare-link footer.
package.json Bumps version to 2.3.1.
package-lock.json Bumps the theme's own version fields to 2.3.1.
PLAN.md Updates the cutover-gate description to reflect the shipped Phase 0 fixes and current gate items.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@mmcky
mmcky merged commit b60457c into main Aug 26, 2026
5 checks passed
@mmcky
mmcky deleted the chore/release-2.3.1 branch August 26, 2026 01:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants