Skip to content

v0.2.2

Choose a tag to compare

@xxin0816 xxin0816 released this 05 Sep 07:48
· 14 commits to main since this release

What's Changed

Added

  • WAVE_MCP_SESSION_ROOT confines where session directories land. out_dir is chosen by the calling model, so a drifted prompt could scatter sessions across /tmp, the cwd, or a shared regression directory, where two users with different filelists collide on one directory and silently inherit each other's netlist. Set this variable and every out_dir resolves inside it: a bare name or relative path lands in the root, a path already inside it is kept, and one pointing elsewhere is remapped in by basename. Unset, behaviour is unchanged. The reply's session_path is always the real location.
  • Environment variables documented in one table. Both READMEs now carry the full set (session root, Verdi/FSDB, vcd2fst, viewer, cache) and state that these belong in the env block of the MCP client config, since an agent-spawned server does not inherit an interactive shell's exports.

Fixed

  • Viewer backends outlived the process that started them. SurverManager relied solely on an atexit hook, which Python skips on SIGTERM, so killing a wave-view CLI or an MCP server left one surver per open view running indefinitely, holding memory and a listening port. Both entry points now install SIGTERM / SIGINT / SIGHUP handlers that close views explicitly, and surver children additionally set PR_SET_PDEATHSIG so the kernel reaps them even when the parent is SIGKILLed or crashes.

Changed

  • FSDB converter attribution made accurate. docs/THIRD_PARTY.md and the headers of both converter sources now record the project name, author, MIT license, and link for the public implementation that informed ParseScaleFs and the offline ffrAPI stub.

Full Changelog: v0.2.1...v0.2.2