This release adds 2 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+5 more
ReleasePort's take
Light signalv0.6.1 adds optional `document_handle` parameter to all 45+ tools, enabling parallel agents to edit different documents without clobbering state. Empty handles default to `__default__` for backward compatibility.
Why it matters: Concurrent document editing now available across all 45+ tools; empty handles maintain backward compatibility. Test multi-agent workflows in dev before production use.
Summary
AI summaryAdded optional document_handle parameter for concurrent session support across all tools.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Breaking | Medium |
Empty `document_handle` resolves to `__default__` slot, maintaining backward compatibility. Empty `document_handle` resolves to `__default__` slot, maintaining backward compatibility. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
| Feature | Medium |
All 45+ tools accept optional `document_handle` string parameter for concurrent sessions. All 45+ tools accept optional `document_handle` string parameter for concurrent sessions. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Parallel agents can edit different documents through one server process without clobbering each other's state. Parallel agents can edit different documents through one server process without clobbering each other's state. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: high |
— |
| Feature | Medium |
`open_document`, `create_document`, and `create_from_markdown` return the handle in their response. `open_document`, `create_document`, and `create_from_markdown` return the handle in their response. Source: granite4.1:8b-q6_K@2026-05-21 Confidence: low |
— |
Full changelog
What's new
Concurrent session support (contributed by @FeritMelih)
All 45+ tools now accept an optional document_handle string parameter. Multiple clients (e.g. parallel agents in a single Claude Code session) can edit different documents through one server process without clobbering each other's state.
Usage:
- Single-client callers: omit the handle — identical behavior to before
- Parallel-aware callers: pass a unique handle (e.g. a UUID) per session
# Parallel agents — each gets its own isolated slot
h1 = json.loads(open_document("/path/to/a.docx", document_handle="session-1"))["handle"]
h2 = json.loads(open_document("/path/to/b.docx", document_handle="session-2"))["handle"]
search_text("clause", document_handle=h1) # sees only a.docx
search_text("clause", document_handle=h2) # sees only b.docx
open_document, create_document, and create_from_markdown now return the handle in their response so callers can capture and thread it through subsequent calls.
Backward compatible: empty handle resolves to __default__ slot — no existing code needs to change.
Full Changelog: https://github.com/SecurityRonin/docx-mcp/compare/v0.6.0...v0.6.1
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About SecurityRonin/docx-mcp
Read and edit Word (.docx) documents with track changes, comments, footnotes, and structural validation. The only MCP server combining w:ins/w:del tracked changes, threaded comments, and footnotes with OOXML-level paraId validation and document auditing. 18 tools, Python 3.10+.
Related context
Beta — feedback welcome: [email protected]