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

# January 8, 2021

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

# January 26, 2021

<img src="https://mintcdn.com/daily-co/k5NXwOZS3v6Jul7S/assets/changelog/changelog-09.gif?s=5facb9f988e39462d7969a20440446d6" alt="A sample webinar app showing local video and participants being hidden" width="800" height="431" data-path="assets/changelog/changelog-09.gif" />

## daily-js 0.9.997

* 🛤  The participant list returned by `participants()` (and all events that return a list of participants), now includes a `tracks` property which gives you a more granular representation of the state of each track. See [`participants()`](/reference/daily-js/instance-methods/participants) docs for more. (Also available in `react-native-daily-js`).
* 👩  In the prebuilt UI you can now control whether your local video is displayed in the corner, with a setter ([`setShowLocalVideo()`](/reference/daily-js/instance-methods/set-show-local-video)), a getter ([`showLocalVideo()`](/reference/daily-js/instance-methods/show-local-video)), and a property to pass into factory methods or at meeting join time (`showLocalVideo`).
* 👩‍👩‍👧‍👧  Additionally, in the prebuilt UI you can now control whether the participants bar (the row of videos during a screenshare) is displayed, with a setter ([`setShowParticipantsBar()`](/reference/daily-js/instance-methods/set-show-participants-bar)), a getter ([`showParticipantsBar()`](/reference/daily-js/instance-methods/show-participants-bar)), and a property to pass into factory methods or at meeting join time (`showParticipantsBar`).
* 📛  Added [`setUserName()`](/reference/daily-js/instance-methods/set-user-name) for programmatically setting the user name that other participants see either visually in the prebuilt UI or through the `user_name` property in the `participants` object corresponding to you.
* The new [`setInputDevicesAsync()`](/reference/daily-js/instance-methods/set-input-devices-async) method returns a Promise.

## Live streaming

* 📺  Our RTMP streaming backend is now more stable and compatible with more services.
* 🎞  The keyframe interval while live streaming has been dropped from 3 seconds to 2 seconds, in line with ingest stream recommendations on major streaming services.

## Bugfixes and other improvements

* 🐛  Fixed a bug where when leaving an iframe-based meeting by clicking the leave button in the iframe, stale participants from that meeting would "linger" in `participants()`, necessitating the creation of a new `DailyIframe` for a new meeting.
* 🛤  TypeScript declaration fixes for `track-started` and `track-stopped` events.
* 🎨  TypeScript declaration fixes wherever CSS properties are expected.
