NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #799 most downloaded on PyPI
Socket.IO server and client for Python
Last release 16 days ago
14 Sep 2026
Release timing varies
gaps range from 8 days to 6 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
111 releases · first in 2015
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
One column per quarter.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
ASGI support ( commit )
Fix synchronization issue in SocketIO #213 ( commit ) (thanks Anthony Zhang !)
Logging improvements for write-only connections #197 ( commit ) (thanks Kelly Truesdale !)
improved documentation ( commit )
updated dependencies and fixed linter error ( commit )
better handling of packets with no data ( commit )
add python 3.7 to tox ( commit )
Tornado examples readme ( commit )
Tornado docs ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
Tornado 5 support ( commit )
Fix typo in docs #187 ( commit ) (thanks Grey Li !)
Update documentation link #185 Pythonhosted.org was deprecated. ( commit ) (thanks Grey Li !)
typo fix #180 ( commit ) (thanks Toon Knapen !)
add pypy3 target to travis builds ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
assigning local ret variable to none if the asyncio task is canceled #164 ( commit ) (thanks rettier !)
Recoonect to redis when connection is lost #143 ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
properly handle callbacks in multi-host configurations for asyncio ( commit )
Properly handle callbacks in multi-host configurations #150 ( commit )
aiohttp instead of flask in example HTML #91 ( commit ) (thanks Jacopo Farina !)
Fix backquotes usage in docs. #146 ( commit ) (thanks Kane Blueriver !)
updated socketio js client to v2.0.4 in all examples ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
JavaScript client sends query string attached to namespace #124 ( commit )
Update README.rst ( commit )
Documented protocol defaults ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
pass redis password in the URL ( commit )
redis pub/sub support set password #116 ( commit ) (thanks larry.liu !)
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
async_handlers option for asyncio servers ( commit )
fixed requirements file for python 2 ( commit )
minor improvements to django example ( commit )
Django example ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
validate namespace in disconnect call #427 ( commit )
The usage of class-based namespace There should be an additional self argument passed to each member function of custom Namespaces. ( commit ) (thanks Kaiyu Shi !)
fix misleading error message ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
Fixed initialize() method in PubSubManager subclasses #406 ( commit )
Update README.rst Spelling correction ( commit ) (thanks Ken W. Alger !)
sanic examples (long-polling only) ( commit )
fixed link in readme file ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
redis message queue for asyncio ( commit )
updated documentation logo ( commit )
asyncio documentation and various fixes ( commit )
readme file updates ( commit )
updated public symbols ( commit )
updated package requirements ( commit )
readme files and requirements for all examples ( commit )
async namespaces, and more unit tests ( commit )
a few asyncio related fixes ( commit )
asyncio support ( commit )
fixed documentation typo #19 ( commit )
minor fixes to zeromq support ( commit )
use non-blocking eventlet zmq wrapper in listen method ( commit ) (thanks Eric Seidler !)
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
allow event names with hyphens #51 ( commit )
Merge branch 'Kurlov-fix-namespace-hyphens' ( commit )
Fixed hyphens namcespace bug ( commit ) (thanks Aleksandr Kurlov !)
removed py33 from tests, added py36 ( commit )
handle failed pickled.loads ( commit ) (thanks Eric Seidler !)
check message type before yielding message data ( commit ) (thanks Eric Seidler !)
add zmq prefix to default value for url ( commit ) (thanks Eric Seidler !)
add zmq manager ( commit ) (thanks Eric Seidler !)
add ZmqManager to dunder init ( commit ) (thanks Eric Seidler !)
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
prevent binary attachments from getting mixed up Flask-SocketIO issue #385 ( commit )
Merge branch 'AndrewPashkin-clarify-level-of-separation-of-namespaces' ( commit )
Add mentioning of SIDs to the list of what each namespace has separate from other namespaces. ( commit ) (thanks Andrew Pashkin !)
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
Added "ignore_queue" option to bypass message queue in emits ( commit )
Use a statically allocated logger by default ( commit )
Warn when message queues are used without monkey patching ( commit )
Added clarification regarding class based namespace being singletons #59 ( commit )
Fix typo Sokcet -> Socket #56 ( commit ) (thanks Lenno Nagel !)
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
some improvements and optimizations to KombuManager class ( commit )
add a TTL option to Kombu queues when RabbitMQ is used ( commit )
put clients in a pre-disconnect state while their disconnect handler runs This avoids potential endless recursion. #312 ( commit )
do not disconnect an already disconnected client #312 ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
add version to package ( commit )
document the use of the new gevent_uwsgi async mode ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
add async_handlers option to server ( commit )
minor class-based namespace fixes ( commit )
minor documentation fixes ( commit )
class-based namespaces ( commit )
minor correction in the readme file example ( commit )
Update README.rst Add the code highlight to python ( commit ) (thanks Rodolfo Silva !)
add explicit eventlet.wsgi import ( commit )
Handle empty argument list for callbacks #26 ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
minor documentation improvement ( commit )
Fix race condition in handling of binary attachments #37 ( commit )
release 1.4.3 ( commit )
Do not allow event names with hyphens in them #36 ( commit )
add unit test for sleep function ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
fix the order of triggered disconnect event #33 ( commit ) (thanks Hanzawa Ye !)
Correct sio.emit() call in readme #32 ( commit ) (thanks winek !)
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
pass return value of start_background_task to the caller ( commit )
a few improvements to examples ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
a few improvements to examples ( commit )
expose async_mode and sleep from engineio ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
delay start of message queue listener thread until first request comes ( commit )
Avoid KeyError when no room exists #27 ( commit ) (thanks Patrick Decat !)
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
remove disconnected client before invoking disconnect handler ( commit )
Eliminate problematic _clean_rooms method ( commit )
handle leaving a room and entering again right after #17 ( commit )
document the need to monkey patch with eventlet and gevent ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
silence a flak8 error on imports not at top ( commit )
silence a flak8 error on imports not at top ( commit )
Use separate read and write Kombu connections Eventlet does not like file handles to be shared among greenlets. Using an independent connection in the listening thread addresses this problem. #13 ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
Add write_only argument to Kombu and Redis manager classes ( commit )
minor message queue documentation improvements ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
documentation updates ( commit )
do not allow callbacks outside of a server context ( commit )
message queue documentation ( commit )
pubsub unit tests ( commit )
README typo fix Important typo fix in README example code. ( commit ) (thanks Davis Miculis !)
Support for callbacks across servers ( commit )
initial implementation of inter-process communication ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
Correctly handle payloads that are empty lists or dictionaries #5 ( commit )
Added python 3.5 to the tox build ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
Cleaned up the interface to provide a custom client manager ( commit )
Cleaned up the interface to provide a custom client manager ( commit )
Move ack functionality into BaseManager class ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
Added a latency check example ( commit )
Fix executable bits in several files ( commit )
Added transport method to server class ( commit )
Updated example requirements ( commit )
Allow application to provide a custom JSON encoder/decoder. ( commit )
Improved handling of logging ( commit )
Improved handling of logging ( commit )
Updated example app to use gevent websocket if available ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
Added docs on websocket support with gevent ( commit )
Fixed executable bit on several files ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
Added support for gevent and standard threads besides eventlet ( commit )
added server disconnect support ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
Return the rooms a client is in ( commit )
Added build files ( commit )
Initial commit ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
Your coding agent can read these notes before it upgrades. Set up the MCP server →