Skip to content

v1.2.10

Choose a tag to compare

@nataliapc nataliapc released this 15 Jun 19:31
· 11 commits to main since this release

Major Windows support overhaul plus the migration to pnpm. Linux and macOS are unaffected.

✨ Windows: new SSPI stdio-proxy backend (default)

openMSX on Windows exposes its control channel over a TCP socket that requires SSPI (Negotiate/NTLM) authentication. This release adds a much more robust default path:

  • New bundled, self-contained .NET helper (bin/win-x64/mcp-openmsx-sspi-proxy.exe) that performs the SSPI handshake and presents a clean XML stdio channel — exactly how Linux/macOS talk to openmsx -control stdio. Thanks to @inchl for the idea of a .net proxy.
  • Selected via OPENMSX_WINDOWS_CONTROL (default stdio-proxy). The previous Node node-expose-sspi path remains as direct-sspi (alias socket).
  • New OPENMSX_WINDOWS_PROXY_EXECUTABLE to override the helper path during development.
  • The helper ships inside the npm package (~10 MB, self-contained — no .NET runtime needed on the user's machine) and is built reproducibly from Linux via Docker: pnpm build:proxy:win-x64:docker.

🐛 Windows fixes

  • Server startup: fixed ERR_MODULE_NOT_FOUND for @modelcontextprotocol/sdk transitive dependencies (ajv, zod-to-json-schema) when running from source — resolved with a hoisted node_modules layout (nodeLinker: hoisted).
  • Vector search (vector_db_query): fixed a failure on Windows + Node 24 caused by sharp (eagerly imported by @xenova/transformers). sharp is pinned to the 0.34.x line, whose @img/* prebuilt packages support modern Node.

🔧 Tooling & internals

  • Migrated the toolchain to pnpm (lockfiles + workspace config).
  • All Windows transport logic extracted into openmsx_windows.ts; openmsx.ts is now platform-agnostic orchestration.
  • build now cleans dist/ before compiling (no stale artifacts in the published package).
  • Documentation updated (README / AGENTS) with the new Windows control modes.

⬆️ Upgrade note (Windows)

Do a clean reinstall so the platform-specific native packages and the proxy land correctly:
rm -rf node_modules && pnpm install (or npm install).

Full Changelog: v1.2.9...v1.2.10