Skip to content

Releases: UseJunior/safe-docx

v0.16.0

Choose a tag to compare

@github-actions github-actions released this 08 Jul 15:49
b0560a0
Link compatibility matrix and bump 0.16.0

Adds a README link to the live DOCX compatibility matrix and bumps synchronized workspace/package/manifest versions to 0.16.0 so the npm release can catch up with current main.

v0.15.0

Choose a tag to compare

@github-actions github-actions released this 22 Jun 23:19
fbf82bb

What's Changed

Features

  • feat(docx-core): guard openspec tag-density with coverage-rationale annotation by @stevenobiajulu in #518
  • feat(docx-core): deterministic THEN-keyword spec-coverage check by @stevenobiajulu in #519
  • feat(docx-core)!: remove agreement-domain recipes (coverTermsTable, signatureBlock) — 0.15.0 by @stevenobiajulu in #520

CI / Infrastructure

Other Changes

  • test(docx-core): raise docx-comparison spec coverage to 68/69 and split coverage scripts by @stevenobiajulu in #513

Full Changelog: v0.14.0...v0.15.0

v0.14.0

Choose a tag to compare

@github-actions github-actions released this 20 Jun 23:07
0610673

What's Changed

Features

  • feat(docx-core): OA recipe border + header styling hooks (SDX-GEN-112/113) by @stevenobiajulu in #511

Documentation

Other Changes

Full Changelog: v0.13.0...v0.14.0

v0.13.0

Choose a tag to compare

@github-actions github-actions released this 19 Jun 19:28
46427e7

What's Changed

Features

  • feat(docx-core): OA recipe styling hooks — cover-terms run styling + signature oa-stacked-ruled by @stevenobiajulu in #507

Other Changes

Full Changelog: v0.12.1...v0.13.0

v0.12.1

Choose a tag to compare

@github-actions github-actions released this 17 Jun 11:17

Full Changelog: v0.12.0...v0.12.1

v0.12.0

Choose a tag to compare

