This PR was automatically created by Snyk using the credentials of a real user.
Snyk has created this PR to upgrade socket.io from 4.6.2 to 4.7.1.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.
- The recommended version is **2 versions** ahead of your current version.
- The recommended version was released **25 days ago**, on 2023-06-28.
Release notes Package name: socket.io
remove the Partial modifier from the socket.data type (#4740) (e5c62ca)
Features
Support for WebTransport
The Socket.IO server can now use WebTransport as the underlying transport.
WebTransport is a web API that uses the HTTP/3 protocol as a bidirectional transport. It's intended for two-way communications between a web client and an HTTP/3 server.
This PR was automatically created by Snyk using the credentials of a real user.
Snyk has created this PR to upgrade socket.io from 4.6.2 to 4.7.1.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.- The recommended version is **2 versions** ahead of your current version. - The recommended version was released **25 days ago**, on 2023-06-28.
Release notes
Package name: socket.io
The client bundle contains a few fixes regarding the WebTransport support.
Links
engine.io@~6.5.0
(no change)ws@~8.11.0
(no change)Features
Support for WebTransport
The Socket.IO server can now use WebTransport as the underlying transport.
WebTransport is a web API that uses the HTTP/3 protocol as a bidirectional transport. It's intended for two-way communications between a web client and an HTTP/3 server.
References:
Until WebTransport support lands in Node.js, you can use the
@ fails-components/webtransport
package:<div class="highlight highlight-source-js notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="import { readFileSync } from "fs"; import { createServer } from "https"; import { Server } from "socket.io"; import { Http3Server } from "@ fails-components/webtransport";
// WARNING: the total length of the validity period MUST NOT exceed two weeks (https://w3c.github.io/webtransport/#custom-certificate-requirements) const cert = readFileSync("/path/to/my/cert.pem"); const key = readFileSync("/path/to/my/key.pem");
const httpsServer = createServer({ key, cert });
httpsServer.listen(3000);
const io = new Server(httpsServer, { transports: ["polling", "websocket", "webtransport"] // WebTransport is not enabled by default });
const h3Server = new Http3Server({ port: 3000, host: "0.0.0.0", secret: "changeit", cert, privKey: key, });
(async () => { const stream = await h3Server.sessionStream("/socket.io/"); const sessionReader = stream.getReader();
while (true) { const { done, value } = await sessionReader.read(); if (done) { break; } io.engine.onWebTransportSession(value); } })();
h3Server.startServer();">
Added in 123b68c.
Client bundles with CORS headers
The bundles will now have the right
Access-Control-Allow-xxx
headers.Added in 63f181c.
Links
engine.io@~6.5.0
(diff)ws@~8.11.0
(no change)types
condition to the top (#4698) (3d44aae)Links
engine.io@~6.4.2
(diff)ws@~8.11.0
(no change)Commit messages
Package name: socket.io
Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs