RouterOS Schema Diff

Side-by-side diff of RouterOS API commands between two versions. Each line represents a path (/ip/address/), command (/ip/address/add), or argument (/ip/address/add address=(> "A.B.C.D/M")) from /console/inspect.

How to read this?
Using the Diff

Pick two versions — the diff fires on its own, no button needed. The extra-packages toggle adds commands from container, iot, zerotier, and other optional packages; testing includes beta and RC builds in the version list.

Once results appear, tune the view: side-by-side or line-by-line layout, optional context lines around changes, and hunk markers (@@) shown or hidden. All options are captured in the shareable URL.


The Notation

Lines use a pseudo-CLI shorthand — not actual RouterOS export output, but a flat reading of the command tree. Each line is one of:

/ip/address/                             ← menu (trailing /)
/ip/address/add                          ← command
/ip/address/add address=(> "A.B.C.D/M") ← argument + type hint
Added lines appear as insertions, removed as deletions — standard unified diff.

The (> "…") is how RouterOS describes argument types internally — the same hint WinBox shows in its property sheet. No (> …)? That argument has no type metadata available.


How the sausage is made — RouterOS exposes /console/inspect via REST — the same introspection endpoint that powers WinBox’s sidebar tree and CLI Tab-completion. A real RouterOS CHR boots in CI, every API branch is walked via POST /rest/console/inspect, and the result is flattened into the notation above. We show CLI paths (/ip/address) instead of REST URLs (/rest/ip/address/add) — most admins think in terminal.
Share this diff