Skip to content

DocFence 0.25.0

Choose a tag to compare

@SybilGambleyyu SybilGambleyyu released this 01 Aug 13:58

WordprocessingML linked-object review

DocFence 0.25.0 adds a privacy-safe inventory for direct w:objectLink children of w:object in supported Word stories. It is distinct from w:objectEmbed, legacy Office VML linked OLE markup, VML links, DrawingML linked pictures, fields, and generic embedded-object totals.

  • DFP063 rejects a candidate containing a stored direct WordprocessingML linked-object-property marker.
  • DFP064 protects an approved marker baseline.
  • Reports expose aggregate marker/story counts, exact stored always / onCall modes, unsupported-or-missing modes, and OLE relationship classes only. Program/shape identifiers, field codes, locking metadata, relationship IDs and targets, XML, and story paths remain private.
  • Same-count metadata or target rewrites stay review-visible; relationship-ID renumbering with unchanged semantics stays quiet.

Validation

The 51-test suite, Ruff, Python 3.11/3.13 CI, and package metadata checks passed. Builds from the tagged source and main are byte-identical when normalized with the tag timestamp. A clean wheel install smoke test verified the public word_object_links projection and redaction.

Scope limit

This is a narrow stored-XML compatibility boundary, not a client-behavior claim. The release documentation records that scans found no direct marker in 503 readable Open XML SDK fixture packages (two read errors) or in 141 docx4j fixture packages, including five legacy OLE samples.