v1.0.3 — Code Review Quick-Wins
Follow-up to the v1.0.2 security hotfix. Five fixes from the v1.0.1 code review, plus two micro-optimizations. No functional changes for end users other than completion correctness and responsiveness.
Fixed
- Completion after
then call/else call(H10) — procedures now appear in single-lineif x == 1 then call @|andelse call @|contexts. - Debounced-diagnostics race (H5) — no more rare
ObjectDisposedExceptionon tight typing (>10 keypress/sec). - VMID cache memory leak on long sessions (H11) — closing a
.gppnow evicts its parsed.vmidfrom the cache.
Changed
- Expression type resolver reuses a single instance (H9) — saves 500 allocations per large-file parse.
- Removed redundant
.ToLowerInvariant()on case-insensitive dictionaries (H8) — 8 lookups on the hot path.
Tests
6 new tests. 232 total, all green.
Full changelog: CHANGELOG.md