Skip to content

Releases: element-hq/element-call

v0.10.0-rc.3

22 Apr 19:44
920fa21

Choose a tag to compare

v0.10.0-rc.3 Pre-release
Pre-release

To Device compatibility RC3

Backwards compatible with ratcheting and logging fix.

What's Changed

  • Backport v0.10.0: Revert livekit-client to 2.10.0 by @robintown in #3223
  • Backport v0.10.0: Fix matrixRTC js-sdk logs in rageshakes by @toger5 in #3227
  • Backport v0.10.0: Set ratchetWindowSize > 0, to enable ratchet compatibility. by @toger5 in #3225

Full Changelog: v0.10.0-rc.2...v0.10.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.10.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.10.0-rc.3-SNAPSHOT'
}

SwiftPM

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

v0.10.0-rc.2

16 Apr 17:50
8c555a1

Choose a tag to compare

v0.10.0-rc.2 Pre-release
Pre-release

What's Changed

  • Backport: update developer key transport setting description by @toger5 in #3195
  • Backport: Bump js-sdk to develop branch (with RoomAndToDeviceTransport) by @toger5 in #3207
  • Backport: Improve tagging of Release versions of platform specific embedded packages by @toger5 in #3212
  • Backport: Fix to-device encryption info label by @toger5 in #3209
  • Backport: bump js sdk to fix logging by @toger5 in #3216

Full Changelog: v0.10.0-rc.1...v0.10.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.10.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.10.0-rc.2-SNAPSHOT'
}

SwiftPM

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

v0.10.0-rc.1

11 Apr 15:09
770b94e

Choose a tag to compare

v0.10.0-rc.1 Pre-release
Pre-release

To Device compatibility RC1

What's Changed

  • remove fallback MatrixRTC backend from netlify PR builds by @fkwp in #3117
  • Fix join errors mistakenly showing a generic error screen by @robintown in #3118
  • Enable analytics only while authenticated by @robintown in #3053
  • Fix compilation error when trying to use SwiftPM embedded package by @hughns in #3124
  • Update dependency vite to v6.2.3 [SECURITY] by @renovate in #3125
  • Add endpoint routing to README.md by @fkwp in #3130
  • Upgrade to Yarn v4 (Berry) by @robintown in #3095
  • Transition from consuming js-sdk source to lib (build output) by @toger5 in #3093
  • Show URL params and environment variables in developer tab by @hughns in #3134
  • Always run build CI workflow by @hughns in #3139
  • Clarify who is responsible for compliance and consent in relation to analytics by @hughns in #3116
  • Improve documentation for how to use the embedded package by @hughns in #3146
  • Rename EULA to SSLA by @toger5 in #3135
  • Fix example JWT service .well-known endpoints in self-hosting.md by @fkwp in #3136
  • Expose version string in embedded SwiftPM and AAR by @hughns in #3144
  • Use correct rageshake URL when running in embedded package + tests by @hughns in #3132
  • Localazy Download by @RiotRobot in #3152
  • Update dependency vite to v6.2.4 [SECURITY] by @renovate in #3151
  • Test: End to end integrated test for ElementCall in widget mode by @BillCarsonFr in #3123
  • Fix lint and playwright errors caused by matrix-js-sdk/src import by @toger5 in #3164
  • Widget: Add missing to device permission for encryption keys by @BillCarsonFr in #3163
  • Add simple release note automation by @toger5 in #3145
  • Pin dependencies by @renovate in #3153
  • Add yarn scripts for disabling/enabling .links.yaml by @toger5 in #3168
  • Default vite config to support using local build of crypto wasm by @BillCarsonFr in #3038
  • Update dependency vite to v6.2.5 [SECURITY] by @renovate in #3169
  • Add yarn and bundled element call renovate group. by @toger5 in #3173
  • Update readme by @fkwp in #3165
  • Update dependency livekit-client to v2.10.0 by @renovate in #3175
  • Update self-hosting.md docs formatting by @HarHarLinks in #3178
  • Localazy Download by @RiotRobot in #3180
  • Update dependency livekit-client to v2.11.0 by @renovate in #3181
  • Update dependency livekit-client to v2.11.1 by @renovate in #3183
  • Update self-hosting.md by @fkwp in #3179
  • Add option to enable to-device-encryption by @toger5 in #3167
  • Update dependency livekit-client to v2.11.2 by @renovate in #3189
  • Fix Docker image tag in release notes by @AndrewFerr in #3190
  • Add RoomAndToDeviceKeyTransport by @toger5 in #3185

New Contributors

Full Changelog: v0.9.0-rc.1...v0.10.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.10.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.10.0-rc.1'
}

SwiftPM

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

