It's a tool for finding breaking changes between old and new swagger specs. Now it supports only Swagger 2.0.
It could be useful for REST services as additional check in CI/CD pipelines.
Analogues with swagger diff functionality don't handle such many cases as current library - e.g. enums changes, nested object changes.
- Chose required release here:
- e.g. v0.1.1 darwin amd86
- Download archive and extract binary:
wget https://github.com/vadim-hleif/dipher/releases/download/v0.1.1/dipher_0.1.1_darwin_amd64.tar.gz tar -zxvf dipher_0.1.1_darwin_amd64.tar.gz dipher rm dipher_0.1.1_darwin_amd64.tar.gz && mv dipher /usr/local/bin
- Maybe will be added some package managers - now only manual installation is available
- all path and verb combinations in the old specification are present in the new one
- no request parameters are required in the new specification that were not required in the old one
- all required request parameters in the old specification are present in the new one
- all request parameters in the old specification have the same type in the new one
- all request models via $ref don't have any differences
- all response attributes in the old specification are present in the new one
- all response attributes in the old specification have the same type in the new one
- all response models via $ref don't have any differences
- enums validation
- arrays type support
- recursive refs
- extensions validation
- common / global parameters (in root of some path / specification)
- empty value parameters
- ref to not definitions node
- recursive objects
- reusable enums
- array of anonymous objects
- definition in V1 with object in V2 (both cases)
- reusing responses https://swagger.io/docs/specification/2-0/describing-responses/