aboutsummaryrefslogblamecommitdiffstats
path: root/actioncable/CHANGELOG.md
blob: 0bf6246933c44b7d64bb82f3bf2f97ad88bf131b (plain) (tree)
1
2
3
4

                                        
                                   
 

















                                                                                                              
                                      
 

                                                                  
 

                                                                   
 




                                                             
 




                                                                            
                                                                    
 
               
 

                                           




                                                                                
 
         
 

                                           
                                      
 








                                   
 
                                                           




                                                           
 
              
 

                                           

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