v0.9.0

28 Mar 12:33
4644fc8

Choose a tag to compare

What's Changed

Highlights

  • Element Call is now available as two packages: "full" and "embedded"
    • Full package is the same as what was previously published: docker image + tarball
    • Embedded package is to allow Element Call to be distributed as part of a Matrix Client supporting Web (NPM), Android (AAR) and iOS (SwiftPM) platforms
  • Documentation improvements
  • Improvements to error handling including:
    • participant limit imposed by a LiveKit SFU
    • failure to get JWT token
  • End-to-end integration tests using Playwright

Changes

Documentation

  • Separate widget-only URL parameters in the documentation by @hughns in #3088
  • Refactor README.md by @fkwp in #3059
  • README.md add information about rc_delayed_event_mgmt by @fkwp in #3026
  • Update readme with new Element Call screenshot by @fkwp in #3099
  • deleted old demo.jpg by @fkwp in #3104

Other

  • Expose setLKLogLevel to window for debugging. by @toger5 in #3064
  • Cache calls to removeHiddenChars() to fix performance bottleneck in Safari by @hughns in #3066
  • Use fetch() in a way that works for file URLs by @hughns in #3071
  • Pin matrix-js-sdk to a specific commit by @robintown in #3080
  • Fix typing on config: EULA is optional as it has a default by @hughns in #3074
  • Vite embedded build of Element Call by @hughns in #3077
  • refactor: Centralize group call errors in custom GroupCallErrorBoundary by @BillCarsonFr in #3058
  • Error: use a close button instead of go to home when in widget mode by @BillCarsonFr in #3063
  • Fix: js-sdk version that uses expected value for isJoined (isJoined will now be false before we left as expected by EC) by @toger5 in #3092
  • First integration tests with playwright by @BillCarsonFr in #3091
  • Integration Test: Add test for register, login, logout and guest create and join call by @BillCarsonFr in #3096
  • Integration Test: Add test for register, login, logout and guest create and join call by @BillCarsonFr in #3097
  • Keep rate limits for dev backend, disable only for playwright tests by @BillCarsonFr in #3098
  • Eslint: Ensure playwright files are checked by eslint by @BillCarsonFr in #3101
  • Downgrade to livekit-client v2.9.1 by @robintown in #3109
  • Show "insufficient capacity" when hitting participant limits by @robintown in #3110
  • Run the 'prevent blocked' workflow even if PR has conflicts by @robintown in #3112
  • Error management: Handle fail to get JWT token by @BillCarsonFr in #3076
  • Move all tests into one workflow, give them clear names by @robintown in #3111
  • Publish embedded package for releases of Element Call by @hughns in #3086
  • Analytics configuration is the responsibility of the host application when running in widget mode by @hughns in #3089
  • Fix join errors mistakenly showing a generic error screen by @robintown in #3119
  • Fix compilation error when trying to use SwiftPM embedded package by @hughns in #3127
  • Use correct rageshake URL when running in embedded package by @hughns in #3133

Full Changelog: v0.8.0...v0.9.0

No changes since v0.9.0-rc.4: v0.9.0-rc.4...v0.9.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.9.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.9.0'
}

SwiftPM

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

v0.9.0-rc.4

26 Mar 11:22
4644fc8

Choose a tag to compare

v0.9.0-rc.4 Pre-release
Pre-release

What's Changed since rc.3

  • Backport: Use correct rageshake URL when running in embedded package by @hughns in #3133

Full Changelog: v0.9.0-rc.3...v0.9.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:0.9.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.9.0-rc.4'
}

SwiftPM

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

v0.9.0-rc.3

25 Mar 14:32
82ecd9d

Choose a tag to compare

v0.9.0-rc.3 Pre-release
Pre-release

What's Changed since rc.2

  • Backport: Fix compilation error when trying to use SwiftPM embedded package by @hughns in #3127

Full Changelog: v0.9.0-rc.2...v0.9.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:0.9.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.9.0-rc.3'
}

SwiftPM

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

v0.9.0-rc.2

21 Mar 21:36
3a60cec

Choose a tag to compare

v0.9.0-rc.2 Pre-release
Pre-release

What's Changed since rc.1

  • Backport: Fix join errors mistakenly showing a generic error screen by @robintown in #3119

Full Changelog: v0.9.0-rc.1...v0.9.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:0.9.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.9.0-rc.2'
}

SwiftPM

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

v0.9.0-rc.1

21 Mar 11:51
6043b39

Choose a tag to compare

v0.9.0-rc.1 Pre-release
Pre-release

What's Changed

This is the first release candidate of v0.9.0.

