Skip to content

DocFence 0.18.0

Choose a tag to compare

@SybilGambleyyu SybilGambleyyu released this 01 Aug 11:01

Direct WordprocessingML hyperlink review

DocFence 0.18.0 adds a privacy-safe inventory for direct w:hyperlink markup. It is separate from stored HYPERLINK field codes and from broad relationship totals, so a residual hyperlink relationship is not confused with a direct link element.

  • DFP049 (require_no_word_hyperlink_markup) rejects a candidate with direct hyperlink markup.
  • DFP050 (no_word_hyperlink_markup_changes) protects a controlled direct-markup baseline.
  • Reports expose aggregate direct-element/story counts, relationship-backed counts, external/internal/unsupported relationship classes, anchor-only and current-document-start forms, and anchor attributes shadowed by an r:id relationship.
  • r:id precedence over w:anchor is represented without exposing either value. Targets, anchors, locations, tooltips, frames, history, display text, relationship IDs, story paths, and fingerprints remain private.

The inventory treats relationship mode as stored package evidence only. It does not resolve, retrieve, follow, validate, evaluate, or render links, and it makes no reachability or safety claim.

Validation included 44 passing tests, Ruff, reproducible wheel/source builds from the tagged commit, Twine checks, green Python 3.11/3.13/package CI, and an isolated-install profile of an independent public hyperlink fixture.