Release v1.10.0
·
51 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
This release delivers major robustness improvements, cross-platform parity, and a highly informative feedback
layer designed for LLM-driven document edits. It fully resolves the findings from GitHub Issue #23, hardens the
MCP Email client experience, and introduces safe preview execution capabilities.
Highlights
1. Redlining Engine Core Fixes (Issue #23 Compliance)
- BUG-23-1 (From-Scratch Comments Namespace): Resolved critical XML validation failures in Microsoft Word by
ensuringword/comments.xmlexplicitly declares thexmlns:w14(andw15/w16cid) namespaces when created from
scratch. - BUG-23-2 (Formatting / Italic Inheritance): Inserted runs (
w:ins) now explicitly default to regular/roman
formatting (empty run properties) instead of silently inheriting formatting like italics from surrounding anchor
runs. - BUG-23-3 (Punctuation Tokenizer Warning): Added a proactive tokenizer warning to alert callers when an edit
anchor contains split-prone punctuation (e.g._,-, or boundary transitions) that can cause mid-token
alignment splits. - BUG-23-4 (Multi-Paragraph Target Boundary Safety): To prevent silent structural corruption, both Python and
Node engines now uniformly and safely reject any multi-paragraphtarget_textwith identical, actionable error
messages. - BUG-23-5 (Tracked Deletions & Ambiguity Checks): Fixed unique matching by ignoring content inside
tracked-deleted (w:del) elements during uniqueness and ambiguity validation checks.
2. Advanced Feedback & Preview Layer
dry_runMode: Introduced a no-write preview option (dry_run: true) toprocess_document_batchacross
both engines to simulate edit outcomes entirely in memory.- Rich Semantic Reporting: Replaced bare execution tallies (
Edits: N applied) with detailed per-edit
feedback (apply status✅ applied/❌ failed, targets, warnings, and accepted-text previews). - Preview Engine Correction: Solved a critical regression where the preview simulator's crude substring
splicing caused prefix duplication and character eating. The simulator is now fully aligned with the actual
writer's output on both engines. accept_all_changesOptimization: Patched memory/data leaks and finalized behavior during clean-up and
finalization operations.
3. MCP Email Parity, Hardening & UX
- Achieved full behavioral parity between Python and Node implementations of the
mcp-emailtool (quote
stripping, attachment size caps, stale-ID cleanups, robust timeouts, HTML stripping, and normalized local path
parameters). - Added exhaustive unit/integration tests for email tools (
email.test.ts/test_email_tools.py).
4. Testing & CI Parity Validation
- Added comprehensive cross-platform, multi-engine regression suites matching both implementations to
byte-identical output standards. - Hand-crafted stripped XML fixtures (
at_23_1_fresh.docx) to guarantee strict "no pre-existing comments"
coverage.
What's Changed
- Add issue-23 regression detection tests (Python + Node + cross-platform) by @mkorpela in
#24 - Topic fix all by @mkorpela in #25
Full Changelog: v1.9.0...v1.10.0