Flask-SocketIO/CHANGES.md

58 KiB

Flask-SocketIO change log

Release 5.4.1 - 2024-10-01

  • Removed a debugging statement (commit)

Release 5.4.0 - 2024-09-30

  • Support catch-all events with socketio.on('*') #2095 (commit)

Release 5.3.7 - 2024-09-02

  • Prevent crash when client sends empty event (commit)
  • Handle events with catch-all namespace #2061 (commit)
  • Add unit test for background tasks (commit)
  • Drop Python 3.7, add Python 3.12, upgrade to pypy 3.10 (commit)

Release 5.3.6 - 2023-09-05

  • Fixes in the test client to support recent changes in Socket.IO dependencies #2006 (commit)

Release 5.3.5 - 2023-07-26

  • Prevent allow_unsafe_werkzeug option from being passed to web servers #2001 (commit)

Release 5.3.4 - 2023-05-03

  • Fixed cookie handling in Test Client for Flask >= 2.3 #1982 (commit)
  • Correctly handle ConnectionRefusedError in connect handler #1959 (commit)
  • More secure nginx configuration examples #1966 (commit) (thanks Lorenzo Leonardini!)

Release 5.3.3 - 2023-03-17

  • Invalid arguments passed in call() function #1953 (commit)

Release 5.3.2 - 2022-11-20

  • Deliver callbacks from different namespaces #1909 (commit)
  • Fix documentation typos #1881 (commit) (thanks Tim Gates!)

Release 5.3.1 - 2022-09-11

  • Always pop allow_unsafe_werkzeug option from kwargs #1877 (commit) (thanks zakx!)

Release 5.3.0 - 2022-08-23

  • Add call() function to emit to the client and wait for the callback response #1830 (commit)
  • Manage each test client's connection state independently #1829 (commit)
  • Support new Flask 2.2 session structure #1856 (commit)
  • Do not allow Werkzeug to be used in production by default #1814 (commit)
  • Fix documentation typo #1857 (commit) (thanks Vincent Kuhlmann!)

Release 5.2.0 - 2022-05-22

  • Better handling of message_queue connection argument #1130 (commit)
  • More robust handling of to and room arguments of emit and send #1771 (commit)

Release 5.1.2 - 2022-04-24

  • No need to push a new app context in the test client #1669 (commit)
  • Remove 3.6 and pypy-3.6 builds, add 3.10 and pypy-3.8 (commit)
  • Improve documentation on start_background_task() function (commit)
  • changed room argument to to in documentation examples #1665 (commit) (thanks David McInnis!)
  • Fix documentation typo #1793 (commit) (thanks Gabe Rust!)
  • Fix example code in documentation #1787 (commit) (thanks Louis-Justin TALLOT!)

Release 5.1.1 - 2021-08-02

  • Only use SSL socket if at least one SSL kwarg is not None #1639 (commit) (thanks JT Raber!)
  • Remove unused SSL arguments from eventlet server options #1639 (commit)
  • Remove executable permissions from files that lack shebang lines #1621 (commit) (thanks Ben Beasley!)
  • Improved project structure (commit)

Release 5.1.0 - 2021-05-28

  • Add reloader_options argument to socketio.run#1556 (commit)
  • Pass auth data from client in connect event handler #1555 (commit)
  • Do not show simple-websocket install prompt if it is already installed (commit)
  • Fix namespace bug in example #1543 (commit)
  • Added index to documentation #724 (commit)
  • Fixed typo in documentation #1551 (commit) (thanks Mayank Anuragi!)

Release 5.0.3 - 2021-05-15

  • Document the use of simple-websocket with the development web server (commit)
  • Show transport in example apps (commit)
  • Added Open Collective funding option (commit)

