Upterm v0.36.0 fixes server session ownership checks


Upterm v0.36.0, published on October 6, 2026, fixes how the server handles a foreign value in a key held by its own lease. The server now treats that condition as a loss, and the same fix keeps values that name no session out of the watch’s view. This is a regular release, with the prerelease flag set to false.

The full release notes and downloads are on the GitHub release page.

The first behavior change concerns a mismatch between the lease holding a key and the value stored there. Even when the server’s own lease holds the key, a foreign value now counts as a loss. That is the specific condition addressed by the release.

The operational distinction is useful. Checking which lease holds a key answers one question. Checking whether its value still belongs to the expected owner answers another. The fix makes the foreign value decisive in the case described by the changelog. A lease association alone cannot justify treating that value as the server’s own.

For platform operators, this gives a concrete condition to investigate when assessing ownership behavior. Record both the lease association and the value when reproducing the mismatch. Evidence that the lease still belongs to the server does not, by itself, rule out the loss condition introduced here.

The notes do not describe what causes the foreign value to appear. They also do not specify the subsequent cleanup or recovery sequence. Assigning this fix to a particular outage, failover scenario, or client symptom would require evidence beyond the release announcement.

The second behavior change applies to the watch’s view. A value that names no session is now left out of that view. This narrows what the watch presents as session state.

That wording matters when reading the change. Excluding a value from a view does not establish that the server deletes the underlying key. The release notes describe filtering, and they give no storage cleanup procedure. Operators should distinguish the stored value from the state exposed through the watch when checking this behavior.

Both parts of the fix concern how the server interprets values. One handles a foreign value despite the lease association. The other handles a value that names no session. These are two behaviors within the single listed server fix; the changelog does not announce a broader set of features.

A focused validation should exercise the two conditions named in the notes. For the ownership case, check that a foreign value under the server’s own lease produces the documented loss result. For the watch case, check that a value naming no session stays outside the view. These are suggested checks derived from the announcement, not a report of tests performed here.

A normal session case is also a useful control when interpreting those results. It helps distinguish the intended exclusion from a watch that is failing to expose session state altogether. The release does not provide commands, configuration keys, or a reproduction fixture for these checks.

For a data engineering platform team running Upterm, the relevant change is server state correctness. The announcement provides no throughput measurements, migration steps, or breaking change notice. Assess this version against the ownership and watch behavior described above; the notes do not establish a performance benefit.