September 15th, 2022

daily-js 0.31.0

  • 🔐 A new permissions system allows you to specify a couple of different permissions for each participant:

    • canSend, which specifies which kinds of media the participant is allowed to send ('video', 'audio', 'screenVideo', 'screenAudio').
    • hasPresence, which specifies whether the participant appears as “present” (as opposed to “hidden”) in the meeting, i.e. whether they are listed in everyone's participants().

    Participant permissions can be specified in a couple of ways:

  • 📌 The code that daily-js downloads before you join a call is now “pinned” to this version of daily-js. That means you will no longer get (in many cases, unwanted) updates to Daily client-side code without updating your daily-js dependency. Read more about this change in the last version's release notes.

  • 🐛 We fixed a bug where if you attempted to update your desired max spatial layer for some subscribed media (for example, via updateReceiveSettings({ '<participant-id>': { video: { layer: } } })) while the subscription was still being established, the updated layer would never take effect.

  • 🏔 getNetworkTopology() will now return the currently-chosen topology as soon as we know it, not after a delay.

  • 🪵 We've stopped polluting your Sentry logs with our noisy breadcrumbs.

  • 👤 If you invoke setUserData(null), other participants will see your userData change to null, not undefined.

react-native-daily-js 0.29.0

  • 💪 Includes all of the above changes, except the fix for getNetworkTopology(), which doesn't apply to SFU-mode-only React Native.