github daily-co/daily-js daily-js-2026-01-28-0.86.0
0.86.0

7 hours ago

Features

  • Introduced a new option to startRecording() called dataOutputs to enable recording of events that occur during the meeting in addition to the actual recording media. This configuration option takes an array of auxiliary output types. For each type specified, an extra file will be provided with the recording download link (accessible via the REST API). When using a custom S3 bucket, the data output files are written to the same bucket as the AV media recording. These data outputs are timecode-aligned with the recording media, so they can be used in post-processing workflows.

    Currently three types are supported: event-json, transcript-webvtt, chat-webvtt

    • event-json — produces a JSON that describes all relevant events during the recording session, e.g. when a recording media file started, track updates, etc.
    • transcript-webvtt — produces a WebVTT file with all transcription events. The timecode of this file is aligned with the recording media (the mp4 or m4a file).
      • A live transcription needs to be active for the meeting to get these events.
    • chat-webvtt — produces a WebVTT file with all chat events. The timecode of this file is aligned with the recording media (the mp4 or m4a file).

    The user can pass any combination of options to to capture all events, live transcription, and/or chat messages in separate files during a cloud recording.

    Note that these outputs are capturing events, not starting services. If there's no active transcription in the room, there won't be any transcription written to the file. (In other words, passing dataOutputs: ['transcript-webvtt'] doesn't start the transcription, it just configures the recording session to also capture transcription events.)

  • Added support for new cloud-audio-only recording type.

    • This produces m4a files with the audio/mp4 MIME content type on S3.
    • Can be configured together with other existing recording types.
    • Doesn’t share an instance id with RTMP/HLS streaming like regular cloud recording does (because streaming plain audio isn’t typically useful, as many streaming platforms require a video track even if it’s black).

Bugfixes

  • Fixed issue where sessions will reconnect and try, often successfully, to resume after long periods of idleness when the laptop lid is closed. Now, after 5 minutes of inactivity is detected (on lid open), the session will automatically disconnect.
  • Fixed uncaught errors surrounding join() and startCamera() when no room url is provided, or the url is invalid. These will now throw and error and join() will leave the meetingState() in "left-meeting" to allow trying again.

Other improvements

  • Improved the cpu-load-change event by requiring multiple consecutive high CPU readings before reporting a high load and by refining the global decode time calculation to exclude videos with empty frame metrics.
  • Added compute pressure state to the CpuLoadStats API (when supported by the browser).
  • Prebuilt Only: Added support for new enable_cpu_warning_notification domain and room property, hiding CPU warnings when disabled (The flag is enabled by default). Check out docs here.
  • Added max_app_message_size to DailyRoomInfo types

Don't miss a new daily-js release

NewReleases is sending notifications on new releases.