Skip to content

Latest commit

 

History

History
552 lines (386 loc) · 57.9 KB

CHANGES.md

File metadata and controls

552 lines (386 loc) · 57.9 KB

python-socketio change log

Release 5.6.0 - 2022-04-24

  • Catch and log errors in pubsub listening thread #889 (commit)
  • Use new asyncio support in redis package #911 (commit)
  • Add support for aiopiko version 7 and higher #897 (commit) (thanks Dmitriy!)
  • Fixed documentation typo #910 (commit) (thanks Omar Costa Hamido!)
  • Fix aiohttp example's background task #881 (commit)
  • Bump sanic from 0.8 to 20.12.6 in /examples/server/sanic #875 (commit) (thanks dependabot[bot]!)
  • Add application name to Sanic example #892 (commit) (thanks Florian Metzger-Noel!)

Release 5.5.2 - 2022-02-15

  • Connect with an empty auth object instead of None #861 (commit)
  • Fix indentation in the "Rooms" docs example. #872 (commit) (thanks Ezio Melotti!)
  • Remove 3.6 and pypy-3.6 builds, add 3.10 and pypy-3.8 (commit)

Release 5.5.1 - 2022-01-11

  • Support multiple Kafka servers (commit) (thanks sparkingdark!)
  • Include example code in flake8 pass (commit)

Release 5.5.0 - 2021-11-14

  • Option to disable the SIGINT handler in the client #792 (commit)
  • Do not invoke reserved events on a catch-all handler #814 (commit)
  • Use correct binary packet types in the msgpack packet encoder #811 (commit)
  • Add missing call() method to namespace classes #800 (commit)
  • Add missing to argument to namespace emit() and send() methods #810 (commit)
  • Configure Redis pubsub to skip subscription messages (commit)
  • Migrate async Redis client manager to aioredis 2 #771 (commit) (thanks Sam Mosleh!)
  • Update Python supported versions in docs (commit)
  • Document how to get the connection state in the client #799 (commit)
  • Improved documentation of start_background_task() function (commit)
  • Improved documentation of call() method #813 (commit)
  • Fixed intermittent test failures #572 (commit)

Release 5.4.1 - 2021-10-14

  • Catch-all event handlers (commit)
  • Implement disconnect method for external processes #684 (commit)

Release 5.4.0 - 2021-08-02

  • Support msgpack and custom packet serializers #749 (commit)
  • Return error packet if client connects to an already connected namespace (commit)
  • Handle CancelledError in async pubsub managers #750 (commit)
  • More robust handling of emit's "to" argument #689 (commit)
  • Remove executable permissions from setup.py, which has no shebang #748 (commit) (thanks Ben Beasley!)
  • Improved project structure (commit)

Release 5.3.0 - 2021-05-15

  • Document WebSocket support for threading mode (commit)
  • Allow functions to be used for URL, headers and auth data in client connection #588 (commit)
  • Emit events to multiple rooms #605 (commit)
  • More descriptive error when joining a room on a bad namespace #650 (commit)
  • Document the use of arguments in the connect_error handler #554 (commit)
  • Document that callbacks cannot be used in external processes #1533 (commit)
  • Improve start_background_task() example in the documentation #647 (commit)
  • Added Open Collective funding option (commit)
  • Remove Python 2 from PyPI classifiers (commit)

Release 5.2.1 - 2021-04-18

  • Fixed incorrect handling of dashes inside the JSON payload of a packet #675 (commit)

Release 5.2.0 - 2021-04-17

  • Pass custom authentication data with client connection #661 (commit)
  • Configure the JSON decoder for safer parsing (commit) (thanks Onno Kortmann!)
  • Made parsing of id field of Socket.IO packet faster and more robust (commit) (thanks Onno Kortmann!)
  • Correct use of a trailing comma in Socket.IO packets with no id or data #671 (commit)
  • Updated Socket.IO JavaScript client versions in documentation example (commit)

Release 5.1.0 - 2021-03-10

  • Added wait argument to client's connect method #634 (commit)
  • Invoke the disconnect handler when the client initiates a disconnection #594 (commit)
  • Pass auth information sent by client to the connect handler (commit)
  • Catch all possible Redis errors #635 (commit)
  • Reset message queue sleep timer upon reconnect (commit) (thanks Ed Serzo!)
  • Fixed bad event object used by asyncio client reconnect logic #622 (commit)
  • Adding missing example of async client implementation to documentation (commit) (thanks manuel!)
  • Add scrolling to documentation sidebar #610 (commit) (thanks Mohammed Abdul Raheem!)
  • Typo fix in documentation #602 (commit) (thanks Tim Gates!)

