Reintroducing Apollo Client: V4 and Beyond
summary
250 commits and ~1,200 files change power Apollo Client V4, which ships ESM‑first builds, replaces ZenObservable with RxJS, and trims the main import by about 20% smaller bundle size while reducing useQuery production code by ~75%. It tightens TypeScript (consistent generics, type document node, overridable types), rewrites useLazyQuery and core observables to remove memory leaks, unifies links, adds finer error types, opt‑in features (local state, defer/stream), and follows GraphQL over HTTP.
AI-written summary · about
chapters (36)
- 0:00Apollo Client V4 intro
- 1:01What is Apollo Client V4
- 2:04Opinionated V4 changes
- 3:31Better React hook patterns
- 4:54Avoid generated hooks bloat
- 6:39Type document node & TS
- 7:01Removing onCompleted
- 8:03ESM-first modernization
- 9:56Switching to RxJS
- 11:00GraphQL over HTTP
- 11:44Bundle size reductions
- 12:27TS developer experience
- 13:32Data state for type safety
- 14:58TS context types
- 16:02Consistent generics
- 17:48Reworked error handling
- 21:00V4 docs improvements
- 22:26Non-React framework support
- 23:48Core API fixes
- 25:12Query definitions refined
- 25:55Unified link implementations
- 26:40Forward changes & fixes
- 27:42Opt-in V4 features
- 29:25Fragments & collocation
- 31:54Data masking & perf
- 32:38React Suspense & SSR
- 33:41Streaming SSR & RSC
- 34:47Apollo Angular support
- 35:08DevTools & VS Code
- 37:58Future plans & AI
- 38:40Documentation as markdown and LLM integration
- 39:22Agentic use cases
- 40:05Codegen & GraphQL codegen
- 41:30GraphQL spec experiments
- 42:38Fragment arguments
- 43:40V4 migration path