Highlights

  • Element Call is now available as two packages: "full" and "embedded"
    • Full package is the same as what was previously published: docker image + tarball
    • Embedded package is to allow Element Call to be distributed as part of a Matrix Client supporting Web (NPM), Android (AAR) and iOS (SwiftPM) platforms
  • Documentation improvements
  • Improvements to error handling including:
  • participant limit imposed by a LiveKit SFU
  • failure to get JWT token
  • End-to-end integration tests using Playwright

Changes

  • Refactor README.md by @fkwp in #3059
  • Use fetch() in a way that works for file URLs by @hughns in #3071
  • Localazy Download by @RiotRobot in #3078
  • Fix typing on config: EULA is optional as it has a default by @hughns in #3074
  • Vite embedded build of Element Call by @hughns in #3077
  • refactor: Centralize group call errors in custom GroupCallErrorBoundary by @BillCarsonFr in #3058
  • Separate widget-only URL parameters in the documentation by @hughns in #3088
  • First integration tests with playwright by @BillCarsonFr in #3091
  • README.md add information about rc_delayed_event_mgmt by @fkwp in #3026
  • Integration Test: Add test for register, login, logout and guest create and join call by @BillCarsonFr in #3096
  • Integration Test: Add test for register, login, logout and guest create and join call by @BillCarsonFr in #3097
  • Keep rate limits for dev backend, disable only for playwright tests by @BillCarsonFr in #3098
  • Update readme with new Element Call screenshot by @fkwp in #3099
  • Eslint: Ensure playwright files are checked by eslint by @BillCarsonFr in #3101
  • deleted old demo.jpg by @fkwp in #3104
  • Show "insufficient capacity" when hitting participant limits by @robintown in #3110
  • Run the 'prevent blocked' workflow even if PR has conflicts by @robintown in #3112
  • Error management: Handle fail to get JWT token by @BillCarsonFr in #3076
  • Move all tests into one workflow, give them clear names by @robintown in #3111
  • Publish embedded package for releases of Element Call by @hughns in #3086
  • Analytics configuration is the responsibility of the host application when running in widget mode by @hughns in #3089

Full Changelog: v0.8.0...v0.9.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:0.9.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.9.0-rc.1'
}

SwiftPM

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

v0.8.0

21 Mar 11:26
a2df8fa

Choose a tag to compare

What's Changed

Highlights

This release brings a major architectural shift: call participation and video tiles now rely onΒ MatrixRTC membershipΒ instead of theΒ LiveKit room state. This marks the final step toward enablingΒ to-device media key exchange. To support this change, we introduced a newΒ MembershipManager, ensuring RTC membership is accurately handled across all scenarios.

Additionally this release includes various usability improvements.

Key updates:

  • Implement the newΒ MatrixRTCSession MembershipManager
  • Base (call participation) video tiles onΒ MatrixRTC membershipΒ rather than LiveKit participants (a prerequisite for to-device E2EE key distribution)
  • Improve UX by making on-screen tile selection and arrangement more stable
  • Add sound effects for call exits and screen share activation
  • Introduce aΒ wave/hello reactionΒ πŸ‘‹
  • Ensure new devicesΒ don't start unmuted by default
  • RememberΒ previous mute statesΒ when devices disconnect and reconnect
  • Begin handling errors more gracefully, including:
    • SFU capacity limits
    • Missing MatrixRTC backend in a Matrix site deployment
  • Enhancements in widget mode:
    • Adapt toΒ theme changes during a call
    • Hide the header
    • On Failure: leave session and show relevant error
    • Introduce a "close" action when the widget is ready to shut down (allowing error messages to be displayed and benefiting other widgets)
  • Notify users when their camera is initializing in theΒ Lobby
  • Authenticate media requests when loadingΒ avatars

