Skip to content

Commit fa2a7f8

Browse files
chore(release): 0.3.0
Diff: 0.2.3...0.3.0
1 parent 0087951 commit fa2a7f8

3 files changed

Lines changed: 70 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,81 @@
22

33
| Version | Date |
44
|--------------------------|---------------|
5+
| [0.3.0](#030-2026-02-09) | February 2026 |
56
| [0.2.3](#023-2025-11-25) | November 2025 |
67
| [0.2.2](#022-2024-05-08) | May 2024 |
78
| [0.2.1](#021-2024-03-11) | March 2024 |
89
| [0.2.0](#020-2024-02-21) | February 2024 |
910
| [0.1.0](#010-2023-04-06) | April 2023 |
1011

1112

13+
## [0.3.0](https://github.com/socketio/socket.io-redis-streams-adapter/compare/0.2.3...0.3.0) (2026-02-09)
14+
15+
16+
### Features
17+
18+
#### Add multiplexing support
19+
20+
The `streamCount` option is added to be able to use multiple Redis streams, allowing to split the load between several Redis nodes.
21+
22+
Note: each namespace is routed to a specific stream to ensure the ordering of messages, so this option only improves scalability when using multiple namespaces.
23+
24+
```js
25+
const io = new Server({
26+
adapter: createAdapter(redisClient, {
27+
streamCount: 4
28+
})
29+
});
30+
```
31+
32+
Added in [ee693d0](https://github.com/socketio/socket.io-redis-streams-adapter/commit/ee693d0024c20cc222e093b2cb9d240e24148875).
33+
34+
#### Add option to skip hasBinary() checks
35+
36+
The `onlyPlaintext` option allows skipping the `hasBinary()` checks during payload serialization (those checks are necessary as binary data must be base-64 encoded before being sent in the Redis stream).
37+
38+
```js
39+
const io = new Server({
40+
adapter: createAdapter(redisClient, {
41+
onlyPlaintext: true
42+
})
43+
});
44+
```
45+
46+
Added in [1f7e6fc](https://github.com/socketio/socket.io-redis-streams-adapter/commit/1f7e6fc18f58fd3d236d564f3a676c48384826e3).
47+
48+
#### Make BLOCK timeout configurable ()
49+
50+
The `blockTimeInMs` option allows configuring the BLOCK timeout used when fetching data from the Redis stream:
51+
52+
```js
53+
const io = new Server({
54+
adapter: createAdapter(redisClient, {
55+
blockTimeInMs: 2_000
56+
})
57+
});
58+
```
59+
60+
Added in [e7653c4](https://github.com/socketio/socket.io-redis-streams-adapter/commit/e7653c4f16eb0dd55f055cf75c989da60b1e3280).
61+
62+
#### Use PUB/SUB for fetchSockets() and serverSideEmit() requests
63+
64+
Redis PUB/SUB is now used for transient requests, instead of sending them in the Redis stream.
65+
66+
Two new options:
67+
68+
- `channelPrefix`: the prefix of the Redis PUB/SUB channels (defaults to "socket.io")
69+
- `useShardedPubSub`: whether to use sharded PUB/SUB (added in Redis 7.0) (defaults to false)
70+
71+
Each server will use two PUB/SUB channels:
72+
73+
- one common for receiving requests
74+
- one private for receiving responses
75+
76+
Added in [dacb88d](https://github.com/socketio/socket.io-redis-streams-adapter/commit/dacb88dbd6a8475b34feb213155002caac6dfbc8).
77+
78+
79+
1280
## [0.2.3](https://github.com/socketio/socket.io-redis-streams-adapter/compare/0.2.2...0.2.3) (2025-11-25)
1381

1482

lib/adapter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ export interface RedisStreamsAdapterOptions {
7070
readCount?: number;
7171
/**
7272
* The number of ms before the XREAD call times out.
73-
* @default 200
73+
* @default 5_000
7474
* @see https://redis.io/docs/latest/commands/xread/#blocking-for-data
7575
*/
7676
blockTimeInMs?: number;

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@socket.io/redis-streams-adapter",
3-
"version": "0.2.3",
3+
"version": "0.3.0",
44
"description": "The Socket.IO adapter based on Redis Streams, allowing to broadcast events between several Socket.IO servers",
55
"license": "MIT",
66
"repository": {

0 commit comments

Comments
 (0)