> ## Documentation Index
> Fetch the complete documentation index at: https://docs.daily.co/llms.txt
> Use this file to discover all available pages before exploring further.

# December 22, 2023

> The latest updates to Daily's real-time audio and video APIs.

## Overview

We have some big news to share in this release:

* Daily now offers real-time transcriptions, powered by Deepgram, native to all it's SDKs. Get started by adding a credit card to your account to transcribe your meetings.
* Video processing in `daily-js` is now generally available! Add background blur and effects to your calls with better CPU and visual performance.
* Select your preferred codec—H.264 or VP8—when publishing video track subscriptions in `daily-ios` and `daily-android`.
* Get audio levels from remote participants with a new observer method, available in `daily-ios` and `daily-android`.

Happy holidays!

## daily-js

### 0.56.0

#### Real-time transcription updates

Daily's real-time transcription features, powered by Deepgram, are now native to all SDKs. Before, real-time transcription required a Deepgram account and API key. Now you can add a credit card to your Daily account to start transcribing your meetings.

Real-time transcriptions can be started in three ways:

1. Method: Use the [`startTranscription()`](/reference/daily-js/instance-methods/start-transcription) method in the `daily-js` API to start transcribing a meeting. An owner can call this method after joining the meeting session.
2. REST endpoint: The REST API endpoint for starting a meeting transcription is the [transcription REST endpoint](/reference/rest-api/rooms/transcription/start). Use a POST request to start transcribing a meeting.
3. Meeting token: Set the [`auto_start_transcription`](/reference/rest-api/meeting-tokens/create-meeting-token#body-properties-auto-start-transcription) meeting token property for the meeting owner to automatically transcribe a meeting upon joining. Configure the transcription settings for that room using the [`auto_transcription_settings`](/reference/rest-api/rooms/update-room#body-properties-auto-transcription-settings).

There's a new meeting event called [`transcription-message`](/reference/daily-js/events/transcription-events#transcription-message) which you can listen to to receive transcription messages. Before, you had to listen to the `app-message` and parse the message. Transcription messages are still available via `app-message` to preserve backwards compatibility.

New transcription options have been added to provide more options for your transcription messages: `punctuate`, `endpointing`, and `extra`. See the [`startTranscription()` docs](/reference/daily-js/instance-methods/start-transcription) for more information on the properties.

⚠️ This version has two breaking changes:

1. We removed the `detect_language` transcription option because it does not support real-time transcriptions. Remove `detect_language` from your calls to `startTranscription()` to start using this version.
2. We removed the default values for transcription options provided by `daily-js`. These options interfered with configuring certain Deepgram options like `model` and `tier`. Instead, Deepgram default options are used. This change may alter your exact transcription settings. Please double-check transcription behavior when migrating to this version of daily-js.

Learn more from our [transcription guide](/docs/guides/features/transcription).

#### Background effects are GA

`daily-js` received a significant upgrade to the background blur and replacement system, resulting in much improved visual and CPU performance. You don't need to make any changes to start using this improvement and we haven't made any changes to the [`updateInputSettings()`](/reference/daily-js/instance-methods/update-input-settings) API. This feature is now generally available!

#### Release notes

For more information, check out the [release notes](https://github.com/daily-co/daily-js/releases/tag/daily-js-2023-12-15-0.56.0).

## react-native-daily-js

### 0.54.0

#### Real-time transcription updates

See the [`daily-js` release notes](/changelog/054-2023-12-22#real-time-transcription-updates) for details.

#### Release notes

For more information, check out the [release notes](https://github.com/daily-co/react-native-daily-js/releases/tag/react-native-daily-js-2023-12-15-0.54.0).

## daily-ios

### 0.14.0

#### Select a preferred codec

`daily-ios` now allows you to select a `preferredCodec` when publishing your video stream. `daily-ios` supports H.264 and VP8 as selectable codecs. Get started by checking out the [VideoSendSettingsUpdate docs](https://reference-ios.daily.co/documentation/daily/videosendsettingsupdate).

Reminder: `daily-ios` also has the ability to publish HEVC by specifying the [`adaptiveHEVC` encoding mode](https://reference-ios.daily.co/documentation/daily/videosendsettingsupdate/encodings).

#### Remote participant audio level observer

You can now access microphone audio levels from remote participants through `daily-ios`. With this audio data, you can add UI elements to your application to show when users are speaking and at what volume level.

Get started by checking out the docs:

* Methods:
  * [`startRemoteParticipantsAudioLevelObserver()`](https://reference-ios.daily.co/documentation/daily/callclient/startremoteparticipantsaudiolevelobserver\(intervalms:completion:\))
  * [`stopRemoteParticipantsAudioLevelObserver`](https://reference-ios.daily.co/documentation/daily/callclient/stopremoteparticipantsaudiolevelobserver\(completion:\))
* CallClientDelegate: [`remoteParticipantsAudioLevel`](https://reference-ios.daily.co/documentation/daily/callclientdelegate/callclient\(_:remoteparticipantsaudiolevel:\)-2ms3y)

#### Release notes

For more information, check out the [release notes](https://github.com/daily-co/daily-client-ios/blob/main/CHANGELOG.md#0140---2023-12-22).

## daily-android

### 0.14.0

#### Select a preferred codec

`daily-android` now allows you to select a `preferredCodec` when publishing your video stream. `daily-android` supports H.264 and VP8 as selectable codecs. Get started by checking out the [VideoSendSettings docs](https://reference-android.daily.co/daily-android/co.daily.settings/-video-send-settings/index.html).

#### Remote participant audio level observer

You can now access microphone audio levels from remote participants through `daily-android`. With this audio data, you can add UI elements to your application to show when users are speaking and at what volume level.

Get started by checking out the docs:

* Functions:
  * [`startRemoteParticipantsAudioLevelObserver()`](https://reference-android.daily.co/daily-android/co.daily/-call-client/start-remote-participants-audio-level-observer.html)
  * [`stopRemoteParticipantsAudioLevelObserver`](https://reference-android.daily.co/daily-android/co.daily/-call-client/stop-remote-participants-audio-level-observer.html)
* CallClientListener: [`remoteParticipantsAudioLevel`](https://reference-android.daily.co/daily-android/co.daily/-call-client/stop-remote-participants-audio-level-observer.html)

#### Release notes

For more information, check out the [release notes](https://github.com/daily-co/daily-client-android/blob/main/CHANGELOG.md#0140---2023-12-22).

## Daily Prebuilt

#### Features and improvements

* Added an overlay to the local user's screen share view when sharing a screen. This prevents the user from seeing the "hall of mirrors" effect when screen sharing. Yet, it still allows them to receive feedback about the content they're sharing.
* In Chrome version 120, we updated the blocked screen recovery flow. We added new icons to align with Chrome's UI refresh.
* We added support for customers to specify custom [sendSettings](/reference/daily-js/types/daily-call-options#param-send-settings) in their Daily Prebuilt call.

#### Bugfixes

* Fixed an issue where text in the chat notification would overflow the notification box.
* Fixed an issue where emojis would appear oversized in the participant bar tiles in Speaker View.
* Fixed an issue where the Chat panel could appear off-screen in Grid View.

## Media Services

* VCS: Audio-only participants, when identified as active speaker, are now rendered correctly in VCS baseline composition dominant mode.

## REST APIs

* Added a new meeting token property called [`auto_start_transcription`](/reference/rest-api/meeting-tokens/create-meeting-token#body-properties-auto-start-transcription). When this property is set for an owner, meeting transcription will begin when a user joins a meeting.
* Added a new room property called [`auto_transcription_settings`](/reference/rest-api/rooms/update-room#body-properties-auto-transcription-settings). When this property is set, when transcription is started for a room, these transcription settings will be applied.

## Dashboard

* The sign-up, login, and password reset fields now all offer the ability to show and hide your password.

## Additional

* The oldest supported version of `daily-js` is now 0.47.0.