Changes

  • Upgrade js-sdk to develop with MSC4222 state_after support by @hughns in #2841
  • Mute state improvements including muting if skipLobby=true in SPA (Same as #2834) by @toger5 in #2846
  • Fix wrong hand raise margins in pip tile. by @toger5 in #2840
  • Fix Cache-Control header for docker images by @hughns in #2847
  • Bump js-sdk (key after leave fix) by @toger5 in #2850
  • Use light background by @toger5 in #2851
  • Add sound effect for call joined / left by @Half-Shot in #2794
  • Show hostname in developer settings by @hughns in #2857
  • Add a lower limit to duplicate tiles. by @Half-Shot in #2854
  • add information about MSC4222 state_after by @fkwp in #2864
  • Rename en-GB language to en by @hughns in #2866
  • Use a consistent background colour for video tiles and avatars by @hughns in #2868
  • Make video tiles be based on MatrixRTC member not LiveKit participants by @toger5 in #2701
  • Localazy Download by @RiotRobot in #2877
  • Use specific Node.js version (22) instead of latest LTS by @hughns in #2879
  • Authenticate media requests when loading avatars by @Half-Shot in #2856
  • Ensure call sound effects are played over the correct sink by @Half-Shot in #2863
  • Configure sentry integration for netlify PR previews by @hughns in #2884
  • Update dependency vite to v6 by @renovate in #2853
  • Add missing full stops from end of settings descriptions by @hughns in #2883
  • Ignore URL params where they are not applicable for the mode (widget vs SPA) by @hughns in #2882
  • Check for parentUrl when deciding whether a SPA specific url parameter should be ignored by @hughns in #2881
  • Enable @typescript-eslint/consistent-type-imports lint rule by @hughns in #2886
  • Simplify settings tabs by @hughns in #2875
  • Add some quick-and-dirty debug info for TileStore by @robintown in #2887
  • Rename developerSettingsTab to developerMode for consistency by @hughns in #2889
  • Add support for playing a sound when the user exits a call. by @Half-Shot in #2860
  • Clean up useMuteStates test by @hughns in #2891
  • Refactor preferences tab strings for consistency by @hughns in #2888
  • Bump matrix-js-sdk by @hughns in #2897
  • Determine which tiles are on screen in a more stable manner by @robintown in #2894
  • Developer setting to show LiveKit participants that do not have MatrixRTC sessions a.k.a. non-member tiles by @hughns in #2771
  • Wait for .well-known/matrix/client to load before determining MatrixRTC foci by @hughns in #2901
  • Localazy Download by @RiotRobot in #2898
  • Revert "Wait for .well-known/matrix/client to load before determining MatrixRTC foci" by @toger5 in #2902
  • Skip some redundant updates to the grid and spotlight by @robintown in #2899
  • Support selection of audio output device when using Firefox by @robintown in #2816
  • Use finnish notation for observables by @hughns in #2905
  • Use afterEach from vitest for consistency by @hughns in #2908
  • Use AutoDiscovery.getRawClientConfig() instead of MatrixClient.getClientWellKnown() and wait for result by @hughns in #2906
  • Bump matrix-js-sdk for bundle improvements by @hughns in #2911
  • Introduce intent URL param and make it change the default lobby behaviour by @hughns in #2828
  • Inform user that their camera is starting in Lobby by @hughns in #2869
  • Fix loading of matrix-sdk-crypto-wasm when running in local development mode by @hughns in #2915
  • Add screen share sound effect. by @Half-Shot in #2917
  • Refactor reactions / hand raised to use rxjs and start ordering tiles based on hand raised. by @Half-Shot in #2885
  • Update dependency @livekit/components-react to v2.6.10 by @renovate in #2920
  • Update LiveKit components by @renovate in #2923
  • Add developer mode option to show RTC connection statistics by @hughns in #2904
  • Update dependency @vector-im/compound-design-tokens to v3 by @renovate in #2896
  • Upgrade to React Router v6 by @sandhose in #2919
  • Update dependency i18next to v24 by @renovate in #2822
  • Remove unnecessary dependency on @testing-library/react-hooks by @hughns in #2926
  • Use documented @sentry/vite-plugin config options by @hughns in #2925
  • Update dependency @vector-im/compound-web to v7.6.2 by @renovate in #2932
  • Update codecov/codecov-action action to v5 by @renovate in #2933
  • Update docker/build-push-action action to v6.11.0 by @renovate in #2936
  • Set the document title to the current call name. by @Half-Shot in #2928
  • Add wave/hello reaction by @davidegirardi in #2921
  • React to theme changes in widget mode by @robintown in #2910
  • Update dependency global-jsdom to v26 by @renovate in #2941
  • Update dependency jsdom to v26 by @renovate in #2938
  • Type fixes for react v19 compatibility by @hughns in #2937
  • Update GitHub Actions by @renovate in #2945
  • Use correct Sentry entrypoints for react router v7 by @hughns in #2943
  • Disambiguate displaynames by @Half-Shot in #2918
  • Bump matrix-js-sdk to latest by @hughns in #2946
  • Fix displayname calculation around RTL / unhomoglyth. by @Half-Shot in #2953
  • Update dependency @sentry/vite-plugin to v3 by @renovate in #2950
  • Update vitest mo...
Read more

v0.8.0-rc.4

18 Mar 15:54
a2df8fa

Choose a tag to compare

v0.8.0-rc.4 Pre-release
Pre-release

What's Changed since rc.3

  • Rename built artifact name on v0.8.0 release branch for compatibility with Netlify PR preview by @hughns in #3108
  • Downgrade to livekit client v2.9.1 by @hughns in #3106

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