~/talk

How to Not Break Your GraphQL Clients

Talkat GraphQLConf 2024 · on Tuesday, 2024-09-10· at 13:30· Skyline B-C - Level 21· [graphql, developer-experience]
links:none on file
slides:none on file

Concrete workflow to stop accidental GraphQL breakage: run schema snapshot tests, upload schemas to a schema registry (Hot Chocolate / Banana Cake Pop / Barista demoed) which diffing blocks publishes and pinpoints the exact queries and fields that break across dev and prod stages, and upload client persisted-query files so the registry can validate every client version. Persisted queries also let the server reject unknown queries for security. Demo shows the registry blocking a breaking publish and reporting two broken queries.

AI-written summary · about

  1. 0:00Introduction
  2. 1:08GraphQL schema as contract
  3. 2:10Breaking changes with simple edits
  4. 3:53Schema snapshot testing
  5. 5:28Limitations of snapshot testing
  6. 6:54Categories of GraphQL changes
  7. 7:55Schema registry in CI pipelines
  8. 10:02Demo of schema registry
  9. 13:36Breaking changes are inevitable
  10. 14:17Client requirements and versions
  11. 16:02Persistent queries explained
  12. 17:11Demo of client validation
  13. 19:42Benefits of persisted queries
  14. 21:49Q&A: Dynamic schemas and public APIs
  15. 24:29Q&A: API versioning
  16. 25:52Q&A: Persisted queries first
  17. 27:20Q&A: Schema retention
  18. 28:01Q&A: Client with many parsers
  19. 29:08Q&A: Field usage tracking
  20. 31:12Closing and contact
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.