A getattr hook in the top-level "tornado" package now imports submodules
automatically, eliminating the need to explicitly reference multiple submodules
in imports
Adapt for Python 3.10 deprecation changes by using asyncio.run
instead of IOLoop.start throughout (except for TCPServer multi-process
docs).
Demos have all been changed but I haven't tested all of them.
On Python 3, super does not need to be called with arguments where as on
Python 2, super needs to be called with a class object and an instance.
This commit updates the super usage using automated regex-based search
and replace. After the automated changes were made, each change was
individually checked before committing.
This allows applications to create an IOLoop to be started in another
thread without making it current in the originating thread.
Update docs to use IOLoop.current() in place of IOLoop.instance() when
starting the loop.
Closes#1390.
Parameters to the extension are not fully supported (the client side
supports client_no_context_takeover which is mandatory to implement,
but the server rejects any parameters offered by the client, and neither
side supports setting wbits).
Closes#308.
Closes#668.
Browsers that only support draft76 are now less common than those
that do not support websockets at all, so applications should
use their non-websocket workarounds for these browsers.