Skip to content

Release v0.15.0

Choose a tag to compare

@github-actions github-actions released this 08 Jun 21:59
41dc991

Added

  • Documentation site: New MkDocs (Material) user guide under docs/, deployed to GitHub Pages via pages.yml. Covers getting started, the use cases, and a reference for the command-line options, tools, and client configuration. Content migrated and trimmed from the project wiki.
  • Prompts reference: Documented the built-in dump-triage MCP prompt and its dump_path argument (docs/reference/prompts.md).
  • Usage guide coverage: New use-case pages for running the server over HTTP (Debug from another machine) and scrubbing tool output (Redact sensitive data), plus WER auto-capture setup in the triage guide and the dump-triage prompt in the crash-dump guide. Documented the HTTP transport's lack of authentication, that attach-by-PID is unsupported, and that sessions are concurrent.

Changed

  • Package metadata: Filled in distribution metadata so pip show / PyPI are complete - added the author/maintainer email, project URLs (Homepage, Repository, Issues, Changelog), and classifiers for Windows, console environment, and the Debuggers/QA topics (#36)
  • Contributor guide: Migrated AGENTS.md to CLAUDE.md and added .claude/rules/ (Markdown typography and documentation authoring), plus scripts/Format-Docs.ps1 to enforce the typography rules
  • Docs tooling: Bumped the docs build dependencies in requirements-docs.txt to their latest patch floors - mkdocs>=1.6.1, mkdocs-material>=9.7.6, pymdown-extensions>=10.21.3 (consolidates #51, #52, #53)
  • Test suite: Replaced the ad-hoc tests with a declarative end-to-end harness. Each tests/scenarios/*.yaml runs against a really-hosted python -m mcp_windbg server driven by a real MCP client (only the LLM is faked). Live scenarios carry live/remote markers and skip cleanly without CDB, so -m "not live" runs anywhere. Adds pyyaml as a dev dependency.
  • Coverage: The harness hosts the server under coverage run --parallel-mode (set MCP_WINDBG_COVERAGE), so coverage reflects the subprocess where tool dispatch runs rather than the test process. The suite reaches 90%+; CI enforces a floor with coverage report --fail-under=88 (margin below the ~91% actual for cross-version and cdb-output jitter). Code that cannot be line-measured end-to-end (the streamable-http transport on Windows, atexit cleanup, debug-only and defensive branches) is excluded with documented # pragma: no cover and exclude_also rules. Adds coverage as a dev dependency.
  • LFS dumps are mandatory: a scenario whose requires.dump file is missing now hard-fails (run git lfs pull) instead of skipping, so a half-set-up checkout is a loud error rather than silent green.

Removed

  • Dead code: Removed three unused functions surfaced while raising test coverage - server.execute_common_analysis_commands, CDBSession.get_session_id, and prompts.get_available_prompts. None had callers.

Fixed

  • Stdio server resilience: The stdio transport no longer crashes on a malformed input line. serve() now uses the SDK default raise_exceptions=False, so an unparseable line (e.g. when the server is run directly in a terminal) is logged instead of tearing down the whole process (#45)

Added

  • Tool Content Filter Script Hooks: Added --filter-script so trusted Python helpers can rewrite string-valued tool arguments and tool text output for use cases like PII redaction without exposing full MCP protocol messages

Added

  • Live Debugger Break-In: Added the send_ctrl_break tool to interrupt an active CDB/WinDbg session with CTRL+BREAK for dump and remote debugging workflows (#40)

Changed

  • Dependency Refresh: Updated runtime dependency floors for mcp, pydantic, starlette, and uvicorn, and refreshed test and validation tooling versions in pyproject.toml
  • CI Dependency Maintenance: Updated GitHub Actions dependencies for Python setup and artifact handling in release workflows (#39, #42)

Fixed

  • Registry Compatibility: Restored MCP registry compatibility by reverting server.json to the supported 2025-10-17 schema version
  • Publishing Workflow: Adjusted MCP publishing workflows to match current registry publisher behavior

Fixed

  • Registry Schema Migration: Updated MCP server schema from deprecated 2025-10-17 to current 2025-12-11 version for mcp-publisher compatibility

Added

  • HTTP Transport in Registry: Added streamable-http transport configuration to server.json for MCP registry discovery
  • Schema Validation in CI: New validate-server-schema.py script validates server.json against the official MCP schema

Fixed

  • Registry Schema Update: Updated MCP server schema version from 2025-09-29 to 2025-10-17 for compatibility with registry.modelcontextprotocol.io
  • CI Cache Warning: Disabled unnecessary dependency caching in PyPI publish job to eliminate spurious warnings

Added

  • HTTP Transport Support: New --transport streamable-http option enables HTTP-based communication alongside the default stdio transport (#31)
  • MCP Prompt API: Implemented prompt templates for AI-assisted crash dump triage and analysis (#25)

Changed

  • Updated Dependencies: Bumped mcp to 1.17.0, pydantic to 2.12.0, and other dependencies (#26)
  • Improved Prompt Templates: Removed hard-coded model references from prompt templates for better flexibility (#29)
  • Updated Dependabot Configuration: Improved automated dependency update settings

Fixed

  • Session Cleanup: Prevent stale debugging sessions if .shutdown() fails (#28)

What's New in This Release

This release focuses on making mcp-windbg more reliable, faster, and easier to use for everyone - from beginners to advanced users.

New Features

Core

  • Live debugging session support via open_windbg_remote and close_windbg_remote
  • Extended dump file support for .mdmp and .hdmp formats
  • Microsoft Store WinDbg CDB compatibility

Devops

  • Set up continuous integration that automatically tests the code with Python versions 3.10 through 3.14
  • Added automatic dependency updates to keep everything secure and up-to-date
  • Streamlined the release process so new versions reach users faster

Development

  • Switched to uv - a lightning-fast Python package manager that's 10-100x faster than pip
  • Development setup is now much quicker with commands like uv sync and uv run
  • More reliable builds with locked dependency versions

Documentation

Improvements

Performance Boost: Build times are significantly faster thanks to the new tooling
Enhanced Security: Automatic scanning and updates keep dependencies secure

Community Contributions

Special thanks to @sooknarine for these valuable contributions: