You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[11.0][A3] Remove deprecated HttpDispatcher class (staged; use createDispatcherPlugin) #2380
Part of 11.0 breaking-change batch (#2364). Largest A-item — do in stages.
Remove the deprecated HttpDispatcherclass (packages/runtime/src/http-dispatcher.ts, annotated "removed in v2"), superseded by createDispatcherPlugin().
Keep (do NOT remove)
The other exports in that file are NOT deprecated: HttpProtocolContext, HttpDispatcherResult, KernelResolver, HttpDispatcherOptions. (Also note: packages/services/service-messaging/src/http-dispatcher.ts is a different class — unrelated.)
Blast radius (~245 refs, 7 adapters)
runtime/src/index.ts public export of HttpDispatcher
Resolved via #2391 (package removal), not class removal. Investigation found HttpDispatcher is the live dispatch engine for 7 adapters + plugin-msw, and createDispatcherPlugin is a kernel route plugin — NOT a drop-in. So the issue's premise didn't hold. Instead, the 6 unused non-Hono adapters + plugin-msw were removed (zero internal consumers, undogfooded), collapsing HttpDispatcher's consumers to the Hono adapter + the internal dispatcher-plugin. The misleading @deprecated → createDispatcherPlugin note is corrected. The class is fine to keep as-is now. Closing.
Part of 11.0 breaking-change batch (#2364). Largest A-item — do in stages.
Remove the deprecated
HttpDispatcherclass (packages/runtime/src/http-dispatcher.ts, annotated "removed in v2"), superseded bycreateDispatcherPlugin().Keep (do NOT remove)
The other exports in that file are NOT deprecated:
HttpProtocolContext,HttpDispatcherResult,KernelResolver,HttpDispatcherOptions. (Also note:packages/services/service-messaging/src/http-dispatcher.tsis a different class — unrelated.)Blast radius (~245 refs, 7 adapters)
runtime/src/index.tspublic export ofHttpDispatcherexpress,fastify,nextjs,nestjs,nuxt,sveltekit,hono(src/index.ts+ each__mocks__/runtime.ts)runtime/src/http-dispatcher*.test.tsthatnew HttpDispatcher(...)directlyStaged plan
createDispatcherPlugin()dispatcher-plugin.ts(createDispatcherPlugin) is the canonical entryHttpDispatcherexport (mark class@internalor delete); keep the 4 types exportedgen:api-surface+ major changesetRisk: high — own PR, staged, verify each adapter builds.