blob: 5162a31cf8ebc73634ede183ae2b76c19c89e5f6 (
plain) (
tree)
|
|
* 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|
# `message` is a Ruby hash here instead of a JSON string
The `coder` must respond to `#decode`. Defaults to `coder: nil`
which skips decoding entirely.
*Jeremy Daer*
* Add ActiveSupport::Notifications to ActionCable::Channel.
*Matthew Wear*
* Safely support autoloading and class unloading, by preventing concurrent
loads, and disconnecting all cables during reload.
*Matthew Draper*
* Ensure ActionCable behaves correctly for non-string queue names.
*Jay Hayes*
## Rails 5.0.0.beta3 (February 24, 2016) ##
* Added `em_redis_connector` and `redis_connector` to
`ActionCable::SubscriptionAdapter::EventedRedis` and added `redis_connector`
to `ActionCable::SubscriptionAdapter::Redis`, so you can overwrite with your
own initializers. This is used when you want to use different-than-standard
Redis adapters, like for Makara distributed Redis.
*DHH*
## Rails 5.0.0.beta2 (February 01, 2016) ##
* Support PostgreSQL pubsub adapter.
*Jon Moss*
* Remove EventMachine dependency.
*Matthew Draper*
* Remove Celluloid dependency.
*Mike Perham*
* Create notion of an `ActionCable::SubscriptionAdapter`.
Separate out Redis functionality into
`ActionCable::SubscriptionAdapter::Redis`, and add a
PostgreSQL adapter as well. Configuration file for
ActionCable was changed from`config/redis/cable.yml` to
`config/cable.yml`.
*Jon Moss*
## Rails 5.0.0.beta1 (December 18, 2015) ##
* Added to Rails!
*DHH*
|