Update socket.io packages to v4 (major) #4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
^2.3.0->^4.0.0^2.3.0->^4.0.0Release Notes
socketio/socket.io
v4.6.1Compare Source
Bug Fixes
Dependencies
engine.io@~6.4.0(no change)ws@~8.11.0(no change)v4.6.0Compare Source
Bug Fixes
Features
Promise-based acknowledgements
This commit adds some syntactic sugar around acknowledgements:
emitWithAck()serverSideEmitWithAck()Added in 184f3cf.
Connection state recovery
This feature allows a client to reconnect after a temporary disconnection and restore its state:
Usage:
Here's how it works:
idattribute, which is public and can be freely shared)The in-memory adapter already supports this feature, and we will soon update the Postgres and MongoDB adapters. We will also create a new adapter based on Redis Streams, which will support this feature.
Added in 54d5ee0.
Compatibility (for real) with Express middlewares
This feature 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.
Syntax:
A workaround was possible by using the allowRequest option and the "headers" event, but this feels way cleaner and works with upgrade requests too.
Added in 24786e7.
Error details in the disconnecting and disconnect events
The
disconnectevent will now contain additional details about the disconnection reason.Added in 8aa9499.
Automatic removal of empty child namespaces
This commit adds a new option, "cleanupEmptyChildNamespaces". With this option enabled (disabled by default), when a socket disconnects from a dynamic namespace and if there are no other sockets connected to it then the namespace will be cleaned up and its adapter will be closed.
Added in 5d9220b.
A new "addTrailingSlash" option
The trailing slash which was added by default can now be disabled:
In the example above, the clients can omit the trailing slash and use
/socket.ioinstead of/socket.io/.Added in d0fd474.
Performance Improvements
Dependencies
engine.io@~6.4.0(diff)ws@~8.11.0(diff)v4.5.4Compare Source
This release contains a bump of:
engine.ioin order to fix CVE-2022-41940socket.io-parserin order to fix CVE-2022-2421.Dependencies
engine.io@~6.2.1(diff)ws@~8.2.3(no change)v4.5.3Compare Source
Bug Fixes
v4.5.2Compare Source
Bug Fixes
v4.5.1Compare Source
Bug Fixes
v4.5.0Compare Source
Bug Fixes
Features
This is similar to
onAny(), but for outgoing packets.Syntax:
Syntax:
So that clients in HTTP long-polling can decide how many packets they have to send to stay under the maxHttpBufferSize
value.
This is a backward compatible change which should not mandate a new major revision of the protocol (we stay in v4), as
we only add a field in the JSON-encoded handshake data:
4.4.1 (2022-01-06)
Bug Fixes
RemoteSocket.datatype safe (#4234) (770ee59)SocketDatatype to custom namespaces (#4233) (f2b8de7)v4.4.1Compare Source
Bug Fixes
RemoteSocket.datatype safe (#4234) (770ee59)SocketDatatype to custom namespaces (#4233) (f2b8de7)v4.4.0Compare Source
Bug Fixes
Features
socket.data(#4159) (fe8730c)4.3.2 (2021-11-08)
Bug Fixes
4.3.1 (2021-10-16)
Bug Fixes
v4.3.2Compare Source
Bug Fixes
v4.3.1Compare Source
Bug Fixes
v4.3.0Compare Source
Bug Fixes
Features
v4.2.0Compare Source
Bug Fixes
Features
4.1.3 (2021-07-10)
Bug Fixes
4.1.2 (2021-05-17)
Bug Fixes
4.1.1 (2021-05-11)
Bug Fixes
v4.1.3Compare Source
Bug Fixes
v4.1.2Compare Source
Bug Fixes
v4.1.1Compare Source
Bug Fixes
v4.1.0Compare Source
Features
engine.io)engine.io)Performance Improvements
4.0.2 (2021-05-06)
Bug Fixes
4.0.1 (2021-03-31)
Bug Fixes
v4.0.2Compare Source
Bug Fixes
v4.0.1Compare Source
Bug Fixes
v4.0.0Compare Source
Bug Fixes
Features
3.1.2 (2021-02-26)
Bug Fixes
3.1.1 (2021-02-03)
Bug Fixes
v3.1.2Compare Source
Bug Fixes
v3.1.1Compare Source
Bug Fixes
v3.1.0Compare Source
Features
Bug Fixes
2.4.1 (2021-01-07)
Reverts
3.0.5 (2021-01-05)
Bug Fixes
Reverts
v3.0.5Compare Source
Bug Fixes
Reverts
v3.0.4Compare Source
v3.0.3Compare Source
v3.0.2Compare Source
Bug Fixes
v3.0.1Compare Source
Bug Fixes
v3.0.0Compare Source
Bug Fixes
Features
BREAKING CHANGES
the Socket#use() method is removed (see 5c73733)
Socket#join() and Socket#leave() do not accept a callback argument anymore.
Before:
After:
Before:
The 'origins' option was used in the allowRequest method, in order to
determine whether the request should pass or not. And the Engine.IO
server would implicitly add the necessary Access-Control-Allow-xxx
headers.
After:
The already existing 'allowRequest' option can be used for validation:
Socket#rooms is now a Set instead of an object
Namespace#connected is now a Map instead of an object
there is no more implicit connection to the default namespace:
This method was kept for backward-compatibility with pre-1.0 versions.
socketio/socket.io-client
v4.6.1Compare Source
Bug Fixes
Dependencies
engine.io-client@~6.4.0(no change)ws@~8.11.0(no change)v4.6.0Compare Source
Bug Fixes
Features
A new "addTrailingSlash" option
The trailing slash which was added by default can now be disabled:
In the example above, the request URL will be
https://example.com/socket.ioinstead ofhttps://example.com/socket.io/.Added in 21a6e12.
Promise-based acknowledgements
This commit adds some syntactic sugar around acknowledgements:
Note: environments that do not support Promises will need to add a polyfill in order to use this feature.
Added in 47b979d.
Connection state recovery
This feature allows a client to reconnect after a temporary disconnection and restore its ID and receive any packets that was missed during the disconnection gap. It must be enabled on the server side.
A new boolean attribute named
recoveredis added on thesocketobject:Added in 54d5ee0 (server) and b4e20c5 (client).
Retry mechanism
Two new options are available:
retries: the maximum number of retries. Above the limit, the packet will be discarded.ackTimeout: the default timeout in milliseconds used when waiting for an acknowledgement (not to be mixed up with the already existingtimeoutoption, which is used by the Manager during the connection)In all examples above, "my-event" will be sent up to 4 times (1 + 3), until the server sends an acknowledgement.
Assigning a unique ID to each packet is the duty of the user, in order to allow deduplication on the server side.
Added in 655dce9.
Dependencies
engine.io-client@~6.4.0(diff)ws@~8.11.0(diff)v4.5.4Compare Source
This release contains a bump of the
socket.io-parserdependency, in order to fix CVE-2022-2421.Dependencies
engine.io-client@~6.2.3ws@~8.2.3(no change)v4.5.3Compare Source
Bug Fixes
v4.5.2Compare Source
Bug Fixes
v4.5.1Compare Source
There were some minor bug fixes on the server side, which mandate a client bump.
v4.5.0Compare Source
Features
The "disconnect" event will now include additional details to help debugging if anything has gone wrong.
Example when a payload is over the maxHttpBufferSize value in HTTP long-polling mode:
This is similar to
onAny(), but for outgoing packets.Syntax:
The server will now include a "maxPayload" field in the handshake details, allowing the clients to decide how many packets they have to send to stay under the maxHttpBufferSize value.
4.4.1 (2022-01-06)
v4.4.1Compare Source
v4.4.0Compare Source
Bug Fixes
socket.disconnect().connect()usage (99c2cb8)Features
4.3.2 (2021-10-16)
Bug Fixes
4.3.1 (2021-10-15)
Bug Fixes
v4.3.2Compare Source
Bug Fixes
v4.3.1Compare Source
Bug Fixes
v4.3.0Compare Source
An ESM bundle is now provided:
Features
v4.2.0Compare Source
Bug Fixes
Features
4.1.3 (2021-07-10)
4.1.2 (2021-05-17)
Bug Fixes
4.1.1 (2021-05-11)
There were some minor bug fixes on the server side, which mandate a client bump.
v4.1.3Compare Source
v4.1.2Compare Source
Bug Fixes
v4.1.1Compare Source
There were some minor bug fixes on the server side, which mandate a client bump.
v4.1.0Compare Source
Features
engine.io-client)4.0.2 (2021-05-06)
Bug Fixes
4.0.1 (2021-03-31)
Bug Fixes
authproperty public (#1455) (c150223)3.1.3 (2021-03-12)
Bug Fixes
v4.0.2Compare Source
Bug Fixes
v4.0.1Compare Source
Bug Fixes
authproperty public (#1455) (c150223)v4.0.0Compare Source
The major bump is due to some breaking changes on the server side.
Bug Fixes
Features
3.1.2 (2021-02-26)
Bug Fixes
engine.io-client)3.1.1 (2021-02-03)
Bug Fixes
v3.1.3Compare Source
Bug Fixes
v3.1.2Compare Source
Bug Fixes
engine.io-client)v3.1.1Compare Source
Bug Fixes
v3.1.0Compare Source
Bug Fixes
3.0.5 (2021-01-05)
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Mend Renovate. View repository job log here.