6.1.0 (2021-11-08)
Bug Fixes
- fix payload encoding for v3 clients (ed50fc3)
Features
- add an implementation based on uWebSockets.js (271e2df)
Performance Improvements
6.0.1 (2021-11-06)
Bug Fixes
- fix payload encoding for v3 clients (3f42262)
6.0.0 (2021-10-08)
The codebase was migrated to TypeScript (c0d6eaa)
An ES module wrapper was also added (401f4b6).
Please note that the communication protocol was not updated, so a v5 client will be able to reach a v6 server (and vice-versa).
Reference: https://github.com/socketio/engine.io-protocol
BREAKING CHANGES
- the default export was removed, so the following code won't work anymore:
const eioServer = require("engine.io")(httpServer);
Please use this instead:
const { Server } = require("engine.io");
const eioServer = new Server(httpServer);
Dependencies
ws
version: ~8.2.3
(bumped from ~7.4.2
)
5.2.0 (2021-08-29)
No change on the server-side, this matches the client release.
5.1.1 (2021-05-16)
Bug Fixes
- properly close the websocket connection upon handshake error (4360686)
5.1.0 (2021-05-04)
Features
Performance Improvements
- websocket: add a "wsPreEncoded" writing option (7706b12)
- websocket: fix write back-pressure (#618) (ad5306a)
5.0.0 (2021-03-10)
Bug Fixes
Features
- increase the default value of pingTimeout (5a7fa13)
- remove dynamic require() with wsEngine (edb7343)
BREAKING CHANGES
- the syntax of the "wsEngine" option is updated
Before:
const eioServer = require("engine.io")(httpServer, {
wsEngine: "eiows"
});
After:
const eioServer = require("engine.io")(httpServer, {
wsEngine: require("eiows").Server
});
4.1.1 (2021-02-02)
Bug Fixes
- do not reset the ping timer after upgrade (ff2b8ab), closes /github.com/socketio/socket.io-client-swift/pull/1309#issuecomment-768475704
4.1.0 (2021-01-14)
Features
- add support for v3.x clients (663d326)
4.0.6 (2021-01-04)
Bug Fixes
3.5.0 (2020-12-30)
Features
- add support for all cookie options (19cc582), closes /github.com/jshttp/cookie#options-1
- disable perMessageDeflate by default (5ad2736)
4.0.5 (2020-12-07)
No change on the server-side, this matches the client release.
4.0.4 (2020-11-17)
No change on the server-side, this matches the client release.
4.0.3 (2020-11-17)
No change on the server-side, this matches the client release.
4.0.2 (2020-11-09)
Bug Fixes
4.0.1 (2020-10-21)
Bug Fixes
- do not overwrite CORS headers upon error (fe093ba)
4.0.0 (2020-09-10)
More details about this release in the blog post: https://socket.io/blog/engine-io-4-release/
Bug Fixes
- ignore errors when forcefully closing the socket (#601) (dcdbccb)
- remove implicit require of uws (82cdca2)
Features
- disable perMessageDeflate by default (078527a)
Links
- Diff: v4.0.0-alpha.1...4.0.0
- Full diff: 3.4.0...4.0.0
- Client release: 4.0.0
- ws version: [7.1.2](https://github.com/websockets/ws/releases/tag/7.1.2)
3.4.2 (2020-06-04)
Bug Fixes
- remove explicit require of uws (85e544a)
Links
- Diff: 3.4.1...3.4.2
- Client release: -
- ws version: [7.1.2](https://github.com/websockets/ws/releases/tag/7.1.2)
3.4.1 (2020-04-17)
Bug Fixes
Links
- Diff: 3.4.0...3.4.1
- Client release: 3.4.1
- ws version: [7.1.2](https://github.com/websockets/ws/releases/tag/7.1.2)
4.0.0-alpha.1 (2020-02-12)
Links
- Diff: v4.0.0-alpha.0...v4.0.0-alpha.1
- Client release: v4.0.0-alpha.1
- ws version: [7.1.2](https://github.com/websockets/ws/releases/tag/7.1.2)
4.0.0-alpha.0 (2020-02-12)
Features
- decrease the default value of maxHttpBufferSize (734f9d1)
- disable cookie by default and add sameSite attribute (a374471), closes /github.com/jshttp/cookie#options-1
- generateId method can now return a Promise (f3c291f)
- reverse the ping-pong mechanism (31ff875)
- use the cors module to handle cross-origin requests (61b9492)
BREAKING CHANGES
- the handlePreflightRequest option is removed by the change.
Before:
new Server({
handlePreflightRequest: (req, res) => {
res.writeHead(200, {
"Access-Control-Allow-Origin": 'https://example.com',
"Access-Control-Allow-Methods": 'GET',
"Access-Control-Allow-Headers": 'Authorization',
"Access-Control-Allow-Credentials": true
});
res.end();
}
})
After:
new Server({
cors: {
origin: "https://example.com",
methods: ["GET"],
allowedHeaders: ["Authorization"],
credentials: true
}
})
- the syntax has changed from
new Server({
cookieName: "test",
cookieHttpOnly: false,
cookiePath: "/custom"
})
to
new Server({
cookie: {
name: "test",
httpOnly: false,
path: "/custom"
}
})
All other options (domain, maxAge, sameSite, ...) are now supported.
- v3.x clients will not be able to connect anymore (they will send a ping packet and timeout while waiting for a pong packet).
Links
- Diff: 3.4.0...v4.0.0-alpha.0
- Client release: v4.0.0-alpha.0
- ws version: [7.1.2](https://github.com/websockets/ws/releases/tag/7.1.2)