1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00
rails--rails/actioncable/CHANGELOG.md

96 lines
2.9 KiB
Markdown
Raw Normal View History

* Protect against concurrent writes to a websocket connection from
multiple threads; the underlying OS write is not always threadsafe.
*Tinco Andringa*
2016-07-08 13:23:35 -04:00
* Close hijacked socket when connection is shut down.
Fixes #25613.
*Tinco Andringa*
2016-06-30 14:48:36 -04:00
## Rails 5.0.0 (June 30, 2016) ##
2016-06-30 14:48:36 -04:00
* Fix development reloading support: new cable connections are now correctly
dispatched to the reloaded channel class, instead of using a cached reference
to the originally-loaded version.
*Matthew Draper*
* 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*
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-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-03-02 13:37:19 -05:00
*DHH*
* Support PostgreSQL pubsub adapter.
2016-02-01 16:27:38 -05:00
*Jon Moss*
* Remove EventMachine dependency.
*Matthew Draper*
* Remove Celluloid dependency.
*Mike Perham*
2016-02-01 16:27:38 -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-03-02 13:37:19 -05:00
*Jon Moss*
* Added to Rails!
*DHH*