Repository navigation
MarkItDown 2Ways v0.2.0
MarkItDown 2Ways v0.2.0
Phase E adds conservative native round trips for proven-simple DOCX and PPTX table cells while preserving the fail-closed fidelity model established in v0.1.0.
Included
- identity Markdown tables can emit deterministic
update_table_cellsedits for changed coordinates only - table-level semantic/native-locator preconditions plus per-cell
old_textstale-write evidence - DOCX simple table-cell text patching through existing native text carriers
- PPTX simple table-cell text patching through existing DrawingML text carriers
- semantic readback and native-target preservation verification for touched tables
- fail-closed handling for merged/spanned cells, nested tables, multi-paragraph cells, ambiguous carriers, structural/style/layout mutations, and charts
- hardening against Markdown boundary-whitespace loss, foreign local-name namespace spoofing, and mixed Transitional/Strict OOXML table namespaces
Verification
Release target tree 00a42aa66061ecbb27617fe2d2391935b7d5bacf is byte-identical to the synthetic PR merge candidate validated by GitHub Actions.
- pre-commit: PASS
- Python 3.10: 704 passed, 33 skipped, 0 failed
- Python 3.11: 704 passed, 33 skipped, 0 failed
- Python 3.12: 704 passed, 33 skipped, 0 failed
- Python 3.13: 704 passed, 33 skipped, 0 failed
- OCR matrix on Python 3.10–3.13: PASS
Scope
This remains a bounded two-way document layer, not a general Office editor. Table structure, style/layout, merged/spanned cell mutation, chart mutation, and unsupported complex native edits remain read-only or fail closed.
This is a fork-specific GitHub release tag. It does not replace or publish over the upstream markitdown PyPI package/version identity.