Release History

New Release: v5.0.0

  • New cable_car mode provides a transport-agnostic operation queueing API, allowing for CableReady via Ajax, Mrujs and Turbo Frames

  • New stream_from helper allows broadcasting without any Channel setup

  • Simplified JSON wire format is easier to parse and port to other languages 🤩

  • Operations now execute in the order that they are created, regardless of type

  • New load-time sanity checker module provides early warning of gem/npm version issues and an optional check for new CableReady releases

  • Channels and cable_car operation queues now support serialization

  • Channels now support deferred delivery via ActiveJob thanks to the new broadcast_later and broadcast_later_to methods

  • dom_id method upgraded to handle ActiveRecord Models and Relations

  • Objects passed as selectors to an operation can now expose a to_dom_selector or to_dom_id method

  • Operations now accept selector as an optional first parameter

  • selector option now accepts ActiveRecord Models and Relations

  • Chained operations now remember the selector from the previous operation

  • Operations now accept an optional delay option in ms, allowing chained time staggering

  • Operations can now be added to named batches via the batch option

  • Custom operations implement standardized before, operate and after

  • New cable_ready:channel generator creates Ruby and JS Channel classes

  • ApplicationController::Renderers has new operations renderer

  • CableReady.DOMOperations was deprecated in favor of CableReady.operations

  • play_sound operation has been extracted to @cable_ready/audio_operations


CableReady v4.5.0 has eight new operations: append, graft, prepend, replace, replace_state, play_sound, go and scroll_into_view