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

# March 30, 2022

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

<img src="https://mintcdn.com/daily-co/k5NXwOZS3v6Jul7S/assets/changelog/changelog-23-pip.jpg?fit=max&auto=format&n=k5NXwOZS3v6Jul7S&q=85&s=ca45a8ce6d53c4912fdb7d345ee826dc" alt="Picture in Picture UI for Daily Prebuilt" width="1480" height="840" data-path="assets/changelog/changelog-23-pip.jpg" />

This release includes a highly requested new feature and lots of API improvements. Namely, we're introducing the beta version of Daily Prebuilt's newest feature: Picture in Picture! Picture in Picture (or PiP) works in any Daily Prebuilt call with the `enable_pip_ui` configuration turned on either as a domain level property or for specific Daily rooms. It can be used on both desktop and mobile devices in Daily Prebuilt. If you tend to keep lots of apps open or have a hard time focusing during video calls, you will love this feature! 💪

In addition to PiP, we're releasing a bunch of useful API improvements to existing Daily methods and configurations. Our goal is to always make our APIs more flexible so please be sure to let us know if there are specific updates you would be interested in.

## daily-js 0.24.0

* ✨ Beta ✨ New `enable_pip_ui` [room](/reference/rest-api/rooms/get-room#response-config-enable-pip-ui) and [domain](/reference/rest-api/domain/get-domain-config#response-config-enable-pip-ui) configuration property to enable Daily Prebuilt's Picture in Picture controls. When PiP is enabled, the video tile will show the active speaker or a grid view, depending on your current Daily Prebuilt settings.

```bash theme={null}
curl -H "Content-Type: application/json" \
     -H "Authorization: Bearer $DAILY_API_KEY" \
     -XPOST -d \
     '{"properties":{"enable_pip_ui":true}}' \
     https://api.daily.co/v1/
```

* 🪞 Our `enable_prejoin_ui` property is now available as a [meeting token configuration](/reference/rest-api/meeting-tokens/create-meeting-token#body-properties-enable-prejoin-ui), in addition to its existing [room](/reference/rest-api/rooms/get-room#response-config-enable-prejoin-ui) and [domain](/reference/rest-api/domain/get-domain-config#response-config-enable-prejoin-ui) configuration properties. This new token property will override the room and domain values for the same property.

* 🌊 Live streaming improvement: Automatically retry RTMP connections if there is an error *unless* the URLs have all failed.

* 📦 Advanced: Override default video constraints that Daily uses when it calls `getUserMedia()` by providing a new [DailyIframe property](/reference/daily-js/types/daily-call-options#param-user-media-video-constraints): `userMediaVideoConstraints`

```javascript theme={null}
const callObject = DailyIframe.createCallObject({
  url,
  dailyConfig: {
    userMediaVideoConstraints: { frameRate: 10 },
  },
});
```

`userMediaVideoConstraints` can be a [MediaTrackConstraints](https://developer.mozilla.org/en-US/docs/Web/API/MediaTrackConstraints) object or `true` when used with `react-native-daily-js`.

* ▶️ [`persistentTrack`](/reference/daily-js/types/daily-track-state) is now officially in Daily's TypeScript definitions! 🎉 Using this track in your app can help avoid browser bugs related to auto-playing media tracks.

* 🔀 [`startCamera()`](/reference/daily-js/instance-methods/start-camera) can now be used without a `url` parameter, in case you want to change the Daily room in between calling `startCamera()` and pre-authenticating or joining the room.

## react-native-daily-js 0.22.0

* Advanced: Override default video constraints that Daily uses when it calls `getUserMedia()` by providing a new [DailyIframe property](): `userMediaVideoConstraints`
  * See the `daily-js` bullet above for `userMediaVideoConstraints` usage details.

## Daily Prebuilt

<img src="https://mintcdn.com/daily-co/k5NXwOZS3v6Jul7S/assets/changelog/changelog-23-pip_bu.jpg?fit=max&auto=format&n=k5NXwOZS3v6Jul7S&q=85&s=f271ada8e81161f710fecba89ec15256" alt="Picture in Picture UI for Daily Prebuilt" width="3360" height="2048" data-path="assets/changelog/changelog-23-pip_bu.jpg" />

* Daily Prebuilt's new Picture in Picture feature is now in beta! Keep track of the current speaker (or grid) in Daily calls by having their video tile open outside of the browser window.
* 💅 Configure the prejoin UI settings for a participant using a meeting token. This configuration can turn the prejoin UI on or off for a specific participant using a token without affecting the room or domain's default setting for everyone else.
* The show/hide self view UI logic got an upgrade to accommodate more Daily Prebuilt configurations.
* 🐛 Bugfix: With new browser updates come new bugs. We fixed one related to auto-playing audio in a call for Chromium and Firefox browsers.

## REST API

* The [`/logs`](/reference/rest-api/logs/list-logs) endpoint now has additional entries in the `metrics` field:
  * `inbound-cam-audio` has four new entries:
    * [`concealmentEvents`](https://www.w3.org/TR/webrtc-stats/#dom-rtcinboundrtpstreamstats-concealmentevents)
    * [`totalAudioEnergy`](https://www.w3.org/TR/webrtc-stats/#dom-rtcinboundrtpstreamstats-totalaudioenergy)
    * [`insertedSamplesForDecelerationPerSec`](https://www.w3.org/TR/webrtc-stats/#dom-rtcinboundrtpstreamstats-insertedsamplesfordeceleration)
    * [`removedSamplesForAccelerationPerSec`](https://www.w3.org/TR/webrtc-stats/#dom-rtcinboundrtpstreamstats-removedsamplesforacceleration)
  * `inbound-cam-video` has five new entries:
    * [`keyFramesDecoded`](https://www.w3.org/TR/webrtc-stats/#dom-rtcinboundrtpstreamstats-keyframesdecoded)
    * [`framesDropped`](https://www.w3.org/TR/webrtc-stats/#dom-rtcreceivedrtpstreamstats-framesdropped)
    * [`jitter`](https://www.w3.org/TR/webrtc-stats/#dom-rtcreceivedrtpstreamstats-jitter)
    * [`frameHeight`](https://www.w3.org/TR/webrtc-stats/#dom-rtcinboundrtpstreamstats-frameheight)
    * [`frameWidth`](https://www.w3.org/TR/webrtc-stats/#dom-rtcinboundrtpstreamstats-framewidth)

## Additional

* Daily has a new SFU cluster in `eu-central-1`, which helps make server responses even faster regardless of where you're located.
* 🔒 Some extra security improvements.
* 🐛 Bugfix: Device selection issue fixed when using Daily Prebuilt inside an Android WebView.
* 🐛 Bugfix: Prevent browsers from being wrongly detected as ["Plan B"](https://webrtc.org/getting-started/unified-plan-transition-guide).
