Releases: nxrobins/dotscope
v1.7.9
Windows-safe MCP boot-gate release.
Highlights:
- force UTF-8 Python stdio in the reusable MCP boot-gate workflow
- run boot-gate ingest/init in quiet mode for CI
- make init summary output ASCII-safe on non-Unicode consoles
- include regression coverage for cp1252-style stdout handling
v1.7.8
MCP boot-contract hardening and refactor release.
Highlights:
- strict MCP boot contract with manifest and failure bundle persistence
- managed-runtime and repo-local auto-repair with advisory global drift by default
- reusable CI/release boot gate across Windows, Linux, Intel macOS, and Apple Silicon macOS
- probe, target, and boot-policy refactors plus lock and launcher regressions fixed during validation
v1.7.7
Help, docs, and CLI fixes
CLI:
dotscope ingest .now works — added optional positional directory arg (was--dironly)dotscope synchelp text cleaned up
Help text:
- Root
--helpnow shows all user-facing commands (was missing sync, match, context, list, validate, impact) - Added per-command
--helpfor sync, context, match, validate, impact
Documentation overhaul:
mcp-integration.md: Rewrote to match the 14 tools that actually exist. Previous version claimed 19 tools, listing 12 that were never implemented. Addeddotscope_syncanddotscope_refresh. Fixedcodebase_search→dotscope_search.cli-reference.md: Rewrote with accurate syntax for all commands.
Also includes (from v1.7.4–1.7.6)
- Fixed MCP stdio transport (responses going to stderr)
- Replaced fragile monkeypatch with clean method override
- Fixed
dotscope_searchgit grep flag ordering - Fixed
list_scopes/match_scopereturning empty results - Exposed
dotscope_syncas MCP tool - Raised mcp dependency floor to
>=1.6.0
v1.7.6
Bug fixes
dotscope_search: git grep -i flag was inserted at the wrong index, producing the invalid command git --no-pager -i grep .... Fixed off-by-one in cmd.insert().
list_scopes / match_scope: Both returned empty results when the .scopes index existed but had no entries in the scopes: field (e.g., legacy routes: format). The check if index: was truthy for an empty ScopesIndex, so the fallback to physical .scope file discovery never ran. Changed to if index and index.scopes:.
Also in this release (from v1.7.4–1.7.5)
- Fixed MCP stdio transport (responses were going to stderr instead of stdout)
- Replaced fragile monkeypatch with clean
run_stdio_asyncmethod override - Exposed
dotscope_syncas an MCP tool - Raised mcp dependency floor to
>=1.6.0
v1.7.5
Improved stdio transport fix
Supersedes v1.7.4. Replaces the internal module monkeypatch with a clean method override that passes the isolated stdout into stdio_server(stdout=...) — the public API. This is stable across all mcp package versions.
Changes:
- Simpler fix: Override
FastMCP.run_stdio_asyncinstead of patchingmcp.server.fastmcp.server.stdio_server(an internal import that could change between releases) - Raise mcp floor:
mcp>=1.6.0(was>=1.2.0). Versions <1.6 crash with a PydanticValidationErrorwhen the client sendsnotifications/cancelled
Background
v1.7.3 had a bug where all JSON-RPC responses were silently written to stderr instead of stdout, causing every MCP client to time out. v1.7.4 fixed this but used a fragile monkeypatch. v1.7.5 uses the same approach but through stable public API.
v1.7.4
Bug fix
Fix MCP stdio transport: JSON-RPC responses were silently written to stderr instead of stdout, causing all MCP clients (Claude Code, Claude Desktop, Cursor, etc.) to time out after 60 seconds.
Root cause: The stdout isolation monkeypatch replaced mcp.server.stdio.stdio_server, but FastMCP.run_stdio_async binds the function via from … import at module load time — the patch never took effect. All responses went through the redirected fd 1 (→ stderr).
Fix: Patch the local name inside mcp.server.fastmcp.server (the reference that run_stdio_async actually calls) in addition to the module-level attribute.
v1.7.3
Polish for public launch
- Version string sync:
dotscope.__version__anddotscope --versionnow correctly report 1.7.3. v1.7.2 shipped with a stale "1.7.1" hardcoded indotscope/__init__.py. - sdist publishes cleanly: added
license-files = ["LICENSE"]so maturin includes LICENSE in the sdist alongside the PEP 639 metadata. Previous sdist uploads were rejected by PyPI; now sdist and all wheels publish successfully.
No functional changes from v1.7.2. If you're already on v1.7.2 with working wheels, the only practical difference is correct version reporting.
If you're just finding dotscope
v1.7.3 is the first release where everything aligns: the init crash is fixed, help and argparser are in sync, and the package metadata is clean. pip install dotscope.
v1.7.2
Fixes
dotscope initpost-ingest crash —_cmd_initincli/core.pyreferenced helpers that live incli/__init__.pywithout importing them, and calledbacktest_scopes()with a stale 1.6.x signature. Chain ofNameError/TypeErrormade init exit 1 after successful ingestion. The crash came after all artifacts were written, so existing installs were functionally fine — this restores a clean exit code and the post-init counterfactual summary. (a60aeb9)- Phantom
onboardsubcommand — the help banner advertisedonboard [NEW!] Interactive getting started guide, but the argparser had no such subcommand registered, sodotscope onboardfailed with an "invalid choice" error. Removed from the help banner andHELP_COMMANDSso help and argparser stay in sync. (a60aeb9) - CI: Publish workflow —
actions/download-artifact@v4with a wildcard pattern was creating subdirectories that broketwine. Addedmerge-multiple: true. This is why v1.7.0 and v1.7.1 never made it to PyPI. (7b62ac1)
Side benefit
Init is slightly faster now — the fix eliminates a redundant second backtest invocation. ingest() already runs a 50-commit replay internally and stores the result on plan.backtest_report, so the CLI just reads from there.
Note
v1.7.2 is the first dotscope release to reach PyPI. v1.7.0 and v1.7.1 had tags and GitHub releases but the publish workflow failed. Install with pip install dotscope.
Dotscope v1.7.1: The Product Hunt Launch Matrix Fix
Structural physics bounding for AI Agents. Native Petgraph bounds + Zero-Dependency cross-compiled Rust binaries.
Dotscope v1.7.0: The Product Hunt Launch
Structural physics bounding for AI Agents. Native Petgraph bounds + Zero-Dependency cross-compiled Rust binaries.