github element-hq/element-call v0.25.0

5 hours ago

What's Changed

Performance improvements for large calls

This release focuses on performance, with two main areas of improvement:

Reduced browser resource usage. Several changes lower CPU and memory consumption when rendering many video tiles, making large calls noticeably smoother.

Fewer to-device messages for encryption key sharing. In encrypted calls, media encryption keys are rotated whenever someone joins or leaves, and each new key must be sent to every participant device via to-device messages. In large calls this traffic grows rapidly and has been one of the main limiting factors for call size.

🛠 Breaking Changes

✨ Features

  • Add key rotation participant limit to devtools and config.json by @toger5 in #4172

🙌 Improvements

  • Performance: Avoid re-rendering context menus so often by @robintown in #4150
  • Performance: Disable animations when there are a large number of tiles by @robintown in #4152
  • Performance: Fit video to frame without polling RTP stats by @robintown in #4151
  • Performance: Isolate tile store debug info in its own component by @robintown in #4178
  • Performance: Ignore redundant layout updates by @robintown in #4177
  • Performance: Use PNGs for the background gradients by @robintown in #4180

📄 Documentation

🐛 Bugfixes

  • Fix: error screen cannot be closed in embedded mode. by @toger5 in #4171
  • Room joining: if join_rule is absent, assume public by @alexmaras in #4160
  • Fix lobby video preview losing its rounded corners in Firefox by @robintown in #4181
  • Hide reactions interface in PiP mode by @robintown in #4185

💾 Developer Experience

  • livekit -> main Update branches used in ci and tooling to main by @toger5 in #4190

👒 Dependencies

  • Update ghcr.io/element-hq/element-web:develop Docker digest to a614392 by @renovate[bot] in #4163
  • Update ghcr.io/element-hq/element-web:develop Docker digest to af44e1e by @renovate[bot] in #4165
  • Update LiveKit components by @renovate[bot] in #4168
  • Update dependency @vector-im/compound-web to v10 by @renovate[bot] in #4169
  • Update ghcr.io/element-hq/element-web:develop Docker digest to 073e6a4 by @renovate[bot] in #4176
  • Update ghcr.io/element-hq/element-web:develop Docker digest to 9ac7cde by @renovate[bot] in #4182
  • Update ghcr.io/element-hq/element-web:develop Docker digest to a416986 by @renovate[bot] in #4186
  • Update ghcr.io/element-hq/element-web:develop Docker digest to ee5b90c by @renovate[bot] in #4193
  • Update dependency livekit-client to v2.22.0 by @renovate[bot] in #4197
  • Update ghcr.io/element-hq/element-web:develop Docker digest to 07aa9a3 by @renovate[bot] in #4195
  • Update dependency @vector-im/compound-design-tokens to v10.2.4 by @renovate[bot] in #4196
  • Update ghcr.io/element-hq/element-web:develop Docker digest to 0332028 by @renovate[bot] in #4204
  • Update ghcr.io/element-hq/element-web:develop Docker digest to f163e7a by @renovate[bot] in #4211
  • Update ghcr.io/element-hq/element-web:develop Docker digest to 133160c by @renovate[bot] in #4213

New Contributors

Full Changelog: v0.24.0...v0.25.0

Docker full package

Element Call is available as a Docker image from the GitHub Container Registry.

The image provides a full build of Element Call that can be used both in standalone and as a widget (on a remote URL).

docker pull ghcr.io/element-hq/element-call:v0.25.0

Embedded packages

This release includes the following embedded packages that allow Element Call to be used as an embedded widget
within another application.

NPM

npm install @element-hq/element-call-embedded@0.25.0

Android AAR

dependencies {
  implementation 'io.element.android:element-call-embedded:0.25.0'
}

SwiftPM

.package(url: "https://github.com/element-hq/element-call-swift.git", from: "0.25.0")

Don't miss a new element-call release

NewReleases is sending notifications on new releases.