NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #2703 most downloaded on PyPI
Socket.IO integration for Flask applications
Last release 7 months ago
21 Feb 2026
Release timing varies
gaps range from 3 weeks to 12 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
95 releases · first in 2014
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
Initialize received queue in test client #295 ( commit )
improved documentation on custom json encoder/decoder #274 ( commit )
See CHANGE.LOG for release notes.
One column per quarter.
flask 0.11 cli support #289 ( commit )
documentation for the test client class ( commit )
send should not require flask request ctx #283 ( commit ) (thanks yofreke !)
add path as an argument to Socket.IO, as an alias to resource ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
Improvements to example application ( commit )
expose async_mode, start_background_task and sleep from python-socketio ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
more robustness in dealing with bad connections ( commit )
do not rause KeyError for unknown clients ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
initialize client manager in test client ( commit )
Switch to flask_* from deprecated flask.ext.* #258 ( commit ) (thanks Jeff Widman !)
Fix typo in documentation Fix “ithreading” to “threading” ( commit ) (thanks whiteUnicorn !)
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
Add notes regarding the need to monkey patch ( commit )
Added missing Python version classifiers to package ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
Added reference of _SocketIOMiddleware instance to the SocketIO class ( commit ) (thanks Grant !)
request context should not be needed when calling emit() with namespace #213 ( commit ) (thanks Tamas Nepusz !)
fixed a missed word in deployment docs #210 ( commit ) (thanks George Lejnine !)
Documentation improvements on handling multiple arguments with tuples ( commit )
Fix typo in documentation #207 ( commit ) (thanks Logan Chien !)
More documentation improvement and fixes ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
Added documentation for uWSGI deployments ( commit )
support write_only flag for external processes ( commit )
Additional work and documentation for message queues ( commit )
Added SSL enablement for eventlet ( commit ) (thanks Chip Senkbeil !)
fixed ssl configuration issue fixed #188 ( commit ) (thanks muatik !)
message queue documentation ( commit )
escaping of user provided input #185 ( commit )
typo in init .py #182 ( commit ) (thanks Luke Yeager !)
Updated dependencies ( commit )
Integrate message queue backend ( commit )
Update index.rst Fix missprint ( commit ) (thanks Dmitry Zhuravlev-Nevsky !)
A few small documentation updates ( commit )
Fix spelling mistake #178 ( commit ) (thanks Liam Stanley !)
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
Install the Werkzeug debugger middleware in the correct place ( commit )
Replace assertTrue with assertEqual where possible. ( commit ) (thanks jwg4 !)
added python 3.5 to the build ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
recommend gunicorn 18 in documentation #171 ( commit )
Add installation instructions #74 ( commit )
Minor documentation fixes ( commit )
Add a close #162 ( commit )
exit with error if gevent-socketio is installed ( commit )
daemonize background thread ( commit )
Merge branch 'v1.0' ( commit )
daemonize background thread ( commit )
warn about performance when eventlet/gevent are not installed ( commit )
Reset async_mode to default ( commit )
Fix socket.on decorator when using delayed app initialization ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
Do not fork the session unless it is modified ( commit )
Pass kwargs options to Werkzeug server ( commit )
Added section on upgrading from the 0.x releases ( commit )
Avoid argument collisions in run() method ( commit )
Updated requirements ( commit )
Removed old code that isn't needed anymore ( commit )
Fix custom resource path. #157 ( commit ) (thanks Bekt !)
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
automatically pick the best async_mode ( commit )
Addressed additional problems with multi-application support ( commit )
Allow more than one application per socketio instance #146 ( commit )
Allow more than one application per socketio instance #146 ( commit )
Moved server creation outside of socketio.run() ( commit )
added missing decorator return values #149 ( commit )
documentation improvements ( commit )
Support all async modes when app.debug is set ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
Replaced gevent, gevent-socketio and gevent-websocket with eventlet, python-socketio and python-engineio, gaining support for Python 3 and the latest versions of the Socket.IO Javascript client.
Add include_self option to emit and send ( commit )
Pass along extra_files param to run_with_reloader #121 ( commit ) (thanks bjamil !)
tests for ack ( commit ) (thanks Patrick Jahns !)
return value from handler ( commit ) (thanks Patrick Jahns !)
Document how to use custom JSON encoder/decoder ( commit )
Remove executable bit from regular files ( commit )
Remove Python 2.6 from supported releases. ( 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 event information in flask request variable #101 ( commit ) (thanks Romain Paulus !)
Change README to reflect deprecated .ext import format #98 ( commit ) (thanks Keyan Pishdadian !)
remove tag it is html bug. So I removed. ( commit ) (thanks shinriyo !)
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
close_room #84 ( commit )
added API section to docs ( commit )
add use_reloader option to socketio.run #59 ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
allow clients to specify a custom socket.io resource name ( commit )
documentation improvements ( commit )
Fix typo on front doc page #77 ( commit ) (thanks Andrejs Cainikovs !)
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.
#37 : broadcast without namespace ( commit )
documented use of server-side sessions ( commit )
some more doc improvements ( commit )
added client-side example code snippet ( commit )
documented the currently unsupported Socket.IO 1.x client library ( commit )
#22 : document use of nginx as a reverse proxy ( commit )
#28 : example app did not start background thread when running under a production server ( 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.
#26 : threading error during exit ( commit )
added gevent dependency ( 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.
show a more friendly error when a server that is not compatible with gevent-socketio is used ( commit )
added short deployment section to docs ( commit )
correct syntax for js imports ( commit )
#18 : server initiated communication does not work on the global namespace ( commit )
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
#19 : use Flask's JSON serializers in gevent-socketio ( commit )
Correct URL to socket.io.min.js Fails in IE otherwise ( commit ) (thanks Richard Morrison !)
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
See CHANGE.LOG for release notes.
Cleanup of kwargs passthrough ( commit ) (thanks ijustdrankwhat !)
pop[] => pop('resource', None) ( commit ) (thanks ijustdrankwhat !)
Allow SocketIOServer keywords to get passed through Allow keyword passthrough at run() ( commit ) (thanks Shep.Walker !)
added server pushed events to example app ( commit )
monkey patch early ( commit )
travis ci builds ( commit )
travis ci builds ( 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.
forgot self ( commit ) (thanks Mark McGuire !)
Return handler response (for client requested ack) ( commit ) (thanks Mark McGuire !)
Use counter for sessid ( commit ) (thanks Mark McGuire !)
Add returns for methods ( commit ) (thanks Mark McGuire !)
Actually import random ( commit ) (thanks Mark McGuire !)
Add sessid to socket ( commit ) (thanks Mark McGuire !)
unit testing framework ( commit )
#2 : removed old code not intended for release ( commit )
#6 : save session variables correctly ( 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.
Your coding agent can read these notes before it upgrades. Set up the MCP server →