From 898bd1c9df379f4749989afe82c311b7ed9c6174 Mon Sep 17 00:00:00 2001 From: Damien Arrachequesne Date: Mon, 6 Feb 2023 17:16:32 +0100 Subject: [PATCH] chore(release): 6.4.0 Diff: https://github.com/socketio/engine.io/compare/6.3.1...6.4.0 --- CHANGELOG.md | 49 +++++++++++++++++++++++++++++++++++++++++++++++ package-lock.json | 14 +++++++------- package.json | 4 ++-- test/engine.io.js | 2 +- 4 files changed, 59 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index acc9d23e..1e098bc1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## 2023 +- [6.4.0](#640-2023-02-06) (Feb 2023) - [6.3.1](#631-2023-01-12) (Jan 2023) - [6.3.0](#630-2023-01-10) (Jan 2023) @@ -44,9 +45,57 @@ # Release notes +## [6.4.0](https://github.com/socketio/engine.io/compare/6.3.1...6.4.0) (2023-02-06) + + +### Features + +* add support for Express middlewares ([24786e7](https://github.com/socketio/engine.io/commit/24786e77c5403b1c4b5a2bc84e2af06f9187f74a)) + +This commit implements middlewares at the Engine.IO level, because Socket.IO middlewares are meant for namespace authorization and are not executed during a classic HTTP request/response cycle. + +A workaround was possible by using the allowRequest option and the "headers" event, but this feels way cleaner and works with upgrade requests too. + +Syntax: + +```js +engine.use((req, res, next) => { + // do something + + next(); +}); + +// with express-session +import session from "express-session"; + +engine.use(session({ + secret: "keyboard cat", + resave: false, + saveUninitialized: true, + cookie: { secure: true } +})); + +// with helmet +import helmet from "helmet"; + +engine.use(helmet()); +``` + + +### Dependencies + +- [`ws@~8.11.0`](https://github.com/websockets/ws/releases/tag/8.11.0) (no change) + + + ## [6.3.1](https://github.com/socketio/engine.io/compare/6.3.0...6.3.1) (2023-01-12) +### Dependencies + +- [`ws@~8.11.0`](https://github.com/websockets/ws/releases/tag/8.11.0) (no change) + + ## [6.3.0](https://github.com/socketio/engine.io/compare/6.2.1...6.3.0) (2023-01-10) diff --git a/package-lock.json b/package-lock.json index 9be78f40..8f830d8f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,7 +23,7 @@ "devDependencies": { "babel-eslint": "^8.0.2", "eiows": "^4.1.2", - "engine.io-client": "6.3.0", + "engine.io-client": "6.4.0", "engine.io-client-v3": "npm:engine.io-client@3.5.2", "expect.js": "^0.3.1", "express-session": "^1.17.3", @@ -594,9 +594,9 @@ "dev": true }, "node_modules/engine.io-client": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.3.0.tgz", - "integrity": "sha512-hIadC76/X+lClzc6da7gBfsLCf1z+p0hAI+ht8gvunvBoV38IeUP3oJyoElRrx5YyzsdFgYFp1GhjZa5z7Hrjg==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.4.0.tgz", + "integrity": "sha512-GyKPDyoEha+XZ7iEqam49vz6auPnNJ9ZBfy89f+rMMas8AuiMWOZ9PVzu8xb9ZC6rafUqiGHSCfu22ih66E+1g==", "dev": true, "dependencies": { "@socket.io/component-emitter": "~3.1.0", @@ -2577,9 +2577,9 @@ "dev": true }, "engine.io-client": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.3.0.tgz", - "integrity": "sha512-hIadC76/X+lClzc6da7gBfsLCf1z+p0hAI+ht8gvunvBoV38IeUP3oJyoElRrx5YyzsdFgYFp1GhjZa5z7Hrjg==", + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.4.0.tgz", + "integrity": "sha512-GyKPDyoEha+XZ7iEqam49vz6auPnNJ9ZBfy89f+rMMas8AuiMWOZ9PVzu8xb9ZC6rafUqiGHSCfu22ih66E+1g==", "dev": true, "requires": { "@socket.io/component-emitter": "~3.1.0", diff --git a/package.json b/package.json index 97d891bc..61762a74 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "engine.io", - "version": "6.3.1", + "version": "6.4.0", "description": "The realtime engine behind Socket.IO. Provides the foundation of a bidirectional connection between client and server", "type": "commonjs", "main": "./build/engine.io.js", @@ -45,7 +45,7 @@ "devDependencies": { "babel-eslint": "^8.0.2", "eiows": "^4.1.2", - "engine.io-client": "6.3.0", + "engine.io-client": "6.4.0", "engine.io-client-v3": "npm:engine.io-client@3.5.2", "expect.js": "^0.3.1", "express-session": "^1.17.3", diff --git a/test/engine.io.js b/test/engine.io.js index 75d1748e..c7b743c3 100644 --- a/test/engine.io.js +++ b/test/engine.io.js @@ -14,7 +14,7 @@ describe("engine", () => { expect(protocol).to.be.a("number"); }); - it.skip("should be the same version as client", () => { + it("should be the same version as client", () => { const version = require("../package.json").version; expect(version).to.be(require("engine.io-client/package.json").version); });