Skip to main content
Version: 4.x

Changelog

Versioning Policy

Socket.IO releases closely follow Semantic Versioning.

That means that with a version number x.y.z:

  • when releasing critical bug fixes, we make a patch release by increasing the z number (ex: 1.2.3 to 1.2.4).
  • when releasing new features or non-critical fixes, we make a minor release by increasing the y number (ex: 1.2.3 to 1.3.0).
  • when releasing breaking changes, we make a major release by increasing the x number (ex: 1.2.3 to 2.0.0).

Breaking changes

Breaking changes are inconvenient for everyone, so we try to minimize the number of major releases.

We have had two major breaking changes impacting the Socket.IO protocol over the years:

  • Socket.IO v2 was released in May 2017
  • Socket.IO v3 was released in November 2020
info

Socket.IO v4 (released in March 2021) did not include any update to the Socket.IO protocol (only a couple of breaking changes in the Node.js server API), so it isn't counted here.

Reference: Migrating from 3.x to 4.0

Important milestones

Aside from the breaking changes listed above, here are the latest important changes in Socket.IO:

VersionDateDescription
4.7.0June 2023Support for WebTransport
4.6.0February 2023Introduction of Connection state recovery
4.4.0November 2021Support for uWebSockets.js
4.1.0May 2021Introduction of serverSideEmit()
4.0.0March 2021Rewrite to TypeScript

Version usage

As of November 2023:

socket.io package

Client downloads per versionClient downloads per version

socket.io-client package

Client downloads per versionClient downloads per version