Skip to content

Releases: element-hq/element-call

v0.15.0-rc.1

20 Aug 20:41
31892f4
Compare
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.

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/element-call-embedded@0.15.0-rc.1

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
Compare
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/element-call-embedded@0.14.1

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
Compare
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/element-call-embedded@0.14.0

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

v0.14.0-rc.2

28 Jul 18:39
c498f5c
Compare
Choose a tag to compare
v0.14.0-rc.2 Pre-release
Pre-release

What's Changed

🐛 Bugfixes

Others

  • Backport: bump js-sdk version 28/07/2025 (disable encryption manager in unencrypted rooms) by @toger5 in #3423

Full Changelog: v0.14.0-rc.1...v0.14.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.14.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/element-call-embedded@0.14.0-rc.2

Android AAR

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

SwiftPM

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

v0.14.0-rc.1

21 Jul 19:14
Compare
Choose a tag to compare
v0.14.0-rc.1 Pre-release
Pre-release

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

👒 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.0-rc.1...v0.14.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.14.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/element-call-embedded@0.14.0-rc.1

Android AAR

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

SwiftPM

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

v0.13.1

03 Jul 15:23
c3eb253
Compare
Choose a tag to compare

This release fixes bluetooth devices issues on iOS present in v0.13.0.

What's Changed

🐛 Bugfixes

  • Fix Bluetooth iOS issue (device auto switches from Bluetooth to speaker) by @toger5 in #3383

Known problems

  • When the bluetooth device is connected to the phone mid call, there can be problems when switching devices.

Full Changelog: v0.13.0...v0.13.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.13.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/element-call-embedded@0.13.1

Android AAR

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

SwiftPM

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

v0.13.0

01 Jul 15:31
ca06aa8
Compare
Choose a tag to compare

Native audio device handling

This release delivers a significant upgrade to the audio experience, with a particular focus on mobile devices. We've enhanced Element Call to provide a more native, phone-call-like experience when used within Element X.

Key improvements include:

  • Support for earpiece audio output on both Android and iOS
  • Convenient toggle button in the main menu to switch between earpiece and loudspeaker modes
  • Proximity sensor integration that automatically turns off the screen when the device is held against your ear in earpiece mode

These changes represent a major step forward in making Element Call feel like a natural extension of your device's native calling capabilities.

What's Changed

✨ Features

