Highlights
This beta cleans up option shapes before v2 stable. Most breaking changes are renames your type checker will flag.
// Boolean-or-object options replace `{ enabled }`
new MemoryPublisher({ resume: { ttl: 60_000 } })
new RPCLink({ connect, reconnect: { maxAttempt: 5, onClose: true } })
new BatchHandlerPlugin({ keepAlive: false })
// Per-direction trace propagation
new ORPCInstrumentation({ propagation: { extract: false } })
- Breaking — boolean-or-object options: publisher
resume, WebSocketreconnect, event streaminitialComment/keepAlive, and batchkeepAlivetaketrue,false, or an object instead of{ enabled }. Publisher · WebSocket · Event Stream · Batch - Breaking — propagation:
propagationEnabledis nowpropagationand accepts{ inject, extract }. OpenTelemetry · Cloudflare - Breaking — streamed queries: refetches keep existing data until the new stream connects,
refetchMode: 'replace'is removed, and the newsettleOnFirstDatalets SSR finish at the first data. TanStack Query · Pinia Colada · SWR · Migration - Breaking — static files:
allowSymlinksis removed,..paths are refused, and directories no longer redirect. Docs - Breaking — OpenAPI component names: ids are sanitized to valid keys (
User Profile→User_Profile), andcomponentNamemust return a string. Docs - Redirects: fetch links now follow redirects. Use a custom
fetchwithredirect: 'manual'to get3xxresponses. Docs - Other breaking changes:
omitUndefinedPropertiesremoved from the OpenAPI serializer (#2441),outputStatusmust return a number (#2438), and a few@standard-serverexports renamed (#2430).
🚨 Breaking Changes
- Upgrade standard-server to 0.15.0 - by @dinwwwh in #2430 (ef9a0)
- client, publisher, cloudflare:
- node:
- openapi:
- opentelemetry, cloudflare:
- pinia-colada, tanstack-query, swr:
- rpc:
🐞 Bug Fixes
- client:
- client, openapi:
- contract:
- hibernation:
- json-schema, openapi:
- lock:
- next:
- openapi:
- openapi, json-schema, zod:
- opentelemetry:
- pinia-colada,tanstack-query,swr:
- publisher:
- rpc:
- rpc,openapi:
- server:
- Ignore websocket messages received after close - by @dinwwwh in #2373 (73a9f)
- Serve the implementation when a normal router is implemented as a contract - by @dinwwwh and Claude in #2378 (f59a9)
- Ignore message-port messages after close - by @dinwwwh and Claude in #2394 (4b274)
- Keep
__proto__routes and let implement config win over server procedures - by @dinwwwh in #2406 (b85ea)
- shared:
- trpc:
- valibot, arktype: