Changelog
Each package has its own version and changelog. Majors follow chanx's: every 2.x package speaks the chanx 2 protocol, so any 2.x client works with any 2.x server. Releases are also on GitHub.
@chanx-js/server
2.1.1 ​
Patch Changes ​
- 460ab29: List the supported runtimes in the package README: Node with ws, Express, Koa, Fastify, Hono, NestJS, Bun and Deno.
2.1.0 ​
Minor Changes ​
- 8bae122: Match chanx 2.12: a refused authentication closes with
4000 + status(4401,4403, or4500whenauthenticatethrows). AsyncAPI documents request and reply messages with arefcorrelationId; a consumer's newcredentialsoption becomes security schemes, operation security and a WebSocket binding;serversandsecuritySchemesoptions describe the rest. The docs page loads a pinned, hash-checked release of its assets, and thedocsoption points it at your own copies.
2.0.2 ​
Patch Changes ​
- e1abc6a: The package README says what the package is for, shows a working example, and links to the docs.
- Updated dependencies [e1abc6a]
- @chanx-js/layers@2.0.1
2.0.1 ​
Patch Changes ​
- c797122: Depend on any compatible 2.x of
@chanx-js/layersand@chanx-js/server, not only the exact version released alongside.
@chanx-js/client
2.3.0 ​
Minor Changes ​
- f075cee: A socket closed with 4400 to 4499, a refused authentication, no longer reconnects by default; a server error (4500) still does. Pass
shouldReconnectto choose otherwise.
2.2.1 ​
Patch Changes ​
- e1abc6a: The package README says what the package is for, shows a working example, and links to the docs.
2.2.0 ​
Minor Changes ​
- 56a8d42: A
headersoption, oncreateClient()orconnect(), sends headers with the upgrade request from Node 22+, Bun and Deno, so a service authenticates withoutws. Connections with different headers never share a socket, and a customsocketFactoryreceives them as a third argument.
Patch Changes ​
- 56a8d42: An error thrown while opening a socket, such as no global
WebSocket, is reported throughreportErrorinstead of being retried in silence.
2.1.0 ​
Minor Changes ​
- c489c24:
request()resolves with the reply its action declares, such asPongMessageforping, on connections, topic handles and every framework binding. Descriptors take the replies as an optional third type argument; without it, replies stayChanxMessage.
Patch Changes ​
- de61aa1:
connection.ready()rejects once the socket gives up, is refused or is terminated, instead of waiting forever. - 18ecacf:
for awaitloops over a connection or topic end once the socket gives up reconnecting, instead of waiting forever.
@chanx-js/codegen
2.1.1 ​
Patch Changes ​
- e1abc6a: The package README says what the package is for, shows a working example, and links to the docs.
2.1.0 ​
Minor Changes ​
- f7c72a3: Generated channels and topics carry what answers each request, from the schema's
reply, sorequest()is typed by the action sent. The output needs@chanx-js/client2.1 or later.
Patch Changes ​
- 3e777a3: Generated relative imports carry the
.jsextension, so the output compiles under TypeScript'sNodeNextresolution and runs on Node's ESM. - 6f5857e:
channels.tsimportsdefineTopiconly when a channel has topics, so it compiles undernoUnusedLocals, as in Vite's templates.
@chanx-js/layers
2.1.0 ​
Minor Changes ​
- f56c7e1:
RedisPubSubChannelLayertakes a Redis Sentinel host,{ sentinels, masterName }as in Python's{"sentinels": [...], "master_name": ...}, and follows the master through a failover.
2.0.1 ​
Patch Changes ​
- e1abc6a: The package README says what the package is for, shows a working example, and links to the docs.
@chanx-js/nestjs
2.0.2 ​
Patch Changes ​
- e1abc6a: The package README says what the package is for, shows a working example, and links to the docs.
- Updated dependencies [e1abc6a]
- @chanx-js/server@2.0.2
2.0.1 ​
Patch Changes ​
- c797122: Depend on any compatible 2.x of
@chanx-js/layersand@chanx-js/server, not only the exact version released alongside. - Updated dependencies [c797122]
- @chanx-js/server@2.0.1
Up to 2.0.0
Until 2.0.0, every package was released together, from one changelog.
2.0.0 (2026-10-24) ​
0.1.3 (2026-10-24) ​
Features ​
- layers: add channel layers with a Redis pub/sub layer compatible with Python's (d708320)
- nestjs: add the NestJS integration (0752b07)
- server: add a Fastify adapter (d383df9)
- server: add class consumers with decorators (cbf1f1e)
- server: add crossws and Hono adapters (fe9bfa1)
- server: add error hooks to consumers and topics (293f1ed)
- server: add groups, broadcasts and events over channel layers (aad2a9f)
- server: add messages, consumers and frame dispatch (531955e)
- server: add rejectBeforeUpgrade to refuse upgrades with an HTTP status (55e20d1)
- server: add Topic classes and per-subscription state (d588f3c)
- server: add topics (cb2379e)
- server: drop clients that stop reading in the ws adapters (c362855)
- server: generate AsyncAPI as chanx does (a632134)
- server: serve consumers on Node HTTP servers through ws (01dba51)
- server: stricter public types, test captures and chanx 2.11.8 frames (f1dcb86)
Bug Fixes ​
- server: validate a consumer with one handler as chanx does (c1428c5)
0.1.2 (2026-09-26) ​
Bug Fixes ​
- codegen: name a topic-only consumer's connection after the consumer (5499bf7)
- codegen: re-export reused types from schemas (cf266fa)
0.1.1 (2026-09-26) ​
Features ​
- core: pass the frame envelope to handlers (380b85a)
Bug Fixes ​
- infer every joined topic in useTopics and createTopics (ad9c076)