Release 5.0.2 - 2021-05-14

  • Silence deprecation warning from Werkzeug 2.x #1549 (commit)
  • Updated server options in documentation (commit)
  • Updated socketio javascript client versions in documentation (commit)
  • Fix typo in documentation #1524 (commit) (thanks lennertcl!)
  • Change room documentation from room= to to= #1519 (commit) (thanks David McInnis!)
  • Fixed a type in the Kafka URL in the documentation #1476 (commit) (thanks VVakko!)
  • Fixed typos in documentation #1447 (commit)

Release 5.0.1 - 2020-12-19

  • Fix handling of argument #1441 (commit)
  • Add python-engineio to version compatibility table (commit)
  • Test client: pass packets through an encode/decode cycle #1427 (commit)

Release 5.0.0 - 2020-12-13

Release 4.3.2 - 2020-11-30

  • Only use python-socketio 4.x versions as dependencies for now (commit)
  • Added troubleshooting section to the documentation (commit)
  • Fixed incorrect use of has_request_context #1324: #1325 - Added proper call to has_request_context function Co-authored-by: igor_kantorski igor.kantorski@globedata.pl (commit) (thanks igoras1993!)
  • Move builds to GitHub actions (commit)

Release 4.3.1 - 2020-07-02

  • fix is_connected in test client (commit)

Release 4.3.0 - 2020-04-20

Release 4.2.1 - 2019-08-05

  • Add support for Apache Kafka message queue #700 (commit) (thanks Vincent Mézino!)
  • Update CORS documentation (commit)

Release 4.2.0 - 2019-07-29

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

Release 4.1.1 - 2019-07-29

  • Fix typo in "Using nginx" section #1007 (commit) (thanks Steffen Schneider!)
  • updated python-socketio min version requirement to 4.0.0 #1006 (commit) (thanks Shantanu Hazari!)

Release 4.1.0 - 2019-06-09

  • Add ConnectionRefusedError exception from python-socketio #989 (commit)
  • Invoke Socket.IO callbacks with app and request context #262 (commit)
  • Copy handler's name and docstring to handler wrapper #573 (commit)
  • Less aggressive monkey patching for gevent #413 (commit)
  • Updates jquery and socket.io in example application #988 (commit) (thanks sillyfrog!)

Release 4.0.0 - 2019-05-19

  • move to the latest python-socketio 4.x releases (commit)
  • SocketIOTestClient can handle disconnect event from server #967 (commit) (thanks Jack!)
  • example app: disconnect in callback function #453 (commit)
  • update documentation for skip_sid argument supporting lists (commit)
  • add /static block to nginx configuration example #222 (commit)
  • add notes on monkey patching #383 (commit)
  • note the event names that are reserved in the documentation (commit)
  • minor doc improvements #960 (commit)
  • updated some requirements (commit)
  • add link to stack overflow for questions (commit)
  • helper release script (commit)

Release 3.3.2 - 2019-03-09

  • update dependencies (commit)

Release 3.3.1 - 2019-02-16

  • keep connected status in test client (commit)

Release 3.3.0 - 2019-02-16

  • added flask_test_client option to Socket.IO test client (commit)

Release 3.2.2 - 2019-02-12

  • suppress web server warning when in write-only mode (commit)

Release 3.2.1 - 2019-01-24

  • remove error about eventlet/gevent used with flask run (commit)

Release 3.2.0 - 2019-01-23

  • discontinue the customized flask run command (commit)
  • spelling corrected #869 (commit) (thanks Muhammad Hamza!)

Release 3.1.2 - 2018-12-21

  • make unit tests compatible with Python 3.7.1 (commit)

Release 3.1.1 - 2018-12-08

  • fix dependency version (commit)

Release 3.1.0 - 2018-11-26

  • move to the new WSGIApp class in python-socketio (commit)
  • remove misleading target keyword arg in examples (commit)
  • Fix test client [call]back returning #732 (commit) (thanks Alex Pilon!)

