Skip to content

Releases: element-hq/element-call

v0.18.0

16 Mar 16:06
af54b39

Choose a tag to compare

What's Changed

We welcome @JakeTripplJ as a new contributor who brings screen share volume controls to Element Call.
On top, we get a better picture-in-picture experience in Web, and an issue is fixed with portrait vs. landscape streams/tiles. Which improves the mobile β†’ desktop call experience by a lot!

✨ Features

  • Add volume control to screen shares by @JakeTripplJ in #3747
  • Implement new Pip Layout (with control buttons) by @toger5 in #3775
  • Auto fit video in tile depending on orientation of the tile and the source stream by @BillCarsonFr in #3756

πŸ› Bugfixes

  • fix: Netlify preview broken by @BillCarsonFr in #3731
  • Fix: crash on mobile with 0.17.0-rc.2 due to a log causing stringify to crash with TypedError: circular structure by @BillCarsonFr in #3733
  • fix: add id-token permission as its required by tailscale login by @fkwp in #3768

πŸ’Ύ Developer Experience

  • Add debug logs to generateItems by @robintown in #3726
  • Bumping LiveKit SFU and synapse versions in dev-backend-docker-compose.yml by @fkwp in #3757
  • fix: add id-token permission as its required by tailscale login (part 3) by @fkwp in #3793
  • Add zizmor checks on CI by @fkwp in #3792
  • fix: OCI image push to element registry by @fkwp in #3795

Others

  • fix: add id-token permission as its required by tailscale login (part 2) by @fkwp in #3770

πŸ‘’ Dependencies

New Contributors

Full Changelog: v0.17.0...v0.18.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.18.0

Android AAR

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

SwiftPM

