Repository navigation
v0.7.0
v0.7.0
4 bug fixes discovered through real-world contract redlining.
Bug Fixes
-
Tab normalization —
get_run_text()now normalizes literal\tcharacters to spaces, consistent with how<w:tab/>elements are handled. Previously this caused spurious track changes showing tab deletions and space insertions. -
Bold/italic inheritance bleed — Replacing formatted text with plain text no longer incorrectly inherits the deleted run's bold or italic properties.
_apply_run_props()now accepts asuppress_inheritedflag that explicitly turns off formatting carried over viadeepcopyof the anchor run'srPr. -
Markdown marker leaking into diffs —
_trim_common_context()now backtracks prefix and suffix trim points to avoid leaving unbalanced**or_markers in the edit delta. It also absorbs balanced outer wrappers (e.g.**Bold**→**Bolder**now diffs asBold→Bolder). -
Overlapping edit detection —
apply_edits()now tracks occupied character ranges across both the indexed and heuristic edit paths. When a second edit targets a range already covered by an applied edit, it is skipped rather than applied on top of shifted indices, preventing document corruption.
Thank you @sarturko-maker for the reports!