🙌 Improvements

  • Improve the reliability of state changes in widget mode by @robintown in #3177
  • Disable device switching when in controlled audio devices mode and non update_state widget driver compatibility by @toger5 in #3290
  • Build Docker image on slim base by @AndrewFerr in #3204
  • add onAudioPlaybackStarted callback for controls by @toger5 in #3309
  • Apply new timing constants to MatrixRTC session by @fkwp in #3332
  • Add onBackButtonPressed controls api by @toger5 in #3357
  • Update dependency livekit-client to v2.14.0 (#3371) by @toger5 in #3374
  • Increase opacity of the EarpieceOverlay background for better visibility by @toger5 in #3381
  • Update earpiece overlay button text for clarity (#3370) by @toger5 in #3380

📄 Documentation

  • add tools section to self-hosting guide and adding Matrixtester to it by @fkwp in #3326

🐛 Bugfixes

  • Fix lk-jwt-service config in example compose file by @AndrewFerr in #3279
  • Fix creating two lk rooms if there is no local store setup (fixes a resulting disconnect bug) by @toger5 in #3293
  • Only use ios platform logic when in controlled media device condition by @toger5 in #3295
  • Fix Playwright tests by @fkwp in #3294
  • Break loop in acquiring media on Safari by @robintown in #3311
  • Always render audio from the current set of participants by @robintown in #3317
  • Fix react errors in settings tab by @toger5 in #3314
  • Avoid reactivity bugs in how we track external state by @robintown in #3316
  • bump js-sdk to latest develop (containing a fix for membership manager resend join event) by @toger5 in #3333
  • bugfix: #3344 Reconnecting to the same SFU on membership change by @BillCarsonFr in #3361
  • Fix white borders in PiP mode android (Fix scroll issues in small documents) by @toger5 in #3362
  • Fix initial selection when using controlled media by @toger5 in #3363

💾 Developer Experience

  • Add nginx upstream group of servers for JWT Service by @fkwp in #3283
  • Add developer build mode to GitHub action build-element-call.yaml by @fkwp in #3323
  • fix: Force the docker image for lk-jwt-service to be pulled everytime by @fkwp in #3325

Others

  • Improvements to audio renderer logging. by @toger5 in #3308
  • Expose keep alive event configurarion in ec config and update defaults. by @toger5 in #3303
  • Skip unnecassary media devices permissions requests (video feed flicker when opening settings) by @toger5 in #3353
  • Localazy Download by @RiotRobot in #3367

👒 Dependencies

New Contributors

Full Changelog: v0.12.2...v0.13.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.13.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.13.0

Android AAR

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

SwiftPM

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

v0.13.0-rc.1

26 Jun 09:13
f509c06
Compare
Choose a tag to compare
v0.13.0-rc.1 Pre-release
Pre-release

What's Changed

✨ Features

🙌 Improvements

  • Improve the reliability of state changes in widget mode by @robintown in #3177
  • Disable device switching when in controlled audio devices mode and non update_state widget driver compatibility by @toger5 in #3290
  • Build Docker image on slim base by @AndrewFerr in #3204
  • add onAudioPlaybackStarted callback for controls by @toger5 in #3309
  • Apply new timing constants to MatrixRTC session by @fkwp in #3332
  • Add onBackButtonPressed controls api by @toger5 in #3357

📄 Documentation

  • add tools section to self-hosting guide and adding Matrixtester to it by @fkwp in #3326

🐛 Bugfixes

  • Fix lk-jwt-service config in example compose file by @AndrewFerr in #3279
  • Fix creating two lk rooms if there is no local store setup (fixes a resulting disconnect bug) by @toger5 in #3293
  • Only use ios platform logic when in controlled media device condition by @toger5 in #3295
  • Fix Playwright tests by @fkwp in #3294
  • Break loop in acquiring media on Safari by @robintown in #3311
  • Always render audio from the current set of participants by @robintown in #3317
  • Fix react errors in settings tab by @toger5 in #3314
  • Avoid reactivity bugs in how we track external state by @robintown in #3316
  • bump js-sdk to latest develop (containing a fix for membership manager resend join event) by @toger5 in #3333
  • bugfix: #3344 Reconnecting to the same SFU on membership change by @BillCarsonFr in #3361
  • Fix white borders in PiP mode android (Fix scroll issues in small documents) by @toger5 in #3362
  • Fix initial selection when using controlled media by @toger5 in #3363

💾 Developer Experience

  • Add nginx upstream group of servers for JWT Service by @fkwp in #3283
  • Add developer build mode to GitHub action build-element-call.yaml by @fkwp in #3323
  • fix: Force the docker image for lk-jwt-service to be pulled everytime by @fkwp in #3325

Others

  • Improvements to audio renderer logging. by @toger5 in #3308
  • Expose keep alive event configurarion in ec config and update defaults. by @toger5 in #3303
  • Skip unnecassary media devices permissions requests (video feed flicker when opening settings) by @toger5 in #3353

👒 Dependencies

New Contributors

Full Changelog: v0.12.0-rc.1...v0.13.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.13.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/element-call-embedded@0.13.0-rc.1

Android AAR

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

SwiftPM

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

v0.12.2 (Embedded only release)

05 Jun 21:56
Compare
Choose a tag to compare

It contains the following notable changes to optimize the audio device handling on mobile devices:

  • add onAudioTrackReady callback for controls 533297

  • Use html audio element to call setsink id for reactions and call sounds. 5332970

  • Always render audio from the current set of participants 9ff6bc

  • Avoid reactivity bugs in how we track external state 047b3f

  • Ignore spurious 'devicechange' events a9ab93

  • Break loop in acquiring media on Safari 8b75a2

Full Changelog: v0.12.0...v0.12.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.12.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/element-call-embedded@0.12.2

Android AAR

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

SwiftPM

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

v0.12.0

28 May 07:09
87f02b2
Compare
Choose a tag to compare

What's Changed

✨ Features

  • Add custom audio renderer for iPhone earpiece and only render joined participants by @toger5 in #3249
  • Audio device controls for mobile native audio device selection by @robintown in #3288

🙌 Improvements

  • Keep the HTML lang attribute in sync with the i18next language by @sandhose in #3247
  • Bump js-sdk to support to-device driver unsupported fallback. by @toger5 in #3277
  • Improve the reliability of state changes in widget mode by @robintown in #3281

📄 Documentation

🐛 Bugfixes

  • Fix to-device encryption info label by @toger5 in #3208
  • Fix connection leaks: Ensure that any pending connection open are cancelled/undo when ActiveCall is unmounted by @BillCarsonFr in #3255
  • Fix creating two lk rooms if there is no local store setup (fixes a resulting disconnect bug) by @toger5 in #3297

💾 Developer Experience

Others

  • DevX: Properly server .well-known and use endpoint routing as described in self-hosting.md by @fkwp in #3235
  • only show to-device transport label in dev mode by @BillCarsonFr in #3221
  • Backport: Disable device switching when in controlled audio devices mode by @toger5 in #3291

👒 Dependencies

Full Changelog: v0.11.1...v0.12.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.12.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.12.0

Android AAR

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

SwiftPM

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