Releases: SybilGambleyyu/document-change-benchmark
Release list
DCAB 0.20.0
DCAB 0.20 adds a deterministic review fixture for a stored WordprocessingML field-recalculation-on-open setting transition.
The pair changes only direct w:updateFields state in word/settings.xml (explicitly disabled to enabled); package members, relationship topology, and stored text remain fixed. It models static review of a document setting, not field evaluation or behavior in a particular application.
This release contains 31 paired fixtures and validates with the released DocFence 0.30.0 adapter.
DCAB v0.19.0
Adds the 30th deterministic paired WordprocessingML fixture.\n\n- New attached-custom-XML-schema namespace rewrite case changes only word/settings.xml.\n- The target-free oracle keeps the declared namespace private and retains fixture schema version 1.\n- Structural validation covers exact leaf shape, member stability, unchanged stored text, deterministic rebuilds, and a DocFence 0.29 adapter integration.
Document Change Assurance Benchmark 0.18.0
Adds one deterministic, target-free WordprocessingML case for an external XSLT transform configured for single-XML saves.
- New case:
external.save_through_xslt_target_retargeted. - Keeps the enabled setting, transform anchor, relationship ID, package members, and stored document text fixed; only the synthetic external transform target changes.
- Adds structural validation, privacy-redaction coverage, and a DocFence 0.28.0 adapter mapping.
- The corpus now contains 29 pairs / 29 facts, retaining fixture schema version 1.
The builder, verifier, and adapter never fetch, parse, or execute an XSLT transform or claim emitted-XML/client behavior.
DCAB 0.17.0
Adds a deterministic mail-merge recipient-selection fixture that changes only one stored recipient inclusion state in a complete internal recipient-data topology.
The corpus now contains 28 paired cases. Fixture schema version 1 and the target-free observation envelope remain unchanged. Validation, independent python-docx/OPC loading, DocFence 0.27 strict scoring, wheel installation, and sdist installation all passed.
DCAB 0.16.0
DCAB 0.16.0
This release adds embedded.activex_control_persistence_payload_changed, bringing the corpus to 27 deterministic paired WordprocessingML cases while retaining fixture and observation schema version 1.
The new pair fixes the full stored topology of an inline w:object/w:control anchor, its internal control relationship, an ActiveX ax:ocx persistence part, both content types, and the required internal activeXControlBinary relationship. Only inert synthetic persistence-binary marker bytes differ. It does not parse those bytes, load or instantiate a control, render a placeholder, invoke a client/server, or make a runtime claim.
The optional DocFence adapter recognizes the case from target-free aggregate evidence and reaches a strict 27/27 score with DocFence 0.27.
Artifacts:
document_change_benchmark-0.16.0-py3-none-any.whl- SHA-256:
31b9ec0f98be8810c4d0b867bb668b588771bfa6e5cf1103a80fd687cbfd3a13
- SHA-256:
document_change_benchmark-0.16.0.tar.gz- SHA-256:
60e36a9c5a4823da83293ac3b3ea80a2726c901e084027ac9dcb44b37ffdd4da
- SHA-256:
Document Change Assurance Benchmark 0.15.0
DCAB 0.15.0 adds a deterministic legacy VML linked-OLE relationship-target case.
Highlights
- Adds external.vml_linked_ole_object_target_retargeted, the twenty-sixth paired fixture.
- Fixes its VML placeholder, link metadata, relationship ID, package member set, and stored text while changing only one external standard oleObject relationship target.
- Publishes a target-free fact and a DocFence 0.27 adapter mapping based on aggregate evidence.
Verification
- Hosted CI passed on Python 3.11, 3.12, and 3.13, plus a clean pinned DocFence adapter job.
- Fresh wheel and source-distribution installs validate the full 26-case corpus.
The fixture is static package-review evidence only: it does not retrieve a source, parse or activate an OLE object, launch an application, or make client rendering or update claims.
DCAB 0.14.0
Frameset source coverage
DCAB 0.14.0 adds external.frameset_source_target_retargeted, a complete Word Web Settings frameset with one source-backed frame. The content type, internal main-document-to-Web-Settings relationship, root frameset layout, frame size/name, source anchor, and relationship ID remain fixed. Only the private external frame-source target changes in word/_rels/webSettings.xml.rels.
This is a static package-review fixture. It does not open or render Word, resolve, retrieve, import, or authenticate to a frame source, or assert client display behavior.
Compatibility
- Fixture schema remains
1. - The public truth and observation envelopes are unchanged.
- The catalogue now contains 25 paired synthetic cases.
Verification
- Rebuilt fixture trees validate 25 cases and 25 facts.
- The wheel and source distribution each install in a fresh environment and validate the packaged corpus.
- The optional DocFence reference adapter produces a strict 25/25 score from aggregate frame-anchor and frame-relationship evidence without exposing targets or frame metadata.
DCAB 0.13.0
Fragmented complex field coverage
DCAB 0.13.0 adds external.complex_include_text_field_target_retargeted, a complete Word complex INCLUDETEXT field whose private source is deliberately split across three preserved-whitespace w:instrText runs. The marker sequence, result text, package members, and stored w:t sequence stay fixed; only the source fragment changes in word/document.xml.
This is a static package-review fixture. It does not resolve or import a source, open Word, update or evaluate a field, or assert client behavior.
Compatibility
- Fixture schema remains
1. - The public truth and observation envelopes are unchanged.
- The catalogue now contains 24 paired synthetic cases.
Verification
- Rebuilt fixture trees validate 24 cases and 24 facts.
- The wheel and source distribution each install in a fresh environment and validate the packaged corpus.
- The optional DocFence reference adapter produces a strict 24/24 score from aggregate reports without exposing field sources or fragments.
DCAB 0.12.0
Office 2013 commentsExtended done-state boundary
DCAB 0.12.0 adds review.modern_comment_done_state_changed, a deterministic static-review case for an Office 2013 w15:commentEx done-state change.
- Both packages retain one anchored classic comment, its matching paragraph identifier, internal relationships, content types, package members, and stored
w:tsequence. - Only
word/commentsExtended.xmlchanges, from an explicit storeddone=0value todone=1. - The public oracle reports only the semantic fact and reference convention; it excludes fixture-specific comment text, author metadata, identifiers, relationship paths, and raw serialization values.
- Fixture schema version remains
1; the corpus now contains 23 paired cases.
The project remains a static package-review benchmark. This case does not open Word, render or update a comment, resolve a thread, infer an identity, synchronize with a service, or claim a client UI/workflow behavior.
Verification: 19 tests locally (including the optional DocFence adapter), hosted Python 3.11–3.13 CI, twine check, and fresh wheel/source-distribution installs all passed.
SHA-256:
document_change_benchmark-0.12.0-py3-none-any.whl:4e98f2bc40973259edc1b0169f59a3db275617a4bf610c80f46eb541bb6e6fcddocument_change_benchmark-0.12.0.tar.gz:2e3a3efa98b4963314a187c016a2a133bb371c0a5c6cada0a20bd1c03d4ac64c
DCAB 0.11.0
DCAB 0.11.0 adds interaction.vml_shape_hyperlink_target_retargeted.
- Twenty-two deterministic paired packages; fixture schema remains 1.
- The new pair preserves a fixed VML rectangle and target frame while its direct href changes between synthetic destinations.
- The structural verifier, python-docx/OPC reader checks, and optional DocFence 0.27 adapter cover the pair.
- This is static package evidence only. It does not resolve a URL, select a rendering branch, simulate a click, or make a client-navigation claim.