Skip to content

Releases: daily-co/daily-js

0.74.0

02 Jan 21:09
Compare
Choose a tag to compare

Bugfixes 🎊

  • Fix Krisp error handling.
  • New error message when attempting to enable Krisp in unsupported browser.
  • Fix bad logic around determining support for audio processing in Safari.
  • Better handling for errors testCallQuality().

Other improvements 🎉

  • No longer warn in logs when using Adaptive Bitrate. Adaptive Bitrate is a good thing.
  • Add sessionId to the dialin-* events (to be similar to dialout-* events).

0.73.0

31 Oct 18:21
Compare
Choose a tag to compare

Features 🎃

  • Added a new visualState option for customTrayButtons in embedded Prebuilt. For details on how to use this feature, see the customTrayButtons properties documentation.
  • Introduces client-side support for the pre-beta feature of automatic recover of recordings and streaming during a meeting move. If interested in helping us test this feature, reach out to help@daily.co for how to enable it on your domain.

Bugfixes 🧟

  • Fixed a timing issue where a call toleave() might be ignored if it was called too soon after the call to join()
  • Fixed an issue introduced with Chrome 129 where Chrome began throwing OverConstrained errors if the deviceId did not match an existing device and would ignore the deviceId if it wasn’t set as exact
  • For Safari 17.0-17.3, fixed an issue where these versions would report the ability to support audio processing when in reality they did not.
  • Fixed an issue where resources were loaded from Daily's QA server if the request was made after a call to startCamera() without providing a url and before join() or preAuth().

Other improvements 👻

  • Updated dependencies, including Sentry, to resolve security vulnerabilities. Note: the Sentry upgrade required a change to how we use Sentry. Our usage should not interfere or bleed into customer Sentry and visa versa. Please reach out to help@daily.co if you see otherwise.
  • Changed logging surrounding updateParticipant(s)() failures to only log as errors when the failure is due to permissions or some other error and not because the participant was not recognized. These failures are red herrings and inconsequential. Read: You should see far fewer update can't be applied errors in your dashboard logs 🙂
  • Removed old device handling logic. If you were still using the v2CamAndMic flag, this flag is now a no-op and all clients are on v2.
  • Fixed an issue where the callQualityTest() would fail if the user's local clock was behind the server's by more than a minute.

0.72.2

30 Oct 19:06
Compare
Choose a tag to compare

Bugfixes

  • Fix: Fixed an issue where resources were loaded from Daily's QA server if the request was made after a call to startCamera() without providing a url and before join() or preAuth().

0.72.1

04 Oct 16:55
Compare
Choose a tag to compare

Bugfixes

  • Fixed an issue where a call to leave immediately after join can be ignored
  • Fixed Chrome 129 issue in case we were receiving invalid deviceId

0.72.0

26 Sep 00:35
Compare
Choose a tag to compare

Bugfixes

  • Fixed the camera zoom issue that occurred in Portrait mode specifically when using Chrome or within a webview on iOS 16.
  • Fixed issue in Chrome 129 that could prevent some users from changing microphone and camera devices.

0.71.2

12 Sep 20:03
Compare
Choose a tag to compare

Features

  • Implemented a new ability to transcribe a subset of participants along with the ability to initiate multiple simultaneous transcription. This opens up transcription to work with use cases like breakout rooms or spatial applications where you only want to transcribe participants in the same vicinity. All transcriptions are now associated with an instanceId much like recordings or streamings with the ability to call updateTranscription() for changing the list of participants that should be transcribed. For more information, check out our updated guide.
  • startDialOut() now supports setting a userId that gets associated with all dial out events
  • Added a new test-completed event that gets emitted whenever a pre-join test has completed, providing a way for accessing the results asynchronously. This also provides a way for Daily Prebuilt customers to access the results of the call quality test that gets run as part of its prejoin UI. Check out the docs for more info.

Bugfixes

  • Fixed issue on older Safari (< 17) where supportedBrowser() would incorrectly claim support for video processing.
  • Fixed issue with background processing where the raw background would appear for a brief moment when switching between backgrounds.

Other improvements

  • Added support for AppleWebKit/605.1.15 user agent
  • Improved the logging surrounding Krisp initialization errors

0.70.0

07 Aug 19:54
Compare
Choose a tag to compare

Features

  • Support for multiple simultaneous call client instances is now in beta. For more information, check out our new guide.
  • Improve noise cancellation (specified via updateInputSettings() or the inputSettings call property) and make it available on desktop and mobile Safari.
  • Added a networkThreshold property to call.participants() objects and related events (e.g. participant-updated, etc.), showing their network quality.
  • (Prebuilt only) Added support for new enable_shared_chat_history domain and room properties, which controls whether newly-joined participants can see chat history from before they joined.

Bugfixes

  • Fixed a TypeScript type definition.

0.69.0

25 Jul 21:20
Compare
Choose a tag to compare

Features

  • Added Danish language support to Prebuilt.
  • Allow users to override userMediaAudioConstraints when using Prebuilt.

Bugfixes

  • Fixed an issue in Chrome 127 where the video was freezing when applying background effects.

0.68.0

18 Jul 12:54
Compare
Choose a tag to compare

Features

  • New getter methods isLocalAudioLevelObserverRunning() and isRemoteAudioLevelObserverRunning()
  • Exposing custom SIP headers received during the connection within the dialin connected event.

Bugfixes

  • Updated console deprecation warning for testConnectionQuality() to point to daily's preferred alternative of testCallQuality().
  • Fixed participant track types for better support of custom tracks.
  • Fixed a Chrome issue where a squared resolution could result in incorrect scaling or cropping when applying background effects.

Other improvements

  • Added logs for owners receiving waiting participant requests, updates and removals.
  • Updated dependencies to fix package vulnerabilities.
  • Updated cookies to follow the new CHIPS (Cookies Having Independent Partitioned State) guidelines and 3rd party restrictions. More details here.
  • Improved internals of testCallQuality() so that the test's server connections better match what is expected to be in use during the actual call.

0.67.0

02 Jul 21:39
Compare
Choose a tag to compare

Features

  • Added pre-beta support for using multiple call instances at once. As this is an atypical use case, you must opt in by setting allowMultipleCallInstances to true in your Daily constructor properties.
    • Note: If you were previously getting around this by setting strictMode to false, please update to use the new flag. strictMode for this purpose is now deprecated and in a future release it will no longer allow you to have multiple call instances.
    • This feature is not yet documented. For more information, contact help@daily.co.
  • Introduced testCallQuality() as the new, preferred method for testing a client’s network connection prior to joining a call. This function replaces the prior function testConnectionQuality() and is preferred over the existing testPeerToPeerCallQuality() as it performs a complete call under the hood with self-generated video. Check out the docs for more information. Also see stopTestCallQuality for the corresponding way of ending the test early.

Bugfixes

  • Fixed a Firefox issue where toggling your camera off and on could cause remote participants to not receive the video from the participant.
  • Fixed an issue with array-type validation inside the iFrame properties.
  • Fixed an issue where an iOS 16 user receiving a GSM phone call (e.g. from a landline) while on a Daily call would not hear the other participants after declining the phone call.
  • Fixed issue with old daily-js embedding the latest prebuilt and the message handling in between.

Other improvements

  • Daily objects like store are no longer placed on the window and no longer conflict with other libraries.
  • Promoted the previously private _callFrameId to a primary attribute of the DailyCall instance in the daily-js library and renamed it to callClientId. This field, which uniquely identifies each call instance, is now included in the payload of all daily-js events.