liveBook · Manning

Breaking change

As explained in Building Web APIs with ASP.NET Core

A breaking change is a modification that can cause existing clients or system integrations to stop working correctly.

A breaking change modifies a web application or API in a way that can make existing client integrations or third-party consumers stop working correctly. Regression bugs, interface modifications, type mismatches, and other backward-incompatibility problems can all produce this result. section 3.3.1

API versioning can reduce the immediate impact by publishing a new version at another URI or through headers while keeping older versions available. Clients can then adopt the change when ready instead of being forced to update immediately. section 3.3.1

Treat versioning as a trade-off rather than a complete solution:

  • Maintaining multiple versions increases endpoint and source-code complexity and can conflict with DRY by encouraging duplicated implementations. section 3.3.2
  • Keeping old versions online can preserve endpoints with known bugs, performance problems, security flaws, or outdated standards. section 3.3.2
  • Supporting old clients can pressure teams to preserve backward-compatible database schemas, business logic, DTO structures, and third-party library choices. section 3.3.2
Figure 3.9 Advice on API versioning
03-09

Consult the API versioning advice figure when weighing simultaneous versions against their operational and security costs. section 3.3.2

How Building Web APIs with ASP.NET Core covers it

How deep it goes
Defines common causes, describes parallel API versions, and evaluates complexity, security, and architectural trade-offs.
Examples
Uses regressions, interface modifications, type mismatches, vulnerable legacy endpoints, and simultaneous API versions as examples.
What it assumes
Assumes familiarity with web applications, APIs, clients, integrations, and production deployment; defines breaking changes from those foundations.
What you can do after
Evaluate whether API versioning adequately contains client disruption without creating unacceptable duplication, security exposure, or architectural constraints.
How it connects
Connects breaking changes with API versioning, regression bugs, type mismatches, backward compatibility, security flaws, and DRY.

Also explained in

Compare how 5 books explain breaking change →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Building Web APIs with ASP.NET Core. The section links point to the parts of the book it draws on.