The revision block of one program
Every published release of Rove, in the order a drawing records changes: newest at the top, never edited after the fact. Each revision is a version tag; each line inside it is one change that shipped under that tag.
or pin one
Takes the newest build on your channel · a bare version pins one · a channel name switches lines
Note 1 — How a change becomes a revision Fig. 1
A change carries its own release note into the repository. The pull request adds a Markdown file under .changeset/ saying what changed and how far the version moves; merging consumes those files, writes the new version, and appends their text to CHANGELOG.md.
The tag is pushed from main, the publish happens in CI, and the release body on GitHub is the changelog entry verbatim. That is why this block can be fetched rather than written: the text below is the same text that travelled in with the code.
Pre-1.0, almost every revision is a patch. A release that also carries a minor bump keeps the two apart under separate headings, and this sheet keeps them apart too — see the sub-rules inside a revision in zone C.
- Entries are appended, never edited. A mistake in a shipped revision is corrected by the next revision, not by rewriting this one.
- Every triangle drawn on this sheet appears as a row in one of its two tables.
- Product revisions are numbered (198, 197, …). Revisions to this drawing are lettered — see the title block, zone H.
Note 2 — Revision block Newest at top
Fetched live from the repository's releases. Column order is fixed and the rows are never reordered: REV carries the revision triangle and its tag, ZONE says where on this sheet the revision is plotted.
Plotting Not plotted yet — fetching from api.github.com
| Rev | Date | Description | By | Zone |
|---|---|---|---|---|
| v0.9.198 | 2026-09-11 |
#989Rove now drives pi and omp as first-class engines, with the same activity badges as the other built-ins.
#990Find out what Rove is forking.
|
Sma1lboy | C·H |
| v0.9.190 | 2026-09-11 |
#988Typing in a Rove terminal no longer lags a frame behind the same shell outside Rove.
|
Sma1lboy | C |
| v0.9.189 | 2026-09-11 |
#987A tab running a custom engine no longer reads as a bare shell.
|
Sma1lboy | C |
Note 3 — Reading one entry Fig. 2 · Detail, scale 4:1
The triangle is the key. On a drawing it sits beside the thing that changed and carries the revision number; the table then says what that number means. Here the number is the patch level of the version — revision 198 is v0.9.198 — so the key and the tag are the same fact written twice.
The description is not one line. A tag can carry several changes, each arriving with its own pull request, so a revision's description is a short list. Where a release separated patch changes from minor ones, that split is kept as a sub-rule inside the revision rather than flattened into one run of bullets.
Zone is a coordinate, not a category. It says where on this sheet the revision is drawn: every entry is plotted in the block, zone C, and the current revision is also stamped in the title block, zone H. It is the one column that is about the drawing rather than the program.
Note 4 — Two channels Fig. 3
You do not configure a channel. The build you are running is the channel — update checks follow whichever one you installed from, and switching is just installing from the other. rove update with no arguments never moves you between them.
rove update list browses recent versions and rove update dry-run prints the command without running it. Updates go through whichever package manager owns the rove on your PATH, so a new version cannot land in a shadowed prefix.