@veridtools/dmn-diff
0.5.1
Patch Changes
- 1e9e89b: Add
namefield toModifiedChangeand themodifiedDiffToken. The semantic renderer now shows the element's human-readable name in the modified heading (~ decision "Loan Approval" (d1) modified) instead of repeating the id.
0.5.0
Minor Changes
61b7977: Migrated the internal XML parser to
@veridtools/dmn-parser, replacing the previousfast-xml-parserpipeline. The public API (diff,DiffResult,Change, etc.) is unchanged.- Parser now handles BOM, CDATA, DMNDI removal, and all DMN 1.0–1.5 normalizations
- Expanded fixture coverage: all
@veridtools/dmn-fixturesvariants now pass, includingoutputLabel,isCollectionon InputData,typeon KnowledgeSource, andURIon PerformanceIndicator - Fixed
performanceIndicator.URIfield path in severity tracking - Removed internal
src/parser/directory — indexer moved tosrc/diff/
0.4.0
Minor Changes
- 16aaa42: feat(detect-format): add detectFormat() to identify rendered string format ('json' | 'semantic' | 'rows' | 'xml')
0.3.0
Minor Changes
d4c1b67: feat(tokenize): parse rendered diff strings back into tokens
Extend tokenize() to accept DiffResult | string. Auto-detects JSON, rows, and semantic formats; strips ANSI codes transparently. JSON round-trips losslessly; semantic and rows recover element types, ids, field changes, and severities (path/parentId not recoverable from text). Add parse-rows.ts and parse-semantic.ts for format-specific parsing. Add tests for added/removed token parsing in rows format. Update docs and README to document the new string input capability.
0.2.0
Minor Changes
- d17c691: feat(cli): add --help flag, version display, unknown flag guard, and docs deploy
0.1.0
Minor Changes
f36b9a8: feat: initial release of @veridtools/dmn-diff
Semantic diff library and CLI for DMN files. Matches elements by @id, classifies field changes as breaking/non-breaking/cosmetic, and supports four output modes: semantic prose, row-diff, JSON, and raw XML diff.
- ID-based identity — reordering rules produces zero diff
- Severity classification per field change
- CLI with --rows, --json, --xml, --no-color, --skip-breaking flags
- Exit code 1 on changes, 0 when clean — CI/CD native
- Full normalization: CDATA, BOM, hitPolicy defaults, DMNDI exclusion
- Programmatic API with DiffResult type
- Interactive playground in VitePress docs (semantic/rows/json/xml tabs)
- 582 tests across unit, integration, and CLI layers
- DMN 1.1–1.5 support
