2016-04-05 12:12:55 -04:00
|
|
|
* WebSocket protocol negotiation.
|
2016-02-12 21:13:37 -05:00
|
|
|
|
2016-04-05 12:12:55 -04:00
|
|
|
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*
|
|
|
|
|
2016-03-11 18:32:02 -05:00
|
|
|
* Pubsub: automatic stream decoding.
|
2016-02-16 14:06:35 -05:00
|
|
|
|
2016-03-11 18:32:02 -05:00
|
|
|
stream_for @room, coder: ActiveSupport::JSON do |message|
|
|
|
|
# `message` is a Ruby hash here instead of a JSON string
|
2016-02-16 14:06:35 -05:00
|
|
|
|
2016-03-11 18:32:02 -05:00
|
|
|
The `coder` must respond to `#decode`. Defaults to `coder: nil`
|
|
|
|
which skips decoding entirely.
|
2016-02-12 21:13:37 -05:00
|
|
|
|
2016-03-11 18:32:02 -05:00
|
|
|
*Jeremy Daer*
|
|
|
|
|
|
|
|
* Add ActiveSupport::Notifications to ActionCable::Channel.
|
|
|
|
|
|
|
|
*Matthew Wear*
|
2016-02-12 21:13:37 -05:00
|
|
|
|
2016-02-24 23:01:19 -05:00
|
|
|
* Safely support autoloading and class unloading, by preventing concurrent
|
|
|
|
loads, and disconnecting all cables during reload.
|
|
|
|
|
|
|
|
*Matthew Draper*
|
|
|
|
|
2016-03-02 13:37:19 -05:00
|
|
|
* Ensure ActionCable behaves correctly for non-string queue names.
|
2016-02-24 13:41:57 -05:00
|
|
|
|
2016-03-02 13:37:19 -05:00
|
|
|
*Jay Hayes*
|
2016-02-24 13:41:57 -05:00
|
|
|
|
2016-02-24 11:14:40 -05:00
|
|
|
## Rails 5.0.0.beta3 (February 24, 2016) ##
|
|
|
|
|
2016-03-02 13:37:19 -05:00
|
|
|
* 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.
|
2016-02-04 06:10:35 -05:00
|
|
|
|
2016-03-02 13:37:19 -05:00
|
|
|
*DHH*
|
2016-02-04 06:10:35 -05:00
|
|
|
|
2016-02-01 16:27:38 -05:00
|
|
|
## Rails 5.0.0.beta2 (February 01, 2016) ##
|
|
|
|
|
2016-02-01 16:57:31 -05:00
|
|
|
* Support PostgreSQL pubsub adapter.
|
2016-02-01 16:27:38 -05:00
|
|
|
|
2016-02-01 16:57:31 -05:00
|
|
|
*Jon Moss*
|
|
|
|
|
|
|
|
* Remove EventMachine dependency.
|
|
|
|
|
|
|
|
*Matthew Draper*
|
|
|
|
|
|
|
|
* Remove Celluloid dependency.
|
|
|
|
|
|
|
|
*Mike Perham*
|
2016-02-01 16:27:38 -05:00
|
|
|
|
2016-01-18 20:04:35 -05:00
|
|
|
* Create notion of an `ActionCable::SubscriptionAdapter`.
|
2016-01-20 17:13:43 -05:00
|
|
|
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`.
|
2016-01-18 20:04:35 -05:00
|
|
|
|
2016-03-02 13:37:19 -05:00
|
|
|
*Jon Moss*
|
2016-01-18 20:04:35 -05:00
|
|
|
|
2015-12-18 15:58:25 -05:00
|
|
|
## Rails 5.0.0.beta1 (December 18, 2015) ##
|
|
|
|
|
2015-12-14 10:38:37 -05:00
|
|
|
* Added to Rails!
|
|
|
|
|
2015-12-21 04:46:38 -05:00
|
|
|
*DHH*
|