Skip to content

Releases: element-hq/element-call

v0.16.1

23 Oct 13:40
2281fd6

Choose a tag to compare

What's Changed

πŸ™Œ Improvements

  • Update livekit-client to disable ScriptTransform for Chromium based browsers by @toger5 in #3543

Full Changelog: v0.16.0...v0.16.1

v0.16.0

24 Sep 15:08
0a286b4

Choose a tag to compare

What's Changed

✨ Features

πŸ™Œ Improvements

  • Migrate from js-sdk's defer in test by @AndrewFerr in #3470
  • Add dialing/ringing state to CallViewModel (callPickupState$) by @toger5 in #3466
  • Prefer showing the reaction button at small screen widths by @robintown in #3400
  • View model for decline logic by @toger5 in #3467
  • default mute states (unmuted!) in widget mode (embedded + intent) by @toger5 in #3494

πŸ› Bugfixes

πŸ’Ύ Developer Experience

  • Add Caddy configuration example and fix ConfigOptions.ts link by @tayeh in #3476
  • docker compose: always pull latest image by @AndrewFerr in #3475
  • Backport: Misc/android allow rcs to be published as non snapshot versions by @fkwp in #3506

Others

  • Do not use preload mode by default in embedded mode by @Half-Shot in #3488
  • Log when a track is unpublished or runs into an error by @Half-Shot in #3495
  • Backport: Add ring notification to UserIntent.StartNewCallDM by @toger5 in #3498
  • Backport: Fix: never stop ring feedback on the sender side by @toger5 in #3503

πŸ‘’ Dependencies

  • Update dependency livekit-client to v2.15.6 by @renovate[bot] in #3468
  • Update dependency vite to v6.3.6 [SECURITY] by @renovate[bot] in #3482
  • Update dependency livekit-client to v2.15.7 by @renovate[bot] in #3496

New Contributors

Full Changelog: v0.15.0...v0.16.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.16.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/[email protected]

Android AAR

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

SwiftPM

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

v0.16.0-rc.4

22 Sep 10:41
0a286b4

Choose a tag to compare

v0.16.0-rc.4 Pre-release
Pre-release

What's Changed since rc.3

πŸ› Bugfixes

πŸ’Ύ Developer Experience

  • Backport: Misc/android allow rcs to be published as non snapshot versions by @fkwp in #3506

Full Changelog: v0.16.0-rc.3...v0.16.0-rc.4

What's Changed since v0.15.0

✨ Features

πŸ™Œ Improvements

  • Migrate from js-sdk's defer in test by @AndrewFerr in #3470
  • Add dialing/ringing state to CallViewModel (callPickupState$) by @toger5 in #3466
  • Prefer showing the reaction button at small screen widths by @robintown in #3400
  • View model for decline logic by @toger5 in #3467
  • default mute states (unmuted!) in widget mode (embedded + intent) by @toger5 in #3494

πŸ› Bugfixes

πŸ’Ύ Developer Experience

  • Add Caddy configuration example and fix ConfigOptions.ts link by @tayeh in #3476
  • docker compose: always pull latest image by @AndrewFerr in #3475
  • Backport: Misc/android allow rcs to be published as non snapshot versions by @fkwp in #3506

Others

  • Do not use preload mode by default in embedded mode by @Half-Shot in #3488
  • Log when a track is unpublished or runs into an error by @Half-Shot in #3495
  • Backport: Add ring notification to UserIntent.StartNewCallDM by @toger5 in #3498
  • Backport: Fix: never stop ring feedback on the sender side by @toger5 in #3503

πŸ‘’ Dependencies

  • Update dependency livekit-client to v2.15.6 by @renovate[bot] in #3468
  • Update dependency vite to v6.3.6 [SECURITY] by @renovate[bot] in #3482
  • Update dependency livekit-client to v2.15.7 by @renovate[bot] in #3496

New Contributors

Full Changelog: v0.15.0...v0.16.0-rc.4

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.16.0-rc.4

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/[email protected]

Android AAR

dependencies {
  implementation 'io.element.android:element-call-embedded:0.16.0-rc.4'
}

SwiftPM

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

v0.16.0-rc.3

19 Sep 14:31
93a1a6a

Choose a tag to compare

v0.16.0-rc.3 Pre-release
Pre-release

What's Changed since rc.2

Others

  • Backport: Fix: never stop ring feedback on the sender side by @toger5 in #3503

Full Changelog: v0.16.0-rc.2...v0.16.0-rc.3

What's Changed since v0.15.0

✨ Features

