Thanks to visit codestin.com
Credit goes to lib.rs

#diff #ir #netform #deterministic #networking #emit #build-plan

netform_diff

Deterministic diff engine and reporting primitives for lossless network config IR

5 releases (breaking)

Uses new Rust 2024

new 0.5.0 May 21, 2026
0.4.0 May 6, 2026
0.3.0 Apr 16, 2026
0.2.0 Feb 16, 2026
0.1.0 Feb 16, 2026

#978 in Network programming


Used in netform_cli

MIT license

215KB
5.5K SLoC

Diff engine and reporting primitives for netform_ir::Document.

This crate builds comparison views from lossless IR documents, applies explicit normalization and ordering policies, and emits deterministic edits.

Primary entrypoints:

Example

use netform_diff::{diff_documents, NormalizeOptions};
use netform_ir::parse_generic;

let left = parse_generic("hostname old\n");
let right = parse_generic("hostname new\n");
let diff = diff_documents(&left, &right, NormalizeOptions::default()).unwrap();
assert!(diff.has_changes);

Dependencies

~0.5–2.7MB
~53K SLoC