Replies: 5 comments 2 replies
-
Changes we consider will be included in the changelog:
Changes we consider will not be included in the changelog:
|
Beta Was this translation helpful? Give feedback.
-
Hi @reuvenharrison, The target is any user of the API (including programmatic users, not only devs / TLs / managers), and at high-level, these are some goals we're trying to achieve:
We did some investigations about other API changelogs and some generators. We found that the concise output format of the new checkers is precisely what we want for the changelog too. Example: |
Beta Was this translation helpful? Give feedback.
-
Thanks @tibulca. |
Beta Was this translation helpful? Give feedback.
-
@blva, @tibulca and anyone else who is interested, |
Beta Was this translation helpful? Give feedback.
-
Hi @blva and @tibulca, |
Beta Was this translation helpful? Give feedback.
-
Currently,
oasdiff
outputs results in json, yaml, text, and HTML format, all representing a detailed view of the differences between 2 openapi specs, and there is also the summary output.The recently introduced
-check-breaking
added a new way of presenting (breaking) changes, in a format that can be very useful for generating a changelog. Example:API PATCH /api/databaseUsers/{username} removed the request property 'customField1' [request-property-removed]
For implementing changelog generation by comparing 2 specs, we're thinking about extending
oasdiff
by adding a new-profile
(output profile:default
,summary
orchangelog
) flag and implementing one of these options:Pros: relies on the new approach of describing changes (human readable & includes localization), can flag changelog entries as breaking/non-breaking
Cons: because of the complexity of the diff report, it is hard to write checkers for all scenarios, but even more important, not trivial to know which diff cases are covered and which not. Still, it's a good option if we're going to do it in an incremental way, by keep adding checkers as we find the need for them.
Pros: simpler approach, with a clear understanding of what's covered and what's not in the changelog (so over time, easier to contribute with improvements)
Cons: harder to integrate with the breaking changes code (the checkers) in order to differentiate between breaking and non-breaking changelog entries. Harder to implement localization (context has to be passed to the leafs and processed there in order to generate the final localized string) compared to the way it is done in the checkers.
I'm trying to find out if you are interested in having this changelog feature and if yes, which option aligns more with your long-term plans.
Thanks,
Ciprian
Beta Was this translation helpful? Give feedback.
All reactions