Repository navigation
v3.2.2
A patch release that puts back something 3.2.1 took away.
What happened
3.2.1 fixed a real defect: wait.for returned no stream position, so anything the machine printed after the call answered was unreachable by any client. That fix is still here, and it is still the point.
But 3.2.1 also cut output at the match. That made a transcript a function of the output and the pattern — genuinely nicer — at the cost of removing data from a field callers already read. A harness that simply concatenates what each call returned lost whatever followed the match in the same delivered chunk, which is the very loss the fix was about. Two of the AC6502 documentation site's samples went red on it, deterministically.
What 3.2.2 does
outputholds everything received again, exactly as it did in 3.2.0 and before. Nothing that worked then is broken now.matchEndis new: the index inoutputwhere the pattern matched. Slice there if you want the deterministic transcript 3.2.1 gave you; ignore it and you keep every byte.cursorstays — the stream positionoutputends on. Hand it back as the next call'ssince(or6502 dbg send --since) and nothing is lost or seen twice. This was the part genuinely missing, and all the original bug needed.
6502 dbg send --since is unchanged.
Upgrading
If you are on 3.2.0 or earlier, nothing you do changes. If you are on 3.2.1 and wrote code that relies on output ending at the match, slice at matchEnd instead — one line, and it then behaves the same on every version from 3.2.2 on.
2221 tests, every golden and trace unmoved, and the documentation site's 153-case sample suite passes in full.