github daily-co/daily-js daily-js-2023-06-08-0.46.0
0.46.0

latest releases: daily-js-2024-09-12-0.71.2, daily-js-2024-08-07-0.70.0, daily-js-2024-07-25-0.69.0...
15 months ago

Features

Bugfixes

  • Fixed handling of a case where a live-streaming-error is fired before the live stream starts.
  • Fixed active speaker detection in p2p calls.
  • As described in the README, with this release we've added a config flag to allow developers to opt into v2CamAndMic behaviour. Changes in this release which only apply to this new code path are all gathered below:
    • Makes it so that custom cam track constraints that were provided via setBandwidth() survive operations that require a call to getUserMedia for a new camera track.
    • Handles deviceID values set to false, such that the deviceID is stored correctly, the corresponding input is muted, and can not be unmuted unless the id is updated to something valid.
    • Now correctly removes the track when deviceID changes to false.
    • Fixed issues where noise cancelling could be delayed or could have audio glitches on a newly unmuted audio track.
    • Fixed an issue where a processed track (e.g. background blur enabled) would not end properly when its source track ended, which could cause a frozen black frame.
    • Added support for custom cam and mic source tracks in v2CamAndMic.
    • Added v2CamAndMic boolean flag (defaulting to false in 0.46.0) to dailyConfig to allow users to trial opting into this code path.

Other improvements

  • Added support for reading audio processor settings that were previously set on a given domain, for example, to automatically re-enable noise cancellation if it was previously selected.
  • Improved logic for selecting alternate wss uris after having connection issues, adding capacity to store and immediately favor successful uris in future calls.
  • Marked legacy participant track and track state fields as deprecated.
    • Instead of the field on the left, use the field on the right:
      • audioTrack -> tracks.audio.persistentTrack
      • videoTrack -> tracks.video.persistentTrack
      • screenAudioTrack -> tracks.screenAudio.persistentTrack
      • screenVideoTrack -> tracks.screenVideo.persistentTrack
      • audio -> participant.tracks.audio.state
      • video -> participant.tracks.video.state
      • screen -> participant.tracks.screenVideo.state
    • So for example, instead of participant.audioTrack, use participant.tracks.audio.persistentTrack
    • See the participant tracks properties documentation for more information.

Don't miss a new daily-js release

NewReleases is sending notifications on new releases.