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

# May 1, 2024

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

## Overview

In the month of April, we've been busy adding Daily Adaptive Bitrate support to all of our client libraries. [Check out our announcement post](https://www.daily.co/blog/introducing-daily-adaptive-bitrate/) to learn more.

Related, Daily Adaptive Bitrate is now the default configuration for 1:1 calls on daily-js.

In addition, we've shipped a number of smaller features to all platforms and have continue to improve the reliability and performance of our products and platform. Check out the release notes below for more details.

## daily-js

### 0.63.0

#### Count faces found within a camera stream

We added the ability to detect the number of faces that appear in a camera stream. To use this, set [`"face-detection"`](/reference/daily-js/instance-methods/update-input-settings#video-processor) as a the video processor type when calling `updateInputSettings()`. When a face is detected a [`face-counts-updated`](/reference/daily-js/events/media-events#face-counts-updated) event is emitted.

#### Release notes

This release contained a number of bug fixes and package upgrades to resolve security issues. For more information, check out the [release notes](https://github.com/daily-co/daily-js/releases/tag/daily-js-2024-04-25-0.63.0).

### 0.62.0

#### Highlights

* Daily Adaptive Bitrate is now available as a beta for multi-party calls. [Contact us](https://www.daily.co/company/contact/support/) to get started.
* `daily-js` has updated the browser versions it supports. Check out this [page](/reference/daily-js/static-methods/supported-browser) to learn about the latest update. Also, this update means that `daily-js` no longer supports [Plan B browsers](https://webrtc.github.io/webrtc-org/web-apis/chrome/unified-plan/).

#### Release notes

For more information, check out the [release notes](https://github.com/daily-co/daily-js/releases/tag/daily-js-2024-04-04-0.62.0).

### 0.61.1

#### Release notes

This release contains a number of small features, bug fixes, and package upgrades. For more information, check out the [release notes](https://github.com/daily-co/daily-js/releases/tag/daily-js-2024-03-22-0.61.1).

## react-native-daily-js

### 0.61.0

#### Daily Adaptive Bitrate now available

Daily Adaptive Bitrate is now available for 1:1 calls on `react-native-daily-js`. [Read more about Daily Adaptive Btirate](https://www.daily.co/blog/introducing-daily-adaptive-bitrate/).

#### 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-2024-04-25-0.61.0).

### 0.60.0

#### Get local and remove audio levels

We've added new audio level APIs, which provide to you the local client's and remote participants' audio levels. These APIs efficiently retrieve audio levels, so that you can add audio level animation to your UI.

To get started, check out these methods:

* [`startLocalAudioLevelObserver()`](/reference/react-native/instance-methods/start-local-audio-level-observer)
* [`stopLocalAudioLevelObserver()`](/reference/react-native/instance-methods/stop-local-audio-level-observer)
* [`getLocalAudioLevel()`](/reference/react-native/instance-methods/get-local-audio-level)
* [`startRemoteParticipantsAudioLevelObserver()`](/reference/react-native/instance-methods/start-remote-participants-audio-level-observer)
* [`stopRemoteParticipantsAudioLevelObserver()`](/reference/react-native/instance-methods/stop-remote-participants-audio-level-observer)
* [`getRemoteParticipantsAudioLevel()`](/reference/react-native/instance-methods/get-remote-participants-audio-level)

and events:

* [`local-audio-level`](/reference/react-native/events/media-events#local-audio-level)
* [`remote-participants-audio-level`](/reference/react-native/events/media-events#remote-participants-audio-level)

#### 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-2024-04-04-0.60.0).

## daily-android

### 0.19.0

#### Added a local audio level observer

`daily-android` now adds support to retrieve the local audio level from the local client. With the existing remote audio level observer, you can now retrieve audio from all participants in a call, so that your app can display an animation driven by client audio levels.

To get started check out:

* [`startLocalAudioLevelObserver()`](https://reference-android.daily.co/daily-android/co.daily/-call-client/start-local-audio-level-observer.html?query=fun%20startLocalAudioLevelObserver\(intervalMs:%20Long?%20=%20null,%20listener:%20RequestListener?%20=%20null\))
* [`stopLocalAudioLevelObserver()`](https://reference-android.daily.co/daily-android/co.daily/-call-client/stop-local-audio-level-observer.html?query=fun%20stopLocalAudioLevelObserver\(listener:%20RequestListener?%20=%20null\))

#### Release notes

For more information, check out the [release notes](https://github.com/daily-co/daily-client-android/blob/main/CHANGELOG.md#0190---2024-04-16).

### 0.18.0

#### Daily Adaptive Bitrate now available

Daily Adaptive Bitrate is now available for 1:1 calls on `daily-android`. [Read more about Daily Adaptive Btirate](https://www.daily.co/blog/introducing-daily-adaptive-bitrate/).

Get started by setting `allowAdaptiveLayers` when calling `updatePublishing`. For example:

```
callClient?.updatePublishing(
    PublishingSettingsUpdate(
        camera = CameraPublishingSettingsUpdate(
            sendSettings = VideoSendSettingsUpdate(
                allowAdaptiveLayers = Enable()
            )
        )
    )
)
```

#### Release notes

For more information, check out the [release notes](https://github.com/daily-co/daily-client-android/blob/main/CHANGELOG.md#0180---2024-03-28).

## daily-ios

### 0.19.0

#### Added a local audio level observer

`daily-ios` now adds support to retrieve the local audio level from the local client. With the existing remote audio level observer, you can now retrieve audio from all participants in a call, so that your app can display an animation driven by client audio levels.

To get started check out:

* [`startLocalAudioLevelObserver()`](https://reference-ios.daily.co/documentation/daily/callclient/startlocalaudiolevelobserver\(intervalms:\))
* [`stopLocalAudioLevelObserver()`](https://reference-ios.daily.co/documentation/daily/callclient/stoplocalaudiolevelobserver\(interval:\))

#### Release notes

For more information, check out the [release notes](https://github.com/daily-co/daily-client-ios/blob/main/CHANGELOG.md#0190---2024-04-16).

### 0.18.0

#### Daily Adaptive Bitrate now available

Daily Adaptive Bitrate is now available for 1:1 calls on `daily-ios`. [Read more about Daily Adaptive Btirate](https://www.daily.co/blog/introducing-daily-adaptive-bitrate/).

Get started by setting `allowAdaptiveLayers` when calling `updatePublishing`. For example:

```
self.callClient.updatePublishing(.set(
    camera: .set(
        isPublishing: .set(self.cameraIsPublishing),
        sendSettings: .set(
            allowAdaptiveLayers: .set(true)
        )
    )
), completion: nil)
```

#### Release notes

For more information, check out the [release notes](https://github.com/daily-co/daily-client-ios/blob/main/CHANGELOG.md#0180---2024-03-28).

## daily-python

### 0.7.2 through 0.7.4

#### Release notes

These releases contain a number of bugfixes. For more information, check out the [release notes](https://github.com/daily-co/daily-python/blob/main/CHANGELOG.md#070---2024-02-29).

## daily-react

### 0.18.0

* Adds `onTranscriptionMessage` to [`useTranscription()`](/reference/daily-react/use-transcription) and deprecates `onTranscriptionAppData`

This adds a behavioral change in how transcription messages are handled, when interim results were configured. In order to distinguish interim from final results, transcription needs to be configured with `includeRawResponse: true`. See [`startTranscription()`](/reference/daily-js/instance-methods/start-transcription) for details.

## Daily Prebuilt

### Improvements and fixes

* Issued a fix for state mismatch issues in breakout rooms between different hosts and clients
* We've added support for custom avatar images, which can be added by including an `avatar` property when setting `userData`:

```
Daily.createFrame(parentEl, {
  // ...
  userData: {
    avatar: 'https://example.com/avatar.jpg',
  }
);
```

## Media Services

* (Auto-recording)\[/reference/rest-api/meeting-tokens/create-meeting-token#body-properties-start-cloud-recording] parameter can now start raw tracks.
* The value of `room-peers` is now sent to the VCS server.
* VCS now supports zipped assets in the session asset loader.

### Dial-in & Dial-out

* If a dial-out number is purchased for the domain, allow user to use that number for dial-in as well.
* SIP now supports multiple instances for dial-in.
* CallerID now supports unverified numbers.

## Webhooks

* Added support for two new webhooks: [`batch-processor.job-finished`](/reference/rest-api/webhooks/events/batch-processor-job-finished) and [`batch-processor.error`](/reference/rest-api/webhooks/events/batch-processor-error).

## Additional

* The oldest supported version of `daily-js` is now 0.53.0.
* Increased the rate limit of internal methods to support higher frequency of the `testWebhookConnectivity()` method.
