Skip to content

Backward Compatibility

Medium — good to knowGeneral Dev

ELI5 - The Vibe Check

Backward compatibility means the new version of your thing still works with the old stuff that depends on it, old API calls still succeed, old file formats still open, old client apps don't suddenly break. Break it without warning and you turn a routine update into an outage for every single person who didn't get the memo that things changed.

Real Talk

Backward compatibility is the property of a system, API, or file format where new versions continue to support inputs, calls, or data created for older versions, without requiring consumers to change their code. It is a core consideration in API versioning and semantic versioning, where a breaking change, such as removing a field or altering behavior, requires a major version bump precisely because it forfeits backward compatibility.

Show Me The Code

// backward compatible: old callers still work, new field is optional
interface UserV2 {
  id: string
  email: string
  displayName?: string // added in v2, safe because it's optional
}

When You'll Hear This

"We can add fields to the response, that's backward compatible, just don't remove any." / "Breaking backward compatibility on a public API without a deprecation window is how you make enemies."

Made with passive-aggressive love by manoga.digital. Powered by Claude.