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.
Until WebTransport support lands in Node.js, you can use the @fails-components/webtransport package:
import { readFileSync } from "fs";
import { createServer } from "https";
import { Server } from "socket.io";
import { Http3Server } from "@fails-components/webtransport";
remove the Partial modifier from the socket.data type (#4740) (e5c62ca)
Features
Support for WebTransport
The Engine.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.
Until WebTransport support lands in Node.js, you can use the @fails-components/webtransport package:
import { readFileSync } from "fs";
import { createServer } from "https";
import { Server } from "socket.io";
import { Http3Server } from "@fails-components/webtransport";
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebase will rebase this PR
@dependabot recreate will recreate this PR, overwriting any edits that have been made to it
@dependabot merge will merge this PR after your CI passes on it
@dependabot squash and merge will squash and merge this PR after your CI passes on it
@dependabot cancel merge will cancel a previously requested merge and block automerging
@dependabot reopen will reopen this PR if it is closed
@dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
@dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
@dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps [socket.io](https://github.com/socketio/socket.io) from 4.6.2 to 4.7.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a href="https://github.com/socketio/socket.io/releases">socket.io's releases</a>.</em></p>
<blockquote>
<h2>4.7.0</h2>
<h3>Bug Fixes</h3>
<ul>
<li>remove the Partial modifier from the socket.data type (<a href="https://redirect.github.com/socketio/socket.io/issues/4740">#4740</a>) (<a href="https://github.com/socketio/socket.io/commit/e5c62cad60fc7d16fbb024fd9be1d1880f4e6f5f">e5c62ca</a>)</li>
</ul>
<h3>Features</h3>
<h4>Support for WebTransport</h4>
<p>The Socket.IO server can now use WebTransport as the underlying transport.</p>
<p>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.</p>
<p>References:</p>
<ul>
<li><a href="https://w3c.github.io/webtransport/">https://w3c.github.io/webtransport/</a></li>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/API/WebTransport">https://developer.mozilla.org/en-US/docs/Web/API/WebTransport</a></li>
<li><a href="https://developer.chrome.com/articles/webtransport/">https://developer.chrome.com/articles/webtransport/</a></li>
</ul>
<p>Until WebTransport support lands <a href="https://redirect.github.com/nodejs/node/issues/38478">in Node.js</a>, you can use the <code>@fails-components/webtransport</code> package:</p>
<pre lang="js"><code>import { readFileSync } from "fs";
import { createServer } from "https";
import { Server } from "socket.io";
import { Http3Server } from "@fails-components/webtransport";
<p>// WARNING: the total length of the validity period MUST NOT exceed two weeks (<a href="https://w3c.github.io/webtransport/#custom-certificate-requirements">https://w3c.github.io/webtransport/#custom-certificate-requirements</a>)
const cert = readFileSync("/path/to/my/cert.pem");
const key = readFileSync("/path/to/my/key.pem");</p>
<p>const httpsServer = createServer({
key,
cert
});</p>
<p>httpsServer.listen(3000);</p>
<p>const io = new Server(httpsServer, {
transports: ["polling", "websocket", "webtransport"] // WebTransport is not enabled by default
});</p>
<p>const h3Server = new Http3Server({
port: 3000,
host: "0.0.0.0",
secret: "changeit",
cert,
privKey: key,
});
</tr></table>
</code></pre></p>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a href="https://github.com/socketio/socket.io/blob/main/CHANGELOG.md">socket.io's changelog</a>.</em></p>
<blockquote>
<h2><a href="https://github.com/socketio/socket.io/compare/4.6.2...4.7.0">4.7.0</a> (2023-06-22)</h2>
<h3>Bug Fixes</h3>
<ul>
<li>remove the Partial modifier from the socket.data type (<a href="https://redirect.github.com/socketio/socket.io/issues/4740">#4740</a>) (<a href="https://github.com/socketio/socket.io/commit/e5c62cad60fc7d16fbb024fd9be1d1880f4e6f5f">e5c62ca</a>)</li>
</ul>
<h3>Features</h3>
<h4>Support for WebTransport</h4>
<p>The Engine.IO server can now use WebTransport as the underlying transport.</p>
<p>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.</p>
<p>References:</p>
<ul>
<li><a href="https://w3c.github.io/webtransport/">https://w3c.github.io/webtransport/</a></li>
<li><a href="https://developer.mozilla.org/en-US/docs/Web/API/WebTransport">https://developer.mozilla.org/en-US/docs/Web/API/WebTransport</a></li>
<li><a href="https://developer.chrome.com/articles/webtransport/">https://developer.chrome.com/articles/webtransport/</a></li>
</ul>
<p>Until WebTransport support lands <a href="https://redirect.github.com/nodejs/node/issues/38478">in Node.js</a>, you can use the <code>@fails-components/webtransport</code> package:</p>
<pre lang="js"><code>import { readFileSync } from "fs";
import { createServer } from "https";
import { Server } from "socket.io";
import { Http3Server } from "@fails-components/webtransport";
<p>// WARNING: the total length of the validity period MUST NOT exceed two weeks (<a href="https://w3c.github.io/webtransport/#custom-certificate-requirements">https://w3c.github.io/webtransport/#custom-certificate-requirements</a>)
const cert = readFileSync("/path/to/my/cert.pem");
const key = readFileSync("/path/to/my/key.pem");</p>
<p>const httpsServer = createServer({
key,
cert
});</p>
<p>httpsServer.listen(3000);</p>
<p>const io = new Server(httpsServer, {
transports: ["polling", "websocket", "webtransport"] // WebTransport is not enabled by default
});</p>
<p>const h3Server = new Http3Server({
port: 3000,
host: "0.0.0.0",
secret: "changeit",
cert,
</tr></table>
</code></pre></p>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/socketio/socket.io/commit/00d8ee5b057a8aef830d88da77579037759e762c"><code>00d8ee5</code></a> chore(release): 4.7.0</li>
<li><a href="https://github.com/socketio/socket.io/commit/2dd5fa9dd466c6b39b0764d53fbda6185b4916ce"><code>2dd5fa9</code></a> ci: add Node.js 20 in the test matrix</li>
<li><a href="https://github.com/socketio/socket.io/commit/a5dff0ac83ac5e2b0e518c6d054b2c9b252b2558"><code>a5dff0a</code></a> docs(examples): increase httpd ProxyTimeout value (2)</li>
<li><a href="https://github.com/socketio/socket.io/commit/3035c25982b5bff020cff43fba31bb0cc4cc617c"><code>3035c25</code></a> docs(examples): increase httpd ProxyTimeout value</li>
<li><a href="https://github.com/socketio/socket.io/commit/63f181cc12cbbbf94ed40eef52d60f36a1214fbe"><code>63f181c</code></a> feat: serve client bundles with CORS headers</li>
<li><a href="https://github.com/socketio/socket.io/commit/a250e283daa283c2ed7ffaba3033db717a8142ab"><code>a250e28</code></a> chore: bump engine.io to version 6.5.0</li>
<li><a href="https://github.com/socketio/socket.io/commit/e5c62cad60fc7d16fbb024fd9be1d1880f4e6f5f"><code>e5c62ca</code></a> fix: remove the Partial modifier from the socket.data type (<a href="https://redirect.github.com/socketio/socket.io/issues/4740">#4740</a>)</li>
<li><a href="https://github.com/socketio/socket.io/commit/01d37624a8fec5041e0f19e071914f610946a3af"><code>01d3762</code></a> docs(changelog): update the version range of the engine.io dependency</li>
<li>See full diff in <a href="https://github.com/socketio/socket.io/compare/4.6.2...4.7.0">compare view</a></li>
</ul>
</details>
<br />
[](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
<details>
<summary>Dependabot commands and options</summary>
<br />
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
</details>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Bumps socket.io from 4.6.2 to 4.7.0.
Release notes
Sourced from socket.io's releases.
... (truncated)
Changelog
Sourced from socket.io's changelog.
... (truncated)
Commits
00d8ee5chore(release): 4.7.02dd5fa9ci: add Node.js 20 in the test matrixa5dff0adocs(examples): increase httpd ProxyTimeout value (2)3035c25docs(examples): increase httpd ProxyTimeout value63f181cfeat: serve client bundles with CORS headersa250e28chore: bump engine.io to version 6.5.0e5c62cafix: remove the Partial modifier from the socket.data type (#4740)01d3762docs(changelog): update the version range of the engine.io dependencyDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)Deploying with
Cloudflare Pages
71c21f0View logs