What's Changed
Fixed
- Python setup crash "Exit code: 9 - bad option: --js-flags" (#61): the dependency installer no longer inherits Electron-specific flags from the host IDE.
- Empty output panel despite successful do-file execution (#62): streaming execution now writes to the exact log file the stream monitors, with a fallback that emits the final result directly if log tailing produced nothing.
- User
log usingcommands broken by output capture (#63): the server now captures output through its own named log (__mcp_log) and never touches user logs;log using/log closein your do-files work as in native Stata. If your code runslog close _all, MCP capture automatically resumes. - Port reclaim failed on non-English Windows (#64): all three port-cleanup paths are now locale-independent (netstat parsing without state-word matching in Python; PowerShell
Get-NetTCPConnectionin the extension and standalone launcher). IPv4+IPv6 covered. workingDirectorysetting now honored in multi-session mode (#36), including thenoneoption.- Interactive window works behind path-prefixing proxies (#54) — relative URLs instead of root-relative.
- Data Viewer no longer materializes the full filtered dataset before applying the row limit (related to #59).
Changed
- Session log filenames use a sanitized session id + short hash (prevents invalid filenames/path traversal).
- MCP
stata_run_selectionacceptstimeout,working_dir, andsession_id; timeouts enforced server-side in single-session mode. - Compact output mode strips Stata log header/footer noise from selection results.
start-server.jsforwards--log-file-location/--custom-log-directory.- Temporary preprocessed do-files are cleaned up on all execution paths.
Full Changelog: v0.5.2...v0.5.3