v21.2.0
✨ Features
- Make calls go back to 'connecting' state when media lost (#2880).
- Add ability to send unthreaded receipt (#2878).
- Add way to abort search requests (#2877).
- sliding sync: add custom room subscriptions support (#2834).
- webrtc: add advanced audio settings (#2434). Contributed by @MrAnno.
- Add support for group calls using MSC3401 (#2553).
- Make the js-sdk conform to tsc --strict (#2835). Fixes #2112 #2116 and #2124.
- Let leave requests outlive the window (#2815). Fixes element-hq/element-call#639.
- Add event and message capabilities to RoomWidgetClient (#2797).
- Misc fixes for group call widgets (#2657).
- Support nested Matrix clients via the widget API (#2473).
- Set max average bitrate on PTT calls (#2499). Fixes element-hq/element-call#440.
- Add config option for e2e group call signalling (#2492).
- Enable DTX on audio tracks in calls (#2482).
- Don't ignore call member events with a distant future expiration date (#2466).
- Expire call member state events after 1 hour (#2446).
- Emit unknown device errors for group call participants without e2e (#2447).
- Mute disconnected peers in PTT mode (#2421).
- Add support for sending encrypted to-device events with OLM (#2322). Contributed by @robertlong.
- Support for PTT group call mode (#2338).
🐛 Bug Fixes
- Fix registration add phone number not working (#2876). Contributed by @bagvand.
- Use an underride rule for Element Call notifications (#2873). Fixes element-hq/element-web#23691.
- Fixes unwanted highlight notifications with encrypted threads (#2862).
- Extra insurance that we don't mix events in the wrong timelines - v2 (#2856). Contributed by @MadLittleMods.
- Hide pending events in thread timelines (#2843). Fixes element-hq/element-web#23684.
- Fix pagination token tracking for mixed room timelines (#2855). Fixes element-hq/element-web#23695.
- Extra insurance that we don't mix events in the wrong timelines (#2848). Contributed by @MadLittleMods.
- Do not freeze state in
initialiseState()
(#2846). - Don't remove our own member for a split second when entering a call (#2844).
- Resolve races between
initLocalCallFeed
andleave
(#2826). - Add throwOnFail to groupCall.setScreensharingEnabled (#2787).
- Fix connectivity regressions (#2780).
- Fix screenshare failing after several attempts (#2771). Fixes element-hq/element-call#625.
- Don't block muting/unmuting on network requests (#2754). Fixes element-hq/element-call#592.
- Fix ICE restarts (#2702).
- Target widget actions at a specific room (#2670).
- Add tests for ice candidate sending (#2674).
- Prevent exception when muting (#2667). Fixes element-hq/element-call#578.
- Fix race in creating calls (#2662).
- Add client.waitUntilRoomReadyForGroupCalls() (#2641).
- Wait for client to start syncing before making group calls (#2632). Fixes #2589.
- Add GroupCallEventHandlerEvent.Room (#2631).
- Add missing events from reemitter to GroupCall (#2527). Contributed by @toger5.
- Prevent double mute status changed events (#2502).
- Don't mute the remote side immediately in PTT calls (#2487). Fixes element-hq/element-call#425.
- Fix some MatrixCall leaks and use a shared AudioContext (#2484). Fixes element-hq/element-call#412.
- Don't block muting on determining whether the device exists (#2461).
- Only clone streams on Safari (#2450). Fixes element-hq/element-call#267.
- Set PTT mode on call correctly (#2445). Fixes element-hq/element-call#382.
- Wait for mute event to send in PTT mode (#2401).
- Handle other members having no e2e keys (#2383). Fixes element-hq/element-call#338.
- Fix races when muting/unmuting (#2370).