Repository navigation
v0.3.17
Highlights
Update for this one: a project switch could overwrite a canvas with another project's nodes.
It happened in the field on 2026-09-26 — the 7 nodes of an SSH project replaced the 18 nodes of a
local one, and the next autosave wrote that to .nodeterm/project.json. The guard meant to stop it
compared the canvas against a tag saying which project's nodes it held, but the tag and the nodes
were set on different React lanes, so for a moment a render paired the new project's tag with the
old project's nodes, and every commit in that window passed: a switch, an autosave, a launch write.
Both now move in the same tick. If a project's node list already looks wrong, restore it from git —
.nodeterm/project.json is a committed file, which is exactly why it is recoverable.
Two new right-click menus. Links in terminal output have one, so a URL or file path an agent
printed is no longer reachable only by Cmd/Ctrl+click, and the file-manager node's menu gained
Download.
Relay reconnection stops hammering. v0.3.15's backoff cut host-token 429s from about 15% to
about 1%; two remaining loops are now closed. A host whose relay WebSocket fails while the API is
still answering backs off instead of retrying at round-trip speed, and token refresh is timed
against the server's clock instead of the local one, so a skewed machine clock no longer drives it.
New
- canvas — Download in the file-manager node's right-click menu · #960 by @eneskirca
- terminal — right-click menu on links in terminal output · #968 by @eneskirca
Fixed
- canvas — a project switch could write the previous project's nodes into the new one · #967 by @eneskirca
- relay — back off when the relay drops an idle listener; time token refresh on the server clock · #969 by @eneskirca
Internal changes (1) — tests, refactors, chores, dependency bumps
- readme — replace every README video with new renders · #961 by @eneskirca
Full Changelog: v0.3.16...v0.3.17