πŸ•ΈοΈ API Patterns and Practices: GraphQL
Chapters Examples Bibliography GitHub β†—
Home / Schema Evolution & the Living Contract
Part 5 2 chapters

Schema Evolution & the Living Contract

Design and evolve a schema without breaking clients, enforced by a breaking-change gate in CI.

Chapter 10

Schema design patterns

How the tracking view's schema is designed from the screens that read it: naming conventions, Node and global ids with Query.nodes, objects instead of foreign keys, interfaces and unions, one input and one payload per mutation, and conventions checked mechanically on the canonical SDL and on both live schemas.

16 min readRead β†’
Chapter 11

Evolution and versioning

How a GraphQL schema changes while clients depend on it: one schema without version numbers, safe, dangerous and breaking changes, nullability in both directions, the deprecation lifecycle on both stacks, and the breaking-change gate run on fixtures.

15 min readRead β†’
← Previous part Reliability: Errors & Partial Results Next part β†’ Data Fetching at Scale

API Patterns and Practices: GraphQL

Designing GraphQL APIs well, with runnable examples in Quarkus SmallRye GraphQL and Python Strawberry against one canonical SDL contract.

Site

  • Outline
  • Bibliography

Reference

  • GraphQL β†—
  • GraphQL specification β†—
  • SmallRye GraphQL β†—
  • Strawberry β†—
  • View on GitHub β†—
  • Issues β†—
Open source Β· MIT Last built 2026-10-17