πŸ™Œ Improvements

  • Migrate from js-sdk's defer in test by @AndrewFerr in #3470
  • Add dialing/ringing state to CallViewModel (callPickupState$) by @toger5 in #3466
  • Prefer showing the reaction button at small screen widths by @robintown in #3400
  • View model for decline logic by @toger5 in #3467
  • default mute states (unmuted!) in widget mode (embedded + intent) by @toger5 in #3494

πŸ› Bugfixes

  • Fix the reconnect button by @robintown in #3479
  • Prevent showing calling view when disconnected from Livekit. by @Half-Shot in #3491
  • Fix the interactivity of buttons while reconnecting or in earpiece mode by @robintown in #3486

πŸ’Ύ Developer Experience

  • Add Caddy configuration example and fix ConfigOptions.ts link by @tayeh in #3476
  • docker compose: always pull latest image by @AndrewFerr in #3475

Others

  • Do not use preload mode by default in embedded mode by @Half-Shot in #3488
  • Log when a track is unpublished or runs into an error by @Half-Shot in #3495
  • Backport: Add ring notification to UserIntent.StartNewCallDM by @toger5 in #3498
  • Backport: Fix: never stop ring feedback on the sender side by @toger5 in #3503

πŸ‘’ Dependencies

  • Update dependency livekit-client to v2.15.6 by @renovate[bot] in #3468
  • Update dependency vite to v6.3.6 [SECURITY] by @renovate[bot] in #3482
  • Update dependency livekit-client to v2.15.7 by @renovate[bot] in #3496

New Contributors

Full Changelog: v0.15.0...v0.16.0-rc.3

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.16.0-rc.3

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/[email protected]

Android AAR

dependencies {
  implementation 'io.element.android:element-call-embedded:0.16.0-rc.3-SNAPSHOT'
}

SwiftPM

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

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@

Android AAR

dependencies {
  implementation 'io.element.android:element-call-embedded:0.16.0-rc.3-SNAPSHOT'
}

SwiftPM

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

v0.16.0-rc.2

18 Sep 16:16
d7824ce

Choose a tag to compare

v0.16.0-rc.2 Pre-release
Pre-release

What's Changed since RC.1

Others

  • Backport: Add ring notification to UserIntent.StartNewCallDM by @toger5 in #3498

Full Changelog: v0.16.0-rc.1...v0.16.0-rc.2

What's Changed

✨ Features

πŸ™Œ Improvements

  • Migrate from js-sdk's defer in test by @AndrewFerr in #3470
  • Add dialing/ringing state to CallViewModel (callPickupState$) by @toger5 in #3466
  • Prefer showing the reaction button at small screen widths by @robintown in #3400
  • View model for decline logic by @toger5 in #3467
  • default mute states (unmuted!) in widget mode (embedded + intent) by @toger5 in #3494

πŸ› Bugfixes

  • Fix the reconnect button by @robintown in #3479
  • Prevent showing calling view when disconnected from Livekit. by @Half-Shot in #3491
  • Fix the interactivity of buttons while reconnecting or in earpiece mode by @robintown in #3486

πŸ’Ύ Developer Experience

  • Add Caddy configuration example and fix ConfigOptions.ts link by @tayeh in #3476
  • docker compose: always pull latest image by @AndrewFerr in #3475

Others

  • Do not use preload mode by default in embedded mode by @Half-Shot in #3488
  • Log when a track is unpublished or runs into an error by @Half-Shot in #3495
  • Backport: Add ring notification to UserIntent.StartNewCallDM by @toger5 in #3498

πŸ‘’ Dependencies

  • Update dependency livekit-client to v2.15.6 by @renovate[bot] in #3468
  • Update dependency vite to v6.3.6 [SECURITY] by @renovate[bot] in #3482
  • Update dependency livekit-client to v2.15.7 by @renovate[bot] in #3496

New Contributors

Full Changelog: v0.15.0...v0.16.0-rc.2

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.16.0-rc.2

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/[email protected]

Android AAR

dependencies {
  implementation 'io.element.android:element-call-embedded:0.16.0-rc.2-SNAPSHOT'
}

SwiftPM

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

v0.16.0-rc.1

18 Sep 11:31
db5c7cf

Choose a tag to compare

v0.16.0-rc.1 Pre-release
Pre-release

What's Changed

This version of Element Call introduces the Telephone use-case for In-App Calling which is available in DM rooms.

Starting a Call in a DM room

  • Users have a call-setup indication that notifies they’re waiting for the other party to pick-up.
  • Users are able to abandon the call before the other user has accepted or rejected
  • Users placing a call where the other user has not accepted or rejected will timeout and be shown a basic β€˜call failed’ screen.
  • UX feedback for a declined call

Receiving Side

  • Users receiving a call are able to decline it

✨ Features

