github daily-co/daily-js release-daily-js-0.95.0
0.95.0

4 hours ago

daily-js 0.95.0

Features

  • Added the ability to choose what a SIP video participant sees with videoSettings.layout (active speaker, grid, a single participant, or portrait with pinned main and inset tiles) on dial-out, dial-in rooms and SIP trunks; participants can be referenced by user_id. See docs
  • Implemented thediscardTrack for setLocalVideo(). This is the equivalent to setLocalAudio()'s forceDiscardTrack option, allowing clients to override the setting on a per-call basis. See docs
  • [Prebuilt only]: Introduced new events for when a breakout session starts/ends. See docs

Deprecation Notice

  • The call machine has been emitting the dial-in endpoint under the misspelled key sipEndPoint on dialin-ready, dialin-connected, dialin-stopped, dialin-warning and inside details on dialin-error, while index.d.ts and the docs say sipEndpoint. These events now emit sipEndpoint, the documented spelling, and keep sipEndPoint as a deprecated alias so apps that adapted to the misspelling keep working. The alias will be removed in a later release; see below.

Bugfixes

  • recording and live-streaming participants filters that list 'owners' after another entry now include both selections; 'owners' used to replace what the earlier entries selected
  • Fixed an issue where call object bundle loading could hang indefinitely if the download stalled after the response headers arrived. This issue only occurred on React Native and on web when avoidEval is not set.
  • Fixed a rare timing issue where if the websocket closed before the sfu connection was created, the sfu connection would fail and error our the call.

Other improvements

  • The dialout-stopped event (and the dialout.stopped webhook) now report sipStatusCode / sipReasonPhrase (sip_status_code / sip_reason_phrase) when a SignalWire dial-out ends before the callee answers, e.g. 486 Busy Here or 603 Decline; provider "daily" keeps reporting them on dialout-error. See docs
  • startDialOut(): provider: 'signalwire' is accepted with phoneNumber; 'daily' with a phone number throws. The pre-beta console warning for provider: 'daily' is gone.
  • startDialIn() resolves with { session: { sessionId, sipEndpoint } } and rejects instead of resolving without a session. Calling it again for an endpoint that is already listening returns that session.
  • displayName may be exactly 200 characters on startDialOut() and startDialIn().
  • Telephony events: provider is now typed DailySipServiceProvider; dialin-error sessionId is now optional and absent when type is 'start-failed'.
  • Dial-in events (dialin-ready, dialin-connected, dialin-stopped, dialin-warning, and details on dialin-error) now emit sipEndpoint, the documented spelling. The misspelled sipEndPoint is still sent as a deprecated alias and will be removed in a later release.
  • dialout-answered always carries sipCallId on SignalWire dial-outs.

Don't miss a new daily-js release

NewReleases is sending notifications on new releases.