.package(url: "https://github.com/element-hq/element-call-swift.git", from: "0.18.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.18.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.18.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.18.0

Android AAR

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

SwiftPM

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

v0.18.0-rc.1

11 Mar 16:02
af54b39

Choose a tag to compare

v0.18.0-rc.1 Pre-release
Pre-release

What's Changed

We welcome @JakeTripplJ as a new contributor who brings screen share volume controls to ElementCall.
On top, we get a better PiP experience in Web and an issue is fixed with portrait vs landscape streams/tiles. Which improves the mobile -> desktop call experience by a lot!

✨ Features

  • Add volume control to screen shares by @JakeTripplJ in #3747
  • Implement new Pip Layout (with control buttons) by @toger5 in #3775
  • Auto fit video in tile depending on orientation of the tile and the source stream by @BillCarsonFr in #3756

πŸ› Bugfixes

  • fix: Netlify preview broken by @BillCarsonFr in #3731
  • Fix: crash on mobile with 0.17.0-rc.2 due to a log causing stringify to crash with TypedError: circular structure by @BillCarsonFr in #3733
  • fix: add id-token permission as its required by tailscale login by @fkwp in #3768

πŸ’Ύ Developer Experience

  • Add debug logs to generateItems by @robintown in #3726
  • Bumping LiveKit SFU and synapse versions in dev-backend-docker-compose.yml by @fkwp in #3757
  • fix: add id-token permission as its required by tailscale login (part 3) by @fkwp in #3793
  • Add zizmor checks on CI by @fkwp in #3792
  • fix: OCI image push to element registry by @fkwp in #3795

Others

  • fix: add id-token permission as its required by tailscale login (part 2) by @fkwp in #3770

πŸ‘’ Dependencies

New Contributors

Full Changelog: v0.17.0...v0.18.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.18.0-rc.1

Android AAR

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

SwiftPM

.package(url: "https://github.com/element-hq/element-call-swift.git", from: "0.18.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.18.0-rc.1

v0.17.0

24 Feb 18:13
bdbb7f3

Choose a tag to compare

What's Changed

Version 0.17.0 is large leap in landing the MatrixRTC spec. It is contains all the implementation proves required for the spec process.

The main changes are:

  • It is not yet leveraging all 2.0 improvements but implements all necessary parts to be compatible.
  • It is fully compatible with v0.16.0 and behaves the same
  • if someone sends 2.0 events and uses features like publishing there media on their own SFU, this version will still connect with those users

Additionally it brings a lot of bug fixes and cleanups!

There is a full refactor of the CallViewModel (a major part of the codebase), an SDK version, and all the Matrix 2.0 features that cover security, reliability and convenience.

It is important to note that this release does not use any of the new Matrix features and MatrixRTC changes by default. So it is a fully compatible version that can be updated. Since it is compatible it allows a comfortable transition because it is compatible with future versions that enable the new spec by default.

✨ Features

  • Element Call SDK target by @toger5 in #3600
  • [backport][Matrix2.0 compatibility] stop advertising livekit_alias, use "ROOM" slot_id (backwards compat), stop sending deprecated notify #3705 by @toger5 in #3719
  • [backport] [MatrixRTC SDK] improvements - compatible with custom rtc application by @toger5 in #3723

πŸ™Œ Improvements

πŸ“„ Documentation

πŸ› Bugfixes

  • Add ring notification to UserIntent.StartNewCallDM by @toger5 in #3499
  • Fix: never stop ring feedback on the sender side. by @toger5 in #3502
  • Fix: widget hangup action not working by @BillCarsonFr in #3544
  • fix: Automatically switch to spotlight if remote screenshare by @BillCarsonFr in #3601
  • Fix: Camera is not muted when the earpiece mode is enabled by @BillCarsonFr in #3596
  • Fix: Allow to manually switch back to grid mode when there is a screenshare by @BillCarsonFr in #3605
  • fix: The handset mode overlay is visible a split second for every call by @BillCarsonFr in #3606
  • Fix the wrong layout being used until window size changes by @robintown in #3608
  • Dispel confusion about whether media is remote or local by @robintown in #3624
  • Don't show 'waiting for media' on connected participants by @robintown in #3626
  • Allow user to switch layouts while phone is in landscape by @robintown in #3637
  • Start publishing latest docker tags again. by @Half-Shot in #3650
  • Fix: Ensure voice and audio intent are respected by @BillCarsonFr in #3659
  • Change the livekit alias to just be the room id (for backwards compatibility) by @toger5 in #3669
  • Fix Publisher cleanup procedure by @toger5 in #3675
  • Fix delayId delegation. Use correct event reemitting types. by @toger5 in #3687
  • Fix rejoin EC crash by @toger5 in #3693
  • [backport] Fix: crash on mobile with 0.17.0-rc.2 due to a log causing stringify to crash with TypedError: circular structure by @toger5 in #3735

πŸ’Ύ Developer Experience

  • Android: allow RCs to be published as non-SNAPSHOT versions by @jmartinesp in #3501
  • DevX: Add another Matrix site to docker-compose by @fkwp in #3511
  • refactor to createCallViewModel$ by @toger5 in #3568
  • createCallViewModel$ function refactor by @toger5 in #3571
  • Restrict importing src/lib in most cases for matrix- libs by @Half-Shot in #3575
  • Refactor local transport testing and local membership initialization by @toger5 in #3576
  • Fix reactivity based on localTransport updates (Cleanup for LocalMembership.ts) by @toger5 in #3591
  • Unify LiveKit and Matrix connection states by @toger5 in #3611
  • Remove all OpenTelementry related code by @toger5 in #3586
  • Remove duplicate IntentAndPlatformDerivedConfiguration interface by @Half-Shot in #3658
  • Remove deprecated widget layout actions by @toger5 in #3689
  • Fix some error log lines that lead to confusion by @toger5 in #3679

Others

πŸ‘’ Dependencies

  • Update GitHub Actions by @renovate[bot] in #3517
  • Update dependency livekit-client to v2.15.11 by @renovate[bot] in #3532
  • Update dependency vite to v7.1.11 [SECURITY] by @renovate[bot] in #3541
  • Update LiveKit components by @renovate[bot] in #3533
  • Update dependency livekit-client to v2.15.14 by @renovate[bot] in #3552
  • Update softprops/action-gh-release digest to 6da8fa9 by @renovate[bot] in #3550
  • Update embedded package dependencies to v8.13.0 - autoclosed by @renovate[bot] in #3551
  • Update Node.js to v24 by @renovate[bot] in #3556
  • Update dependency livekit-client to v2.15.15 by @renovate[bot] in #3564
  • Update dependency l...
Read more

v0.17.0-rc.3

16 Feb 16:48
bdbb7f3

Choose a tag to compare

v0.17.0-rc.3 Pre-release
Pre-release

What's Changed

πŸ› Bugfixes

  • [backport] Fix: crash on mobile with 0.17.0-rc.2 due to a log causing stringify to crash with TypedError: circular structure by @toger5 in #3735

Full Changelog: v0.17.0-rc.2...v0.17.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.17.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.17.0-rc.3'
}

SwiftPM

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

v0.17.0-rc.2

09 Feb 09:43
b7d2dbe

Choose a tag to compare

v0.17.0-rc.2 Pre-release
Pre-release

What's Changed

✨ Features

  • [backport][Matrix2.0 compatibility] stop advertising livekit_alias, use "ROOM" slot_id (backwards compat), stop sending deprecated notify #3705 by @toger5 in #3719
  • [backport] [MatrixRTC SDK] improvements - compatible with custom rtc application by @toger5 in #3723

Full Changelog: v0.17.0-rc.1...v0.17.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.17.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@

Android AAR

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

SwiftPM

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

v0.17.0-rc.1

22 Jan 19:24
330ad34

Choose a tag to compare

v0.17.0-rc.1 Pre-release
Pre-release

What's Changed

Version 0.17.0 is a big fundamental change.
Lets start with the TLDR:

  • it implements everything required for matrix2.0
  • It is fully compatible with v0.16.0 and behaves the same
  • if someone sends 2.0 events and uses features like publishing there media on their own SFU, this version will still connect with those users

There is a full refactor of the CallViewModel (a major part of the codebase), an SDK version, and all the matrix2.0 features that cover security, reliability and convenience.

✨ Features

πŸ™Œ Improvements

πŸ“„ Documentation

πŸ› Bugfixes

  • Add ring notification to UserIntent.StartNewCallDM by @toger5 in #3499
  • Fix: never stop ring feedback on the sender side. by @toger5 in #3502
  • Fix: widget hangup action not working by @BillCarsonFr in #3544
  • fix: Automatically switch to spotlight if remote screenshare by @BillCarsonFr in #3601
  • Fix: Camera is not muted when the earpiece mode is enabled by @BillCarsonFr in #3596
  • Fix: Allow to manually switch back to grid mode when there is a screenshare by @BillCarsonFr in #3605
  • fix: The handset mode overlay is visible a split second for every call by @BillCarsonFr in #3606
  • Fix the wrong layout being used until window size changes by @robintown in #3608
  • Dispel confusion about whether media is remote or local by @robintown in #3624
  • Don't show 'waiting for media' on connected participants by @robintown in #3626
  • Allow user to switch layouts while phone is in landscape by @robintown in #3637
  • Start publishing latest docker tags again. by @Half-Shot in #3650
  • Fix: Ensure voice and audio intent are respected by @BillCarsonFr in #3659
  • Change the livekit alias to just be the room id (for backwards compatibility) by @toger5 in #3669
  • Fix Publisher cleanup procedure by @toger5 in #3675
  • Fix delayId delegation. Use correct event reemitting types. by @toger5 in #3687
  • Fix rejoin EC crash by @toger5 in #3693

πŸ’Ύ Developer Experience

  • Android: allow RCs to be published as non-SNAPSHOT versions by @jmartinesp in #3501
  • DevX: Add another Matrix site to docker-compose by @fkwp in #3511
  • refactor to createCallViewModel$ by @toger5 in #3568
  • createCallViewModel$ function refactor by @toger5 in #3571
  • Restrict importing src/lib in most cases for matrix- libs by @Half-Shot in #3575
  • Refactor local transport testing and local membership initialization by @toger5 in #3576
  • Fix reactivity based on localTransport updates (Cleanup for LocalMembership.ts) by @toger5 in #3591
  • Unify LiveKit and Matrix connection states by @toger5 in #3611
  • Remove all OpenTelementry related code by @toger5 in #3586
  • Remove duplicate IntentAndPlatformDerivedConfiguration interface by @Half-Shot in #3658
  • Remove deprecated widget layout actions by @toger5 in #3689
  • Fix some error log lines that lead to confusion by @toger5 in #3679

Others

πŸ‘’ Dependencies

Read more

v0.16.3

02 Dec 15:49

Choose a tag to compare

What's Changed

πŸ™Œ Improvements

  • Increase delayed event timeouts for embedded builds to mitigate unexpected disconnects.
    delayed_leave_event_delay_ms: 90000,
    delayed_leave_event_restart_local_timeout_ms: 10000,
    delayed_leave_event_restart_ms: 4000,
    membership_event_expiry_ms: 7200000,
    network_error_retry_ms: 100,
    wait_for_key_rotation_ms: 5000,
    

Full Changelog: v0.16.1...v0.16.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.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@0.16.3

Android AAR

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

SwiftPM

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

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

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/element-call-embedded@0.16.0-rc.4

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