← The Dino Dispatch
Featurev1.0.3

Output you can pipe, diff, and trust

August 15, 2026

Every command now separates the verdict from the noise: clean JSON on stdout, honest exit codes, and a permanent contract that keeps Dino's output machine-readable.

Dino is the quality layer for your APIs, and a quality layer is only useful if you can trust exactly what it prints. 1.0.3 locks down the boundary: what Dino writes to stdout, how it exits, and what it will never leak.

Install or upgrade with npm install -g @dino-hq/cli@latest.

Clean, machine-readable output

stdout carries only the result. Logs, progress, and notices go to stderr, so dino scan --format json | jq and redirecting to a file stay pure. A permanent output contract now checks JSON framing and schema on every run, so a future change cannot silently corrupt the shape your pipeline depends on.

Exit codes you can branch on

Policy failures now exit 3 consistently across scan, lint, diff, and changelog. A transient network failure exits 4, a configuration error exits 5, and a malformed .dino.yml exits 5 instead of crashing. Your CI can read the code and mean it.

Honest health, everywhere

dino watch now scores health the same way dino scan does, on the same catalog. An operation that was not tested reads as Untested and stays out of the average, so a run never shows a fabricated zero.

Accurate self-description

Help and usage text now match the real interface, and dino init points at the live docs at usedino.dev/docs. What Dino tells you it does is what it does.

Safe by construction

Output is checked for credential patterns before it is printed, and error messages are bounded so an upstream failure cannot dump internals into your logs.

1.0.3 is the capstone of a long push on trustworthy output. The verdict was always the point, and now the bytes around it are just as reliable.