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

# February 22, 2021

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

<img src="https://mintcdn.com/daily-co/k5NXwOZS3v6Jul7S/assets/changelog/changelog-10.png?fit=max&auto=format&n=k5NXwOZS3v6Jul7S&q=85&s=33fbccac4cf13a5effe162256a730a8b" alt="Daily Developer page screenshot with cards for embedding video chat, building from scratch on mobile or desktop, and the API" width="1931" height="842" data-path="assets/changelog/changelog-10.png" />

We launched a new [docs landing page](https://docs.daily.co/)! Have a look when you get a chance, and read on for more updates.

## daily-js 0.9.999 and react-native-daily-js 0.7.1

* 🔌  All new Daily domains now default to web socket signaling. Using web sockets makes muting, unmuting, and changing track subscriptions faster.
* 👩‍👩‍👧‍👧  You can now update all participants on a call at once when you pass `*` to the [`updateParticipants()`](/reference/daily-js/instance-methods/update-participants) method. For example, here's how you'd subscribe to all participants' media tracks: `callObject.updateParticipants({'*': {setSubscribedTracks: true}});`.
* 🚪  The [`room()`](/reference/daily-js/instance-methods/room) method now returns comprehensive `config` properties, including both explicitly-set and default values. To only see explicitly-set properties, pass in a new `{includeRoomConfigDefaults: false}` argument. `room()` now also returns `domainConfig` properties describing the room's domain.
* 🎥  `recording-started` and `recording-stopped` [events](/reference/daily-js/events/recording-events) now fire for all participants—not just the recorder—when someone starts recording the meeting. Additionally, `DailyParticipant` objects (the ones returned by `participants()`) have a new `record` field that indicates whether the participant is recording.

## Performance improvements

* 📺  Improved our RTMP pipeline performance, and reduced CPU usage during the background generation process. Added support for RTMPS.
* 🛤  Better [track subscription](https://www.daily.co/blog/create-dynamic-meetings-using-track-subscriptions/) performance, especially when updating multiple tracks.❗️important reminder: if you need to update multiple participants, call the [`updateParticipants()`](/reference/daily-js/instance-methods/update-participants) method once, *not* [`updateParticipant()`](/reference/daily-js/instance-methods/update-participant) multiple times.

## Other bug fixes

* 🐛  Fixed edge case that ignored [`max_participants`](/reference/rest-api/rooms/get-room#response-config) property.
* ⏰  Adjusted client-side timestamps sent in via logging and telemetry to align with server time.
* 🖌  UI [dashboard](https://dashboard.daily.co/) updates: centered chevron, added scroll away domain menu and tooltips on hover, new status codes on webhooks in API logs.

## New blog posts and podcasts

<div className="contentRow">
  <ContentCard title="Announcing self-signed meeting tokens" date="17 Feb 2021" readTime={4} href="https://www.daily.co/blog/announcing-self-signed-meeting-tokens/" />

  <ContentCard title="Create audio-only meetings with Daily" date="18 Feb 2021" readTime={5} href="https://www.daily.co/blog/create-audio-only-meetings-with-daily/" />

  <ContentCard title="Greater than code: cultivating strength and change with Wesley Faulkner" date="10 Feb 2021" readTime={5} href="https://www.greaterthancode.com/cultivating-strength-and-change" />

  <style jsx>
    {`
          .contentRow {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
            grid-auto-rows: 1fr;
            grid-gap: 20px;
          }
        `}
  </style>
</div>
