v5.0 pre-release

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