Release 3.0.2 - 2018-09-12

  • undoing fix for #713 as it breaks the reloader for regular apps (commit)
  • README.md: Add syntax highlighting to python code #723 (commit) (thanks Meet Mangukiya!)
  • Fix typo in docs #717 (commit) (thanks Grey Li!)

Release 3.0.1 - 2018-06-03

Release 3.0.0 - 2018-04-30

  • minor fix for Flask 1.0 (commit)
  • add pypy3 target to travis builds (commit)
  • remove outdated warning about gunicorn R19 #563 (commit)
  • improved documentation for disconnect() #673 (commit)

Release 2.9.6 - 2018-03-10

  • support --with#659 (commit) (thanks Kareem Zidane!)
  • add optional namespace argument to disconnect function (commit)

Release 2.9.5 - 2018-03-09

  • add optional sid argument to disconnect function (commit)
  • Fix typo in index.rst #650 Fix typographical error in the Authentication section of the file. (commit) (thanks Michael Obi!)

Release 2.9.4 - 2018-02-25

  • make managed session more like a real session (commit)
  • Update docs link #613 (commit) (thanks Grey Li!)

Release 2.9.3 - 2017-12-11

  • Support binary data in the test client #601 (commit)
  • Update docs now gevent-websocket is available for python3 #599 (commit) (thanks Andrew Burrows!)
  • fix param name in doc string #585 (commit) (thanks Grey Li!)
  • Add missing json argument in send#587 (commit) (thanks Grey Li!)
  • improved documentation on acknowledgements (commit)
  • Support Redis SSL connection string #569 (commit) (thanks Ján Koščo!)
  • updated requirements #534 (commit)
  • prevent race conditions with thread start #493 (commit)
  • Documented some protocol defaults. #516 (commit)

Release 2.9.2 - 2017-08-05

  • some more unit tests (commit)
  • Support custom headers and query string in test client #520 (commit)
  • added **kwarg to pywsgi.WSGIServer when import WebSocketHandler failed #518 there is any reason to not pass **kwarg pywsgi.WSGIServer in the case WebSocketHandler fail to import? (commit) (thanks simus81!)

Release 2.9.1 - 2017-07-16

  • also add ignore_queue to send function (commit)
  • expose ignore_queue param in the emit method #505 (commit) (thanks hsvlz!)

Release 2.9.0 - 2017-06-26

  • added flask-login to sessions example (commit)
  • updated example requirements file (commit)
  • better support for user sessions (commit)
  • remove unused code related to previous commit (commit)
  • Support beaker (and possibly other) sessions (commit)
  • Fix typo in top level doc #452 (commit) (thanks Ben Harack!)
  • Added an optional IPv6 support in eventlet (commit) (thanks Pavel Pushkarev!)
  • fix KeyError (commit)
  • cleanup previous merge (commit)
  • Fix 'path' or 'resource' doesn't work. (commit) (thanks Water Zheng!)

Release 2.8.6 - 2017-03-21

  • add documentation for #433 (commit)
  • specify namespace in room related functions (commit) (thanks Samuel Kortchmar!)

Release 2.8.5 - 2017-03-02

  • specify sid in room related functions #420 (commit)

Release 2.8.4 - 2017-02-17

  • allow @socket.on decorators to be chained #408 (commit)
  • add 3.6 builds, remove 3.3 (commit)

Release 2.8.3 - 2017-02-13

  • updated test client to work with latest python-socketio release #405 (commit)
  • add support for using zmq as the message queue transport (commit) (thanks Eric Seidler!)
  • Fix a typo #400 (commit) (thanks Jordan Suchow!)

Release 2.8.2 - 2016-12-16

  • make a copy of the environ dict (commit)

Release 2.8.1 - 2016-11-27

  • Do not call init_app when an app or message_queue aren't given #367 (commit)
  • Improved nginx section of the documentation #334 (commit)

