What counts as a breaking change
On This Lesson 4 topics
This lesson is planned. The outline below lists the topics it will cover. The full lesson has not been published yet.
In this lesson
classify a change as compatible or breaking.
Planned topics
- A breaking change makes a correctly working consumer fail or misbehave without the consumer changing.
- Usually compatible: adding an optional response field, a new endpoint, a new optional request parameter.
- Usually breaking: removing or renaming a field, changing a type or unit, making an optional input required, tightening validation, changing status codes or error shapes.
- Changing meaning (cents to decimal euros) is breaking even when the type stays the same.
- Direction matters: producers break consumers; consumers break producers by requiring more than was promised.
Draft outline details
Demonstration
a table of ten changes to GET /orders/{id} and OrderPlaced, each marked compatible or breaking, with the reason.
Check your understanding
Is renaming total to totalAmount breaking?
Show answer
Yes; existing consumers no longer find total.
Practice
Apply this lesson with the module's lab, exercises and quiz.
Marking a lesson complete is optional and you can undo it any time. Your progress stays in this browser.