Release information for libcct


0.19.0-rc7 (May 18, 2017)


  • [API CHANGE] Removed MediaSwitcher component. It has been replaced by conference.switcher, which offers the same funcationality with a similar API.
  • Fixed for conference options not always be properly forwarded from room.startConference.
  • Fixed an issue that could cause conference members to get stuck when they should be removed.
  • Fixed a few cases of unhandled internal data channel send errors.
  • Fix for intermittent datachannel timeout not always being detected properly.


0.19.0-rc8 (May 18, 2017)


  • Added ThumbnailBroadcaster, which replaces MediaBroadcaster for video miniatures. It gets rid of the need to request separate media sources for high and low quality video by scaling the video internally. As well as adding support for all browsers by falling back to sending still images.
  • Updated Conference API docs.


0.19.0 (May 18, 2017)

This release finally adds a stable API for conferences and related components. The stability of conferences still need improvement, but that work can be done without changing the API. It is possible that some of the planned changes need to break compatability of the wire protocol, but the plan is to have a release that stabilizes the wire protocol as well.


  • Added elements property to the ThumbnailBroadcaster's SinkRenderer.
  • Complete documentation of Conference, ThumbnailBroadcaster, ConferenceSwitcher and MediaBroadcaster.
  • Automatic switching will now loop back input video when the user is alone in a conference.
  • Fixed an issue with conferences where clients could lock up and never be able to rejoin the cluster without first closing the conference.
  • Improved handling of signaling errors in the internal conference connections.
  • Fix for cleaning up lingering configuration from old conference members.
  • Fixes for cleaning up after leaving a conference.
  • [API CHANGE] Updated MediaBroadcaster API to be more similar to ThumbnailBroadcaster and easier to use.


  • Added back a lot of missing class members, which were lost in an upgrade of the documentation generator.


0.19.1 (May 31, 2017)


  • Fixed a bug that caused video-only calls with multiple streams between Firefox and Chrome to fail.
  • Fixed tearfown of peers in ThumbnailBroadcaster.
  • Reduce the overhead of the datachannel signalling on slow connections.


0.19.2 (June 05, 2017)

Base API

  • Improved compatability with IE.


  • Several compatability fixes between Chrome and Firefox.


0.19.3 (June 08, 2017)


  • Fix a call setup issue that could happen between specific browsers that also had significant system clock offsets.


0.19.4 (June 11, 2017)


  • Fix for broken bandwidth estimation in Chrome 58 & 59.
  • Refactored internal WebRTC signaling code, which among other things should result in fewer calls to ice candidate filter functions.


0.19.5 (June 13, 2017)


  • Fixed yet another Firefox signaling issue.

Dom sharing

  • Fix for dom-source.js when not using the full library.
  • Fix error in dom sharing source.


0.19.6 (July 04, 2017)


  • Fixed for data channels not being closed when detaching RtcComponents.
  • Fix for WebRTC stats not being forwarded properly when stats collection is enabled.
  • Fix for Firefox to Chrome receive-only audio.
  • Fix for Firefox renegotiation SDP sometimes getting the media IDs wrong in the bundle attribute.

Dom sharing

  • Fixed and simplified resource transfer protocol. This change is not backwards compatible with the old protocol.
  • Backwards-compatible fix for document scroll element change in Chrome 59.


  • Merge latest updates to cross-browser test framework.


0.19.7 (July 06, 2017)


  • Fixed a bug that would sometimes cause video to freeze or not be displayed at all when Firefox is receiving video from Chrome.
  • Fixed a bug when detaching components where it would not be possible to reattach after creating any data channels.
  • Fixed a race condition where old data channels would be confused with new ones if components are quickly detached and attached.

Dom sharing

  • Fixed a bug in the datachannel link cleanup.


0.19.8 (Aug 23, 2017)


  • Fixed a bug where clients that are joining a conference would get stuck in an invalid state.
  • More resilient signaling for conferences, which avoid splits where clients end up in difference conference clusters in the same room.
  • Improved reliability and significantly improved transfer speed of data channels when using the Temasys plugin.
  • More reliable data channels in all browsers on low-bandwidth networks.
  • Improved logging and toString methods of several classes.
  • Fix a bug in the parser of WebRTC statistics, which would cause some media streams in Chrome to be ignored.


0.19.9 (Sep 28, 2017)


  • Make automatic speaker switching in conferences a less trigger happy, requiring the new speaker to be significantly lowder than the current one…
  • Fix an issue where the conference switcher got a lot less reliable the more participants were added to a conference.
  • Connections between conference peers that fail to connect will now automatically try to reconnect.
  • Adjusted log levels for thumbnail broadcaster, making it a lot less chatty.
  • Fixed an issue that would cause issues when users leave a conference just after joining.


0.20.0 (Oct 5, 2017)

This version contains improvement and fixes for the ThumbnailBroadcaster. The fixes are not backwards compatible, so a ThumbnailBroadcaster from this version is not compatible with one from a previous version.


  • Fix an issue where some paired channels within a conference would fail to open.
  • ThumbnailBroadcaster now selects either video or image thumbnails for each peer, based on what is supported.
  • Improved signaling logic when joining a conference.
  • ThumbnailBroadcaster now sends thumbnails using a slightly more efficient format.
  • Fix for ThumbnailBroadcaster not always using video when it was able to.
  • Fix a race in ThumbnailBroadcaster where plugin images would sometimes fail to render.
  • When trying to send a message on a closed channel, the returned promise is not rejected, instead of an error being thrown.
  • Fix media stream type checking to support Safari 11.


  • Added PersistenceSink, which can be used to avoid flickering when switching between different video sources.
  • Fix documentation for HtmlSink constructor.

Dom sharing

  • Fix for scroll sometimes ending up out of sync.


0.21.0 (Nov 7, 2017)

This version introduces a new a smarted algorithm for the conference switcher, along with a bunch of bug and stability fixes for conferences.
It also adds utilities for implemented improved user media access flows, such as a method for querying whether the page has permission to access devices, and a method for asking for permission.

Base API

  • A warning will now be printed if the back-end version is too old to support all features available in the client SDK.


  • Added deviceSource.reconfigure, which allows reconfiguration of an active device source.
  • Added DeviceSource.queryPermissions, which returns the permission state of the different media types.
  • Added DeviceSource.requestPermissions, which requests permission to use audio and/or video devices, if needed.
  • Added DeviceSource.observeDeviceChanges, which can be used to detect changes to the available media devices.
  • DeviceSource.enumerateDevices now provides a list of default devices if the browser does not support device enumeration.
  • Added WaveformView, which renders an audio waveform to a canvas, which is useful for previewing audio devices.
  • Deprecated iceServers.url, use iceServers.urls instead.
  • Removed ProxySink and ProxySource, to be replaced by more specialized components.
  • Fix for passive calls not resetting properly when disconnecting, breaking the subsequent call.
  • Improved conflict resolution logic between Chrome and Firefox, speeding up average call setup time and improving reliability.


  • Fixed a timeout that was too short, causing high-latency connections to frequently fail.
  • Fixed several bugs fixes and tweaks for conference connection setup logic and conference switcher.
  • Voice activity detector will now treat locally muted audio streams as silent.
  • Added MediaBroadcaster.createAudioBroadcaster, a convenience method to avoid some boilerplate when setting up a simple full-mesh audio within a conference.


  • RelayTreeVisualization can now highlight the own user by passing in ownId. It also show the secondary speaker stream as a red arrow, and uses stable colors based on user id.