About openapi-changes
What it is and why it exists.openapi-changes grew out of earlier internal tooling we built to explain what changed between API revisions. That first generation was useful, but it was incomplete and too inaccurate to trust.
So we rebuilt the idea from scratch.
Why it exists
Most tools in this space do one of two things well:
- detect compatibility breakage
- show raw document diffs
openapi-changes combines those concerns. It builds a semantic model of the change set, then renders that same model into multiple different views: terminal summaries, an interactive console, machine-readable JSON, markdown reports, and a self-contained HTML report.
What makes it different
The tool works from a full hierarchical change model, not just line-based diffs. That lets it answer questions like:
- what changed
- where it changed
- whether it is breaking
- how that change fits into the OpenAPI document structure
That same model also makes the history view possible. Point the tool at a file in a git repository or a file URL on GitHub and it can walk back through revisions and render the journey over time. You can also compare a file at two specific git revisions using the revision:path syntax, with full support for multi-file specs where $ref references are resolved from each revision independently.
Current engine
The current command family runs on the shared doctor-based engine from pb33f. That engine owns the semantic traversal, rendering pipeline, and report generation used across the commands.