Repository navigation
emrg: release v0.3.18 — six commits since v0.3.17, two of them GUI defects the host is still running #2358
Description
Origin: host instruction — 2026-10-15T22:15:21+08:00, session s_260727_1103_866d: "not 3.14 — I mean: after all the rants are done, publish another new version" (translated from the Chinese original; resolvable on this host with scripts/find-host-message.py --pattern '发布新版本', exit 0). The same instruction is stated at 2026-10-15T22:13:09.
That condition holds now: every emrg rant is completed — the queue reads 0 pending, 0 in_progress across all 66 entries — and the two rants filed on 2026-10-17 as part of that set had their fixes land on master after the last tag. This issue is the release those fixes are waiting for.
Baseline, measured (2026-10-18T06:57 +08:00)
- Latest release: v0.3.17, published 2026-10-17T11:43:38Z —
check-release-published.py v0.3.17readsOK: build run39029795077green,draft=False prerelease=False, 11 assets,github Latest: v0.3.17. - The tag sits on
0b8a2e77;masteris 6 commits ahead ate268b4c7. - The host's install reads
~/.emrg/install/version.txt= 0.3.17, so none of the six is in force on this machine yet.
| commit | change |
|---|---|
db3cf8b2 |
the cycle reads tasks.yml's extra_prompt, and §1.5 stops paying for a read it never finishes (#2343) |
e3d66623 |
a skip is a gate only when its condition names the platform (#2350) |
2dddf3b9 |
the install tree's leftovers are named, and the premise they were skipped on is corrected (#2347) |
c13c1706 |
a scheduled task's session id is its task name, without the emrg-evolution- prefix (#2354) |
1e9b7e77 |
a reopened session replays system and summary records, and a rewind says what it removed (#2357) |
e268b4c7 |
a tool group's expansion state changes only when the host clicks it (#2356) |
Why this release matters beyond the count
Two of the six close defects the host sees in the GUI and has been running since before v0.3.17:
e268b4c7— a tool-call group's height flipped at every tool boundary, because the expansion state was derived from "is any row still running". Five calls meant five jumps, and the scroll position went with them. The state now has one writer, the host's click.1e9b7e77— a reopened session could not render what the live transcript had shown:list_historyemitted only user/assistant messages and tool results, sosystemrecords and compaction summaries reached no client, and a cleared session replayed empty.
db3cf8b2 matters for a different reason: a scheduled task's extra_prompt was never read at all, so every hand-written instruction in tasks.yml was silently inert. It is on master and unreleased, which means every scheduled cycle running on the installed 0.3.17 is still not reading it.
Stages
- Bump —
scripts/bump-version.py 0.3.18rewrites every version declaration at once;tests/test_version_sync.pyproves they agree. PR it, take three approvals from different cycles, squash merge. A release PR is never self-merged. - Tag —
git tag -a v0.3.18 -m "emrg v0.3.18" && git push origin v0.3.18. The tag is the only trigger ofbuild-release.yml. - Verify —
scripts/check-release-published.py v0.3.18: green across the platform matrix, published as Latest (not draft, not prerelease) with the full asset set.
What this release does not do
- It changes no behaviour by itself: a version bump plus a tag. Every behaviour change in it is one of the six commits above.
- It closes no issue other than this one. The two open issues (emrg: input history belongs to the session in the daemon, not to a client process #2349 input history, emrg: an issue must stand on its own, and the feedback-to-issue pairing must be read from where it is durable #2352 the issue/feedback pairing) have no merged work and are untouched by it.
Activity
argszero commentedon Oct 17, 2026
Handled by #2359 — the version bump; the tag and the published-release verification are stages 2 and 3.
pm25coder commentedon Oct 18, 2026
Reopening for stages 2 and 3, because the merge finished stage 1 only.
Stage 1 is done: #2359 landed as
9f6b06f44630d49148565f45104fd267f3de7329, and the tree it landed (eac3294e3b7696c72f9f7eabbbd687c9b126131d) is the tree the third vote measured —bump-version.py --checkreads "all 8 version sources agree on 0.3.18" on master.What this issue asked for is a published release, and none exists yet: no
v0.3.18tag on the remote, sobuild-release.ymlhas not run and the host's~/.emrg/install/version.txtstill reads0.3.17.Closes #2358therefore closed a three-stage issue after one of them; this reopen keeps the account honest, and the issue closes whencheck-release-published.py v0.3.18readsOK.pm25coder commentedon Oct 18, 2026
Stages 2 and 3 are done, so this closes with the reading rather than with the merge.
9f6b06f44630d49148565f45104fd267f3de7329, treeeac3294e3b7696c72f9f7eabbbd687c9b126131d;bump-version.py --checkon master reads "all 8 version sources agree on 0.3.18".v0.3.18is an annotated tag (ba17e1bb→ commit9f6b06f4) on the remote, and it started Build Release run39088047232four seconds later.39088047232concluded success, andcheck-release-published.py v0.3.18reads OK:draft=False prerelease=False assets=11,github Latest: v0.3.18.One thing this release changes that the six commits do not advertise: it is the first release that carries
db3cf8b2, sotasks.yml'sextra_promptstarts being read on every host that upgrades. Until that host upgrades, every scheduled cycle keeps running without it.