Skip to content

v0.3.2: Windows Compatibility & JSON Output Improvements

Choose a tag to compare

@koriym koriym released this 03 Nov 13:51

Fixed

  • Standalone Execution Support: Fixed MCP server to work when invoked from any working directory (#27)

    • Replaced relative paths (./bin/*) with absolute paths using dirname(__DIR__)
    • Enables Claude Code to invoke xdebug-mcp tools regardless of current working directory
    • All MCP tools (x-trace, x-debug, x-profile, x-coverage) now work standalone
  • Profiler Filename Placeholder: Fixed cachegrind output filename to display actual process ID (#28)

    • Changed placeholder from %s (script name) to %p (process ID) in profiler_output_name
    • Output now shows /tmp/cachegrind.out.12345 instead of /tmp/cachegrind.out.%s
    • Makes profile files easy to identify and use with analysis tools
  • JSON Output Parsing: Fixed xdebug-profile --json to suppress script output for clean JSON (#28)

    • Script stdout/stderr now automatically suppressed in JSON mode
    • Enables clean piping to jq: ... | jq '.["🎯 bottleneck_functions"]'
    • Human-readable mode unchanged (still shows script output)
  • Windows Compatibility: Cross-platform output suppression in JSON mode

    • Detect platform using PHP_OS_FAMILY
    • Use 'NUL' on Windows, '/dev/null' on Unix for output redirection
    • Fixes xdebug-profile --json to work on Windows systems

Quality Assurance

  • All PHPUnit tests passing (97 tests, 270 assertions)
  • Coding standards compliance verified