You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Added xuunity_light_unity_mcp.cmd and xuunity_light_unity_mcp.ps1 wrapper siblings using the proven run.cmd/run.ps1 Python discovery chain and executing templates/server_launcher.py, so Windows operators get the full wrapper surface without bash.
Promoted shared subprocess helpers (Git Bash resolution, process-tree kill, run-to-files) into scripts/testing/process_support.py, consumed by both the orchestrator and the test suite.
Added an optional XUUNITY_LIGHT_UNITY_MCP_WORKER_TIMEOUT_SECONDS watchdog that kills stuck worker process trees with exit code 124.
Ported the operator wrapper body from bash to templates/server_launcher.py, which owns source/repo/install-dir resolution, helper sync, compact summary emission, devmode/prodmode, and server dispatch. Client-context and install-dir resolution delegate to server_setup_wizard to remove duplicate bash/python logic.
Shrank xuunity_light_unity_mcp.sh to a thin 28-line launcher with legacy flag checking and Python discovery (PYTHON env, py -3, python3, python, py). Preserved the previous bash body as xuunity_light_unity_mcp_legacy.sh (callable via XUUNITY_LIGHT_UNITY_MCP_LEGACY_WRAPPER=1).
Ported both multi-project runners into scripts/testing/run_multi_project.py (subcommands batch-compile-matrix and gui-test-subset) using ThreadPoolExecutor workers, removing xargs -P and enabling identical parallelism overlap across macOS, Linux, and Windows.
Expanded offline CI checks to run on master pushes and pull requests (previously tags only), smoke-executing templates/run.cmd and templates/run.ps1 on the Windows leg.
Released v0.3.27 package metadata, server metadata, package manifests, and Git UPM examples.
Fixed
Fixed parity test path normalization for Windows path representations, resolving WSL/POSIX temp differences, 8.3 short names (RUNNER~1), and JSON-escaped backslashes.