Skip to content

Releases: daily-co/daily-js

0.66.0

07 Jun 18:44
Compare
Choose a tag to compare

Bugfixes

  • Fixed an issue where the call machine was not loading inside webviews on iOS 16.
  • Improved handling of an underlying Chrome bug with regards to screensharing. We have witnessed issues when sharing a tab with audio on Chrome where the audio track will end when switching which tab is shared using Chrome’s built-in β€œShare this tab instead” button. Previously, when this happened we would end the screenshare. Now, we will send a nonfatal-error (see example below) but will not end the screenshare so that video can continue. However, a user will have to restart the screenshare in order to recover audio. We have filed an issue with Chromium.
    {
      "action": "nonfatal-error",
      "type": "screen-share-error",
      "errorMsg": "Error with ScreenShare audio",
      "details": {
        "sourceError": "audio track ended unexpectedly"
      }
    }
    

0.65.0

23 May 19:48
Compare
Choose a tag to compare

Features

  • Providing an easy way to cycle the camera between front and back on mobile browsers:
    • cycleCamera({ preferDifferentFacingMode: true })
  • enumerateDevices() and getInputDevices() now return a new property, facing, specifying if the camera is facing the user or the environment;
  • Created a new event ,dialin-ready, which is triggered when the sip dial-in worker is ready to accept a call.
  • Added support for updating the receive settings for custom tracks.

Bugfixes

  • Fixed an issue preventing participants from joining meetings on certain browsers/hardware when WebGL 2 was unavailable. We are now disabling video processor in case webgl2 is not available.
  • Fixed updateScreenShare to work with Daily Prebuilt iframe.

Other improvements

  • Updated dependencies to remove security vulnerabilities.
  • Removed long deprecated call property:Β experimentalGetUserMediaConstraintsModify

0.64.0

07 May 13:49
Compare
Choose a tag to compare

Features

  • Introduced the ability to disable sharing audio or video from a screenShare without stopping the screenShare via a new method, updateScreenShare. As part of this, we also introduced localScreenAudio() and localScreenVideo for checking if local video screen sharing is enabled.
  • Introduced a new domain/room property: enforce_unique_user_ids. Setting this to true along with usage of setting user_id’s on tokens will enforce that only one participant with a given user_id can be in a call at once, securing against token sharing. Note: If someone joins with an id already in use, they will be allowed in and the existing participant will be ejected, receiving an error event of a type 'ejected'.

Bugfixes

  • Fixed an issue preventing participants from joining meetings on certain browsers/hardware when WebGL was unavailable.

0.63.0

25 Apr 17:35
Compare
Choose a tag to compare

KNOWN ISSUE

This release has a known issue where the bundle will not load on certain browsers and hardware when WebGL is disabled. We recommend skipping this release and using 0.64.0 or newer.

Features

  • Added the ability to detect the number of faces that appear in a camera stream. To use this, set "face-detection" as a the video processor type when calling updateInputSettings(). When a face is detected a face-counts-updated event is emitted.

Bugfixes

  • Fixed issue on windows causing the mic to be blocked when the camera is blocked due to being in use by another application.
  • Preventing error on join if audio level is started before starting the camera.
  • Fixed cleanup of internals on destroy() resulting in memory bloat for subsequent instances.
  • Fixed an issue when videoSource is set to false or canSend permissions are set to ['audio'] and the browser permission request for the microphone is denied, then two camera-error events are emitted.

Other improvements

  • Updated dependencies to remove security vulnerabilities.
  • Updated what information is sent to Sentry when clients have networking issues.

0.62.0

04 Apr 19:34
Compare
Choose a tag to compare

Features

  • Updated the list of oldest supported browsers and fixed all the issues that currently broken them. The new set of oldest browsers we support can be found here. Mostly notably, this means we no longer support Plan B browsers.

Bugfixes

  • Fixed an issue with adaptive bitrate where, in certain situation, the resolution scale was not increasing.
  • Fixed an issue with logs missing client information and reporting the daily-js version as 0.0.0.
  • updated updateInputSettings() so that it does not result in a validation failure if provided options resulting in a no-op. (ex. turning on noise cancellation when it’s already on)
  • Fixed a bug where if the call machine bundle file initially fails to load, but then succeeds, you are still left in a broken state

