patchline.dev

Research · from the Patchline corpus

A year of API breaking changes: Stripe, OpenAI, and Anthropic, measured

Patchline continuously normalizes provider changelogs and OpenAPI spec diffs into classified change events. We froze that corpus and counted: 1,070 change events across three providers, 350 of them breaking. Every number below is computed by a checked-in script over checked-in snapshots — a test fails if this article and the data disagree.

Methodology, in one paragraph

Two sources per provider. Changelogs: each provider's published changelog, parsed into one event per entry (Stripe 206, OpenAI 147, Anthropic 251 entries). Spec diffs: two frozen OpenAPI snapshots per provider, structurally diffed — 1,362 raw diff entries grouped into 466 per-endpoint events. Classification is rule-based: removals, type changes, newly-required fields, and narrowed enums are breaking; additions are additive. Snapshot windows differ by provider (Stripe 2025-08-18 → 2026-07-29, OpenAI 2024-12-06 → 2026-07-31, Anthropic 2026-06-09 → 2026-08-01), so cross-provider comparisons below are normalized per month where it matters.

Finding 1: the volume nobody is reading

Every provider shipped hundreds of documented changes in its window. If your team depends on all three, the reading list was roughly 1,070 entries — before deciding which of them touch your code. That triage is the actual cost: most entries are irrelevant to any given codebase, but the breaking ones hide among them.

Finding 2: one in five spec changes is breaking

Spec diffs are the honest cross-provider comparison, because the same classifier runs on the same artifact type for all three. Stripe's API surface changed the most and broke the most: 24% of its 254 spec-diff events are breaking. OpenAI sits at 19%, Anthropic at 14% over a much shorter window. The bulk of changes everywhere are additive — which is exactly why the breaking minority is easy to miss.

Finding 3: normalized, you absorb a breaking change every few days

Correcting for window length: Stripe shipped 5.5 breaking spec changes per month, Anthropic 3.4, OpenAI 1.7. A team using Stripe and one AI provider absorbs a breaking change roughly weekly. Almost all arrive silently from an integrator's point of view — versioned away, flagged in prose, or visible only in the spec.

Finding 4: changelogs and specs tell different stories

The two sources barely overlap in what they report. Stripe's changelog is version-pinned — 205 of its 206 entries sit in breaking-change groups, because Stripe's upgrade model front-loads breakage into opt-in API versions. OpenAI's changelog skews the other way: only 5 of 147 entries read as breaking, while the spec diff for the same product surfaced 33 breaking endpoint changes. Changelog conventions are editorial choices; the spec is the contract. Watching either one alone undercounts your risk — which is why Patchline ingests both and dedups them into one event stream.

Reproduce it

The corpus (gzipped changelog captures and OpenAPI snapshots), the classifier, and the stats script are all in the Patchline repository. pnpm stats:corpus recomputes every number above, and a unit test compares this page's data to that output on every CI run. If a number here is wrong, our build is red.

Ask about the dataHow Patchline uses it