@github-actions github-actions released this 17 Jun 11:08
36d9c97
docs(openspec): propose deterministic locator primitive (#506)

* docs(openspec): propose deterministic locator primitive

Add OpenSpec change add-deterministic-locator-primitive (proposal only, no
code): a deterministic resolveLocator(view, locator) over DocumentView, a
tested clean_text->raw offset map (generalizing visible_offset_correction),
and a shared-core fix so the free buildDocumentView returns populated nodes.
Extends the docx-primitives capability; ships as @usejunior/docx-core 0.12.0.

Reviewed dynamically by Codex + agy.

* feat(docx-core): implement deterministic locator primitive + offset map (0.12.0)

Implements the add-deterministic-locator-primitive proposal:

- locator.ts: resolveLocator(view, locator) — deterministic single-span
  resolution with scope (section, exactly-one-heading), primary
  (regex/contextual/fingerprint, exactly-one-span; 0/>1 and zero-length →
  unresolved), and corroborating assertions (span-equality for
  regex/contextual, node-identity for fingerprint). No fuzzy/scoring.
- document_view.ts: clean_text→raw offset map (buildCleanToRawOffsetMap /
  cleanToRawOffset) covering CR/LF strip, leading/trailing trim, and
  manual-list-label prefix; raw_text added to DocumentViewNode as its basis.
- document_view.ts: free buildDocumentView() now returns populated nodes via a
  shared collectViewParagraphs core (table helpers extracted to table_context.ts
  to avoid a circular import); parity with DocxDocument.buildDocumentView().
- Exports resolveLocator + offset-map helpers from the primitives barrel.
- Lockstep version bump of the suite to 0.12.0 (the hard prerequisite the
  open-agreements selector-contract change pins).

Tests: locator.test.ts + document_view_free.test.ts (allure BDD), all 18 spec
delta scenarios covered (check:spec-coverage --feature passes); full build and
docx-core suite green.

v0.11.2

Choose a tag to compare

@github-actions github-actions released this 16 Jun 22:09
5b14634

What's Changed

Features

  • feat(docx-core): two-column signatureBlock layout + keepLines on ParagraphSpec by @stevenobiajulu in #501
  • feat(docx-core): add lvlJc level justification to NumberingSpec (closes #502) by @stevenobiajulu in #503

Other Changes

Full Changelog: v0.11.1...v0.11.2

v0.11.1

Choose a tag to compare

@github-actions github-actions released this 14 Jun 23:55
8a93e09

What's Changed

Features

Bug Fixes

  • fix(docx-mcp): clear CodeQL alerts for biased RNG and no-op replace by @stevenobiajulu in #486
  • fix(security): complete sanitization to clear CodeQL false-positive alerts by @stevenobiajulu in #490

Other Changes

Full Changelog: v0.11.0...v0.11.1

v0.11.0

Choose a tag to compare

@github-actions github-actions released this 13 Jun 18:23
e7fab36

What's Changed

Features

  • feat(docx-core): from-scratch generation phase 1 — DocumentSpec skeleton, structural checks, OpenSpec change by @stevenobiajulu in #397
  • feat(docx-core): from-scratch generation phase 2 — styles.xml + run/paragraph formatting by @stevenobiajulu in #402
  • feat(docx-core): conformance adapter bin + docx-platform-tests self-check (M2 of #283) by @stevenobiajulu in #394
  • feat: native DOCX → ODT conversion (convertDocxToOdt + convert_to_odt tool) by @stevenobiajulu in #401
  • feat(docx-core): from-scratch generation phase 3 — sections, headers/footers, PAGE/NUMPAGES fields by @stevenobiajulu in #407
  • feat(gate): stamp-or-rerun on synchronize (closes #410) by @stevenobiajulu in #412
  • feat(docx-core): from-scratch generation phase 4 — tables by @stevenobiajulu in #414
  • feat(odf-core): DOCX → ODT phase 3 — richer style fidelity by @stevenobiajulu in #415
  • feat(docx-core): from-scratch generation phase 5 — numbering and legal recipes by @stevenobiajulu in #417
  • feat(docx-core): from-scratch generation phase 6 — drafting notes as anchored comments by @stevenobiajulu in #422
  • feat(docx-core): from-scratch generation phase 7 — compatibility sign-off and repositioning by @stevenobiajulu in #428
  • feat(docx-mcp): expose comment range metadata in get_comments by @stevenobiajulu in #442
  • feat(docx-mcp): inline footnote bodies in read_file via include_footnotes by @stevenobiajulu in #445
  • feat(docx-core): add AI revision validator with MCP transactional enforcement by @stevenobiajulu in #454

Bug Fixes

  • fix(safe-docx): keep server.json description within the MCP registry's 100-char cap by @stevenobiajulu in #400
  • fix(docx-core): run docx-comparison bin when invoked via node_modules/.bin symlink by @stevenobiajulu in #404
  • fix: minimal edit saves — preserve untouched paragraphs, DEFLATE re-pack (#408) by @stevenobiajulu in #420
  • fix(docx-core): write hyperlinkKey NUL separator as an escape; guard source against raw control bytes by @stevenobiajulu in #429
  • fix(docx-core): stabilize empty paragraph atom hashes by @stevenobiajulu in #432
  • fix(docx-mcp): restore untouched redline blocks by @stevenobiajulu in #433
  • fix(docx-mcp): surface tracked restore post-pass errors by @stevenobiajulu in #437
  • fix(docx-core): rewrite serialized deletion text via DOM traversal by @stevenobiajulu in #439
  • fix(docx-core): keep matched multi-paragraph comment ranges on rebuild by @stevenobiajulu in #441
  • fix(docx-core): screen rebuild output through round-trip safety checks by @stevenobiajulu in #443
  • fix(docx-core): renumber colliding auxiliary part IDs before comparison by @stevenobiajulu in #447
  • fix(docx-core): reconstruct explicit moveFromRange*/moveToRange* markers on rebuild by @stevenobiajulu in #449
  • fix(docx-core): atomize proofErr-only paragraphs as empty-paragraph atoms by @stevenobiajulu in #457
  • fix(docx-core): reconstruct permStart/permEnd paragraph-level markers on rebuild by @stevenobiajulu in #440
  • fix(docx-core): keep paragraph sectPr inside diffmatch paragraphs by @stevenobiajulu in #458
  • fix(docx-core): replace duplicate rPrChange snapshots by @stevenobiajulu in #459
  • fix(docx-core): reuse ordered paragraph mark revisions by @stevenobiajulu in #460
  • fix(docx-core): restamp colliding comment paraIds before comparison by @stevenobiajulu in #465
  • fix(docx-core): cover cross-implementation spec scenarios by @stevenobiajulu in #468
  • fix(docx-core): interleave logical start/end cell margins in CT_TcMar order by @stevenobiajulu in #478
  • fix(docx-core): restore untouched hyperlink paragraphs by @stevenobiajulu in #479
  • fix(docx-core): merge paragraph-mark revisions into the following paragraph by @stevenobiajulu in #464

Documentation

CI / Infrastructure

  • ci(release): pack all publishable packages into the preflight runtime smoke by @stevenobiajulu in #396
  • ci(llm-gate): add checklist item catching re-derived facts vs canonical sources by @stevenobiajulu in #405
  • ci(docx-core): validate emitted document.xml against the ECMA-376 schema by @stevenobiajulu in #455

Refactoring

  • refactor: expose footnote refs as document-view node metadata — one derivation, not five fldChar walks by @stevenobiajulu in #413

Other Changes

Full Changelog: v0.10.0...v0.11.0

v0.10.0

Choose a tag to compare

@github-actions github-actions released this 11 Jun 00:24
cc0ec12

What's Changed

Features

Bug Fixes

Read more