πŸ™Œ Improvements

  • Migrate from js-sdk's defer in test by @AndrewFerr in #3470
  • Add dialing/ringing state to CallViewModel (callPickupState$) by @toger5 in #3466
  • Prefer showing the reaction button at small screen widths by @robintown in #3400
  • View model for decline logic by @toger5 in #3467
  • default mute states (unmuted!) in widget mode (embedded + intent) by @toger5 in #3494

πŸ› Bugfixes

  • Fix the reconnect button by @robintown in #3479
  • Prevent showing calling view when disconnected from Livekit. by @Half-Shot in #3491
  • Fix the interactivity of buttons while reconnecting or in earpiece mode by @robintown in #3486

πŸ’Ύ Developer Experience

  • Add Caddy configuration example and fix ConfigOptions.ts link by @tayeh in #3476
  • docker compose: always pull latest image by @AndrewFerr in #3475

Others

  • Do not use preload mode by default in embedded mode by @Half-Shot in #3488
  • Log when a track is unpublished or runs into an error by @Half-Shot in #3495

πŸ‘’ Dependencies

  • Update dependency livekit-client to v2.15.6 by @renovate[bot] in #3468
  • Update dependency vite to v6.3.6 [SECURITY] by @renovate[bot] in #3482
  • Update dependency livekit-client to v2.15.7 by @renovate[bot] in #3496

New Contributors

Full Changelog: v0.15.0...v0.16.0-rc.1

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.16.0-rc.1

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/[email protected]

Android AAR

dependencies {
  implementation 'io.element.android:element-call-embedded:0.16.0-rc.1-SNAPSHOT'
}

SwiftPM

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

v0.15.0

26 Aug 14:20
4786a2f

Choose a tag to compare

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/[email protected]

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")

v0.15.0-rc.1

20 Aug 20:41
31892f4

Choose a tag to compare

v0.15.0-rc.1 Pre-release
Pre-release

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

  • DevX: update dev backend to support jwt-token v3 by @BillCarsonFr in #3429
  • Display a custom error for restricted SFU config error by @BillCarsonFr in #3428
  • Fix: missing logs in rageshake by @toger5 in #3434
  • Add a fullscreen button that uses the element request Fullscreen browser api by @toger5 in #3447
  • Hangup when last person in call (based on url params) by @toger5 in #3372

πŸ‘’ 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-rc.1

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-rc.1

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/[email protected]

Android AAR

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

SwiftPM

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

v0.14.1

04 Aug 15:36
f0581c6

Choose a tag to compare

This minor release fixes an issue with the rageshake logging. Additionally it fixes one issue that results in missing audio streams on Safari.

What's Changed

πŸ› Bugfixes

  • Backport: Set available devices to empty map on safari. by @toger5 in #3427
  • Backport: missing logs in rageshake by @toger5 in #3435

Others

  • Backport: DevX: update dev backend to support jwt-token v3 by @toger5 in #3439

Full Changelog: v0.14.0...v0.14.1

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

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/[email protected]

Android AAR

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

SwiftPM

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

v0.14.0

31 Jul 10:19
c498f5c

Choose a tag to compare

What's Changed

✨ Features

πŸ™Œ Improvements

  • Reduce timeout after network error down to 100 ms for resetting delayed events by @fkwp in #3365
  • Increase opacity of the EarpieceOverlay background for better visibility by @toger5 in #3369
  • Update earpiece overlay button text for clarity by @toger5 in #3370

πŸ› Bugfixes

Others

  • Fix bluetooth iOS issue (device auto switches from Bluetooth to speaker) by @toger5 in #3388
  • Earpiece follow up: Change labels and icons by @toger5 in #3401
  • Backport: bump js-sdk version 28/07/2025 (disable encryption manager in unencrypted rooms) by @toger5 in #3423

πŸ‘’ Dependencies

  • Update dependency livekit-client to v2.14.0 by @renovate[bot] in #3371
  • Update embedded package dependencies by @renovate[bot] in #3378
  • Update all non-major dependencies by @renovate[bot] in #3377
  • Update dependency livekit-client to v2.15.2 by @renovate[bot] in #3396
  • Update dependency @vector-im/compound-design-tokens to v4.0.5 by @renovate[bot] in #3392
  • Update dependency @livekit/components-react to v2.9.13 by @renovate[bot] in #3395
  • Update dependency livekit-client to v2.15.3 by @renovate[bot] in #3406
  • Update LiveKit components by @renovate[bot] in #3407
  • Update dependency @vector-im/compound-web to v8.2.0 by @renovate[bot] in #3410
  • Update dependency @vector-im/compound-design-tokens to v5 by @renovate[bot] in #3411

Full Changelog: v0.13.1...v0.14.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.14.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/[email protected]

Android AAR

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

SwiftPM

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