github element-hq/element-call v0.17.0

5 hours ago

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 implements everything required for Matrix 2.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

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

New Contributors

Full Changelog: v0.16.3...v0.17.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.17.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@

Android AAR

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

SwiftPM

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

Don't miss a new element-call release

NewReleases is sending notifications on new releases.