Upgrades the vendored Docxodus engine from v5.4.2 to v7.0.0 and exposes its new comparison-engine selector.
New: choose a comparison engine
DocxodusEngine now accepts an engine= keyword argument. wmlcomparer remains the default, so existing code is unaffected.
from python_redlines import DocxodusEngine
engine = DocxodusEngine()
engine.run_redline("Reviewer", original, modified) # wmlcomparer (default)
engine.run_redline("Reviewer", original, modified, engine="docxdiff") # new IR enginedocxdiff is Docxodus's structure-aware IR diff engine. It produces finer-grained markup and will report a different revision count than wmlcomparer for the same pair of documents — different algorithms, both correct.
Settings docxdiff does not support
docxdiff does not implement detail_threshold, simplify_move_markup, or detect_format_changes. The underlying CLI accepts and silently ignores them, so passing any of the three alongside engine="docxdiff" now raises ValueError instead of quietly producing untuned output.
It does honour detect_moves, case_insensitive, conflate_spaces, move_similarity_threshold, move_minimum_word_count, and date_time.
Move markup differs between the two: docxdiff renders moves natively and rejects simplify_move_markup, so the Word-compatibility mitigation documented for wmlcomparer is unavailable there. If you need moves lowered to plain del/ins, use engine="wmlcomparer" with simplify_move_markup=True.
Building from source now requires the .NET 10 SDK
Docxodus v7.0.0 targets net10.0. A .NET 8 SDK can no longer build the Docxodus engine. The Open-XML-PowerTools engine still targets net8.0, and the .NET 10 SDK builds both, so only one SDK is needed.
apt install dotnet-sdk-10.0
# or: curl -sSL https://dot.net/v1/dotnet-install.sh | bash -s -- --channel 10.0This affects contributors only. Installing from PyPI ships prebuilt binaries; end users never compile anything and need no .NET SDK.
Install
pip install python-redlines[docxodus] # Docxodus engine (wmlcomparer + docxdiff)
pip install python-redlines[ooxmlpowertools] # Open-XML-PowerTools engine
pip install python-redlines[all]Full changelog: v0.2.1...v0.3.0