2017-01-10 05:28:52 +03:00
|
|
|
1.0.1 (2017-01-09)
|
|
|
|
------------------
|
|
|
|
|
|
|
|
* Endpoint unicode strings now work correctly on Python 2 and Python 3
|
|
|
|
|
2017-01-09 04:14:28 +03:00
|
|
|
1.0.0 (2017-01-08)
|
|
|
|
------------------
|
|
|
|
|
|
|
|
* BREAKING CHANGE: Daphne now requires acceptance of WebSocket connections
|
|
|
|
before it finishes the socket handshake and relays incoming packets.
|
|
|
|
You must upgrade to at least Channels 1.0.0 as well; see
|
|
|
|
http://channels.readthedocs.io/en/latest/releases/1.0.0.html for more.
|
|
|
|
|
|
|
|
* http.disconnect now has a `path` key
|
|
|
|
|
|
|
|
* WebSockets can now be closed with a specific code
|
|
|
|
|
|
|
|
* X-Forwarded-For header support; defaults to X-Forwarded-For, override with
|
|
|
|
--proxy-headers on the commandline.
|
|
|
|
|
|
|
|
* Twisted endpoint description string support with `-e` on the command line
|
|
|
|
(allowing for SNI/ACME support, among other things)
|
|
|
|
|
|
|
|
* Logging/error verbosity fixes and access log flushes properly
|
|
|
|
|
|
|
|
|
2016-08-28 21:27:05 +03:00
|
|
|
0.15.0 (2016-08-28)
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
* Connections now force-close themselves after pings fail for a certain
|
|
|
|
timeframe, controllable via the new --ping-timeout option.
|
|
|
|
|
|
|
|
* Badly-formatted websocket response messages now log to console in
|
|
|
|
all situations
|
|
|
|
|
|
|
|
* Compatability with Twisted 16.3 and up
|
|
|
|
|
|
|
|
|
2016-07-21 22:05:16 +03:00
|
|
|
0.14.3 (2016-07-21)
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
* File descriptors can now be passed on the commandline for process managers
|
|
|
|
that pass sockets along like this.
|
|
|
|
|
|
|
|
* websocket.disconnect messages now come with a "code" attribute matching the
|
|
|
|
WebSocket spec.
|
|
|
|
|
|
|
|
* A memory leak in request logging has been fixed.
|
|
|
|
|
|
|
|
|
2016-07-08 02:58:12 +03:00
|
|
|
0.14.2 (2016-07-07)
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
* Marked as incompatible with twisted 16.3 and above until we work out why
|
|
|
|
it stops incoming websocket messages working
|
|
|
|
|
|
|
|
|
2016-07-06 22:09:34 +03:00
|
|
|
0.14.1 (2016-07-06)
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
* Consumption of websocket.receive is also now required.
|
|
|
|
|
|
|
|
|
2016-07-06 21:52:59 +03:00
|
|
|
0.14.0 (2016-07-06)
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
* Consumption of websocket.connect is now required (channels 0.16 enforces
|
|
|
|
this); getting backpressure on it now results in the socket being
|
|
|
|
force closed.
|
|
|
|
|
|
|
|
|
2016-06-29 01:27:14 +03:00
|
|
|
0.13.1 (2016-06-28)
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
* Bad WebSocket handshakes now return 400 and an error messages
|
|
|
|
rather than 500 with no content.
|
|
|
|
|
|
|
|
|
2016-06-22 19:48:37 +03:00
|
|
|
0.13.0 (2016-06-22)
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
* Query strings are now sent as bytestrings and the application is responsible
|
|
|
|
for decoding. Ensure you're running Channels 0.15 or higher.
|
|
|
|
|
|
|
|
|
2016-06-21 18:28:20 +03:00
|
|
|
0.12.2 (2016-06-21)
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
* Plus signs in query string are now handled by Daphne, not Django-by-mistake.
|
|
|
|
Ensure you're running Channels 0.14.3 or higher.
|
|
|
|
|
|
|
|
* New --root-path and DAPHNE_ROOT_PATH options for setting root path.
|
|
|
|
|
|
|
|
|
2016-05-18 20:14:27 +03:00
|
|
|
0.12.1 (2016-05-18)
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
* Fixed bug where a non-ASCII byte in URL paths would crash the HTTP parser
|
|
|
|
without a response; now returns 400, and hardening in place to catch most
|
|
|
|
other errors and return a 500.
|
|
|
|
|
|
|
|
* WebSocket header format now matches HTTP header format and the ASGI spec.
|
|
|
|
No update needed to channels library, but user code may need updating.
|
|
|
|
|
|
|
|
|
2016-05-07 23:08:40 +03:00
|
|
|
0.12.0 (2016-05-07)
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
* Backpressure on http.request now causes incoming requests to drop with 503.
|
|
|
|
Websockets will drop connection/disconnection messages/received frames if
|
|
|
|
backpressure is encountered; options are coming soon to instead drop the
|
|
|
|
connection if this happens.
|
|
|
|
|
|
|
|
|
2016-05-04 21:34:33 +03:00
|
|
|
0.11.4 (2016-05-04)
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
* Don't try to send TCP host info in message for unix sockets
|
|
|
|
|
|
|
|
|
2016-04-27 11:52:13 +03:00
|
|
|
0.11.3 (2016-04-27)
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
* Don't decode + as a space in URLs
|
|
|
|
|
|
|
|
|
|
|
|
0.11.2 (2016-04-27)
|
2016-04-27 11:45:47 +03:00
|
|
|
-------------------
|
|
|
|
|
|
|
|
* Correctly encode all path params for WebSockets
|
|
|
|
|
|
|
|
|
2016-04-26 15:50:02 +03:00
|
|
|
0.11.1 (2016-04-26)
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
* Fix bugs with WebSocket path parsing under Python 2
|
|
|
|
|
|
|
|
|
2016-04-26 15:23:59 +03:00
|
|
|
0.11.0 (2016-04-26)
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
* HTTP paths and query strings are now pre-decoded before going to ASGI
|
|
|
|
|
|
|
|
|
2016-04-05 18:12:50 +03:00
|
|
|
0.10.3 (2016-04-05)
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
* Error on badly formatted websocket reply messages
|
|
|
|
|
|
|
|
|
2016-04-04 07:05:55 +03:00
|
|
|
0.10.2 (2016-04-03)
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
* Access logging in NCSAish format now printed to stdout, configurable to
|
|
|
|
another file using --access-log=filename
|
|
|
|
|
|
|
|
|
2016-03-29 13:31:32 +03:00
|
|
|
0.10.1 (2016-03-29)
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
* WebSockets now close after they've been open for longer than the channel
|
|
|
|
layer group expiry (86400 seconds by default for most layers).
|
|
|
|
|
|
|
|
* Binding to UNIX sockets is now possible (use the -u argument)
|
|
|
|
|
|
|
|
* WebSockets now send keepalive pings if they've had no data for a certain
|
|
|
|
amount of time (20 seconds by default, set with --ping-interval)
|
|
|
|
|
|
|
|
|
2016-03-22 02:45:24 +03:00
|
|
|
0.10.0 (2016-03-21)
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
* Multiple cookies are now set correctly
|
|
|
|
|
|
|
|
* Follows new ASGI single-response-channel spec for !
|
|
|
|
|
|
|
|
* Follows new ASGI header encoding spec for HTTP
|
|
|
|
|
|
|
|
|
2016-03-08 21:16:50 +03:00
|
|
|
0.9.3 (2016-03-08)
|
|
|
|
------------------
|
|
|
|
|
|
|
|
* WebSocket query strings are correctly encoded
|
|
|
|
|
|
|
|
|
2016-03-03 03:59:37 +03:00
|
|
|
0.9.2 (2016-03-02)
|
|
|
|
------------------
|
|
|
|
|
|
|
|
* HTTP requests now time out after a configurable amount of time and return 503
|
|
|
|
(default is 2 minutes)
|
|
|
|
|
|
|
|
|
2016-03-01 11:09:33 +03:00
|
|
|
0.9.1 (2016-03-01)
|
|
|
|
------------------
|
|
|
|
|
|
|
|
* Main thread actually idles rather than sitting at 100%
|
|
|
|
|
|
|
|
* WebSocket packets have an "order" attribute attached
|
|
|
|
|
|
|
|
* WebSocket upgrade header detection is now case insensitive
|
|
|
|
|
2016-03-03 03:59:37 +03:00
|
|
|
|
2016-02-21 16:06:55 +03:00
|
|
|
0.9 (2016-02-21)
|
|
|
|
----------------
|
|
|
|
|
|
|
|
* Signal handlers can now be disabled if you want to run inside a thread
|
|
|
|
(e.g. inside Django autoreloader)
|
|
|
|
|
|
|
|
* Logging hooks that can be used to allow calling code to show requests
|
|
|
|
and other events.
|
|
|
|
|
|
|
|
* Headers are now transmitted for websocket.connect
|
|
|
|
|
|
|
|
* http.disconnect messages are now sent
|
|
|
|
|
|
|
|
* Request handling speed significantly improved
|