May 17, 2022

In this latest release, react-native-daily-js device support has increased profoundly. You can now retrieve valuable information about local devices, as well as update your local video and audio devices with just a couple lines of code. Additionally, we've provided a new participant event so you can be alerted anytime device availability updates. These new additions get react-native-daily-js support even closer to feature parity with daily-js. (If this were a race, it'd be pretty close! ๐Ÿƒ)

daily-js is introducing some exciting changes as well that will help developers manage their video calls more easily. We've added a new method and event to help keep track of call size changes, and now let you specify your preferred fps for live streams and recordings.

Read on for the complete list of updates landing in this release.

daily-js 0.26.0

  • ๐Ÿ“น New video frame rate configuration: fps (frames per second). This can be set in the live streaming options, as well as with call recordings.
  • ๐Ÿ›‘ New warning and error messages when clients are using daily-js versions that are nearing their end of support or no longer supported. We know it can be easy to put it off so we'll remind you when it really is time to update your version!
  • โ›ฐ๏ธ Virtual backgrounds now accept data URL types, in addition to HTTP URLs for the source image, via the updateInputSettings() method.
  • ๐Ÿงฎ New instance method: participantCounts(). Get the total participant count for your current call (and a spoiler for an upcoming feature, while you're at it!)
    • New participant-related event: participant-counts-updated. Listen for changes to your participant counts to keep track of when your call size changes.

react-native-daily-js 0.24.0

  • ๐Ÿ“ New instance method: enumerateDevices(). Retrieve a list of available local video input devices, as well as the input and output audio devices. If it looks familiar, this was already supported in daily-js. React Native developers, we've got you covered now!
  • ๐Ÿ‘€ New instance method: getInputDevices(). Similar to enumerateDevices(), getInputDevices() will return device information of the video and audio devices currently in use in a call.
  • ๐Ÿ“น New instance method: setCamera(). Update your current camera in use by passing the deviceId found in the return value from enumerateDevices().
  • ๐Ÿ“ฃ New instance method: setAudioDevice(). Update your current audio input or output devices by passing the deviceId found in the return value from enumerateDevices().
  • New event: available-devices-updated. Get notified whenever your local devices change, whether you have a new one or lost a connection.
  • โœ”๏ธ Added support for Android 12

Daily Prebuilt

  • ๐Ÿ› Bugfix: gUM (getUserMedia()) errors โ€” i.e. device permissions โ€” were sometimes unmuting the local microphone when permissions were provided. We've fixed this so you can stay muted until you're ready to talk.


  • ๐ŸŒˆ Lots of UI improvements to keep the dashboard easy to use and nice to look at!

Daily React Hooks

  • ๐Ÿ‘‹ The useRoom() hook no longer has a includeRoomConfigDefaults parameter.
  • useParticipantIds() has a new 'screen' filter to get participants with active screen shares.
  • ๐Ÿ’ซ Lots of improvements related to reducing re-render cycles to improve app performance.
  • ๐Ÿ  The useRoom() hook has been updated to make room information available sooner in the lifecycle of the call.
  • ๐Ÿ› Bugfix: the useRoom() return type was updated to DailyRoomInfo | null.


  • ๐ŸŒŽ New room configuration: rtmp_geo. Choose where your RTMP stream should originate.