Avi Vahl
6f9b198bc8
chore(deps): ws@8.18.3, debug@4.4.1 ( #5335 )
...
Release notes:
- https://github.com/websockets/ws/releases/tag/8.18.3
- https://github.com/debug-js/debug/releases/tag/4.4.1
2025-09-11 07:51:07 +02:00
Damien Arrachequesne
c7144920e3
Merge remote-tracking branch 'socket.io-postgres-emitter/main' into monorepo
2025-09-04 09:30:26 +02:00
Damien Arrachequesne
42480e9a7f
chore: prepare migration to monorepo
2025-09-04 09:23:32 +02:00
Damien Arrachequesne
5a31aaf917
chore(eio): revert cookie to version ~0.7.2
...
This reverts commit 7427109658 .
The new version of the `cookie` package contains code with optional chaining (`?.`), which is not supported by older Node.js versions (< 14).
The types for cookie are now bundled, so that there is no conflict with the types coming from `cookie@1`:
> error TS2724: '"cookie"' has no exported member named 'CookieSerializeOptions'. Did you mean 'SerializeOptions'?
>
> import type { CookieSerializeOptions } from "cookie";
> ~~~~~~~~~~~~~~~~~~~~~~
Related: https://github.com/socketio/socket.io/issues/5283
2025-01-28 09:13:39 +01:00
Damien Arrachequesne
3b68658201
chore: bump @fails-components/webtransport to version 1.1.4 (dev)
2024-10-21 23:29:29 +02:00
Damien Arrachequesne
da613810fd
test(eio): bump uWebSockets.js to version 20.48.0
2024-09-19 12:12:58 +02:00
Wang Guan
a1ccba3a77
chore: use prettier v3 everywhere ( #5169 )
2024-09-16 08:43:08 +02:00
Damien Arrachequesne
7521ac227b
chore(release): @socket.io/cluster-engine@0.1.0
2024-07-17 09:53:34 +02:00
Damien Arrachequesne
b00124b65a
feat: implement cluster-friendly engine
2024-07-17 09:27:12 +02:00
Damien Arrachequesne
2a29c4c30e
chore: move dev dependencies in the parent package.json file
...
Notes:
- TypeScript is updated from v4 to v5
- WebDriverIO is updated from v7 to v8
- prettier is kept in v2, in order to reduce style changes
2024-07-10 10:42:22 +02:00
Damien Arrachequesne
34137d39a9
chore: add new npm workspaces
...
The following repositories were merged:
- https://github.com/socketio/engine.io-parser
- https://github.com/socketio/engine.io-client
- https://github.com/socketio/engine.io-parser
- https://github.com/socketio/socket.io-adapter
- https://github.com/socketio/emitter
2024-07-08 12:10:24 +02:00
Damien Arrachequesne
d9b4c3cb03
ci: create npm workspaces and sort out dependencies
...
This requires at least npm v7.
Reference: https://docs.npmjs.com/cli/v10/using-npm/workspaces
Note: @types/node is pinned at `18.15.3` because it's the last version
which supports TypeScript v4.2.
2024-07-04 17:48:46 +02:00
Damien Arrachequesne
d9d19b4bb7
refactor: prepare the migration to a monorepo
2024-07-04 17:33:59 +02:00
Damien Arrachequesne
50176812a1
chore(release): 4.7.5
...
Diff: https://github.com/socketio/socket.io/compare/4.7.4...4.7.5
2024-03-14 17:55:23 +01:00
Damien Arrachequesne
6ab2509d52
chore(release): 4.7.4
...
Diff: https://github.com/socketio/socket.io/compare/4.7.3...4.7.4
2024-01-12 11:09:14 +01:00
Damien Arrachequesne
80b2c34478
chore: bump socket.io-client version
2024-01-03 21:37:25 +01:00
Damien Arrachequesne
0d893196f8
chore(release): 4.7.3
...
Diff: https://github.com/socketio/socket.io/compare/4.7.2...4.7.3
2024-01-03 21:33:29 +01:00
Zachary Haber
f6ef267b03
refactor(typings): improve emit types ( #4817 )
...
This commit fixes several issues with emit types:
- calling `emit()` without calling `timeout()` first is now only available for events without acknowledgement
- calling `emit()` after calling `timeout()` is now only available for events with an acknowledgement
- calling `emitWithAck()` is now only available for events with an acknowledgement
- `timeout()` must be called before calling `emitWithAck()`
2023-10-11 10:37:13 +02:00
Damien Arrachequesne
c332643ad8
chore(release): 4.7.2
...
Diff: https://github.com/socketio/socket.io/compare/4.7.1...4.7.2
2023-08-03 01:51:04 +02:00
Damien Arrachequesne
09d45491c4
chore: bump engine.io to version 6.5.2
...
Diff: https://github.com/socketio/engine.io/compare/6.5.0...6.5.2
Release notes: https://github.com/socketio/engine.io/releases/tag/6.5.2
2023-08-03 00:39:46 +02:00
Damien Arrachequesne
03046a64ad
docs: update the list of supported Node.js versions
...
The Engine.IO server uses `timeout.refresh()` (see [1]), which was
added in Node.js 10.2.0.
Reference: https://nodejs.org/api/timers.html#timeoutrefresh
Related: https://github.com/socketio/engine.io/issues/686
[1]: 37474c7e67
2023-07-09 10:14:49 +02:00
Damien Arrachequesne
2f6cc2fa42
chore(release): 4.7.1
...
Diff: https://github.com/socketio/socket.io/compare/4.7.0...4.7.1
2023-06-28 09:32:32 +02:00
Damien Arrachequesne
00d8ee5b05
chore(release): 4.7.0
...
Diff: https://github.com/socketio/socket.io/compare/4.6.2...4.7.0
2023-06-22 11:27:45 +02:00
Damien Arrachequesne
63f181cc12
feat: serve client bundles with CORS headers
...
The version of the `cors` package matches the one used by `engine.io`.
Related: https://github.com/socketio/socket.io/issues/3552
2023-06-20 14:32:59 +02:00
Damien Arrachequesne
a250e283da
chore: bump engine.io to version 6.5.0
...
Diff: https://github.com/socketio/engine.io/compare/6.4.2...6.5.0
Release notes: https://github.com/socketio/engine.io/releases/tag/6.5.0
2023-06-20 09:17:10 +02:00
Damien Arrachequesne
faf914c9ab
chore(release): 4.6.2
...
Diff: https://github.com/socketio/socket.io/compare/4.6.1...4.6.2
2023-05-31 11:15:41 +02:00
Damien Arrachequesne
d3658944e5
chore: bump socket.io-parser to version 4.2.3
...
Reference: https://github.com/advisories/GHSA-cqmj-92xf-r6r9
2023-05-24 07:27:12 +02:00
Damien Arrachequesne
12b0de4f52
chore: bump engine.io to version 6.4.2
...
Reference: https://github.com/advisories/GHSA-q9mw-68c2-j6m5
Related: https://github.com/socketio/socket.io/issues/4711
2023-05-10 10:20:42 +02:00
Mateusz Burzyński
3d44aae381
fix(exports): move types condition to the top ( #4698 )
...
Related: https://github.com/microsoft/TypeScript/issues/50762
2023-05-04 07:27:09 +02:00
Damien Arrachequesne
7952312911
chore(release): 4.6.1
...
Diff: https://github.com/socketio/socket.io/compare/4.6.0...4.6.1
2023-02-20 17:49:41 +01:00
Igor Lins e Silva
d0b22c6302
fix(types): fix nodenext module resolution compatibility ( #4625 )
...
The import added in [1] was invalid, because it used an non-exported
class.
Related: https://github.com/socketio/socket.io/issues/4621
[1]: d4a9b2cdcb
2023-02-20 01:15:35 +01:00
Damien Arrachequesne
a2e5d1f77f
chore(release): 4.6.0
...
Diff: https://github.com/socketio/socket.io/compare/4.5.4...4.6.0
2023-02-07 01:07:46 +01:00
Damien Arrachequesne
b2dd7cf660
chore: bump engine.io to version 6.4.0
...
Diff: https://github.com/socketio/engine.io/compare/6.3.1...6.4.0
Release notes: https://github.com/socketio/engine.io/releases/tag/6.4.0
2023-02-06 17:43:02 +01:00
Damien Arrachequesne
da2b542797
perf: precompute the WebSocket frames when broadcasting
...
Note:
- only packets without binary attachments are affected
- the permessage-deflate extension must be disabled (which is the default)
Related:
- 5f7b47d40f
- 5e34722b0b
2023-01-12 08:50:07 +01:00
Damien Arrachequesne
3b7ced7af7
chore(release): 4.5.4
...
Diff: https://github.com/socketio/socket.io/compare/4.5.3...4.5.4
2022-11-22 22:45:13 +01:00
Damien Arrachequesne
c00bb9564c
chore: bump engine.io to version 6.2.1
...
In order to fix CVE-2022-41940.
See also: https://github.com/socketio/engine.io/security/advisories/GHSA-r7qp-cfhv-p84w
2022-11-22 22:35:53 +01:00
Damien Arrachequesne
57e5f25e26
chore: bump socket.io-parser to version 4.2.1
...
In order to fix CVE-2022-2421.
See also: https://github.com/advisories/GHSA-qm95-pgcg-qqfq
2022-11-22 22:32:09 +01:00
Damien Arrachequesne
945c84be47
chore(release): 4.5.3
...
Diff: https://github.com/socketio/socket.io/compare/4.5.2...4.5.3
2022-10-15 07:14:45 +02:00
Damien Arrachequesne
8be95b3bd3
chore(release): 4.5.2
...
Diff: https://github.com/socketio/socket.io/compare/4.5.1...4.5.2
2022-09-02 23:46:14 +01:00
Damien Arrachequesne
9890b036cf
chore: bump dependencies
...
Production:
- socket.io-parser: ~4.0.4 => ~4.2.0
Development:
- superagent: ^6.1.0 => ^8.0.0
- tsd: ^0.17.0 => ^0.21.0
Related: https://github.com/socketio/socket.io/issues/3709
2022-06-27 09:16:08 +02:00
Damien Arrachequesne
713a6b451b
chore: bump mocha to version 10.0.0
...
Related: https://github.com/socketio/socket.io/issues/3710
2022-06-27 09:00:31 +02:00
Damien Arrachequesne
5ab8289c0a
chore(release): 4.5.1
...
Diff: https://github.com/socketio/socket.io/compare/4.5.0...4.5.1
2022-05-17 23:38:07 +02:00
Damien Arrachequesne
8ecfcba5c1
chore(release): 4.5.0
...
Diff: https://github.com/socketio/socket.io/compare/4.4.1...4.5.0
2022-04-24 00:45:57 +02:00
Damien Arrachequesne
6e1bb62982
chore: bump engine.io to version 6.2.0
...
Release notes: https://github.com/socketio/engine.io/releases/tag/6.2.0
Diff: https://github.com/socketio/engine.io/compare/6.1.3...6.2.0
2022-04-22 22:43:31 +02:00
Damien Arrachequesne
8b204570a9
feat: broadcast and expect multiple acks
...
Syntax:
```js
io.timeout(1000).emit("some-event", (err, responses) => {
// ...
});
```
The adapter exposes two additional methods:
- `broadcastWithAck(packets, opts, clientCountCallback, ack)`
Similar to `broadcast(packets, opts)`, but:
* `clientCountCallback()` is called with the number of clients that
received the packet (can be called several times in a cluster)
* `ack()` is called for each client response
- `serverCount()`
It returns the number of Socket.IO servers in the cluster (1 for the
in-memory adapter).
Those two methods will be implemented in the other adapters (Redis,
Postgres, MongoDB, ...).
Related:
- https://github.com/socketio/socket.io/issues/1811
- https://github.com/socketio/socket.io/issues/4163
- https://github.com/socketio/socket.io-redis-adapter/issues/445
2022-03-31 07:49:09 +02:00
Szegedi Ádám
2f96438952
chore: bump engine.io version to fix CVE-2022-21676 ( #4262 )
...
Related: https://github.com/socketio/engine.io/security/advisories/GHSA-273r-mgr4-v34f
2022-01-25 22:18:18 +01:00
Damien Arrachequesne
c82a4bdf1f
chore(release): 4.4.1
...
Diff: https://github.com/socketio/socket.io/compare/4.4.0...4.4.1
2022-01-06 07:32:03 +01:00
Gray Zhang
51784d0305
chore: add types to exports field to be compatible with nodenext module resolution ( #4228 )
...
See [1] for detail, in `nodenext` module resolution it requires a
`types` field in `exports` with full filename including extension.
[1]: https://github.com/microsoft/TypeScript/issues/46770#issuecomment-966612103
2021-12-28 10:27:08 +01:00
Damien Arrachequesne
0f11c4745f
chore(release): 4.4.0
...
Diff: https://github.com/socketio/socket.io/compare/4.3.2...4.4.0
2021-11-18 14:10:19 +01:00
Damien Arrachequesne
2da82103d2
test: add test for volatile packet with binary
...
See also: 88eee5948a
2021-11-16 15:57:32 +01:00