Sockudo
Reference

Compatibility

Understand which Sockudo features are Pusher-compatible and which require Protocol V2 or Sockudo-native SDKs.

Sockudo's compatibility rule is simple: Protocol V1 preserves Pusher behavior; Protocol V2 adds Sockudo-native behavior.

Pusher-compatible

FeatureCompatibility
Public channelsV1 and V2
Private channelsV1 and V2
Presence channelsV1 and V2
Encrypted channelsV1 and V2 with compatible auth
HTTP publishPusher-compatible
Batch publishPusher-compatible
Channel statePusher-compatible
Webhook validationPusher-compatible shape
Laravel EchoUse Protocol V1 / Pusher-compatible settings
pusher-jsUse Protocol V1 / Pusher-compatible settings

Sockudo-native

FeatureRequirement
message_idProtocol V2
serial and stream_idProtocol V2
Connection recoveryProtocol V2
Subscribe-time rewindProtocol V2
Delta compressionProtocol V2 and Sockudo client SDK
Tag filteringProtocol V2 and Sockudo client SDK
Mutable messagesProtocol V2
AnnotationsProtocol V2 APIs and SDK helpers
Push managementSockudo HTTP API and server SDK push helpers
AI TransportProtocol V2, ai-transport Cargo feature, and runtime [ai_transport] enabled

Migration strategy

  1. Run Pusher-compatible clients against Sockudo first.
  2. Verify public, private, presence, encrypted, webhook, and backend publish flows.
  3. Adopt Sockudo server SDKs where you need idempotency, history, annotations, or push.
  4. Move selected clients to Sockudo-native SDKs and enable V2.

Push compatibility

Push notifications are not part of the Pusher WebSocket protocol. They are Sockudo-native HTTP APIs. Existing Pusher-compatible realtime clients can still coexist with Sockudo push because push is managed by backend services and device registration flows.

AI Transport compatibility

AI Transport is additive and default-off. The server release order is:

  1. Ship Sockudo with the ai-transport feature available but runtime-disabled by default.
  2. Release Sockudo client SDK support after server, SDK, and conformance evidence is green.
  3. Enable AI Transport only for V2 clients and scoped channel prefixes.
SurfaceCompatibility
Protocol V1 / pusher-js canaryMust remain byte-identical with AI Transport disabled
Protocol V2 non-AI clientsExisting recovery, rewind, history, mutable messages, annotations, and push remain additive
@sockudo/ai-transportRequires server AI Transport feature, runtime profile, and @sockudo/client
Existing client SDKsFull product parity depends on Protocol V2 feature enablement in each SDK
Server HTTP SDKsExisting Pusher-compatible publish APIs continue to work; AI helpers are additive

Release gates

Protocol-visible server PRs must pass the Protocol Change checklist and relevant fixtures for the changed surface. When protocol-owned paths change, CI also requires the sockudo-js compatibility lane because that SDK is the reference client for cross-SDK compatibility.

SDK release workflows must run their conformance lanes against both the latest released Sockudo server and server main before publishing. API-diff jobs block non-additive public API changes unless the release is intentionally major.

Rollback starts by disabling the new server feature flag. Client packages can then be pinned back independently because valid V1 and existing V2 traffic remain compatible.

GA evidence is tracked in docs/specs/ai-transport-ga-readiness.md.

On this page