This release adds 2 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+5 more
Summary
AI summaryaccept_change and reject_change now persist changes to disk after modification.
Changes in this release
| Type | Severity | Summary | CVE |
|---|---|---|---|
| Feature | Medium |
`get_body_text` tool returns accepted-view body text including hyperlinks and footnotes. `get_body_text` tool returns accepted-view body text including hyperlinks and footnotes. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
`replace_text` now returns separate `del_id` and `ins_id` for tracked replacements. `replace_text` now returns separate `del_id` and `ins_id` for tracked replacements. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
P8/P9 expansion includes field ops, header/footer layout, pagination, document operations, style tools, table query, accessibility APIs, block elements, text boxes, image borders, advanced field codes, and PDF export. P8/P9 expansion includes field ops, header/footer layout, pagination, document operations, style tools, table query, accessibility APIs, block elements, text boxes, image borders, advanced field codes, and PDF export. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Feature | Medium |
Added 19 comprehensive integration tests in `tests/test_mike_integration.py` covering various document operations. Added 19 comprehensive integration tests in `tests/test_mike_integration.py` covering various document operations. Source: llm_adapter@2026-05-21 Confidence: low |
— |
| Feature | Low |
Added 19 integration tests covering hyperlink search, accepted-view body, footnotes, normalization, roundtrip edits, batch edits, and smoke tests. Added 19 integration tests covering hyperlink search, accepted-view body, footnotes, normalization, roundtrip edits, batch edits, and smoke tests. Source: granite4.1:30b@2026-05-22-audit Confidence: low |
— |
| Bugfix | Medium |
`accept_change` / `reject_change` persist changes by marking word/document.xml after DOM modification. `accept_change` / `reject_change` persist changes by marking word/document.xml after DOM modification. Source: llm_adapter@2026-05-21 Confidence: high |
— |
| Refactor | Medium |
`_flatten_para` now traverses `w:hyperlink` elements when flattening paragraph text. `_flatten_para` now traverses `w:hyperlink` elements when flattening paragraph text. Source: llm_adapter@2026-05-21 Confidence: low |
— |
Full changelog
What's new
New tool: get_body_text
Returns the accepted-view body text of the document (hyperlink text included, deleted text excluded) plus footnote text. Used by downstream consumers to extract document content for AI context windows without manually traversing OOXML.
replace_text now returns del_id and ins_id separately
Previously replace_text returned a single change_id. It now returns both del_id (the deletion half) and ins_id (the insertion half) of a tracked replacement, enabling callers to accept or reject each half independently via accept_change / reject_change.
accept_change / reject_change persist fix
Both methods now call _mark("word/document.xml") after modifying the DOM. Previously, accepted/rejected changes were applied in-memory but save_document silently wrote the original XML, discarding the resolution.
_flatten_para traverses w:hyperlink
Hyperlink run text is now included when flattening paragraph text for search. Previously, text inside <w:hyperlink> elements was silently omitted.
Comprehensive integration test suite
19 new tests (tests/test_mike_integration.py) covering: hyperlink text in search, accepted-view body, footnotes, NBSP/smart-quote normalization, context disambiguation, accept/reject roundtrip, batch edits, and real-fixture smoke tests.
P8/P9 feature expansion
New tools: field ops, header/footer layout, paragraph pagination, document operations (copy_document, flatten_document, get_reading_time), extended style tools, table query, accessibility (set_alt_text, get_alt_text, check_accessibility), block elements, text boxes, image borders, advanced field codes, and PDF export.
What's Changed
- feat: get_body_text tool, replace_text del_id/ins_id, accept/reject persist fix (v0.5.0) by @h4x0r in https://github.com/SecurityRonin/docx-mcp/pull/3
New Contributors
- @h4x0r made their first contribution in https://github.com/SecurityRonin/docx-mcp/pull/3
Full Changelog: https://github.com/SecurityRonin/docx-mcp/compare/v0.5.0...v0.6.0
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
Related tools
Earlier breaking changes
- v0.6.1 Empty `document_handle` resolves to `__default__` slot, maintaining backward compatibility.
Beta — feedback welcome: [email protected]