GithubHelp home page GithubHelp logo

CI codecov Go Report Card GoDoc Docker Image Version Slack

oasdiff banner

Command-line and Go package to compare and detect breaking changes in OpenAPI specs.

Installation

Install with Go

go install github.com/tufin/oasdiff@latest

Install on macOS with Brew

brew tap tufin/homebrew-tufin
brew install oasdiff

Install on macOS and Linux using curl

curl -fsSL https://raw.githubusercontent.com/tufin/oasdiff/main/install.sh | sh

Install with asdf

https://github.com/oasdiff/asdf-oasdiff

Manually install on macOS, Windows and Linux

Copy binaries from latest release

Try it

Locally

oasdiff changelog https://raw.githubusercontent.com/Tufin/oasdiff/main/data/openapi-test1.yaml https://raw.githubusercontent.com/Tufin/oasdiff/main/data/openapi-test5.yaml

With Docker

docker run --rm -t tufin/oasdiff changelog https://raw.githubusercontent.com/Tufin/oasdiff/main/data/openapi-test1.yaml https://raw.githubusercontent.com/Tufin/oasdiff/main/data/openapi-test5.yaml

Features

Demo

The main commands

  • diff: the diff between OpenAPI specs, fully detailed
  • breaking: breaking changes between OpenAPI specs
  • changelog: important changes between OpenAPI specs including breaking and non-breaking changes
  • flatten: replace all instances of allOf by a merged equivalent
  • checks: displays the different checks that oasdiff runs to detect changes

Credits

This project relies on the excellent implementation of OpenAPI 3.0 for Go: kin-openapi.

Feedback

We welcome your feedback.
If you have ideas for improvement or additional needs around APIs, please let us know.

oasdiff's Projects

kin-openapi icon kin-openapi

OpenAPI 3.0 (and Swagger v2) implementation for Go (parsing, converting, validation, and more)

oasdiff-action icon oasdiff-action

GitHub action for comparing and detect breaking changes in OpenAPI specs

sync icon sync

Stay Informed About Upstream API Breaking Changes Proactively

yaml icon yaml

A better way to marshal and unmarshal YAML in Golang

yaml3 icon yaml3

YAML support for the Go language.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.