Repository navigation
Adeu v1.4.3
·
943 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
What's New
Structural Table Edits
We've introduced explicit structural table operations to safely modify DOCX table grids without risking OOXML gridspan corruption.
- New Intent Models: The
DocumentChangeAPI now supportsInsertTableRowandDeleteTableRow. - Safe Grid Manipulation: The Redline Engine dynamically resolves row modifications using table context instead of brute-force string replacement, explicitly tracking row additions/deletions as native
w:ins/w:deltags in the document properties. (Note: Currently supported for disk-based DOCX editing only).
Live Word COM Stabilization
The Windows Live Word interop engine has received a massive architectural overhaul to guarantee extraction and execution parity with the disk-based XML engine.
- Specific File Targeting: The
read_docxandprocess_document_batchtools now intelligently target specific open files in MS Word by path (falling back to disk if closed), rather than blindly grabbing the active window. - The "Reverse Sandwich" Algorithm: Multi-paragraph insertions via COM natively caused catastrophic anchor bleeding and displaced deletions. We introduced a decoupled insertion/deletion algorithm that safely isolates comment anchors and tracks multi-paragraph breaks without corrupting surrounding text or garbling document structure.
- Pure Comment Redlining: Attaching a comment to identical text (same target and replacement) via COM now intelligently bypasses the text replacement, preventing spurious insertion/deletion pairs from polluting the review pane.
- Identity Spoofing Support: The engine now actively bypasses M365 enforced identities during live editing via
app.Options.UseLocalUserInfo, correctly attributing live tracked changes to the provided Agent's name.
Enhancements & Bug Fixes
Batch Engine & Validation
- Strict Review Validation: Attempting to accept, reject, or reply to non-existent (fake) IDs now correctly throws a
BatchValidationErrorinstead of failing silently or crashing with anAttributeError. - Dropped Comments on Multi-Para Inserts: Fixed a bug where comments were dropped when executing multi-paragraph insertions. The engine now anchors comments starting from the deleted text block through to the end of the newly inserted paragraph.
- Special Content Survival: Deleting or replacing text next to special XML content (like inline images or drawings) no longer silently destroys the image. The engine now physically clones and preserves special elements inside the
w:delwrapper. - Markdown List Leaks: Fixed a bug where inserting new list items via Markdown (e.g.,
\n\n* Itemor\n\n1. Item) leaked the literal markdown tokens into the final document text. - Trailing Deletion Swallowing: Fixed Bug 9 where trailing deletions adjacent to multi-paragraph inserts were silently swallowed.
Ingestion & Diff Accuracy
- Tracked Formatting Visibility: The
ingest.pyextraction pipeline now actively parses inline tracked formatting (w:rPrChange). Formatting changes (e.g., bolding a word) are now correctly projected as CriticMarkup for the LLM. - Clean View Empty Rows: The extraction pipeline now successfully skips table rows marked for deletion when
clean_view=Trueis requested. - Diff Engine Robustness: Fixed a bug where the diff engine failed to detect pure formatting changes (e.g., Bold -> Italic). Fixed another edge case where the diff engine would improperly split mid-markdown token.
Sanitization Safety
- Zero-Corruption Comment Scrubbing: The
sanitize_docxtool has been updated to strictly adhere to Architectural Decision #8. When stripping all comments, it now physically empties the parts but leavesword/comments.xmlintact within the OPC package. This prevents MS Word from throwing unrecoverable corruption errors upon opening. - Report Routing: Fixed a bug in the Sanitize Report where comment detail lines were accidentally routed to the structural metadata section.