From 0b310ae570e2942d0f9aa7b03760bea3800feb99 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 13 Aug 2026 23:35:21 +0000 Subject: [PATCH 1/2] docs: tighten the v0.106.0 changelog entry Trim the release notes to what a reader needs to know. The entries had grown into postmortems of the old behaviour, and several facts appeared twice: the dev overlay was described in the diagnostics entry and then again in a sentence of its own, and textinput printing was covered by both the print and the textinput entries. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_014cgPYBtMoaLLir2vEXYKhz --- website/en/book/changelog.md | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/website/en/book/changelog.md b/website/en/book/changelog.md index 4bb253b8..50cb7210 100644 --- a/website/en/book/changelog.md +++ b/website/en/book/changelog.md @@ -45,31 +45,31 @@ If you need a new feature, open an [issue](https://github.com/openpatch/hyperboo :::tab{title="New :rocket:" id="new"} -**check**: A new `hyperbook check` command goes over a book without building it and reports links and images that point at nothing, two pages claiming the same `permaid`, and options in `hyperbook.json` that Hyperbook does not know about. A mistyped option is otherwise ignored in silence, and a broken link only shows up when a reader clicks it. It exits with an error, so it can run in CI ahead of `hyperbook build`. +**check**: A new `hyperbook check` command validates a book without building it: links and images that point at nothing, two pages claiming the same `permaid`, and unknown options in `hyperbook.json`. It exits with an error, so it can run in CI ahead of `hyperbook build`. -**print**: Books can be printed. There was no print stylesheet before, and because the reading layout is a fixed grid whose article pane scrolls, printing a chapter gave you roughly one sheet. Now the whole chapter comes out: the navigation and buttons are dropped, collapsed sections and every tab of a tab group are opened, dark mode is not carried onto paper, and an answer a reader has typed into a `::textinput` prints in full rather than being cut off at the edge of the box. +**print**: Books can be printed. A chapter now prints in full instead of on a single sheet — navigation and buttons are dropped, collapsed sections and every tab of a tab group are opened, dark mode is not carried onto paper, and answers typed into a `::textinput` print in full. ::: :::tab{title="Improved :+1:" id="improved"} -**search**: Pages load a great deal faster. The search index was linked from every page whether or not the reader ever opened search — on this documentation that was 2.9 MB of the 3.1 MB of JavaScript each page pulled in. It is fetched the first time someone searches now, which leaves 284 KB. Search itself got quicker too, because the index is read once instead of on every keystroke, and it now searches as you type. Press `/` anywhere to open it. +**search**: Pages load a great deal faster, because the search index is fetched the first time someone searches instead of on every page view — on this documentation that is 284 KB of JavaScript per page instead of 3.1 MB. Search also runs as you type now, and `/` opens it from anywhere. -**diagnostics**: The build tells you when a directive is written with the wrong number of colons. Messages like `Unexpected "::alert" leaf directive, use three colons` were being worked out on every build and then thrown away. They now appear with the file and line while you build, in `hyperbook dev` both in the terminal and over the page in the browser, and as squiggles in the VS Code preview. `hyperbook dev` also shows build errors in the browser instead of only in the terminal, where they were easy to miss. +**diagnostics**: Mistakes in your markdown, such as writing `::alert` with two colons instead of three, are now reported with their file and line: during `hyperbook build`, in `hyperbook dev` (in the terminal and as an overlay in the browser), and as squiggles in the VS Code preview. -**directives**: Directives now accept every form they actually support. `geogebra`, `struktolab`, `p5` and the code editors `pyide`, `webide`, `typst` and `openscad` take either a body or an attribute — an editor with no body is how you set a blank exercise — and `archive` and `download` work inside a sentence as well as on their own. Each of those used to insist on one form and call the other a mistake. +**directives**: `geogebra`, `struktolab`, `p5` and the code editors `pyide`, `webide`, `typst` and `openscad` accept either a body or an attribute — an editor with no body is how you set a blank exercise. `archive` and `download` work inside a sentence as well as on their own. Each of these used to reject one of the two forms. ::: :::tab{title="Fixed :bug:" id="fixed"} -**textinput and other interactive elements**: Editing a page no longer wipes what readers have written into it. The id an element stored its data under was worked out from a hash that included where the element sat in the file, so adding a paragraph anywhere above a `::textinput` gave it a new id and every answer already written into it was silently orphaned. Ids now come from the element itself, and books built with an earlier version are migrated the first time a reader opens them. Two elements on a page that are written exactly alike are the one case this cannot separate — they are told apart by their order — so the build now warns about them and asks you to give each an `id`. +**textinput and other interactive elements**: Editing a page no longer wipes what readers have written into it. Ids are derived from the element itself instead of its position in the file, and books built with an earlier version are migrated the first time a reader opens them. Two elements on a page that are written exactly alike still cannot be told apart, so the build now warns about them and asks you to give each an `id`. -**accessibility**: A book with no `language` set was announced as Spanish by screen readers. The search field also had no placeholder and no label. +**accessibility**: A book with no `language` set was announced as Spanish by screen readers, and the search field had no placeholder and no label. -**hyperbook.json**: A syntax error in `hyperbook.json` now names the line it is on. It used to say `Missing or invalid hyperbook.json/hyperlibray.json` and leave you to find it. +**hyperbook.json**: A syntax error now names the line it is on, instead of only reporting `Missing or invalid hyperbook.json/hyperlibray.json`. -**dev**: `hyperbook dev -p 3000` searched from port 30001 when 3000 was already taken. The notice telling you a new version of Hyperbook is available could never appear. +**dev**: `hyperbook dev -p 3000` moves to the next free port when 3000 is taken, rather than to 30001. The notice telling you a new version of Hyperbook is available appears again. ::: From 718a9e39497adf91f91782f5c79d50d391bd32ec Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 13 Aug 2026 23:41:17 +0000 Subject: [PATCH 2/2] docs: dedupe and tighten earlier changelog entries Fixes found while reviewing the releases before v0.106.0: - v0.46.1 appeared twice, byte for byte. Removed one copy. - v0.70.1, v0.70.0, v0.69.0 and v0.68.2 never closed their ::::tabs container, so those four blocks were malformed. - v0.103.0 stated the same sentence twice, once for online-ide and once for sql-ide. Merged into one entry. - The commented-out template still carried a real entry from v0.41.0, which would have been pasted into the next release. Blanked it and renamed the placeholder heading to vNEXT. - v0.99.0 had **links* instead of **links**. - Trimmed the postmortem detail out of v0.105.0, v0.104.1, v0.100.4 and v0.100.0, keeping what a reader has to act on. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_014cgPYBtMoaLLir2vEXYKhz --- website/en/book/changelog.md | 56 ++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 32 deletions(-) diff --git a/website/en/book/changelog.md b/website/en/book/changelog.md index 50cb7210..d5e6052a 100644 --- a/website/en/book/changelog.md +++ b/website/en/book/changelog.md @@ -14,13 +14,13 @@ If you need a new feature, open an [issue](https://github.com/openpatch/hyperboo :::