Dec 6, 2022

In this release, we've added official support for custom tracks to daily-js. You can now add multiple cameras and/or microphones to your Daily call through supported APIs.

daily-js

0.34.0

  • Added support for sending custom tracks in addition to camera, mic, and screen tracks. If you were previously using beta methods to do this, you can migrate your code to use the new methods, which support sending custom tracks in peer-to-peer mode.
  • Added a showUserNameChangeUI call option for controlling whether to display the user name change UI in embedded Daily Prebuilt (true by default). When set to false, you should use tokens to assign participants user_names.
  • Added a maxDuration option when starting a recording. The max recording duration is 3 hours if not specified. It is recommended you not touch this setting unless you’re planning on particularly long recorded meetings.
  • Fixed erroneously-reported track states for rmpAudio and rmpVideo tracks when a remote media player was paused.

0.34.1

  • Fixed an issue where custom tracks would not start as expected and would throw an error.
  • Fixed an issue where the call state would not be correctly set to left-meeting upon leaving the call.

0.35.0

  • Added detection of playback interruptions in remote media.
  • Cleaned up debug logging to reduce log noise.

0.35.1

  • Fix a case where a warning log may throw an exception.

react-native-daily-js

0.32.0

  • Added a maxDuration option when starting a recording. The max recording duration is 3 hours if not specified. It is recommended you not touch this setting unless you’re planning on particularly long recorded meetings.
  • Fixed a bug where, on iOS 16 or later, selecting a non-bluetooth audio device (using setAudioDevice()) would erroneously cause the bluetooth audio device to disappear from subsequent calls to enumerateDevices().
  • Fixed erroneously-reported track states for rmpAudio and rmpVideo tracks when a remote media player was paused.

0.33.0

  • Added detection of playback interruptions in remote media.
  • Fixed an issue where changing a device while the media type published by that device is disabled would not take effect. For example, changing from user to environment-facing camera while the camera is off.
  • Cleaned up debug logging to reduce log noise.

0.33.1

  • Fix a case where a warning log may throw an exception.

Daily Prebuilt

Prebuilt mobile page controller
  • Revamped the mobile web client's paging controller. Now you can expand a menu to see the available grid pages, see which participants on each page, and jump directly to a page. You can still swipe through pages, but this allows for faster navigation in larger calls.
  • Made a number of performance improvements that reduce the CPU impact, especially in larger calls.
  • Show or hide the user name entry UI in the People panel using the showUserNameChangeUI daily-js property.
  • Improved error handling for cloud recordings, so that hosts are always notified when a recording encounters an issue.

Daily React

0.6.1

  • DailyProvider now accepts recoilRootProps to control the behavior of its internal RecoilRoot. You can pass recoilRootProps={{ override: false }} to let daily-react store its state in your application's own RecoilRoot.
  • Hooks with event callbacks no longer wrap calling the passed callback in setTimeout(() => onX.?(ev), 0) to reduce fragmentation of stack traces.

0.6.2

  • Prefixed recoil atom keys with daily-react- to avoid naming conflicts when integrating Daily React with an application based on Recoil itself.
  • Added filter option to useActiveSpeakerId to allow limiting active speakers to subgroups.
  • Fixed an issue where DailyDevices could throw an error due to a non-existent local participant object.
  • Fixed DailyAudio to only consider subscribed audio tracks.

Additional

  • Fixed an issue where the video track's frame rate would drop when background effects were applied.