github doobidoo/mcp-memory-service v10.36.2
v10.36.2 - fix(windows): env-aware management scripts + reliable stdout logging

latest releases: v10.36.4, v10.36.3
7 hours ago

What's Fixed

Hardcoded server URLs in Windows management scripts

All 5 Windows PowerShell management scripts (manage_service.ps1, run_http_server_background.ps1, install_scheduled_task.ps1, uninstall_scheduled_task.ps1, update_and_restart.ps1) previously used a hardcoded http://127.0.0.1:8000 regardless of .env configuration. Health checks failed silently as soon as a user enabled HTTPS or changed the port.

Fix: Introduced scripts/service/windows/lib/server-config.ps1 - a shared helper that parses .env for MCP_HTTP_HOST, MCP_HTTP_PORT, and MCP_HTTPS_ENABLED and returns a BaseUrl/HealthUrl hashtable. All scripts now dot-source this helper. Fully backward-compatible (falls back to http://127.0.0.1:8000 if .env is absent or variables are unset).

Silent Python stdout/stderr dropout in background server wrapper

run_http_server_background.ps1 used .NET OutputDataReceived event handlers referencing $script:LogFile. This variable is not captured in the event handler runspace, so every line of Python stdout and stderr was silently discarded. When Python crashed during initialization, no error was ever surfaced in the log file.

Fix: Replaced with Start-Process -RedirectStandardOutput/-RedirectStandardError, which writes directly to http-server-python.log (stdout) and a .err sidecar (stderr). Stderr is appended to the main log with a ===== STDERR ===== marker on process exit.

Log overwrite destroys crash evidence in restart loop

Start-Process overwrites the redirect target file on each call. The previous size-based rotation (> 10MB) meant crash output from restart attempt N was silently destroyed by attempt N+1.

Fix: Log rotation is now unconditional at the start of each loop iteration - the current log is renamed to .old before Start-Process is called, preserving the most recent crash output for diagnosis.

Additional improvements (Gemini review feedback)

  • .env parser regex now strips trailing inline comments: MCP_HTTP_PORT=8001 # comment correctly parses as 8001
  • TLS protocol set via -bor to add Tls12 additively, preserving TLS 1.3 if already enabled in the session

Test Evidence (manual verification)

  • manage_service.ps1 status reports HEALTHY on https://127.0.0.1:8001/ after fix (previously: NOT RESPONDING)
  • http-server-python.log gains 15 stdout lines + 174 stderr lines within seconds of startup (previously: always 0 lines, all output lost)
  • Post-reboot: Scheduled Task auto-starts, server listens on correct port, sync service active
  • PowerShell parser validates all modified scripts (no syntax errors)
  • Zero hardcoded 8000/http://127.0.0.1 references remain in scripts/service/windows/

Classification

PATCH - zero Python code changes, zero API changes, zero test changes. Windows-only PowerShell scripts only.

1,537 tests passing.

Full Changelog

See CHANGELOG.md for the complete entry.

PRs: #682, #684

Don't miss a new mcp-memory-service release

NewReleases is sending notifications on new releases.