Skip to content

Releases: daily-co/react-native-daily-js

0.60.0

04 Apr 20:36
Compare
Choose a tag to compare

Features

  • Added support for the Audio Level APIs. (Docs forthcoming. See daily-js docs for now...)
    New methods include:

    • startLocalAudioLevelObserver()
    • stopLocalAudioLevelObserver()
    • getLocalAudioLevel()
    • startRemoteParticipantsAudioLevelObserver()
    • stopRemoteParticipantsAudioLevelObserver()
    • getRemoteParticipantsAudioLevel()

    New events include:

    • local-audio-level
    • remote-participants-audio-level

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.
  • 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.59.0

22 Mar 15:19
Compare
Choose a tag to compare

Features

  • Added support for targeting android API version 34.
  • ⚠️ This version now requires "@daily-co/react-native-webrtc": "^118.0.3-daily.1".

Bugfixes

  • Fixed a crash in updateInputSettings() when called after load() but before an initializing call to startCamera()preAuth(), or join().

Other improvements

  • 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.

0.58.0

06 Mar 21:11
Compare
Choose a tag to compare

Features

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.57.0

22 Feb 22:48
Compare
Choose a tag to compare

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.56.0

09 Feb 18:52
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.

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 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.
  • 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.

0.55.2

24 Jan 21:42
Compare
Choose a tag to compare

Patch Fix

  • Updated daily-js dependency to pull in daily-js patch release (0.57.2)

Features

  • Introduced a new local-screen-share-canceled event to indicate when a user cancels out of the browser’s screen sharing dialog (only works on Chrome)
  • Added availableOutgoingBitrate to getNetworkStats() and metrics
  • ⚠️ Deprecated testConnectionQuality(), renaming it totestPeerToPeerCallQuality() in preparation for a new and preferred pre-call test function, testCallQuality(). (testCallQuality() is in pre-beta and not ready for production use.)

Bugfixes

  • Fixed logging of duplicate call object detection to ensure it reaches the logging endpoint.
  • updateWaitingParticipants() failures will no longer error out the meeting
  • Corrected TypeScript definition for layout.participants in streaming / recording
  • Fixed breakage in ability to run apps from file: URLs
  • Corrected TypeScript definition for events to include local-audio-level and remote-participants-audio-level events.

Other improvements

  • Fixed npm packaging to correctly show the open source license (bsd-2)
  • Updated “Something is amiss” fatal errors to be more informative
  • Updated generic “Error during call” fatal errors to provide more informative messages about what actually went wrong
  • Added estimated bandwidth capacity, bandwidth measurement, and averages along with other underlying improvements to the testPeerToPeerCallQuality() pre-call function.
  • Added support for providing custom background images to the video processor via an ArrayBuffer

0.54.0

15 Dec 16:35
Compare
Choose a tag to compare

Features

  • Added support for the new auto_start_transcription meeting token setting.
  • Added a transcription-message event, simplifying receiving transcriptions. Previously, the only way would be to listen for app-message events from the sender 'transcription' (this approach still works).

Other improvements

  • Added logging to allow better tracking of various join time actions.
  • ⚠️ Breaking change: remove support for the detect_language transcription option, as it's not supported for real-time transcriptions. This change will require you to remove detect_language to use this version of daily-js.
  • ⚠️ Breaking change: remove daily-js-provided transcription settings defaults, instead relying on the transcription service’s defaults. This allows the users to set only the settings they need without interference from our default settings. This is useful, for example, in the case of the nova-2 model, where a user should only need to specify the model without having to specify anything else. Since this change may alter your exact transcription settings, please double-check transcription behavior when migrating to this version of daily-js.
  • Add support for punctuate and endpointing transcription parameters. Also adding support for an extra object which can be used to specify additional transcription properties.
  • Silence annoying console errors when you leave() or destroy() your call object before you join().

0.53.1

01 Dec 20:41
Compare
Choose a tag to compare

Bugfixes

  • Fixed issue with 0.53.0 npm package missing artifacts, including the typeScript definition.

0.53.0

30 Nov 18:46
Compare
Choose a tag to compare

Features

  • Return transcriptId in the transcription-started event.
    • This transcriptId can be used to query transcription via REST APIs.
  • Integrated Sentry for specific tracking of connection issues.
  • Introduced the new method meetingSessionSummary() as a replacement for getMeetingSession() and event meeting-session-summary-updated as a replacement for meeting-session-updated.
    • These updates allow us to align the naming with other functionality, like meetingSessionState() as well as update the signatures to be more developer friendly.
    • Session summary info is now cached so that querying it is not an asynchronous operation and can be called at any time.
      • If called prior to ever joining a call, it will return an empty object.
      • If called after leaving but before any new call state updates (like preAuth'ing or joining a new call), it will return the previous session's summary.
  • Deprecated getMeetingSession() in favor of meetingSessionSummary().
  • Deprecated meeting-session-updated in favor of meeting-session-summary-updated.

Bugfixes

  • Resolved an issue in React Native versions below 0.70.6 that was causing audio reception to fail.
  • Trigger the transcription-error event if a meeting is moved while transcribing.
  • Included the missing production environment in Sentry for tracking issues.

Other improvements

  • The recent updates to the uuid dependency requires the installation of the react-native-get-random-values@^1.9.0 module in React Native applications.
  • Updated the name from DailyIframe to Daily.
  • Improved the logic for triggering the cpu-load-change event based on scheduleDuration.
    • It now requires multiple schedule duration misses before triggering the event.
  • Implemented optimizations to remove redundant information from metrics.
  • Removed functionalities that had been deprecated for over a year:
    • Removed deprecated setInputDevices(); use replacement setInputDevicesAsync().
    • Removed deprecated setOutputDevice(); use replacement setOutputDeviceAsync().
  • Add missing error type: 'ejected' to the meeting error thrown when a room is deleted out from under a user.
  • Updated the redact transcription to support Array<boolean>. This allows [true] as a valid value.

0.52.0

08 Nov 20:32
Compare
Choose a tag to compare

Features

Bugfixes

  • Fixed issue with automatic device switching (on plugging in a new headset, say) a custom track was previously being used
  • Fixed various issues related to calling things like sendAppMessage() prior to joining a call by either performing no-ops or throwing an error to indicate the call was done too early rather than getting cryptic console errors like null is not an object
  • Fix some meeting move log messages.
  • Fixed return type of getCallInstance()

Other improvements

  • Changed logging message when requested track differed from preferred track on the SFU. Now we log both the preferred and the requested in the same log line.
  • Upgraded dependencies to resolve security threats