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
showUserNameChangeUIcall option for controlling whether to display the user name change UI in embedded Daily Prebuilt (trueby default). When set tofalse, you should use tokens to assign participantsuser_names. - Added a
maxDurationoption 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
rmpAudioandrmpVideotracks 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-meetingupon 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
maxDurationoption 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 toenumerateDevices(). - Fixed erroneously-reported track states for
rmpAudioandrmpVideotracks 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

- 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
showUserNameChangeUIdaily-jsproperty. - Improved error handling for cloud recordings, so that hosts are always notified when a recording encounters an issue.
Daily React
0.6.1
DailyProvidernow acceptsrecoilRootPropsto control the behavior of its internalRecoilRoot. You can passrecoilRootProps={{ override: false }}to letdaily-reactstore its state in your application's ownRecoilRoot.- 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
filteroption touseActiveSpeakerIdto allow limiting active speakers to subgroups. - Fixed an issue where
DailyDevicescould throw an error due to a non-existentlocalparticipant object. - Fixed
DailyAudioto only consider subscribed audio tracks.
Additional
- Fixed an issue where the video track's frame rate would drop when background effects were applied.