Release 2.8.0 - 2016-11-26

  • Pass client manager specific arguments in emit and send calls (commit)
  • Support for "skip_sid" option. #365 (commit)
  • Make sure the test client is not used with a message queue #366 (commit)
  • Update custom namespace doc example #364 (commit) (thanks LikeMyBread!)

Release 2.7.2 - 2016-11-04

  • Use standard run command if flask-socketio isn't instantiated #347 (commit)
  • Improve socketio connect function in example for http[s] (commit) (thanks Kyle Lawlor!)
  • preserve options given in constructor when init_app is called #321 (commit)
  • include license and readme in the package #326 (commit)

Release 2.7.1 - 2016-09-04

  • add __version__ to package (commit)

Release 2.7.0 - 2016-09-01

  • uwsgi support, class-based namespaces (commit)
  • fix failing unit test (commit)
  • Add on_event(), the non-decorator version of on() (commit) (thanks Stefan Otte!)
  • improved callback handling on test client (commit)
  • add explicit eventlet.wsgi import #309 (commit)
  • fix document typos: messaque -> message #304 (commit) (thanks ✖️: (ง •_•)ง木犀!)

Release 2.6.2 - 2016-08-09

  • ensure Flask's json is called with an app context #297 (commit)

Release 2.6.1 - 2016-08-02

  • Initialize received queue in test client #295 (commit)
  • improved documentation on custom json encoder/decoder #274 (commit)

Release 2.6 - 2016-07-24

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

Release 2.5 - 2016-06-28

  • Improvements to example application (commit)
  • expose async_mode, start_background_task and sleep from python-socketio (commit)

release 2.4 - 2016-05-31

  • more robustness in dealing with bad connections (commit)
  • do not rause KeyError for unknown clients (commit)

Release 2.3 - 2016-05-15

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

Release 2.2 - 2016-03-06

  • Add notes regarding the need to monkey patch (commit)
  • Added missing Python version classifiers to package (commit)

Release 2.1 - 2016-02-08

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

Release 2.0 - 2016-01-10

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

Release 1.2 - 2015-12-03

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

Release 1.1 - 2015-11-19

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

Release 1.0 - 2015-10-29

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

Release 1.0b4 - 2015-10-18

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

Release 1.0b3 - 2015-10-16

  • automatically pick the best async_mode (commit)
  • Addressed additional problems with multi-application support (commit)

Release 1.0b2 - 2015-10-15

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

Release v1.0b1 - 2015-09-20

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

Release 0.6.0 - 2015-03-15

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

Release 0.5.0 - 2015-01-05

Release 0.4.3 - 2014-12-16

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

Release 0.4.2 - 2014-11-30

  • use gevent monkey-patching when the reloader is enabled (commit)

Release 0.4.1 - 2014-10-23

Release 0.4 - 2014-09-23

  • Add error handlers (on_error and on_default_error). (commit) (thanks Alan Du!)
  • Update index.rst fixed broken link to Flask-KVSession documentation. (commit)

Release 0.3.8 - 2014-06-15

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

Release 0.3.7 - 2014-05-21

  • #31: show host and port on startup (commit)

Release 0.3.6 - 2014-05-13

  • #26: threading error during exit (commit)
  • added gevent dependency (commit)

Release 0.3.5 - 2014-05-07

  • #23: incorrect use of run_with_reloader (commit)

Release 0.3.4 - 2014-04-27

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

Release 0.3.3 - 2014-04-22

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

Release 0.3.2 - 2014-03-31

  • #14: access to server object when using gunicorn (commit)

Release 0.3.1 - 2014-03-24

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

Release 0.3 - 2014-03-08

Release 0.2.2 - 2014-02-19

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

Release 0.2 - 2014-02-13

  • Updated documentation (commit) (thanks Axel Haustant!)
  • Run the sample app in debug mode (commit) (thanks Axel Haustant!)
  • Added werkzeug debugger support (commit) (thanks Axel Haustant!)
  • first release (commit)
  • Initial commit (commit)