-
Notifications
You must be signed in to change notification settings - Fork 10.1k
Comparing changes
Open a pull request
base repository: socketio/socket.io
base: ee9aac3
head repository: socketio/socket.io
compare: 522edcd
- 14 commits
- 31 files changed
- 5 contributors
Commits on Dec 23, 2025
-
Configuration menu - View commit details
-
Copy full SHA for 579d43f - Browse repository at this point
Copy the full SHA 579d43fView commit details -
fix(sio): do not throw when calling io.close() on a stopped server
Configuration menu - View commit details
-
Copy full SHA for 9581f9b - Browse repository at this point
Copy the full SHA 9581f9bView commit details -
Configuration menu - View commit details
-
Copy full SHA for e9e5bed - Browse repository at this point
Copy the full SHA e9e5bedView commit details -
1
Configuration menu - View commit details
-
Copy full SHA for 9978574 - Browse repository at this point
Copy the full SHA 9978574View commit details
Commits on Jan 23, 2026
-
ci: use actions/checkout@v6 and actions/setup-node@v6 (#5449)
Configuration menu - View commit details
-
Copy full SHA for d48718c - Browse repository at this point
Copy the full SHA d48718cView commit details -
fix(types): properly import http module
This commit fixes `Module '"http"' has no default export.` errors (ts-node + esm).
Configuration menu - View commit details
-
Copy full SHA for 74599a6 - Browse repository at this point
Copy the full SHA 74599a6View commit details
Commits on Mar 2, 2026
-
fix: cleanup pending acks on timeout to prevent memory leak (#5442)
When using `emitWithAck` with a timeout, if clients didn't respond and the timeout triggers, the ack callbacks remained in `socket.acks` Map indefinitely, causing a memory leak. Related: #4984
Configuration menu - View commit details
-
Copy full SHA for da04267 - Browse repository at this point
Copy the full SHA da04267View commit details
Commits on Mar 4, 2026
-
fix(eio): emit initial_headers and headers events in uServer (#5460)
The uServer (uWebSockets.js) implementation did not emit "initial_headers" and "headers" events during WebSocket upgrades, unlike the regular Server which does this via the ws "headers" event. Related: #5300
Configuration menu - View commit details
-
Copy full SHA for 44ed73f - Browse repository at this point
Copy the full SHA 44ed73fView commit details -
fix(eio): add @types/ws as dependency (#5458)
Since engine.io@6.6.5, the generated .d.ts files import types from "ws" (WebSocket, PerMessageDeflateOptions), but @types/ws was not declared as a dependency. This causes TypeScript compilation errors for consumers who do not have @types/ws installed. This follows the existing pattern where @types/cors and @types/node are already listed as dependencies. Related: #5437
Configuration menu - View commit details
-
Copy full SHA for 07cbe15 - Browse repository at this point
Copy the full SHA 07cbe15View commit details
Commits on Mar 10, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 84c2fb7 - Browse repository at this point
Copy the full SHA 84c2fb7View commit details
Commits on Mar 11, 2026
-
revert: fix: cleanup pending acks on timeout to prevent memory leak
This reverts commit da04267. The reverted fix was incorrect because the rooms might have changed between the emit() and the timeout.
Configuration menu - View commit details
-
Copy full SHA for ba9cd69 - Browse repository at this point
Copy the full SHA ba9cd69View commit details -
Configuration menu - View commit details
-
Copy full SHA for 37aad11 - Browse repository at this point
Copy the full SHA 37aad11View commit details
Commits on Mar 17, 2026
-
fix(parser): add a limit to the number of binary attachments
When a packet contains binary elements, the built-in parser does not modify them and simply sends them in their own WebSocket frame. Example: `socket.emit("some event", Buffer.of(1,2,3))` is encoded and transferred as: - 1st frame: 51-["some event",{"_placeholder":true,"num":0}] - 2nd frame: <buffer 01 02 03> where: - `5` is the type of the packet (binary message) - `1` is the number of binary attachments - `-` is the separator - `["some event",{"_placeholder":true,"num":0}]` is the payload (including the placeholder) On the receiving end, the parser reads the number of attachments and buffers them until they are all received. Before this change, the built-in parser accepted any number of binary attachments, which could be exploited to make the server run out of memory. The number of attachments is now limited to 10, which should be sufficient for most use cases. The limit can be increased with a custom `parser`: ```js import { Encoder, Decoder } from "socket.io-parser"; const io = new Server({ parser: { Encoder, Decoder: class extends Decoder { constructor() { super({ maxAttachments: 20 }); } } } }); ```Configuration menu - View commit details
-
Copy full SHA for 3fff7ca - Browse repository at this point
Copy the full SHA 3fff7caView commit details -
Configuration menu - View commit details
-
Copy full SHA for 522edcd - Browse repository at this point
Copy the full SHA 522edcdView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff ee9aac3...522edcd