v0.13.0
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
- Audio device controls for mobile native audio device selection by @toger5 in #3270
- Mute camera in earpiece mode by @toger5 in #3351
- Earpiece switcher and overlay by @robintown in #3347
🙌 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
🐛 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
- Reset to develop branch of matrix-js-sdk by @robintown in #3285
- Update dependency livekit-client to v2.13.1 by @renovate in #3292
- Update all non-major dependencies by @renovate in #3186
- Update LiveKit components by @renovate in #3172
- Update dependency @vector-im/compound-design-tokens to v4 by @renovate in #3036
- Update dependency vite to v6.2.7 [SECURITY] by @renovate in #3301
- Update all non-major dependencies by @renovate in #3305
- Update dependency @vector-im/compound-design-tokens to v4.0.3 by @renovate in #3306
- Update dependency @livekit/components-react to v2.9.9 by @renovate in #3307
- Update embedded package dependencies by @renovate in #3304
- Update react monorepo to v19 (major) by @renovate in #2874
- Update dependency livekit-client to v2.13.4 by @renovate in #3327
- Update dependency @vector-im/compound-design-tokens to v4.0.4 by @renovate in #3338
- Update dependency livekit-client to v2.13.5 by @renovate in #3343
- Update dependency livekit-client to v2.13.6 by @renovate in #3348
- Update dependency livekit-client to v2.13.7 by @renovate in #3350
- Update dependency @livekit/components-react to v2.9.10 by @renovate in #3349
- Update dependency livekit-client to v2.13.8 by @renovate in #3352
- Update dependency @vector-im/compound-web to v8 by @renovate in #3355
- Update LiveKit components by @renovate in #3364
New Contributors
- @jmartinesp made their first contribution in #3313
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/[email protected]
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")