Highlights
Memory (#41): tsserver process-tree RSS on an SFC-heavy Vue fixture went from ~2× stock typescript to 1.19× stock, with the settled JS heap (335–352MB) below stock's own 881MB floor; post-navigation idle heap dropped a further 646.8 → 542.9MB. Five bridge-side retention bugs fixed — see Performance below.
Windows / VS Code (#44): the win32 bridge.node now delay-loads node.exe with a notify hook, so the addon loads under renamed hosts — VS Code running tsserver as Code.exe (ELECTRON_RUN_AS_NODE) no longer fails with "not a valid Win32 application". Verified end-to-end under Electron-as-node in CI.
Deterministic diagnostics (#42): whole-program diagnostics are now byte-identical across runs — checker assignment mirrors the compiler pool's index stride (per-run TS2430 blame-set variance), and the ambient-module index is sorted instead of leaking Go map iteration order.
Framework checkers (#38, #46): host-injected ambient roots (astro's global Astro/Fragment, svelte2tsx's __sveltets_2_* shims) now survive snapshot rebuilds — no more program-wide TS2304/TS2708 false positives after the first rebuild.
Fixes
- #40:
Program.emitwith non-emptycustomTransformersthrows loudly (tsgo can't execute JS transformers) instead of silently emitting untransformed output; empty shells pass — 9a7f8b2 - #45: the
TNB ACTIVEbanner box is gone — one dimmed stderr line (▎ …), no escape codes when piped — 9bd7f34, e7af59e - Resolve the live project for thin-program RPCs ("snapshot N not found") — c9fdf6c
- Sync overlay before thin-program lsnav wire queries — 2474dc8
- Detect host-less disk writes in snapshot builds — 0d2723e
- One SourceFile per logical file under case-folded queries — e4ea3ce
- Stock-faithful
forEachResolvedModule+getGlobalDiagnostics— 5f37f49 - Treat host-virtual extensions as overlay candidates in node_modules — f2fe4fa
- Stop disposing lsnav handles on no-change syncs ("symbol handle N not found in snapshot registry") — d470d76
- Keep API extra roots across snapshot rebuilds — 9bab476
- Two auto-import registry invalidation bugs — 53858dc
- #43: exclude source maps from the npm tarball (by @KazariAI in #43)
Performance
- #41 (B-1): lazy JS AST for virtual/overlay files — generated TS of
.vueSFCs no longer eagerly mirrored onto the JS heap — 5361d20 - #41:
updateSnapshotparams deduped structurally instead of retaining ~15MB of JSON per tsconfig — 8b332e1 - #41 (B-3): light-stub tsserver walk + idle-evict scan-materialized full SourceFiles — ~410MB collectible after whole-program scans — 52ad8c6, 44801ea
- #11: demand-gated cross-generation node-index reuse; idle-drain of per-generation index caches and decoded-node populations — acbaeb3, 153cb50
CI & tooling
- Nightly now runs the win32 bridge test suite every night, including an Electron-host load probe — 2dd08cc, b1f5cf0
- New witnesses:
astro7framework case (#38),__sveltets_2_*svelte patterns (#46),triage-diag-determinism.mjs(#42) - sim-nav baseline refreshed for volar pin 996b89cbc — 0309a5a
- sim-xfile divergences now exit non-zero — 42fd94b
Full Changelog: v6.0.3-bridge.7.tsgo.7.0.2...v6.0.3-bridge.8.tsgo.7.0.2