Other improvements

  • Added a new field, cpuUsageBasedOnTargetDecode, to the cpuInboundVideoStats included in the response of getCpuLoadStats()
  • Updated dependencies to remove security vulnerabilities.
  • Downgraded the multiple call object console error to a console warning.
  • Re-introduced official support for providing a mediaStream in startScreenShare(). Initially, this was deprecated to discourage use of screenshares for the purpose of custom tracks. Note that for most use cases, we still recommend using startScreenShare() without a mediaStream and the custom tracks API for sharing additional tracks.

0.61.1

22 Mar 14:39
Compare
Choose a tag to compare

Bugfixes

  • Fixed a crash inΒ updateInputSettings()Β when called afterΒ load()Β but before an initializing call toΒ startCamera(),Β preAuth(), orΒ join().
  • Fixed a bug on Android Web where unplugging a headset will sometimes break audio output.
  • Fixed a bug on Android Web to properly auto-switch to a recently-plugged in device.

Other improvements

  • We now log frameRate, width, and height from the camera's video track whenever we first get the track or the user switches devices.
  • Updated TypeScript declaration file to make it so that event objects in event handlers don't erroneously appear to customers to be possibly undefined.
  • Added ability to detect and logΒ autoplay errors.
  • Updated daily-js dependencies to close vulnerabilities.

0.60.0

06 Mar 20:53
Compare
Choose a tag to compare

Features

Bugfixes

  • Re-introduced support support for providing base64 data urls for background images in updateInputSettings()

Other improvements

  • Implemented a new forceDiscardTrack option for setLocalAudio(false) . This option will enforce daily to discard the track along with muting the mic. Doing so will have the effect of turning off mic-in-use indicators. While this sounds ideal, this flag should be used cautiously. By default, we do not discard the microphone track because unmuting would require re-fetching the track and introduce a delay that likely clips the start of someone talking. To use, simply call setLocalAudio like so:

    setLocalAudio(false, { forceDiscardTrack: true })
    
  • Updated audio settings in SFU mode to enable Opus FEC (forward error correction) by default.

  • Removed unnecessary messaging and stored set of objects related to registering/de-registering daily event callbacks.

  • Added includeRawResponse field to startTranscription() options. If true, all incoming transcription-message events will include a new rawResponse field with Deepgram's raw data. See docs here

0.59.0

22 Feb 22:24
Compare
Choose a tag to compare

Bugfixes

  • Re-enabled audio output device selection for newer Firefox versions, where an echo cancellation bug was resolved.
  • Fixed testConnectionQuality() result when stopping immediately after starting the test.

Other improvements

  • For HIPAA domains, allow user_ids to appear in logs and the /meetings REST API endpoint, if and only if they’re UUIDs.

0.58.0

09 Feb 18:12
Compare
Choose a tag to compare

Features

  • Introduced support for multiple outbound calls from a single room.
  • Developed a new method, sendDTMF, for transmitting DTMF signals.
  • Introduced support for adaptive bitrate layers. This will improve the visual call quality by utilizing an adaptive bitrate and resolution strategy for the topmost SFU layer.
  • Implemented live captions feature within Prebuilt.

Bugfixes

  • Fixed the types returned from testPeerToPeerCallQuality to align with the new testCallQuality while making sure the now-deprecated testConnectionQuality types remain unchanged and backwards compatible.
  • Fixed the testConnectionQuality issue on Firefox.
  • Fixed an issue where certain logs that weren't supposed to log when terse_logging is turned on were still logging.
  • Fixed an issue where raw-tracks was not closing recording after maxDuration.
  • Fixed cam and mic button states when the video or audio processor fails to start during an unmute.
  • Fixed an issue where Prebuilt would get an undefined error when useLegacyVideoProcessor was not defined.
  • Resolved instances leading to "Cannot read properties of null (reading 'typeName').”
  • Updated localAudio()/localVideo() to use supported track states.

Other improvements

  • Added more logs to the set of logs that are omitted when terse logging is on.
  • Reducing daily-js bundle size.
  • SFU is now the default call mode for all call. You can change this behavior by setting sfu_switchover on your domain or room.

0.57.4

02 Feb 22:15
Compare
Choose a tag to compare

Bugfixes

  • Fixed a bug breaking programmatically-triggered background blur and background images in iframe mode.