Release 5.0.4 - 2020-12-25

  • Include error message and arguments in CONNECT_ERROR packet #590 (commit)
  • Fix typos in the documentation #599 (commit) (thanks Arpit Jain!)
  • Updated connection options in the documentation #597 (commit)

Release 5.0.3 - 2020-12-14

  • Correct handling of user session #585 (commit)
  • Performace tuning (commit)
  • Updated ASGI examples to latest release (commit)
  • Updated Django example to latest release (commit)

Release 5.0.2 - 2020-12-12

  • Return `environ`` dictionary for a client (commit)

Release 5.0.1 - 2020-12-08

  • Fix Engine.IO dependency version (commit)
  • Conversion from Socket.IO sid to Engine.IO sid (commit)

Release 5.0.0 - 2020-12-07

  • Update to match the JavaScript Socket.IO 3.x releases (Socket.IO v5 protocol revision)
    • v5 protocol: do not connect the default namespace unless requested explicitly (commit)
    • v5 protocol: handle per-namespace sids in base manager (commit)
    • v5 protocol: rename ERROR packet to CONNECT_ERROR (commit)
    • v5 protocol: use Engine.IO 4.x
  • Remove unnecessary binary argument (commit)
  • Remove dependency on the six package (commit)
  • Added version compatibility chart to README (commit)

Release 4.6.1 - 2020-11-28

  • Added troubleshooting section to the documentation (commit)
  • Document the use of tuples when emitting (commit)
  • Handle the case of not having a previous signal handler #518 (commit) (thanks David Brooks!)
  • Simplify asserts in unit tests (commit)
  • Fixed route path for tornado server #494 (commit) (thanks someApprentice!)
  • Use pytest as test runner (commit)
  • Move builds to GitHub actions (commit)
  • Fixed typo in documentation #524 (commit) (thanks Fover!)

Release 4.6.0 - 2020-05-23

  • Improved handling of rejected connections #391 #487 #447 (commit)
  • Fix multi-namespace disconnect logic #456 (commit)
  • AsyncPubSubManager does not await for can_disconnect() #488 (commit) (thanks Andrei Neagu!)
  • Require a recipient in call() function in the server #476 (commit) (thanks tt2468!)
  • ASGI startup and shutdown lifespan handlers #468 Co-authored-by: avi [email protected] (commit) (thanks databasedav!)
  • Remove references to Python 2.7 in the documentation (commit)
  • Fix server example in docstring #449 (commit) (thanks wangjiancn!)
  • Fix documentation typo #450 (commit) (thanks kizError!)

Release 4.5.1 - 2020-03-22

  • Fix endless loop when disconnecting on multi-server deployments #441 (commit)

Release 4.5.0 - 2020-03-14

  • Add support for client disconnects in multi-server configurations #1174 (commit)
  • Initialize the client's SIGINT signal handler only if a client is created #424 (commit)
  • Fix for Server and AsyncServer when emitting no data #420 (commit) (thanks Aaron!)
  • More accurate logging documentation (commit)
  • AsyncClient documentation fixes #389 (commit) (thanks Dmitry Volodin!)
  • Document concurrency problems with emits #403 (commit)
  • Minor documentation fixes #386 (commit) (thanks Rotzbua!)

Release 4.4.0 - 2019-11-24

  • Last version to support Python 2
  • Support the connect_error event in the client #344 (commit)
  • Do not dispatch events for disconnected namespaces #333 (commit)
  • Fix documentation typos #374 (commit) (thanks Dmitry Volodin!)
  • Updated documentation with new Engine.IO client options (commit)

Release 4.3.1 - 2019-08-05

  • New asyncio based RabbitMQ manager #320 (commit) (thanks salimaboubacar!)
  • New Apache Kafka manager (commit)
  • Pass additional options to Redis and Kombu managers #307 (commit)
  • Do not allow emits on a namespace that is not connected #325 (commit)
  • Disconnect Engine.IO connection when server disconnects a client #1017 (commit)
  • Update CORS documentation #327 (commit)
  • Updated documentation on message queue manager classes (commit)
  • Documentation fixes (commit)

Release 4.3.0 - 2019-07-29

  • Address potential websocket cross-origin attacks #128 (commit)
  • Documentation for the Same Origin security policy (commit)

Release 4.2.1 - 2019-07-27

  • Added rediss:// URL scheme to AsyncRedisManager #319 * Added rediss:// URL scheme to AsyncRedisManager * Obeyed flake8 (commit) (thanks Dylan Anthony!)

Release 4.2.0 - 2019-06-29

  • Handle keyboard interrupt during reconnect #301 (commit)
  • Added "to" parameter as an alias to "room" (commit)
  • Correctly autodetect asgi async mode (commit)
  • Improved documentation on user session behavior on disconnections #308 (commit)

Release 4.1.0 - 2019-06-03

  • New @event decorator for handler registration (commit)
  • Much more flexible support for static files in the server (commit)
  • Move python-engineio dependency to versions 3.8 and up (commit)
  • Various simplifications to examples (commit)
  • Expose the sid for the connection as sio.sid (commit)

Release 4.0.3 - 2019-05-25

  • skip_sid parameter can also be a list #202 (commit)
  • Fixed Sanic documentation #193 (commit)
  • Added note on CORS support for sanic #205 (commit)
  • flake8 fixes (commit)
  • added python 3.7 build (commit)
  • added change log (commit)
  • auto-generate change log during release (commit)

Release 4.0.2 - 2019-05-19

  • properly handle disconnects from ios client (commit)
  • updated asgi examples to the latest uvicorn (commit)
  • helper release script (commit)
  • fixed requirements file (commit)
  • updated some requirements (commit)

Release 4.0.1 - 2019-04-26

  • remove unused wait and timeout arguments from send method (commit)
  • Add missing import statement for socketio in docs #289 (commit) (thanks Syed Faheel Ahmad!)
  • change a typo from client to server #280 (commit) (thanks Almog Cohen!)
  • add link to stack overflow for questions (commit)
  • Merge branch 'Keylekan-master' (commit)
  • Add namespaces parameter to the self.connect call in the reconnection process (commit) (thanks quentin!)

Release 4.0.0 - 2019-03-09

  • change async_handlers default to true, and add call() method (commit)
  • Add ConnectionRefusedError and handling for it (commit) (thanks Andrey Rusanov!)
  • fix python 2 unit test (commit)
  • client disconnect does not take namespace as argument #259 (commit)
  • Avoid double calls to client disconnect handlers #261 (commit)
  • readme fixes (commit)
  • Update sanic version in requirements.txt #255 (commit) (thanks maxDzh!)
  • simplify client dependencies (commit)

Release 3.1.2 - 2019-01-30

  • Type in documentation #241 (commit) (thanks Emeka Icha!)
  • fix typo with quotes in doc #238 (commit) (thanks Julien Deniau!)

Release 3.1.1 - 2019-01-09

  • do not use six in setup.py (commit)

Release 3.1.0 - 2019-01-03

Release 3.0.1 - 2019-01-01

Release 3.0.0 - 2018-12-22

  • SocketIO client
  • reorganization of examples, plus some new ones for the client (commit)
  • minor example code fix (commit)
  • resolve wrong variable and css element #177 (commit) (thanks iepngs!)

Release 2.1.2 - 2018-12-10

  • update dependencies (commit)

Release 2.1.1 - 2018-12-05

  • fix backwards compatible problems with python-engineio 3.0 (commit)

Release 2.1.0 - 2018-11-26

  • 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)

Release 2.0.0 - 2018-06-28

  • 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)

Release 1.9.0 - 2018-03-07

  • 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)

Release 1.8.4 - 2017-12-11

  • 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)

Release 1.8.3 - 2017-11-13

  • fixed memory leak on rejected connections for asyncio (commit)

Release 1.8.2 - 2017-11-13

  • fixed memory leak on rejected connections #574 (commit)

Release 1.8.1 - 2017-10-02

  • JavaScript client sends query string attached to namespace #124 (commit)
  • Update README.rst (commit)
  • Documented protocol defaults (commit)

Release 1.8.0 - 2017-07-26

  • Made queues non-durable. Always retry after disconnect. #120 (commit) (thanks Alex Plugaru!)

Release 1.7.7 - 2017-07-20

  • pass redis password in the URL (commit)
  • redis pub/sub support set password #116 (commit) (thanks larry.liu!)

Release 1.7.6 - 2017-07-02

  • async_handlers option for asyncio servers (commit)
  • fixed requirements file for python 2 (commit)
  • minor improvements to django example (commit)
  • Django example (commit)

Release 1.7.5 - 2017-05-30

  • 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)

Release 1.7.4 - 2017-03-28

  • Handle broadcasts to zero clients #88 (commit)

Release 2.7.3 - 2017-03-22

  • Fix variable referenced before assignment #85 (commit)
  • use Python 3.6 for docs build (commit)

Release 1.7.2 - 2017-03-08

  • websocket support for sanic (commit)

Release 1.7.1 - 2017-02-15

  • 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)

Release 1.7.0 - 2017-02-12

  • 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!)

Release 1.6.3 - 2017-01-23

  • 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!)

Release 1.6.2 - 2017-01-03

  • 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!)

Release 1.6.1 - 2016-11-26

  • 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!)

Release 1.6.0 - 2016-09-25

  • 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)

Release 1.5.1 - 2016-09-04

  • add version to package (commit)
  • document the use of the new gevent_uwsgi async mode (commit)

Release 1.5.0 - 2016-08-26

  • 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)

Release 1.4.4 - 2016-08-05

  • 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)

Release 1.4.2 - 2016-07-12

  • fix the order of triggered disconnect event #33 (commit) (thanks Hanzawa Ye!)
  • Correct sio.emit() call in readme #32 (commit) (thanks winek!)

Release 1.4.1 - 2016-06-28

  • pass return value of start_background_task to the caller (commit)
  • a few improvements to examples (commit)

Release 1.4 - 2016-06-28

  • a few improvements to examples (commit)
  • expose async_mode and sleep from engineio (commit)

Release 1.3 - 2016-05-15

  • delay start of message queue listener thread until first request comes (commit)
  • Avoid KeyError when no room exists #27 (commit) (thanks Patrick Decat!)

Release 1.2 - 2016-03-21

  • Avoid KeyError in is_connected. #22 (commit) (thanks Chris Doehring!)

Release v1.1 - 2016-03-06

  • 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)

Release 1.0 - 2016-01-17

  • Expand tuples to multiple arguments, but not lists (commit)

Release 0.9.2 - 2016-01-16

  • 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)

Release 0.9.1 - 2016-01-10

  • Pass result of connect handler up to engineio (commit)

Release 0.9.0 - 2016-01-10

  • Add write_only argument to Kombu and Redis manager classes (commit)
  • minor message queue documentation improvements (commit)

Release 0.8.2 - 2015-12-30

  • correct kombu implementation of a fanout queue (commit)

Release 0.8.1 - 2015-12-14

Release 0.8.0 - 2015-12-14

  • 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)

Release 0.7.0 - 2015-11-22

  • Correctly handle payloads that are empty lists or dictionaries #5 (commit)
  • Added python 3.5 to the tox build (commit)

Release 0.6.1 - 2015-10-31

  • support packets with empty payload given as an integer (commit)

Release 0.6.0 - 2015-10-17

Release 0.5.2 - 2015-09-22

  • fixed regression introduced in latest release with ack ids (commit)

Release 0.5.1 - 2015-09-16

  • Cleaned up the interface to provide a custom client manager (commit)
  • Move ack functionality into BaseManager class (commit)

Release 0.5.0 - 2015-09-02

  • 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)

Release 0.4.2 - 2015-08-23

  • Improved handling of logging (commit)
  • Updated example app to use gevent websocket if available (commit)

Release 0.4.1 - 2015-08-20

  • Added docs on websocket support with gevent (commit)
  • Fixed executable bit on several files (commit)

Release 0.4.0 - 2015-08-08

  • Added support for gevent and standard threads besides eventlet (commit)
  • added server disconnect support (commit)

Release 0.3.0 - 2015-07-27

  • allow events to be sent from the connect handler (commit)

Release 0.2.0 - 2015-07-20

  • Return the rooms a client is in (commit)
  • Added build files (commit)
  • Initial commit (commit)