aboutsummaryrefslogtreecommitdiffstats
path: root/actioncable/CHANGELOG.md
blob: 0bf6246933c44b7d64bb82f3bf2f97ad88bf131b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
## Rails 5.0.0.beta4 (April 27, 2016) ##

*   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*