v3.12.9
Breaking Changes📦 apollo-client
⚠ 1 breaking✨ 1 features🐛 1 fixes🔧 3 symbols
Summary
Patch release fixes the `extensions` type in `ApolloError` and adds retry support for multipart subscription transport errors via `RetryLink`.
⚠️ Breaking Changes
- The `extensions` field in `ApolloError.protocolErrors` now must be an object/map instead of an array. Code that previously treated it as an array will break; update any accesses to treat it as a key‑value map.
Migration Steps
- Search for code that reads `error.protocolErrors.extensions` as an array and change it to handle an object/map (e.g., access properties by key).
- If you rely on the previous array shape for type checking, update TypeScript/Flow definitions accordingly.
✨ New Features
- `RetryLink` can now automatically retry operations when fatal transport‑level errors are emitted from multipart subscriptions, exposing the errors via `error.protocolErrors`.
🐛 Bug Fixes
- Fixed the type of `extensions` in `protocolErrors` for `ApolloError` and the `onError` link to conform to the multipart HTTP subscription protocol specification.
🔧 Affected Symbols
ApolloErrorRetryLinkonError