diff options
Diffstat (limited to 'actioncable/CHANGELOG.md')
-rw-r--r-- | actioncable/CHANGELOG.md | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/actioncable/CHANGELOG.md b/actioncable/CHANGELOG.md index d59e48e00c..5162a31cf8 100644 --- a/actioncable/CHANGELOG.md +++ b/actioncable/CHANGELOG.md @@ -1,3 +1,23 @@ +* WebSocket protocol negotiation. + + Introduces an Action Cable protocol version that moves independently + of and, hopefully, more slowly than Action Cable itself. Client sockets + negotiate a protocol with the Cable server using WebSockets' native + subprotocol support: + * https://tools.ietf.org/html/rfc6455#section-1.9 + * https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_servers#Subprotocols + + If they can't negotiate a compatible protocol (usually due to upgrading + the Cable server with a browser still running old JavaScript) then the + client knows to disconnect, cease retrying, and tell the app that it hit + a protocol mismatch. + + This allows us to evolve the Action Cable message format, handshaking, + pings, acknowledgements, and more without breaking older clients' + expectations of server behavior. + + *Daniel Rhodes* + * Pubsub: automatic stream decoding. stream_for @room, coder: ActiveSupport::JSON do |message| |