Hi everyone!
Here's the #1 edition of our Monthly update. This is a new experiment, we will try to stick to this frequency in order to keep you updated of the work that is in progress and the directions the project is taking.
So, what's new in the Socket.IO ecosystem?
Socket.IO v3 (WIP)
The work on Socket.IO v3 has started (let's be honest and not say resumed).
This major version bump is mandated by several necessary changes in the Engine.IO protocol. You can find more information about these changes in the Engine.IO v4 release notes.
It mostly impacts the way packets are encoded when sent over the wire (in the request/response body in case of HTTP long-polling, or in the WebSocket frames), so the public API of Socket.IO should not be impacted that much.
We will also take advantage of this new version to migrate the codebase to Typescript, so the typings which are currently hosted in the DefinitelyTyped will now always be in sync with the actual code.
You can follow the progress here.
If you have any feedback/feature that you would like to see included, please comment here.
Engine.IO v4
As part of the work towards Socket v3, Engine.IO v4 has been released.
The list of breaking changes can be found in the release notes.
Protocol documentation
The documentation of the Engine.IO and the Socket.IO protocols has been edited with additional details/examples.
This should help greatly when implementing a client in another programming language.
If you find that something is not clear/is missing, please open an issue in the repository.
For reference, here's the current list of clients in other languages:
- Java: https://github.com/socketio/socket.io-client-java
- C++: https://github.com/socketio/socket.io-client-cpp
- Swift: https://github.com/socketio/socket.io-client-swift
- Dart: https://github.com/rikulo/socket.io-client-dart
- Python: https://github.com/miguelgrinberg/python-socketio
- .Net: https://github.com/Quobject/SocketIoClientDotNet
GitHub discussions
The project is now part of the beta of Github Discussions. Depending on the feedback of the community, it might replace the Slack channel in the future.
So, let's discuss!
Minor bumps
socket.io-client@2.3.1 (release notes)
- engine.io-parser@2.2.1 (included in
socket.io-client{% raw %}@{% endraw %}2.3.1
) - engine.io-client@3.4.4 (included in
socket.io-client{% raw %}@{% endraw %}2.3.1
) - socket.io-parser@3.3.1 (included in
socket.io-client{% raw %}@{% endraw %}2.3.1
)
- engine.io-parser@2.2.1 (included in
More information about how to use those custom parsers can be found here.
Going forward
As announced at the bottom of the Engine.IO v4 release notes, I (@darrachequesne) am now dedicated full time to the project since the beginning of September. This wouldn't be possible without our sponsors, so again, a big thanks to them!
Stay safe!