swagger-spec-compatibility icon indicating copy to clipboard operation
swagger-spec-compatibility copied to clipboard

Implement rules for removing a consume/produce format that was previously supported

Open phoebey01 opened this issue 5 years ago • 2 comments

If the service no longer support a mime-type/data format, e.g. "application/json" or xml, it would be a breaking change for the users. There should be rules detecting these changes.

phoebey01 avatar Feb 06 '20 16:02 phoebey01

@yyang08 you're definitely correct

The tool was initially drafted to account for the "usual" backward incompatible changes that we were experiencing at Yelp 😅 . Swagger specs are very expressive and flexible, but at the same time a lot of possible changes might break compatibility. The idea of the tool is to provide a base-ground to implement the different detection rules.

I'm not sure on when I might have bandwidth to look into this by providing a PR, but we're always looking for and welcoming contributors 😄

A good starting point for the implementation of new rules might be found in the README

macisamuele avatar Feb 06 '20 20:02 macisamuele

@macisamuele Yes, this along with #21 are future improvements I want to get to at some point. Seems like it would require implementing new walkers for parsing the yaml spec.

I agree that swagger-spec is a good tool for catching the most common types of breaking changes. My company is also trying to leverage this for better api development/versioning support. It's great that Yelp is open sourcing this. I really appreciate your work!

phoebey01 avatar Feb 06 '20 22:02 phoebey01