github element-hq/element-call v0.15.0

8 days ago

Stability and Spec work

This release introduces a key part of the MatrixRTC spec that was previously missing from Element Call. The state key of call member events is now distinct per MatrixRTC session type (application), allowing an Element Call m.call session to run alongside other session types.

Element Call now also supports MatrixRTC Authorization Service v0.3.0, which adds a key infrastructure control by restricting automatic LiveKit SFU room creation to users on selected (trusted) homeservers, helping ensure that SFU resources are used efficiently and remain available for their intended communities. Note this does NOT break calls across federation.

Calls also now have a dedicated "Reconnecting" state. This enhances both stability and security: Element Call stops publishing and subscribing media when you are disconnected from the room state. This prevents downloading media you cannot decrypt and uploading media unnecessarily when others are not aware you are in the call.

What's Changed

🛠 Breaking Changes

  • Stop reading deprecated config options (DONT USE: membership_keep_alive_period, membership_server_side_expiry_timeout, key_rotation_on_leave_delay) by @toger5 in #3416

✨ Features

  • Allow multiple MatrixRTC sessions per room by @fkwp in #3451
  • Pause media tracks and show a message when reconnecting to MatrixRTC by @robintown in #3453

🙌 Improvements

  • Expose delayed_leave_event_restart_local_timeout_ms to config.json by @toger5 in #3415
  • Reset LiveKit connection timeouts to their defaults by @robintown in #3436
  • Set available devices to empty map on safari. Safari does not allow changing output devices so the output device dialog is confusing. by @toger5 in #3426
  • Localazy Download by @RiotRobot in #3441
  • Add intents for DM by @toger5 in #3445
  • Move the switch camera button to the local user's tile by @robintown in #3336

📄 Documentation

  • Cleanup self-hosting guide by @fkwp in #3437
  • Improve Matrix site setup diagram by @fkwp in #3440
  • Doc: Use new naming of jwt auth service by @fkwp in #3455

🐛 Bugfixes

💾 Developer Experience

  • UrlParams: Intent system update, split into configuration and propreties by @toger5 in #3376
  • Use .ts for remaining js config files by @toger5 in #3443

Others

👒 Dependencies

  • Update all non-major dependencies by @renovate[bot] in #3433
  • Update embedded package dependencies by @renovate[bot] in #3432
  • Update dependency livekit-client to v2.15.4 by @renovate[bot] in #3425
  • Update dependency @vector-im/compound-design-tokens to v6 by @renovate[bot] in #3438
  • Update dependency livekit-client to v2.15.5 by @renovate[bot] in #3452

Full Changelog: v0.14.1...v0.15.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.15.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.15.0

Android AAR

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

SwiftPM

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

Don't miss a new element-call release

NewReleases is sending notifications on new releases.