diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 609eb3842..962e2b36c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -32,9 +32,10 @@ jobs: ref: gh-pages - name: 🔪 Prepare + env: + GITHUB_REF_NAME: ${{ github.ref_name }} run: | - tag="${{ github.ref_name }}" - VERSION="${tag#v}" + VERSION="${GITHUB_REF_NAME#v}" [ ! -e "$VERSION" ] || rm -r $VERSION cp -r $RUNNER_TEMP/_docs/ $VERSION diff --git a/.prettierignore b/.prettierignore index 5a329d581..6d56d969f 100644 --- a/.prettierignore +++ b/.prettierignore @@ -21,3 +21,6 @@ out .vscode .vscode/ + +# This file is owned, parsed, and generated by allchange, which doesn't comply with prettier +/CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 6780d4b3d..e05be659e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,1676 +1,1654 @@ -# Changes in [22.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v22.0.0) (2022-12-06) +Changes in [23.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v23.0.0) (2022-12-21) +================================================================================================== ## 🚨 BREAKING CHANGES + * Process `m.room.encryption` events before emitting `RoomMember` events ([\#2914](https://github.com/matrix-org/matrix-js-sdk/pull/2914)). Fixes vector-im/element-web#23819. + * Don't expose `calls` on `GroupCall` ([\#2941](https://github.com/matrix-org/matrix-js-sdk/pull/2941)). -- Enable users to join group calls from multiple devices ([\#2902](https://github.com/matrix-org/matrix-js-sdk/pull/2902)). +## ✨ Features + * Support MSC3391: Account data deletion ([\#2967](https://github.com/matrix-org/matrix-js-sdk/pull/2967)). + * Add a message ID on each to-device message ([\#2938](https://github.com/matrix-org/matrix-js-sdk/pull/2938)). + * Enable multiple users' power levels to be set at once ([\#2892](https://github.com/matrix-org/matrix-js-sdk/pull/2892)). Contributed by @GoodGuyMarco. + * Include pending events in thread summary and count again ([\#2922](https://github.com/matrix-org/matrix-js-sdk/pull/2922)). Fixes vector-im/element-web#23642. + * Make GroupCall work better with widgets ([\#2935](https://github.com/matrix-org/matrix-js-sdk/pull/2935)). + * Add method to get outgoing room key requests for a given event ([\#2930](https://github.com/matrix-org/matrix-js-sdk/pull/2930)). + +## 🐛 Bug Fixes + * Fix messages loaded during initial fetch ending up out of order ([\#2971](https://github.com/matrix-org/matrix-js-sdk/pull/2971)). Fixes vector-im/element-web#23972. + * Fix #23919: Root message for new thread loaded from network ([\#2965](https://github.com/matrix-org/matrix-js-sdk/pull/2965)). Fixes vector-im/element-web#23919. + * Fix #23916: Prevent edits of the last message in a thread getting lost ([\#2951](https://github.com/matrix-org/matrix-js-sdk/pull/2951)). Fixes vector-im/element-web#23916 and vector-im/element-web#23942. + * Fix infinite loop when restoring cached read receipts ([\#2963](https://github.com/matrix-org/matrix-js-sdk/pull/2963)). Fixes vector-im/element-web#23951. + * Don't swallow errors coming from the shareSession call ([\#2962](https://github.com/matrix-org/matrix-js-sdk/pull/2962)). Fixes vector-im/element-web#23792. + * Make sure that MegolmEncryption.setupPromise always resolves ([\#2960](https://github.com/matrix-org/matrix-js-sdk/pull/2960)). + * Do not calculate highlight notifs for threads unknown to the room ([\#2957](https://github.com/matrix-org/matrix-js-sdk/pull/2957)). + * Cache read receipts for unknown threads ([\#2953](https://github.com/matrix-org/matrix-js-sdk/pull/2953)). + * bugfix: sliding sync initial room timelines shouldn't notify ([\#2933](https://github.com/matrix-org/matrix-js-sdk/pull/2933)). + * Redo key sharing after own device verification ([\#2921](https://github.com/matrix-org/matrix-js-sdk/pull/2921)). Fixes vector-im/element-web#23333. + * Move updated threads to the end of the thread list ([\#2923](https://github.com/matrix-org/matrix-js-sdk/pull/2923)). Fixes vector-im/element-web#23876. + * Fix highlight notifications increasing when total notification is zero ([\#2937](https://github.com/matrix-org/matrix-js-sdk/pull/2937)). Fixes vector-im/element-web#23885. + * Fix synthesizeReceipt ([\#2916](https://github.com/matrix-org/matrix-js-sdk/pull/2916)). Fixes vector-im/element-web#23827 vector-im/element-web#23754 and vector-im/element-web#23847. + +Changes in [22.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v22.0.0) (2022-12-06) +================================================================================================== + +## 🚨 BREAKING CHANGES + * Enable users to join group calls from multiple devices ([\#2902](https://github.com/matrix-org/matrix-js-sdk/pull/2902)). ## 🦖 Deprecations - -- Deprecate a function containing a typo ([\#2904](https://github.com/matrix-org/matrix-js-sdk/pull/2904)). + * Deprecate a function containing a typo ([\#2904](https://github.com/matrix-org/matrix-js-sdk/pull/2904)). ## ✨ Features - -- sliding sync: add receipts extension ([\#2912](https://github.com/matrix-org/matrix-js-sdk/pull/2912)). -- Define a spec support policy for the js-sdk ([\#2882](https://github.com/matrix-org/matrix-js-sdk/pull/2882)). -- Further improvements to e2ee logging ([\#2900](https://github.com/matrix-org/matrix-js-sdk/pull/2900)). -- sliding sync: add support for typing extension ([\#2893](https://github.com/matrix-org/matrix-js-sdk/pull/2893)). -- Improve logging on Olm session errors ([\#2885](https://github.com/matrix-org/matrix-js-sdk/pull/2885)). -- Improve logging of e2ee messages ([\#2884](https://github.com/matrix-org/matrix-js-sdk/pull/2884)). + * sliding sync: add receipts extension ([\#2912](https://github.com/matrix-org/matrix-js-sdk/pull/2912)). + * Define a spec support policy for the js-sdk ([\#2882](https://github.com/matrix-org/matrix-js-sdk/pull/2882)). + * Further improvements to e2ee logging ([\#2900](https://github.com/matrix-org/matrix-js-sdk/pull/2900)). + * sliding sync: add support for typing extension ([\#2893](https://github.com/matrix-org/matrix-js-sdk/pull/2893)). + * Improve logging on Olm session errors ([\#2885](https://github.com/matrix-org/matrix-js-sdk/pull/2885)). + * Improve logging of e2ee messages ([\#2884](https://github.com/matrix-org/matrix-js-sdk/pull/2884)). ## 🐛 Bug Fixes + * Fix 3pid invite acceptance not working due to mxid being sent in body ([\#2907](https://github.com/matrix-org/matrix-js-sdk/pull/2907)). Fixes vector-im/element-web#23823. + * Don't hang up calls that haven't started yet ([\#2898](https://github.com/matrix-org/matrix-js-sdk/pull/2898)). + * Read receipt accumulation for threads ([\#2881](https://github.com/matrix-org/matrix-js-sdk/pull/2881)). + * Make GroupCall work better with widgets ([\#2935](https://github.com/matrix-org/matrix-js-sdk/pull/2935)). + * Fix highlight notifications increasing when total notification is zero ([\#2937](https://github.com/matrix-org/matrix-js-sdk/pull/2937)). Fixes vector-im/element-web#23885. + * Fix synthesizeReceipt ([\#2916](https://github.com/matrix-org/matrix-js-sdk/pull/2916)). Fixes vector-im/element-web#23827 vector-im/element-web#23754 and vector-im/element-web#23847. -- Fix 3pid invite acceptance not working due to mxid being sent in body ([\#2907](https://github.com/matrix-org/matrix-js-sdk/pull/2907)). Fixes vector-im/element-web#23823. -- Don't hang up calls that haven't started yet ([\#2898](https://github.com/matrix-org/matrix-js-sdk/pull/2898)). -- Read receipt accumulation for threads ([\#2881](https://github.com/matrix-org/matrix-js-sdk/pull/2881)). -- Make GroupCall work better with widgets ([\#2935](https://github.com/matrix-org/matrix-js-sdk/pull/2935)). -- Fix highlight notifications increasing when total notification is zero ([\#2937](https://github.com/matrix-org/matrix-js-sdk/pull/2937)). Fixes vector-im/element-web#23885. -- Fix synthesizeReceipt ([\#2916](https://github.com/matrix-org/matrix-js-sdk/pull/2916)). Fixes vector-im/element-web#23827 vector-im/element-web#23754 and vector-im/element-web#23847. - -# Changes in [21.2.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v21.2.0) (2022-11-22) +Changes in [21.2.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v21.2.0) (2022-11-22) +================================================================================================== ## ✨ Features - -- Make calls go back to 'connecting' state when media lost ([\#2880](https://github.com/matrix-org/matrix-js-sdk/pull/2880)). -- Add ability to send unthreaded receipt ([\#2878](https://github.com/matrix-org/matrix-js-sdk/pull/2878)). -- Add way to abort search requests ([\#2877](https://github.com/matrix-org/matrix-js-sdk/pull/2877)). -- sliding sync: add custom room subscriptions support ([\#2834](https://github.com/matrix-org/matrix-js-sdk/pull/2834)). -- webrtc: add advanced audio settings ([\#2434](https://github.com/matrix-org/matrix-js-sdk/pull/2434)). Contributed by @MrAnno. -- Add support for group calls using MSC3401 ([\#2553](https://github.com/matrix-org/matrix-js-sdk/pull/2553)). -- Make the js-sdk conform to tsc --strict ([\#2835](https://github.com/matrix-org/matrix-js-sdk/pull/2835)). Fixes #2112 #2116 and #2124. -- Let leave requests outlive the window ([\#2815](https://github.com/matrix-org/matrix-js-sdk/pull/2815)). Fixes vector-im/element-call#639. -- Add event and message capabilities to RoomWidgetClient ([\#2797](https://github.com/matrix-org/matrix-js-sdk/pull/2797)). -- Misc fixes for group call widgets ([\#2657](https://github.com/matrix-org/matrix-js-sdk/pull/2657)). -- Support nested Matrix clients via the widget API ([\#2473](https://github.com/matrix-org/matrix-js-sdk/pull/2473)). -- Set max average bitrate on PTT calls ([\#2499](https://github.com/matrix-org/matrix-js-sdk/pull/2499)). Fixes vector-im/element-call#440. -- Add config option for e2e group call signalling ([\#2492](https://github.com/matrix-org/matrix-js-sdk/pull/2492)). -- Enable DTX on audio tracks in calls ([\#2482](https://github.com/matrix-org/matrix-js-sdk/pull/2482)). -- Don't ignore call member events with a distant future expiration date ([\#2466](https://github.com/matrix-org/matrix-js-sdk/pull/2466)). -- Expire call member state events after 1 hour ([\#2446](https://github.com/matrix-org/matrix-js-sdk/pull/2446)). -- Emit unknown device errors for group call participants without e2e ([\#2447](https://github.com/matrix-org/matrix-js-sdk/pull/2447)). -- Mute disconnected peers in PTT mode ([\#2421](https://github.com/matrix-org/matrix-js-sdk/pull/2421)). -- Add support for sending encrypted to-device events with OLM ([\#2322](https://github.com/matrix-org/matrix-js-sdk/pull/2322)). Contributed by @robertlong. -- Support for PTT group call mode ([\#2338](https://github.com/matrix-org/matrix-js-sdk/pull/2338)). + * Make calls go back to 'connecting' state when media lost ([\#2880](https://github.com/matrix-org/matrix-js-sdk/pull/2880)). + * Add ability to send unthreaded receipt ([\#2878](https://github.com/matrix-org/matrix-js-sdk/pull/2878)). + * Add way to abort search requests ([\#2877](https://github.com/matrix-org/matrix-js-sdk/pull/2877)). + * sliding sync: add custom room subscriptions support ([\#2834](https://github.com/matrix-org/matrix-js-sdk/pull/2834)). + * webrtc: add advanced audio settings ([\#2434](https://github.com/matrix-org/matrix-js-sdk/pull/2434)). Contributed by @MrAnno. + * Add support for group calls using MSC3401 ([\#2553](https://github.com/matrix-org/matrix-js-sdk/pull/2553)). + * Make the js-sdk conform to tsc --strict ([\#2835](https://github.com/matrix-org/matrix-js-sdk/pull/2835)). Fixes #2112 #2116 and #2124. + * Let leave requests outlive the window ([\#2815](https://github.com/matrix-org/matrix-js-sdk/pull/2815)). Fixes vector-im/element-call#639. + * Add event and message capabilities to RoomWidgetClient ([\#2797](https://github.com/matrix-org/matrix-js-sdk/pull/2797)). + * Misc fixes for group call widgets ([\#2657](https://github.com/matrix-org/matrix-js-sdk/pull/2657)). + * Support nested Matrix clients via the widget API ([\#2473](https://github.com/matrix-org/matrix-js-sdk/pull/2473)). + * Set max average bitrate on PTT calls ([\#2499](https://github.com/matrix-org/matrix-js-sdk/pull/2499)). Fixes vector-im/element-call#440. + * Add config option for e2e group call signalling ([\#2492](https://github.com/matrix-org/matrix-js-sdk/pull/2492)). + * Enable DTX on audio tracks in calls ([\#2482](https://github.com/matrix-org/matrix-js-sdk/pull/2482)). + * Don't ignore call member events with a distant future expiration date ([\#2466](https://github.com/matrix-org/matrix-js-sdk/pull/2466)). + * Expire call member state events after 1 hour ([\#2446](https://github.com/matrix-org/matrix-js-sdk/pull/2446)). + * Emit unknown device errors for group call participants without e2e ([\#2447](https://github.com/matrix-org/matrix-js-sdk/pull/2447)). + * Mute disconnected peers in PTT mode ([\#2421](https://github.com/matrix-org/matrix-js-sdk/pull/2421)). + * Add support for sending encrypted to-device events with OLM ([\#2322](https://github.com/matrix-org/matrix-js-sdk/pull/2322)). Contributed by @robertlong. + * Support for PTT group call mode ([\#2338](https://github.com/matrix-org/matrix-js-sdk/pull/2338)). ## 🐛 Bug Fixes + * Fix registration add phone number not working ([\#2876](https://github.com/matrix-org/matrix-js-sdk/pull/2876)). Contributed by @bagvand. + * Use an underride rule for Element Call notifications ([\#2873](https://github.com/matrix-org/matrix-js-sdk/pull/2873)). Fixes vector-im/element-web#23691. + * Fixes unwanted highlight notifications with encrypted threads ([\#2862](https://github.com/matrix-org/matrix-js-sdk/pull/2862)). + * Extra insurance that we don't mix events in the wrong timelines - v2 ([\#2856](https://github.com/matrix-org/matrix-js-sdk/pull/2856)). Contributed by @MadLittleMods. + * Hide pending events in thread timelines ([\#2843](https://github.com/matrix-org/matrix-js-sdk/pull/2843)). Fixes vector-im/element-web#23684. + * Fix pagination token tracking for mixed room timelines ([\#2855](https://github.com/matrix-org/matrix-js-sdk/pull/2855)). Fixes vector-im/element-web#23695. + * Extra insurance that we don't mix events in the wrong timelines ([\#2848](https://github.com/matrix-org/matrix-js-sdk/pull/2848)). Contributed by @MadLittleMods. + * Do not freeze state in `initialiseState()` ([\#2846](https://github.com/matrix-org/matrix-js-sdk/pull/2846)). + * Don't remove our own member for a split second when entering a call ([\#2844](https://github.com/matrix-org/matrix-js-sdk/pull/2844)). + * Resolve races between `initLocalCallFeed` and `leave` ([\#2826](https://github.com/matrix-org/matrix-js-sdk/pull/2826)). + * Add throwOnFail to groupCall.setScreensharingEnabled ([\#2787](https://github.com/matrix-org/matrix-js-sdk/pull/2787)). + * Fix connectivity regressions ([\#2780](https://github.com/matrix-org/matrix-js-sdk/pull/2780)). + * Fix screenshare failing after several attempts ([\#2771](https://github.com/matrix-org/matrix-js-sdk/pull/2771)). Fixes vector-im/element-call#625. + * Don't block muting/unmuting on network requests ([\#2754](https://github.com/matrix-org/matrix-js-sdk/pull/2754)). Fixes vector-im/element-call#592. + * Fix ICE restarts ([\#2702](https://github.com/matrix-org/matrix-js-sdk/pull/2702)). + * Target widget actions at a specific room ([\#2670](https://github.com/matrix-org/matrix-js-sdk/pull/2670)). + * Add tests for ice candidate sending ([\#2674](https://github.com/matrix-org/matrix-js-sdk/pull/2674)). + * Prevent exception when muting ([\#2667](https://github.com/matrix-org/matrix-js-sdk/pull/2667)). Fixes vector-im/element-call#578. + * Fix race in creating calls ([\#2662](https://github.com/matrix-org/matrix-js-sdk/pull/2662)). + * Add client.waitUntilRoomReadyForGroupCalls() ([\#2641](https://github.com/matrix-org/matrix-js-sdk/pull/2641)). + * Wait for client to start syncing before making group calls ([\#2632](https://github.com/matrix-org/matrix-js-sdk/pull/2632)). Fixes #2589. + * Add GroupCallEventHandlerEvent.Room ([\#2631](https://github.com/matrix-org/matrix-js-sdk/pull/2631)). + * Add missing events from reemitter to GroupCall ([\#2527](https://github.com/matrix-org/matrix-js-sdk/pull/2527)). Contributed by @toger5. + * Prevent double mute status changed events ([\#2502](https://github.com/matrix-org/matrix-js-sdk/pull/2502)). + * Don't mute the remote side immediately in PTT calls ([\#2487](https://github.com/matrix-org/matrix-js-sdk/pull/2487)). Fixes vector-im/element-call#425. + * Fix some MatrixCall leaks and use a shared AudioContext ([\#2484](https://github.com/matrix-org/matrix-js-sdk/pull/2484)). Fixes vector-im/element-call#412. + * Don't block muting on determining whether the device exists ([\#2461](https://github.com/matrix-org/matrix-js-sdk/pull/2461)). + * Only clone streams on Safari ([\#2450](https://github.com/matrix-org/matrix-js-sdk/pull/2450)). Fixes vector-im/element-call#267. + * Set PTT mode on call correctly ([\#2445](https://github.com/matrix-org/matrix-js-sdk/pull/2445)). Fixes vector-im/element-call#382. + * Wait for mute event to send in PTT mode ([\#2401](https://github.com/matrix-org/matrix-js-sdk/pull/2401)). + * Handle other members having no e2e keys ([\#2383](https://github.com/matrix-org/matrix-js-sdk/pull/2383)). Fixes vector-im/element-call#338. + * Fix races when muting/unmuting ([\#2370](https://github.com/matrix-org/matrix-js-sdk/pull/2370)). -- Fix registration add phone number not working ([\#2876](https://github.com/matrix-org/matrix-js-sdk/pull/2876)). Contributed by @bagvand. -- Use an underride rule for Element Call notifications ([\#2873](https://github.com/matrix-org/matrix-js-sdk/pull/2873)). Fixes vector-im/element-web#23691. -- Fixes unwanted highlight notifications with encrypted threads ([\#2862](https://github.com/matrix-org/matrix-js-sdk/pull/2862)). -- Extra insurance that we don't mix events in the wrong timelines - v2 ([\#2856](https://github.com/matrix-org/matrix-js-sdk/pull/2856)). Contributed by @MadLittleMods. -- Hide pending events in thread timelines ([\#2843](https://github.com/matrix-org/matrix-js-sdk/pull/2843)). Fixes vector-im/element-web#23684. -- Fix pagination token tracking for mixed room timelines ([\#2855](https://github.com/matrix-org/matrix-js-sdk/pull/2855)). Fixes vector-im/element-web#23695. -- Extra insurance that we don't mix events in the wrong timelines ([\#2848](https://github.com/matrix-org/matrix-js-sdk/pull/2848)). Contributed by @MadLittleMods. -- Do not freeze state in `initialiseState()` ([\#2846](https://github.com/matrix-org/matrix-js-sdk/pull/2846)). -- Don't remove our own member for a split second when entering a call ([\#2844](https://github.com/matrix-org/matrix-js-sdk/pull/2844)). -- Resolve races between `initLocalCallFeed` and `leave` ([\#2826](https://github.com/matrix-org/matrix-js-sdk/pull/2826)). -- Add throwOnFail to groupCall.setScreensharingEnabled ([\#2787](https://github.com/matrix-org/matrix-js-sdk/pull/2787)). -- Fix connectivity regressions ([\#2780](https://github.com/matrix-org/matrix-js-sdk/pull/2780)). -- Fix screenshare failing after several attempts ([\#2771](https://github.com/matrix-org/matrix-js-sdk/pull/2771)). Fixes vector-im/element-call#625. -- Don't block muting/unmuting on network requests ([\#2754](https://github.com/matrix-org/matrix-js-sdk/pull/2754)). Fixes vector-im/element-call#592. -- Fix ICE restarts ([\#2702](https://github.com/matrix-org/matrix-js-sdk/pull/2702)). -- Target widget actions at a specific room ([\#2670](https://github.com/matrix-org/matrix-js-sdk/pull/2670)). -- Add tests for ice candidate sending ([\#2674](https://github.com/matrix-org/matrix-js-sdk/pull/2674)). -- Prevent exception when muting ([\#2667](https://github.com/matrix-org/matrix-js-sdk/pull/2667)). Fixes vector-im/element-call#578. -- Fix race in creating calls ([\#2662](https://github.com/matrix-org/matrix-js-sdk/pull/2662)). -- Add client.waitUntilRoomReadyForGroupCalls() ([\#2641](https://github.com/matrix-org/matrix-js-sdk/pull/2641)). -- Wait for client to start syncing before making group calls ([\#2632](https://github.com/matrix-org/matrix-js-sdk/pull/2632)). Fixes #2589. -- Add GroupCallEventHandlerEvent.Room ([\#2631](https://github.com/matrix-org/matrix-js-sdk/pull/2631)). -- Add missing events from reemitter to GroupCall ([\#2527](https://github.com/matrix-org/matrix-js-sdk/pull/2527)). Contributed by @toger5. -- Prevent double mute status changed events ([\#2502](https://github.com/matrix-org/matrix-js-sdk/pull/2502)). -- Don't mute the remote side immediately in PTT calls ([\#2487](https://github.com/matrix-org/matrix-js-sdk/pull/2487)). Fixes vector-im/element-call#425. -- Fix some MatrixCall leaks and use a shared AudioContext ([\#2484](https://github.com/matrix-org/matrix-js-sdk/pull/2484)). Fixes vector-im/element-call#412. -- Don't block muting on determining whether the device exists ([\#2461](https://github.com/matrix-org/matrix-js-sdk/pull/2461)). -- Only clone streams on Safari ([\#2450](https://github.com/matrix-org/matrix-js-sdk/pull/2450)). Fixes vector-im/element-call#267. -- Set PTT mode on call correctly ([\#2445](https://github.com/matrix-org/matrix-js-sdk/pull/2445)). Fixes vector-im/element-call#382. -- Wait for mute event to send in PTT mode ([\#2401](https://github.com/matrix-org/matrix-js-sdk/pull/2401)). -- Handle other members having no e2e keys ([\#2383](https://github.com/matrix-org/matrix-js-sdk/pull/2383)). Fixes vector-im/element-call#338. -- Fix races when muting/unmuting ([\#2370](https://github.com/matrix-org/matrix-js-sdk/pull/2370)). - -# Changes in [21.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v21.1.0) (2022-11-08) +Changes in [21.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v21.1.0) (2022-11-08) +================================================================================================== ## ✨ Features - -- Loading threads with server-side assistance ([\#2735](https://github.com/matrix-org/matrix-js-sdk/pull/2735)). Contributed by @justjanne. -- Support sign in + E2EE set up using QR code implementing MSC3886, MSC3903 and MSC3906 ([\#2747](https://github.com/matrix-org/matrix-js-sdk/pull/2747)). Contributed by @hughns. + * Loading threads with server-side assistance ([\#2735](https://github.com/matrix-org/matrix-js-sdk/pull/2735)). Contributed by @justjanne. + * Support sign in + E2EE set up using QR code implementing MSC3886, MSC3903 and MSC3906 ([\#2747](https://github.com/matrix-org/matrix-js-sdk/pull/2747)). Contributed by @hughns. ## 🐛 Bug Fixes + * Replace `instanceof Array` with `Array.isArray` ([\#2812](https://github.com/matrix-org/matrix-js-sdk/pull/2812)). Fixes #2811. + * Emit UnreadNotification event on notifications reset ([\#2804](https://github.com/matrix-org/matrix-js-sdk/pull/2804)). Fixes vector-im/element-web#23590. + * Fix incorrect prevEv being sent in ClientEvent.AccountData events ([\#2794](https://github.com/matrix-org/matrix-js-sdk/pull/2794)). + * Fix build error caused by wrong ts-strict improvements ([\#2783](https://github.com/matrix-org/matrix-js-sdk/pull/2783)). Contributed by @justjanne. + * Encryption should not hinder verification ([\#2734](https://github.com/matrix-org/matrix-js-sdk/pull/2734)). -- Replace `instanceof Array` with `Array.isArray` ([\#2812](https://github.com/matrix-org/matrix-js-sdk/pull/2812)). Fixes #2811. -- Emit UnreadNotification event on notifications reset ([\#2804](https://github.com/matrix-org/matrix-js-sdk/pull/2804)). Fixes vector-im/element-web#23590. -- Fix incorrect prevEv being sent in ClientEvent.AccountData events ([\#2794](https://github.com/matrix-org/matrix-js-sdk/pull/2794)). -- Fix build error caused by wrong ts-strict improvements ([\#2783](https://github.com/matrix-org/matrix-js-sdk/pull/2783)). Contributed by @justjanne. -- Encryption should not hinder verification ([\#2734](https://github.com/matrix-org/matrix-js-sdk/pull/2734)). - -# Changes in [21.0.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v21.0.1) (2022-11-01) +Changes in [21.0.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v21.0.1) (2022-11-01) +================================================================================================== ## 🐛 Bug Fixes + * Fix default behavior of Room.getBlacklistUnverifiedDevices ([\#2830](https://github.com/matrix-org/matrix-js-sdk/pull/2830)). Contributed by @duxovni. + * Catch server versions API call exception when starting the client ([\#2828](https://github.com/matrix-org/matrix-js-sdk/pull/2828)). Fixes vector-im/element-web#23634. + * Fix authedRequest including `Authorization: Bearer undefined` for password resets ([\#2822](https://github.com/matrix-org/matrix-js-sdk/pull/2822)). Fixes vector-im/element-web#23655. -- Fix default behavior of Room.getBlacklistUnverifiedDevices ([\#2830](https://github.com/matrix-org/matrix-js-sdk/pull/2830)). Contributed by @duxovni. -- Catch server versions API call exception when starting the client ([\#2828](https://github.com/matrix-org/matrix-js-sdk/pull/2828)). Fixes vector-im/element-web#23634. -- Fix authedRequest including `Authorization: Bearer undefined` for password resets ([\#2822](https://github.com/matrix-org/matrix-js-sdk/pull/2822)). Fixes vector-im/element-web#23655. - -# Changes in [21.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v21.0.0) (2022-10-25) +Changes in [21.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v21.0.0) (2022-10-25) +================================================================================================== ## 🚨 BREAKING CHANGES - -- Changes the `uploadContent` API, kills off `request` and `browser-request` in favour of `fetch`, removed callback support on a lot of the methods, adds a lot of tests. ([\#2719](https://github.com/matrix-org/matrix-js-sdk/pull/2719)). Fixes #2415 and #801. -- Remove deprecated `m.room.aliases` references ([\#2759](https://github.com/matrix-org/matrix-js-sdk/pull/2759)). Fixes vector-im/element-web#12680. + * Changes the `uploadContent` API, kills off `request` and `browser-request` in favour of `fetch`, removed callback support on a lot of the methods, adds a lot of tests. ([\#2719](https://github.com/matrix-org/matrix-js-sdk/pull/2719)). Fixes #2415 and #801. + * Remove deprecated `m.room.aliases` references ([\#2759](https://github.com/matrix-org/matrix-js-sdk/pull/2759)). Fixes vector-im/element-web#12680. ## ✨ Features - -- Remove node-specific crypto bits, use Node 16's WebCrypto ([\#2762](https://github.com/matrix-org/matrix-js-sdk/pull/2762)). Fixes #2760. -- Export types for MatrixEvent and Room emitted events, and make event handler map types stricter ([\#2750](https://github.com/matrix-org/matrix-js-sdk/pull/2750)). Contributed by @stas-demydiuk. -- Use even more stable calls to `/room_keys` ([\#2746](https://github.com/matrix-org/matrix-js-sdk/pull/2746)). -- Upgrade to Olm 3.2.13 which has been repackaged to support Node 18 ([\#2744](https://github.com/matrix-org/matrix-js-sdk/pull/2744)). -- Fix `power_level_content_override` type ([\#2741](https://github.com/matrix-org/matrix-js-sdk/pull/2741)). -- Add custom notification handling for MSC3401 call events ([\#2720](https://github.com/matrix-org/matrix-js-sdk/pull/2720)). -- Add support for unread thread notifications ([\#2726](https://github.com/matrix-org/matrix-js-sdk/pull/2726)). -- Load Thread List with server-side assistance (MSC3856) ([\#2602](https://github.com/matrix-org/matrix-js-sdk/pull/2602)). -- Use stable calls to `/room_keys` ([\#2729](https://github.com/matrix-org/matrix-js-sdk/pull/2729)). Fixes vector-im/element-web#22839. + * Remove node-specific crypto bits, use Node 16's WebCrypto ([\#2762](https://github.com/matrix-org/matrix-js-sdk/pull/2762)). Fixes #2760. + * Export types for MatrixEvent and Room emitted events, and make event handler map types stricter ([\#2750](https://github.com/matrix-org/matrix-js-sdk/pull/2750)). Contributed by @stas-demydiuk. + * Use even more stable calls to `/room_keys` ([\#2746](https://github.com/matrix-org/matrix-js-sdk/pull/2746)). + * Upgrade to Olm 3.2.13 which has been repackaged to support Node 18 ([\#2744](https://github.com/matrix-org/matrix-js-sdk/pull/2744)). + * Fix `power_level_content_override` type ([\#2741](https://github.com/matrix-org/matrix-js-sdk/pull/2741)). + * Add custom notification handling for MSC3401 call events ([\#2720](https://github.com/matrix-org/matrix-js-sdk/pull/2720)). + * Add support for unread thread notifications ([\#2726](https://github.com/matrix-org/matrix-js-sdk/pull/2726)). + * Load Thread List with server-side assistance (MSC3856) ([\#2602](https://github.com/matrix-org/matrix-js-sdk/pull/2602)). + * Use stable calls to `/room_keys` ([\#2729](https://github.com/matrix-org/matrix-js-sdk/pull/2729)). Fixes vector-im/element-web#22839. ## 🐛 Bug Fixes + * Fix POST data not being passed for registerWithIdentityServer ([\#2769](https://github.com/matrix-org/matrix-js-sdk/pull/2769)). Fixes matrix-org/element-web-rageshakes#16206. + * Fix IdentityPrefix.V2 containing spurious `/api` ([\#2761](https://github.com/matrix-org/matrix-js-sdk/pull/2761)). Fixes vector-im/element-web#23505. + * Always send back an httpStatus property if one is known ([\#2753](https://github.com/matrix-org/matrix-js-sdk/pull/2753)). + * Check for AbortError, not any generic connection error, to avoid tightlooping ([\#2752](https://github.com/matrix-org/matrix-js-sdk/pull/2752)). + * Correct the dir parameter of MSC3715 ([\#2745](https://github.com/matrix-org/matrix-js-sdk/pull/2745)). Contributed by @dhenneke. + * Fix sync init when thread unread notif is not supported ([\#2739](https://github.com/matrix-org/matrix-js-sdk/pull/2739)). Fixes vector-im/element-web#23435. + * Use the correct sender key when checking shared secret ([\#2730](https://github.com/matrix-org/matrix-js-sdk/pull/2730)). Fixes vector-im/element-web#23374. -- Fix POST data not being passed for registerWithIdentityServer ([\#2769](https://github.com/matrix-org/matrix-js-sdk/pull/2769)). Fixes matrix-org/element-web-rageshakes#16206. -- Fix IdentityPrefix.V2 containing spurious `/api` ([\#2761](https://github.com/matrix-org/matrix-js-sdk/pull/2761)). Fixes vector-im/element-web#23505. -- Always send back an httpStatus property if one is known ([\#2753](https://github.com/matrix-org/matrix-js-sdk/pull/2753)). -- Check for AbortError, not any generic connection error, to avoid tightlooping ([\#2752](https://github.com/matrix-org/matrix-js-sdk/pull/2752)). -- Correct the dir parameter of MSC3715 ([\#2745](https://github.com/matrix-org/matrix-js-sdk/pull/2745)). Contributed by @dhenneke. -- Fix sync init when thread unread notif is not supported ([\#2739](https://github.com/matrix-org/matrix-js-sdk/pull/2739)). Fixes vector-im/element-web#23435. -- Use the correct sender key when checking shared secret ([\#2730](https://github.com/matrix-org/matrix-js-sdk/pull/2730)). Fixes vector-im/element-web#23374. - -# Changes in [20.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v20.1.0) (2022-10-11) +Changes in [20.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v20.1.0) (2022-10-11) +============================================================================================================ ## ✨ Features - -- Add local notification settings capability ([\#2700](https://github.com/matrix-org/matrix-js-sdk/pull/2700)). -- Implementation of MSC3882 login token request ([\#2687](https://github.com/matrix-org/matrix-js-sdk/pull/2687)). Contributed by @hughns. -- Typings for MSC2965 OIDC provider discovery ([\#2424](https://github.com/matrix-org/matrix-js-sdk/pull/2424)). Contributed by @hughns. -- Support to remotely toggle push notifications ([\#2686](https://github.com/matrix-org/matrix-js-sdk/pull/2686)). -- Read receipts for threads ([\#2635](https://github.com/matrix-org/matrix-js-sdk/pull/2635)). + * Add local notification settings capability ([\#2700](https://github.com/matrix-org/matrix-js-sdk/pull/2700)). + * Implementation of MSC3882 login token request ([\#2687](https://github.com/matrix-org/matrix-js-sdk/pull/2687)). Contributed by @hughns. + * Typings for MSC2965 OIDC provider discovery ([\#2424](https://github.com/matrix-org/matrix-js-sdk/pull/2424)). Contributed by @hughns. + * Support to remotely toggle push notifications ([\#2686](https://github.com/matrix-org/matrix-js-sdk/pull/2686)). + * Read receipts for threads ([\#2635](https://github.com/matrix-org/matrix-js-sdk/pull/2635)). ## 🐛 Bug Fixes + * Use the correct sender key when checking shared secret ([\#2730](https://github.com/matrix-org/matrix-js-sdk/pull/2730)). Fixes vector-im/element-web#23374. + * Unexpected ignored self key request when it's not shared history ([\#2724](https://github.com/matrix-org/matrix-js-sdk/pull/2724)). Contributed by @mcalinghee. + * Fix IDB initial migration handling causing spurious lazy loading upgrade loops ([\#2718](https://github.com/matrix-org/matrix-js-sdk/pull/2718)). Fixes vector-im/element-web#23377. + * Fix backpagination at end logic being spec non-conforming ([\#2680](https://github.com/matrix-org/matrix-js-sdk/pull/2680)). Fixes vector-im/element-web#22784. -- Use the correct sender key when checking shared secret ([\#2730](https://github.com/matrix-org/matrix-js-sdk/pull/2730)). Fixes vector-im/element-web#23374. -- Unexpected ignored self key request when it's not shared history ([\#2724](https://github.com/matrix-org/matrix-js-sdk/pull/2724)). Contributed by @mcalinghee. -- Fix IDB initial migration handling causing spurious lazy loading upgrade loops ([\#2718](https://github.com/matrix-org/matrix-js-sdk/pull/2718)). Fixes vector-im/element-web#23377. -- Fix backpagination at end logic being spec non-conforming ([\#2680](https://github.com/matrix-org/matrix-js-sdk/pull/2680)). Fixes vector-im/element-web#22784. - -# Changes in [20.0.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v20.0.2) (2022-09-30) +Changes in [20.0.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v20.0.2) (2022-09-30) +================================================================================================== ## 🐛 Bug Fixes + * Fix issue in sync when crypto is not supported by client ([\#2715](https://github.com/matrix-org/matrix-js-sdk/pull/2715)). Contributed by @stas-demydiuk. -- Fix issue in sync when crypto is not supported by client ([\#2715](https://github.com/matrix-org/matrix-js-sdk/pull/2715)). Contributed by @stas-demydiuk. - -# Changes in [20.0.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v20.0.1) (2022-09-28) +Changes in [20.0.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v20.0.1) (2022-09-28) +================================================================================================== ## 🐛 Bug Fixes + * Fix missing return when receiving an invitation without shared history ([\#2710](https://github.com/matrix-org/matrix-js-sdk/pull/2710)). -- Fix missing return when receiving an invitation without shared history ([\#2710](https://github.com/matrix-org/matrix-js-sdk/pull/2710)). - -# Changes in [20.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v20.0.0) (2022-09-28) +Changes in [20.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v20.0.0) (2022-09-28) +================================================================================================== ## 🚨 BREAKING CHANGES + * Bump IDB crypto store version ([\#2705](https://github.com/matrix-org/matrix-js-sdk/pull/2705)). -- Bump IDB crypto store version ([\#2705](https://github.com/matrix-org/matrix-js-sdk/pull/2705)). - -# Changes in [19.7.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v19.7.0) (2022-09-28) +Changes in [19.7.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v19.7.0) (2022-09-28) +================================================================================================== ## 🔒 Security +* Fix for [CVE-2022-39249](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE%2D2022%2D39249) +* Fix for [CVE-2022-39250](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE%2D2022%2D39250) +* Fix for [CVE-2022-39251](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE%2D2022%2D39251) +* Fix for [CVE-2022-39236](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE%2D2022%2D39236) -- Fix for [CVE-2022-39249](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE%2D2022%2D39249) -- Fix for [CVE-2022-39250](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE%2D2022%2D39250) -- Fix for [CVE-2022-39251](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE%2D2022%2D39251) -- Fix for [CVE-2022-39236](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE%2D2022%2D39236) - -# Changes in [19.6.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v19.6.0) (2022-09-27) +Changes in [19.6.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v19.6.0) (2022-09-27) +================================================================================================== ## ✨ Features - -- Add a property aggregating all names of a NamespacedValue ([\#2656](https://github.com/matrix-org/matrix-js-sdk/pull/2656)). -- Implementation of MSC3824 to add action= param on SSO login ([\#2398](https://github.com/matrix-org/matrix-js-sdk/pull/2398)). Contributed by @hughns. -- Add invited_count and joined_count to sliding sync room responses. ([\#2628](https://github.com/matrix-org/matrix-js-sdk/pull/2628)). -- Base support for MSC3847: Ignore invites with policy rooms ([\#2626](https://github.com/matrix-org/matrix-js-sdk/pull/2626)). Contributed by @Yoric. + * Add a property aggregating all names of a NamespacedValue ([\#2656](https://github.com/matrix-org/matrix-js-sdk/pull/2656)). + * Implementation of MSC3824 to add action= param on SSO login ([\#2398](https://github.com/matrix-org/matrix-js-sdk/pull/2398)). Contributed by @hughns. + * Add invited_count and joined_count to sliding sync room responses. ([\#2628](https://github.com/matrix-org/matrix-js-sdk/pull/2628)). + * Base support for MSC3847: Ignore invites with policy rooms ([\#2626](https://github.com/matrix-org/matrix-js-sdk/pull/2626)). Contributed by @Yoric. ## 🐛 Bug Fixes + * Fix handling of remote echoes doubling up ([\#2639](https://github.com/matrix-org/matrix-js-sdk/pull/2639)). Fixes #2618. -- Fix handling of remote echoes doubling up ([\#2639](https://github.com/matrix-org/matrix-js-sdk/pull/2639)). Fixes #2618. - -# Changes in [19.5.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v19.5.0) (2022-09-13) +Changes in [19.5.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v19.5.0) (2022-09-13) +================================================================================================== ## 🐛 Bug Fixes + * Fix bug in deepCompare which would incorrectly return objects with disjoint keys as equal ([\#2586](https://github.com/matrix-org/matrix-js-sdk/pull/2586)). Contributed by @3nprob. + * Refactor Sync and fix `initialSyncLimit` ([\#2587](https://github.com/matrix-org/matrix-js-sdk/pull/2587)). + * Use deep equality comparisons when searching for outgoing key requests by target ([\#2623](https://github.com/matrix-org/matrix-js-sdk/pull/2623)). Contributed by @duxovni. + * Fix room membership race with PREPARED event ([\#2613](https://github.com/matrix-org/matrix-js-sdk/pull/2613)). Contributed by @jotto. -- Fix bug in deepCompare which would incorrectly return objects with disjoint keys as equal ([\#2586](https://github.com/matrix-org/matrix-js-sdk/pull/2586)). Contributed by @3nprob. -- Refactor Sync and fix `initialSyncLimit` ([\#2587](https://github.com/matrix-org/matrix-js-sdk/pull/2587)). -- Use deep equality comparisons when searching for outgoing key requests by target ([\#2623](https://github.com/matrix-org/matrix-js-sdk/pull/2623)). Contributed by @duxovni. -- Fix room membership race with PREPARED event ([\#2613](https://github.com/matrix-org/matrix-js-sdk/pull/2613)). Contributed by @jotto. - -# Changes in [19.4.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v19.4.0) (2022-08-31) +Changes in [19.4.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v19.4.0) (2022-08-31) +================================================================================================== ## 🔒 Security - -- Fix for [CVE-2022-36059](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE%2D2022%2D36059) +* Fix for [CVE-2022-36059](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE%2D2022%2D36059) Find more details at https://matrix.org/blog/2022/08/31/security-releases-matrix-js-sdk-19-4-0-and-matrix-react-sdk-3-53-0 ## ✨ Features - -- Re-emit room state events on rooms ([\#2607](https://github.com/matrix-org/matrix-js-sdk/pull/2607)). -- Add ability to override built in room name generator for an i18n'able one ([\#2609](https://github.com/matrix-org/matrix-js-sdk/pull/2609)). -- Add txn_id support to sliding sync ([\#2567](https://github.com/matrix-org/matrix-js-sdk/pull/2567)). + * Re-emit room state events on rooms ([\#2607](https://github.com/matrix-org/matrix-js-sdk/pull/2607)). + * Add ability to override built in room name generator for an i18n'able one ([\#2609](https://github.com/matrix-org/matrix-js-sdk/pull/2609)). + * Add txn_id support to sliding sync ([\#2567](https://github.com/matrix-org/matrix-js-sdk/pull/2567)). ## 🐛 Bug Fixes + * Refactor Sync and fix `initialSyncLimit` ([\#2587](https://github.com/matrix-org/matrix-js-sdk/pull/2587)). + * Use deep equality comparisons when searching for outgoing key requests by target ([\#2623](https://github.com/matrix-org/matrix-js-sdk/pull/2623)). Contributed by @duxovni. + * Fix room membership race with PREPARED event ([\#2613](https://github.com/matrix-org/matrix-js-sdk/pull/2613)). Contributed by @jotto. + * fixed a sliding sync bug which could cause the `roomIndexToRoomId` map to be incorrect when a new room is added in the middle of the list or when an existing room is deleted from the middle of the list. ([\#2610](https://github.com/matrix-org/matrix-js-sdk/pull/2610)). + * Fix: Handle parsing of a beacon info event without asset ([\#2591](https://github.com/matrix-org/matrix-js-sdk/pull/2591)). Fixes vector-im/element-web#23078. Contributed by @kerryarchibald. + * Fix finding event read up to if stable private read receipts is missing ([\#2585](https://github.com/matrix-org/matrix-js-sdk/pull/2585)). Fixes vector-im/element-web#23027. + * fixed a sliding sync issue where history could be interpreted as live events. ([\#2583](https://github.com/matrix-org/matrix-js-sdk/pull/2583)). -- Refactor Sync and fix `initialSyncLimit` ([\#2587](https://github.com/matrix-org/matrix-js-sdk/pull/2587)). -- Use deep equality comparisons when searching for outgoing key requests by target ([\#2623](https://github.com/matrix-org/matrix-js-sdk/pull/2623)). Contributed by @duxovni. -- Fix room membership race with PREPARED event ([\#2613](https://github.com/matrix-org/matrix-js-sdk/pull/2613)). Contributed by @jotto. -- fixed a sliding sync bug which could cause the `roomIndexToRoomId` map to be incorrect when a new room is added in the middle of the list or when an existing room is deleted from the middle of the list. ([\#2610](https://github.com/matrix-org/matrix-js-sdk/pull/2610)). -- Fix: Handle parsing of a beacon info event without asset ([\#2591](https://github.com/matrix-org/matrix-js-sdk/pull/2591)). Fixes vector-im/element-web#23078. Contributed by @kerryarchibald. -- Fix finding event read up to if stable private read receipts is missing ([\#2585](https://github.com/matrix-org/matrix-js-sdk/pull/2585)). Fixes vector-im/element-web#23027. -- fixed a sliding sync issue where history could be interpreted as live events. ([\#2583](https://github.com/matrix-org/matrix-js-sdk/pull/2583)). - -# Changes in [19.3.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v19.3.0) (2022-08-16) +Changes in [19.3.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v19.3.0) (2022-08-16) +================================================================================================== ## ✨ Features - -- Add txn_id support to sliding sync ([\#2567](https://github.com/matrix-org/matrix-js-sdk/pull/2567)). -- Emit an event when the client receives TURN servers ([\#2529](https://github.com/matrix-org/matrix-js-sdk/pull/2529)). -- Add support for stable prefixes for MSC2285 ([\#2524](https://github.com/matrix-org/matrix-js-sdk/pull/2524)). -- Remove stream-replacement ([\#2551](https://github.com/matrix-org/matrix-js-sdk/pull/2551)). -- Add support for sending user-defined encrypted to-device messages ([\#2528](https://github.com/matrix-org/matrix-js-sdk/pull/2528)). -- Retry to-device messages ([\#2549](https://github.com/matrix-org/matrix-js-sdk/pull/2549)). Fixes vector-im/element-web#12851. -- Sliding sync: add missing filters from latest MSC ([\#2555](https://github.com/matrix-org/matrix-js-sdk/pull/2555)). -- Use stable prefixes for MSC3827 ([\#2537](https://github.com/matrix-org/matrix-js-sdk/pull/2537)). + * Add txn_id support to sliding sync ([\#2567](https://github.com/matrix-org/matrix-js-sdk/pull/2567)). + * Emit an event when the client receives TURN servers ([\#2529](https://github.com/matrix-org/matrix-js-sdk/pull/2529)). + * Add support for stable prefixes for MSC2285 ([\#2524](https://github.com/matrix-org/matrix-js-sdk/pull/2524)). + * Remove stream-replacement ([\#2551](https://github.com/matrix-org/matrix-js-sdk/pull/2551)). + * Add support for sending user-defined encrypted to-device messages ([\#2528](https://github.com/matrix-org/matrix-js-sdk/pull/2528)). + * Retry to-device messages ([\#2549](https://github.com/matrix-org/matrix-js-sdk/pull/2549)). Fixes vector-im/element-web#12851. + * Sliding sync: add missing filters from latest MSC ([\#2555](https://github.com/matrix-org/matrix-js-sdk/pull/2555)). + * Use stable prefixes for MSC3827 ([\#2537](https://github.com/matrix-org/matrix-js-sdk/pull/2537)). ## 🐛 Bug Fixes + * Fix: Handle parsing of a beacon info event without asset ([\#2591](https://github.com/matrix-org/matrix-js-sdk/pull/2591)). Fixes vector-im/element-web#23078. + * Fix finding event read up to if stable private read receipts is missing ([\#2585](https://github.com/matrix-org/matrix-js-sdk/pull/2585)). Fixes vector-im/element-web#23027. + * Fixed a sliding sync issue where history could be interpreted as live events. ([\#2583](https://github.com/matrix-org/matrix-js-sdk/pull/2583)). + * Don't load the sync accumulator if there's already a sync persist in flight ([\#2569](https://github.com/matrix-org/matrix-js-sdk/pull/2569)). -- Fix: Handle parsing of a beacon info event without asset ([\#2591](https://github.com/matrix-org/matrix-js-sdk/pull/2591)). Fixes vector-im/element-web#23078. -- Fix finding event read up to if stable private read receipts is missing ([\#2585](https://github.com/matrix-org/matrix-js-sdk/pull/2585)). Fixes vector-im/element-web#23027. -- Fixed a sliding sync issue where history could be interpreted as live events. ([\#2583](https://github.com/matrix-org/matrix-js-sdk/pull/2583)). -- Don't load the sync accumulator if there's already a sync persist in flight ([\#2569](https://github.com/matrix-org/matrix-js-sdk/pull/2569)). - -# Changes in [19.2.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v19.2.0) (2022-08-02) +Changes in [19.2.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v19.2.0) (2022-08-02) +================================================================================================== ## 🦖 Deprecations - -- Remove unstable support for `m.room_key.withheld` ([\#2512](https://github.com/matrix-org/matrix-js-sdk/pull/2512)). Fixes #2233. + * Remove unstable support for `m.room_key.withheld` ([\#2512](https://github.com/matrix-org/matrix-js-sdk/pull/2512)). Fixes #2233. ## ✨ Features - -- Sliding sync: add missing filters from latest MSC ([\#2555](https://github.com/matrix-org/matrix-js-sdk/pull/2555)). -- Use stable prefixes for MSC3827 ([\#2537](https://github.com/matrix-org/matrix-js-sdk/pull/2537)). -- Add support for MSC3575: Sliding Sync ([\#2242](https://github.com/matrix-org/matrix-js-sdk/pull/2242)). + * Sliding sync: add missing filters from latest MSC ([\#2555](https://github.com/matrix-org/matrix-js-sdk/pull/2555)). + * Use stable prefixes for MSC3827 ([\#2537](https://github.com/matrix-org/matrix-js-sdk/pull/2537)). + * Add support for MSC3575: Sliding Sync ([\#2242](https://github.com/matrix-org/matrix-js-sdk/pull/2242)). ## 🐛 Bug Fixes + * Correct the units in TURN servers expiry documentation ([\#2520](https://github.com/matrix-org/matrix-js-sdk/pull/2520)). + * Re-insert room IDs when decrypting bundled redaction events returned by `/sync` ([\#2531](https://github.com/matrix-org/matrix-js-sdk/pull/2531)). Contributed by @duxovni. -- Correct the units in TURN servers expiry documentation ([\#2520](https://github.com/matrix-org/matrix-js-sdk/pull/2520)). -- Re-insert room IDs when decrypting bundled redaction events returned by `/sync` ([\#2531](https://github.com/matrix-org/matrix-js-sdk/pull/2531)). Contributed by @duxovni. - -# Changes in [19.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v19.1.0) (2022-07-26) +Changes in [19.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v19.1.0) (2022-07-26) +================================================================================================== ## 🦖 Deprecations - -- Remove MSC3244 support ([\#2504](https://github.com/matrix-org/matrix-js-sdk/pull/2504)). + * Remove MSC3244 support ([\#2504](https://github.com/matrix-org/matrix-js-sdk/pull/2504)). ## ✨ Features - -- `room` now exports `KNOWN_SAFE_ROOM_VERSION` ([\#2474](https://github.com/matrix-org/matrix-js-sdk/pull/2474)). + * `room` now exports `KNOWN_SAFE_ROOM_VERSION` ([\#2474](https://github.com/matrix-org/matrix-js-sdk/pull/2474)). ## 🐛 Bug Fixes + * Don't crash with undefined room in `processBeaconEvents()` ([\#2500](https://github.com/matrix-org/matrix-js-sdk/pull/2500)). Fixes #2494. + * Properly re-insert room ID in bundled thread relation messages from sync ([\#2505](https://github.com/matrix-org/matrix-js-sdk/pull/2505)). Fixes vector-im/element-web#22094. Contributed by @duxovni. + * Actually store the identity server in the client when given as an option ([\#2503](https://github.com/matrix-org/matrix-js-sdk/pull/2503)). Fixes vector-im/element-web#22757. + * Fix call.collectCallStats() ([\#2480](https://github.com/matrix-org/matrix-js-sdk/pull/2480)). -- Don't crash with undefined room in `processBeaconEvents()` ([\#2500](https://github.com/matrix-org/matrix-js-sdk/pull/2500)). Fixes #2494. -- Properly re-insert room ID in bundled thread relation messages from sync ([\#2505](https://github.com/matrix-org/matrix-js-sdk/pull/2505)). Fixes vector-im/element-web#22094. Contributed by @duxovni. -- Actually store the identity server in the client when given as an option ([\#2503](https://github.com/matrix-org/matrix-js-sdk/pull/2503)). Fixes vector-im/element-web#22757. -- Fix call.collectCallStats() ([\#2480](https://github.com/matrix-org/matrix-js-sdk/pull/2480)). - -# Changes in [19.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v19.0.0) (2022-07-05) +Changes in [19.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v19.0.0) (2022-07-05) +================================================================================================== ## 🚨 BREAKING CHANGES - -- Remove unused sessionStore ([\#2455](https://github.com/matrix-org/matrix-js-sdk/pull/2455)). + * Remove unused sessionStore ([\#2455](https://github.com/matrix-org/matrix-js-sdk/pull/2455)). ## ✨ Features - -- Implement MSC3827: Filtering of `/publicRooms` by room type ([\#2469](https://github.com/matrix-org/matrix-js-sdk/pull/2469)). -- expose latestLocationEvent on beacon model ([\#2467](https://github.com/matrix-org/matrix-js-sdk/pull/2467)). Contributed by @kerryarchibald. -- Live location share - add start time leniency ([\#2465](https://github.com/matrix-org/matrix-js-sdk/pull/2465)). Contributed by @kerryarchibald. -- Log real errors and not just their messages, traces are useful ([\#2464](https://github.com/matrix-org/matrix-js-sdk/pull/2464)). -- Various changes to `src/crypto` files for correctness ([\#2137](https://github.com/matrix-org/matrix-js-sdk/pull/2137)). Contributed by @ShadowJonathan. -- Update MSC3786 implementation: Check the `state_key` ([\#2429](https://github.com/matrix-org/matrix-js-sdk/pull/2429)). -- Timeline needs to refresh when we see a MSC2716 marker event ([\#2299](https://github.com/matrix-org/matrix-js-sdk/pull/2299)). Contributed by @MadLittleMods. -- Try to load keys from key backup when a message fails to decrypt ([\#2373](https://github.com/matrix-org/matrix-js-sdk/pull/2373)). Fixes vector-im/element-web#21026. Contributed by @duxovni. + * Implement MSC3827: Filtering of `/publicRooms` by room type ([\#2469](https://github.com/matrix-org/matrix-js-sdk/pull/2469)). + * expose latestLocationEvent on beacon model ([\#2467](https://github.com/matrix-org/matrix-js-sdk/pull/2467)). Contributed by @kerryarchibald. + * Live location share - add start time leniency ([\#2465](https://github.com/matrix-org/matrix-js-sdk/pull/2465)). Contributed by @kerryarchibald. + * Log real errors and not just their messages, traces are useful ([\#2464](https://github.com/matrix-org/matrix-js-sdk/pull/2464)). + * Various changes to `src/crypto` files for correctness ([\#2137](https://github.com/matrix-org/matrix-js-sdk/pull/2137)). Contributed by @ShadowJonathan. + * Update MSC3786 implementation: Check the `state_key` ([\#2429](https://github.com/matrix-org/matrix-js-sdk/pull/2429)). + * Timeline needs to refresh when we see a MSC2716 marker event ([\#2299](https://github.com/matrix-org/matrix-js-sdk/pull/2299)). Contributed by @MadLittleMods. + * Try to load keys from key backup when a message fails to decrypt ([\#2373](https://github.com/matrix-org/matrix-js-sdk/pull/2373)). Fixes vector-im/element-web#21026. Contributed by @duxovni. ## 🐛 Bug Fixes + * Send call version `1` as a string ([\#2471](https://github.com/matrix-org/matrix-js-sdk/pull/2471)). Fixes vector-im/element-web#22629. + * Fix issue with `getEventTimeline` returning undefined for thread roots in main timeline ([\#2454](https://github.com/matrix-org/matrix-js-sdk/pull/2454)). Fixes vector-im/element-web#22539. + * Add missing `type` property on `IAuthData` ([\#2463](https://github.com/matrix-org/matrix-js-sdk/pull/2463)). + * Clearly indicate that `lastReply` on a Thread can return falsy ([\#2462](https://github.com/matrix-org/matrix-js-sdk/pull/2462)). + * Fix issues with getEventTimeline and thread roots ([\#2444](https://github.com/matrix-org/matrix-js-sdk/pull/2444)). Fixes vector-im/element-web#21613. + * Live location sharing - monitor liveness of beacons yet to start ([\#2437](https://github.com/matrix-org/matrix-js-sdk/pull/2437)). Contributed by @kerryarchibald. + * Refactor Relations to not be per-EventTimelineSet ([\#2412](https://github.com/matrix-org/matrix-js-sdk/pull/2412)). Fixes #2399 and vector-im/element-web#22298. + * Add tests for sendEvent threadId handling ([\#2435](https://github.com/matrix-org/matrix-js-sdk/pull/2435)). Fixes vector-im/element-web#22433. + * Make sure `encryptAndSendKeysToDevices` assumes devices are unique per-user. ([\#2136](https://github.com/matrix-org/matrix-js-sdk/pull/2136)). Fixes #2135. Contributed by @ShadowJonathan. + * Don't bug the user while re-checking key backups after decryption failures ([\#2430](https://github.com/matrix-org/matrix-js-sdk/pull/2430)). Fixes vector-im/element-web#22416. Contributed by @duxovni. -- Send call version `1` as a string ([\#2471](https://github.com/matrix-org/matrix-js-sdk/pull/2471)). Fixes vector-im/element-web#22629. -- Fix issue with `getEventTimeline` returning undefined for thread roots in main timeline ([\#2454](https://github.com/matrix-org/matrix-js-sdk/pull/2454)). Fixes vector-im/element-web#22539. -- Add missing `type` property on `IAuthData` ([\#2463](https://github.com/matrix-org/matrix-js-sdk/pull/2463)). -- Clearly indicate that `lastReply` on a Thread can return falsy ([\#2462](https://github.com/matrix-org/matrix-js-sdk/pull/2462)). -- Fix issues with getEventTimeline and thread roots ([\#2444](https://github.com/matrix-org/matrix-js-sdk/pull/2444)). Fixes vector-im/element-web#21613. -- Live location sharing - monitor liveness of beacons yet to start ([\#2437](https://github.com/matrix-org/matrix-js-sdk/pull/2437)). Contributed by @kerryarchibald. -- Refactor Relations to not be per-EventTimelineSet ([\#2412](https://github.com/matrix-org/matrix-js-sdk/pull/2412)). Fixes #2399 and vector-im/element-web#22298. -- Add tests for sendEvent threadId handling ([\#2435](https://github.com/matrix-org/matrix-js-sdk/pull/2435)). Fixes vector-im/element-web#22433. -- Make sure `encryptAndSendKeysToDevices` assumes devices are unique per-user. ([\#2136](https://github.com/matrix-org/matrix-js-sdk/pull/2136)). Fixes #2135. Contributed by @ShadowJonathan. -- Don't bug the user while re-checking key backups after decryption failures ([\#2430](https://github.com/matrix-org/matrix-js-sdk/pull/2430)). Fixes vector-im/element-web#22416. Contributed by @duxovni. - -# Changes in [18.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v18.1.0) (2022-06-07) +Changes in [18.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v18.1.0) (2022-06-07) +================================================================================================== ## ✨ Features - -- Convert `getLocalAliases` to a stable API call ([\#2402](https://github.com/matrix-org/matrix-js-sdk/pull/2402)). + * Convert `getLocalAliases` to a stable API call ([\#2402](https://github.com/matrix-org/matrix-js-sdk/pull/2402)). ## 🐛 Bug Fixes + * Fix request, crypto, and bs58 imports ([\#2414](https://github.com/matrix-org/matrix-js-sdk/pull/2414)). Fixes #2415. + * Update relations after every decryption attempt ([\#2387](https://github.com/matrix-org/matrix-js-sdk/pull/2387)). Fixes vector-im/element-web#22258. Contributed by @weeman1337. + * Fix degraded mode for the IDBStore and test it ([\#2400](https://github.com/matrix-org/matrix-js-sdk/pull/2400)). Fixes matrix-org/element-web-rageshakes#13170. + * Don't cancel SAS verifications if `ready` is received after `start` ([\#2250](https://github.com/matrix-org/matrix-js-sdk/pull/2250)). + * Prevent overlapping sync accumulator persists ([\#2392](https://github.com/matrix-org/matrix-js-sdk/pull/2392)). Fixes vector-im/element-web#21541. + * Fix behaviour of isRelation with relation m.replace for state events ([\#2389](https://github.com/matrix-org/matrix-js-sdk/pull/2389)). Fixes vector-im/element-web#22280. + * Fixes #2384 ([\#2385](https://github.com/matrix-org/matrix-js-sdk/pull/2385)). Fixes undefined/matrix-js-sdk#2384. Contributed by @schmop. + * Ensure rooms are recalculated on re-invites ([\#2374](https://github.com/matrix-org/matrix-js-sdk/pull/2374)). Fixes vector-im/element-web#22106. -- Fix request, crypto, and bs58 imports ([\#2414](https://github.com/matrix-org/matrix-js-sdk/pull/2414)). Fixes #2415. -- Update relations after every decryption attempt ([\#2387](https://github.com/matrix-org/matrix-js-sdk/pull/2387)). Fixes vector-im/element-web#22258. Contributed by @weeman1337. -- Fix degraded mode for the IDBStore and test it ([\#2400](https://github.com/matrix-org/matrix-js-sdk/pull/2400)). Fixes matrix-org/element-web-rageshakes#13170. -- Don't cancel SAS verifications if `ready` is received after `start` ([\#2250](https://github.com/matrix-org/matrix-js-sdk/pull/2250)). -- Prevent overlapping sync accumulator persists ([\#2392](https://github.com/matrix-org/matrix-js-sdk/pull/2392)). Fixes vector-im/element-web#21541. -- Fix behaviour of isRelation with relation m.replace for state events ([\#2389](https://github.com/matrix-org/matrix-js-sdk/pull/2389)). Fixes vector-im/element-web#22280. -- Fixes #2384 ([\#2385](https://github.com/matrix-org/matrix-js-sdk/pull/2385)). Fixes undefined/matrix-js-sdk#2384. Contributed by @schmop. -- Ensure rooms are recalculated on re-invites ([\#2374](https://github.com/matrix-org/matrix-js-sdk/pull/2374)). Fixes vector-im/element-web#22106. - -# Changes in [18.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v18.0.0) (2022-05-24) +Changes in [18.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v18.0.0) (2022-05-24) +================================================================================================== ## 🚨 BREAKING CHANGES (to experimental methods) - -- Implement changes to MSC2285 (private read receipts) ([\#2221](https://github.com/matrix-org/matrix-js-sdk/pull/2221)). + * Implement changes to MSC2285 (private read receipts) ([\#2221](https://github.com/matrix-org/matrix-js-sdk/pull/2221)). ## ✨ Features - -- Add support for HTML renderings of room topics ([\#2272](https://github.com/matrix-org/matrix-js-sdk/pull/2272)). -- Add stopClient parameter to MatrixClient::logout ([\#2367](https://github.com/matrix-org/matrix-js-sdk/pull/2367)). -- registration: add function to re-request email token ([\#2357](https://github.com/matrix-org/matrix-js-sdk/pull/2357)). -- Remove hacky custom status feature ([\#2350](https://github.com/matrix-org/matrix-js-sdk/pull/2350)). + * Add support for HTML renderings of room topics ([\#2272](https://github.com/matrix-org/matrix-js-sdk/pull/2272)). + * Add stopClient parameter to MatrixClient::logout ([\#2367](https://github.com/matrix-org/matrix-js-sdk/pull/2367)). + * registration: add function to re-request email token ([\#2357](https://github.com/matrix-org/matrix-js-sdk/pull/2357)). + * Remove hacky custom status feature ([\#2350](https://github.com/matrix-org/matrix-js-sdk/pull/2350)). ## 🐛 Bug Fixes + * Remove default push rule override for MSC1930 ([\#2376](https://github.com/matrix-org/matrix-js-sdk/pull/2376)). Fixes vector-im/element-web#15439. + * Tweak thread creation & event adding to fix bugs around relations ([\#2369](https://github.com/matrix-org/matrix-js-sdk/pull/2369)). Fixes vector-im/element-web#22162 and vector-im/element-web#22180. + * Prune both clear & wire content on redaction ([\#2346](https://github.com/matrix-org/matrix-js-sdk/pull/2346)). Fixes vector-im/element-web#21929. + * MSC3786: Add a default push rule to ignore `m.room.server_acl` events ([\#2333](https://github.com/matrix-org/matrix-js-sdk/pull/2333)). Fixes vector-im/element-web#20788. -- Remove default push rule override for MSC1930 ([\#2376](https://github.com/matrix-org/matrix-js-sdk/pull/2376)). Fixes vector-im/element-web#15439. -- Tweak thread creation & event adding to fix bugs around relations ([\#2369](https://github.com/matrix-org/matrix-js-sdk/pull/2369)). Fixes vector-im/element-web#22162 and vector-im/element-web#22180. -- Prune both clear & wire content on redaction ([\#2346](https://github.com/matrix-org/matrix-js-sdk/pull/2346)). Fixes vector-im/element-web#21929. -- MSC3786: Add a default push rule to ignore `m.room.server_acl` events ([\#2333](https://github.com/matrix-org/matrix-js-sdk/pull/2333)). Fixes vector-im/element-web#20788. - -# Changes in [17.2.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v17.2.0) (2022-05-10) +Changes in [17.2.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v17.2.0) (2022-05-10) +================================================================================================== ## ✨ Features - -- Live location sharing: handle encrypted messages in processBeaconEvents ([\#2327](https://github.com/matrix-org/matrix-js-sdk/pull/2327)). + * Live location sharing: handle encrypted messages in processBeaconEvents ([\#2327](https://github.com/matrix-org/matrix-js-sdk/pull/2327)). ## 🐛 Bug Fixes + * Fix race conditions around threads ([\#2331](https://github.com/matrix-org/matrix-js-sdk/pull/2331)). Fixes vector-im/element-web#21627. + * Ignore m.replace relations on state events, they're invalid ([\#2306](https://github.com/matrix-org/matrix-js-sdk/pull/2306)). Fixes vector-im/element-web#21851. + * fix example in readme ([\#2315](https://github.com/matrix-org/matrix-js-sdk/pull/2315)). + * Don't decrement the length count of a thread when root redacted ([\#2314](https://github.com/matrix-org/matrix-js-sdk/pull/2314)). + * Prevent attempt to create thread with id "undefined" ([\#2308](https://github.com/matrix-org/matrix-js-sdk/pull/2308)). + * Update threads handling for replies-to-thread-responses as per MSC update ([\#2305](https://github.com/matrix-org/matrix-js-sdk/pull/2305)). Fixes vector-im/element-web#19678. -- Fix race conditions around threads ([\#2331](https://github.com/matrix-org/matrix-js-sdk/pull/2331)). Fixes vector-im/element-web#21627. -- Ignore m.replace relations on state events, they're invalid ([\#2306](https://github.com/matrix-org/matrix-js-sdk/pull/2306)). Fixes vector-im/element-web#21851. -- fix example in readme ([\#2315](https://github.com/matrix-org/matrix-js-sdk/pull/2315)). -- Don't decrement the length count of a thread when root redacted ([\#2314](https://github.com/matrix-org/matrix-js-sdk/pull/2314)). -- Prevent attempt to create thread with id "undefined" ([\#2308](https://github.com/matrix-org/matrix-js-sdk/pull/2308)). -- Update threads handling for replies-to-thread-responses as per MSC update ([\#2305](https://github.com/matrix-org/matrix-js-sdk/pull/2305)). Fixes vector-im/element-web#19678. - -# Changes in [17.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v17.1.0) (2022-04-26) +Changes in [17.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v17.1.0) (2022-04-26) +================================================================================================== ## ✨ Features - -- Add MatrixClient.doesServerSupportLogoutDevices() for MSC2457 ([\#2297](https://github.com/matrix-org/matrix-js-sdk/pull/2297)). -- Live location sharing - expose room liveBeaconIds ([\#2296](https://github.com/matrix-org/matrix-js-sdk/pull/2296)). -- Support for MSC2457 logout_devices param for setPassword() ([\#2285](https://github.com/matrix-org/matrix-js-sdk/pull/2285)). -- Stabilise token authenticated registration support ([\#2181](https://github.com/matrix-org/matrix-js-sdk/pull/2181)). Contributed by @govynnus. -- Live location sharing - Aggregate beacon locations on beacons ([\#2268](https://github.com/matrix-org/matrix-js-sdk/pull/2268)). + * Add MatrixClient.doesServerSupportLogoutDevices() for MSC2457 ([\#2297](https://github.com/matrix-org/matrix-js-sdk/pull/2297)). + * Live location sharing - expose room liveBeaconIds ([\#2296](https://github.com/matrix-org/matrix-js-sdk/pull/2296)). + * Support for MSC2457 logout_devices param for setPassword() ([\#2285](https://github.com/matrix-org/matrix-js-sdk/pull/2285)). + * Stabilise token authenticated registration support ([\#2181](https://github.com/matrix-org/matrix-js-sdk/pull/2181)). Contributed by @govynnus. + * Live location sharing - Aggregate beacon locations on beacons ([\#2268](https://github.com/matrix-org/matrix-js-sdk/pull/2268)). ## 🐛 Bug Fixes + * Prevent duplicated re-emitter setups in event-mapper ([\#2293](https://github.com/matrix-org/matrix-js-sdk/pull/2293)). + * Make self membership less prone to races ([\#2277](https://github.com/matrix-org/matrix-js-sdk/pull/2277)). Fixes vector-im/element-web#21661. -- Prevent duplicated re-emitter setups in event-mapper ([\#2293](https://github.com/matrix-org/matrix-js-sdk/pull/2293)). -- Make self membership less prone to races ([\#2277](https://github.com/matrix-org/matrix-js-sdk/pull/2277)). Fixes vector-im/element-web#21661. - -# Changes in [17.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v17.0.0) (2022-04-11) +Changes in [17.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v17.0.0) (2022-04-11) +================================================================================================== ## 🚨 BREAKING CHANGES - -- Remove groups and groups-related APIs ([\#2234](https://github.com/matrix-org/matrix-js-sdk/pull/2234)). + * Remove groups and groups-related APIs ([\#2234](https://github.com/matrix-org/matrix-js-sdk/pull/2234)). ## ✨ Features - -- Add Element video room type ([\#2273](https://github.com/matrix-org/matrix-js-sdk/pull/2273)). -- Live location sharing - handle redacted beacons ([\#2269](https://github.com/matrix-org/matrix-js-sdk/pull/2269)). + * Add Element video room type ([\#2273](https://github.com/matrix-org/matrix-js-sdk/pull/2273)). + * Live location sharing - handle redacted beacons ([\#2269](https://github.com/matrix-org/matrix-js-sdk/pull/2269)). ## 🐛 Bug Fixes + * Fix getSessionsNeedingBackup() limit support ([\#2270](https://github.com/matrix-org/matrix-js-sdk/pull/2270)). Contributed by @adamvy. + * Fix issues with /search and /context API handling for threads ([\#2261](https://github.com/matrix-org/matrix-js-sdk/pull/2261)). Fixes vector-im/element-web#21543. + * Prevent exception 'Unable to set up secret storage' ([\#2260](https://github.com/matrix-org/matrix-js-sdk/pull/2260)). -- Fix getSessionsNeedingBackup() limit support ([\#2270](https://github.com/matrix-org/matrix-js-sdk/pull/2270)). Contributed by @adamvy. -- Fix issues with /search and /context API handling for threads ([\#2261](https://github.com/matrix-org/matrix-js-sdk/pull/2261)). Fixes vector-im/element-web#21543. -- Prevent exception 'Unable to set up secret storage' ([\#2260](https://github.com/matrix-org/matrix-js-sdk/pull/2260)). - -# Changes in [16.0.2-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v16.0.2-rc.1) (2022-04-05) +Changes in [16.0.2-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v16.0.2-rc.1) (2022-04-05) +============================================================================================================ ## 🚨 BREAKING CHANGES - -- Remove groups and groups-related APIs ([\#2234](https://github.com/matrix-org/matrix-js-sdk/pull/2234)). + * Remove groups and groups-related APIs ([\#2234](https://github.com/matrix-org/matrix-js-sdk/pull/2234)). ## ✨ Features - -- Add Element video room type ([\#2273](https://github.com/matrix-org/matrix-js-sdk/pull/2273)). -- Live location sharing - handle redacted beacons ([\#2269](https://github.com/matrix-org/matrix-js-sdk/pull/2269)). + * Add Element video room type ([\#2273](https://github.com/matrix-org/matrix-js-sdk/pull/2273)). + * Live location sharing - handle redacted beacons ([\#2269](https://github.com/matrix-org/matrix-js-sdk/pull/2269)). ## 🐛 Bug Fixes + * Fix getSessionsNeedingBackup() limit support ([\#2270](https://github.com/matrix-org/matrix-js-sdk/pull/2270)). Contributed by @adamvy. + * Fix issues with /search and /context API handling for threads ([\#2261](https://github.com/matrix-org/matrix-js-sdk/pull/2261)). Fixes vector-im/element-web#21543. + * Prevent exception 'Unable to set up secret storage' ([\#2260](https://github.com/matrix-org/matrix-js-sdk/pull/2260)). -- Fix getSessionsNeedingBackup() limit support ([\#2270](https://github.com/matrix-org/matrix-js-sdk/pull/2270)). Contributed by @adamvy. -- Fix issues with /search and /context API handling for threads ([\#2261](https://github.com/matrix-org/matrix-js-sdk/pull/2261)). Fixes vector-im/element-web#21543. -- Prevent exception 'Unable to set up secret storage' ([\#2260](https://github.com/matrix-org/matrix-js-sdk/pull/2260)). - -# Changes in [16.0.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v16.0.1) (2022-03-28) +Changes in [16.0.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v16.0.1) (2022-03-28) +================================================================================================== ## ✨ Features - -- emit aggregate room beacon liveness ([\#2241](https://github.com/matrix-org/matrix-js-sdk/pull/2241)). -- Live location sharing - create m.beacon_info events ([\#2238](https://github.com/matrix-org/matrix-js-sdk/pull/2238)). -- Beacon event types from MSC3489 ([\#2230](https://github.com/matrix-org/matrix-js-sdk/pull/2230)). + * emit aggregate room beacon liveness ([\#2241](https://github.com/matrix-org/matrix-js-sdk/pull/2241)). + * Live location sharing - create m.beacon_info events ([\#2238](https://github.com/matrix-org/matrix-js-sdk/pull/2238)). + * Beacon event types from MSC3489 ([\#2230](https://github.com/matrix-org/matrix-js-sdk/pull/2230)). ## 🐛 Bug Fixes + * Fix incorrect usage of unstable variant of `is_falling_back` ([\#2227](https://github.com/matrix-org/matrix-js-sdk/pull/2227)). -- Fix incorrect usage of unstable variant of `is_falling_back` ([\#2227](https://github.com/matrix-org/matrix-js-sdk/pull/2227)). +Changes in [16.0.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v16.0.1-rc.1) (2022-03-22) +============================================================================================================ -# Changes in [16.0.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v16.0.1-rc.1) (2022-03-22) - -# Changes in [16.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v16.0.0) (2022-03-15) +Changes in [16.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v16.0.0) (2022-03-15) +================================================================================================== ## 🚨 BREAKING CHANGES - -- Improve typing around event emitter handlers ([\#2180](https://github.com/matrix-org/matrix-js-sdk/pull/2180)). + * Improve typing around event emitter handlers ([\#2180](https://github.com/matrix-org/matrix-js-sdk/pull/2180)). ## ✨ Features - -- Fix defer not supporting resolving with a Promise ([\#2216](https://github.com/matrix-org/matrix-js-sdk/pull/2216)). -- add LocationAssetType enum ([\#2214](https://github.com/matrix-org/matrix-js-sdk/pull/2214)). -- Support for mid-call devices changes ([\#2154](https://github.com/matrix-org/matrix-js-sdk/pull/2154)). Contributed by @SimonBrandner. -- Add new room state emit RoomStateEvent.Update for lower-frequency hits ([\#2192](https://github.com/matrix-org/matrix-js-sdk/pull/2192)). + * Fix defer not supporting resolving with a Promise ([\#2216](https://github.com/matrix-org/matrix-js-sdk/pull/2216)). + * add LocationAssetType enum ([\#2214](https://github.com/matrix-org/matrix-js-sdk/pull/2214)). + * Support for mid-call devices changes ([\#2154](https://github.com/matrix-org/matrix-js-sdk/pull/2154)). Contributed by @SimonBrandner. + * Add new room state emit RoomStateEvent.Update for lower-frequency hits ([\#2192](https://github.com/matrix-org/matrix-js-sdk/pull/2192)). ## 🐛 Bug Fixes + * Fix wrong event_id being sent for m.in_reply_to of threads ([\#2213](https://github.com/matrix-org/matrix-js-sdk/pull/2213)). + * Fix wrongly asserting that PushRule::conditions is non-null ([\#2217](https://github.com/matrix-org/matrix-js-sdk/pull/2217)). + * Make createThread more resilient when missing rootEvent ([\#2207](https://github.com/matrix-org/matrix-js-sdk/pull/2207)). Fixes vector-im/element-web#21130. + * Fix bug with the /hierarchy API sending invalid requests ([\#2201](https://github.com/matrix-org/matrix-js-sdk/pull/2201)). Fixes vector-im/element-web#21170. + * fix relation sender filter ([\#2196](https://github.com/matrix-org/matrix-js-sdk/pull/2196)). Fixes vector-im/element-web#20877. + * Fix bug with one-way audio after a transfer ([\#2193](https://github.com/matrix-org/matrix-js-sdk/pull/2193)). -- Fix wrong event_id being sent for m.in_reply_to of threads ([\#2213](https://github.com/matrix-org/matrix-js-sdk/pull/2213)). -- Fix wrongly asserting that PushRule::conditions is non-null ([\#2217](https://github.com/matrix-org/matrix-js-sdk/pull/2217)). -- Make createThread more resilient when missing rootEvent ([\#2207](https://github.com/matrix-org/matrix-js-sdk/pull/2207)). Fixes vector-im/element-web#21130. -- Fix bug with the /hierarchy API sending invalid requests ([\#2201](https://github.com/matrix-org/matrix-js-sdk/pull/2201)). Fixes vector-im/element-web#21170. -- fix relation sender filter ([\#2196](https://github.com/matrix-org/matrix-js-sdk/pull/2196)). Fixes vector-im/element-web#20877. -- Fix bug with one-way audio after a transfer ([\#2193](https://github.com/matrix-org/matrix-js-sdk/pull/2193)). - -# Changes in [16.0.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v16.0.0-rc.1) (2022-03-08) +Changes in [16.0.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v16.0.0-rc.1) (2022-03-08) +============================================================================================================ ## 🚨 BREAKING CHANGES - -- Improve typing around event emitter handlers ([\#2180](https://github.com/matrix-org/matrix-js-sdk/pull/2180)). + * Improve typing around event emitter handlers ([\#2180](https://github.com/matrix-org/matrix-js-sdk/pull/2180)). ## ✨ Features - -- Fix defer not supporting resolving with a Promise ([\#2216](https://github.com/matrix-org/matrix-js-sdk/pull/2216)). -- add LocationAssetType enum ([\#2214](https://github.com/matrix-org/matrix-js-sdk/pull/2214)). -- Support for mid-call devices changes ([\#2154](https://github.com/matrix-org/matrix-js-sdk/pull/2154)). Contributed by @SimonBrandner. -- Add new room state emit RoomStateEvent.Update for lower-frequency hits ([\#2192](https://github.com/matrix-org/matrix-js-sdk/pull/2192)). + * Fix defer not supporting resolving with a Promise ([\#2216](https://github.com/matrix-org/matrix-js-sdk/pull/2216)). + * add LocationAssetType enum ([\#2214](https://github.com/matrix-org/matrix-js-sdk/pull/2214)). + * Support for mid-call devices changes ([\#2154](https://github.com/matrix-org/matrix-js-sdk/pull/2154)). Contributed by @SimonBrandner. + * Add new room state emit RoomStateEvent.Update for lower-frequency hits ([\#2192](https://github.com/matrix-org/matrix-js-sdk/pull/2192)). ## 🐛 Bug Fixes + * Fix wrong event_id being sent for m.in_reply_to of threads ([\#2213](https://github.com/matrix-org/matrix-js-sdk/pull/2213)). + * Fix wrongly asserting that PushRule::conditions is non-null ([\#2217](https://github.com/matrix-org/matrix-js-sdk/pull/2217)). + * Make createThread more resilient when missing rootEvent ([\#2207](https://github.com/matrix-org/matrix-js-sdk/pull/2207)). Fixes vector-im/element-web#21130. + * Fix bug with the /hierarchy API sending invalid requests ([\#2201](https://github.com/matrix-org/matrix-js-sdk/pull/2201)). Fixes vector-im/element-web#21170. + * fix relation sender filter ([\#2196](https://github.com/matrix-org/matrix-js-sdk/pull/2196)). Fixes vector-im/element-web#20877. + * Fix bug with one-way audio after a transfer ([\#2193](https://github.com/matrix-org/matrix-js-sdk/pull/2193)). -- Fix wrong event_id being sent for m.in_reply_to of threads ([\#2213](https://github.com/matrix-org/matrix-js-sdk/pull/2213)). -- Fix wrongly asserting that PushRule::conditions is non-null ([\#2217](https://github.com/matrix-org/matrix-js-sdk/pull/2217)). -- Make createThread more resilient when missing rootEvent ([\#2207](https://github.com/matrix-org/matrix-js-sdk/pull/2207)). Fixes vector-im/element-web#21130. -- Fix bug with the /hierarchy API sending invalid requests ([\#2201](https://github.com/matrix-org/matrix-js-sdk/pull/2201)). Fixes vector-im/element-web#21170. -- fix relation sender filter ([\#2196](https://github.com/matrix-org/matrix-js-sdk/pull/2196)). Fixes vector-im/element-web#20877. -- Fix bug with one-way audio after a transfer ([\#2193](https://github.com/matrix-org/matrix-js-sdk/pull/2193)). - -# Changes in [15.6.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.6.0) (2022-02-28) +Changes in [15.6.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.6.0) (2022-02-28) +================================================================================================== ## ✨ Features - -- Return send event response from MSC3089Branch.createNewVersion() ([\#2186](https://github.com/matrix-org/matrix-js-sdk/pull/2186)). -- Add functions to support refresh tokens ([\#2178](https://github.com/matrix-org/matrix-js-sdk/pull/2178)). + * Return send event response from MSC3089Branch.createNewVersion() ([\#2186](https://github.com/matrix-org/matrix-js-sdk/pull/2186)). + * Add functions to support refresh tokens ([\#2178](https://github.com/matrix-org/matrix-js-sdk/pull/2178)). ## 🐛 Bug Fixes + * [Release] Fix bug with the /hierarchy API sending invalid requests ([\#2202](https://github.com/matrix-org/matrix-js-sdk/pull/2202)). + * Fix bug where calls could break if rejected from somewhere else ([\#2189](https://github.com/matrix-org/matrix-js-sdk/pull/2189)). + * Fix camera stuck on after call transfer ([\#2188](https://github.com/matrix-org/matrix-js-sdk/pull/2188)). + * Fix synthetic read receipt handling ([\#2174](https://github.com/matrix-org/matrix-js-sdk/pull/2174)). Fixes vector-im/element-web#21016. + * Revert "Sign backup with cross-signing key when we reset it." ([\#2175](https://github.com/matrix-org/matrix-js-sdk/pull/2175)). + * Sign backup with cross-signing key when we reset it. ([\#2170](https://github.com/matrix-org/matrix-js-sdk/pull/2170)). + * Fix error in uploadContent() when file is empty under Node.js ([\#2155](https://github.com/matrix-org/matrix-js-sdk/pull/2155)). + * Check the backup info against the stored private key when determining trust. ([\#2167](https://github.com/matrix-org/matrix-js-sdk/pull/2167)). + * Back up keys before logging out ([\#2158](https://github.com/matrix-org/matrix-js-sdk/pull/2158)). Fixes vector-im/element-web#13151. -- [Release] Fix bug with the /hierarchy API sending invalid requests ([\#2202](https://github.com/matrix-org/matrix-js-sdk/pull/2202)). -- Fix bug where calls could break if rejected from somewhere else ([\#2189](https://github.com/matrix-org/matrix-js-sdk/pull/2189)). -- Fix camera stuck on after call transfer ([\#2188](https://github.com/matrix-org/matrix-js-sdk/pull/2188)). -- Fix synthetic read receipt handling ([\#2174](https://github.com/matrix-org/matrix-js-sdk/pull/2174)). Fixes vector-im/element-web#21016. -- Revert "Sign backup with cross-signing key when we reset it." ([\#2175](https://github.com/matrix-org/matrix-js-sdk/pull/2175)). -- Sign backup with cross-signing key when we reset it. ([\#2170](https://github.com/matrix-org/matrix-js-sdk/pull/2170)). -- Fix error in uploadContent() when file is empty under Node.js ([\#2155](https://github.com/matrix-org/matrix-js-sdk/pull/2155)). -- Check the backup info against the stored private key when determining trust. ([\#2167](https://github.com/matrix-org/matrix-js-sdk/pull/2167)). -- Back up keys before logging out ([\#2158](https://github.com/matrix-org/matrix-js-sdk/pull/2158)). Fixes vector-im/element-web#13151. - -# Changes in [15.6.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.6.0-rc.1) (2022-02-22) +Changes in [15.6.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.6.0-rc.1) (2022-02-22) +============================================================================================================ ## ✨ Features - -- Return send event response from MSC3089Branch.createNewVersion() ([\#2186](https://github.com/matrix-org/matrix-js-sdk/pull/2186)). -- Add functions to support refresh tokens ([\#2178](https://github.com/matrix-org/matrix-js-sdk/pull/2178)). + * Return send event response from MSC3089Branch.createNewVersion() ([\#2186](https://github.com/matrix-org/matrix-js-sdk/pull/2186)). + * Add functions to support refresh tokens ([\#2178](https://github.com/matrix-org/matrix-js-sdk/pull/2178)). ## 🐛 Bug Fixes + * Fix bug where calls could break if rejected from somewhere else ([\#2189](https://github.com/matrix-org/matrix-js-sdk/pull/2189)). + * Fix camera stuck on after call transfer ([\#2188](https://github.com/matrix-org/matrix-js-sdk/pull/2188)). + * Fix synthetic read receipt handling ([\#2174](https://github.com/matrix-org/matrix-js-sdk/pull/2174)). Fixes vector-im/element-web#21016. + * Revert "Sign backup with cross-signing key when we reset it." ([\#2175](https://github.com/matrix-org/matrix-js-sdk/pull/2175)). + * Sign backup with cross-signing key when we reset it. ([\#2170](https://github.com/matrix-org/matrix-js-sdk/pull/2170)). + * Fix error in uploadContent() when file is empty under Node.js ([\#2155](https://github.com/matrix-org/matrix-js-sdk/pull/2155)). + * Check the backup info against the stored private key when determining trust. ([\#2167](https://github.com/matrix-org/matrix-js-sdk/pull/2167)). + * Back up keys before logging out ([\#2158](https://github.com/matrix-org/matrix-js-sdk/pull/2158)). Fixes vector-im/element-web#13151. -- Fix bug where calls could break if rejected from somewhere else ([\#2189](https://github.com/matrix-org/matrix-js-sdk/pull/2189)). -- Fix camera stuck on after call transfer ([\#2188](https://github.com/matrix-org/matrix-js-sdk/pull/2188)). -- Fix synthetic read receipt handling ([\#2174](https://github.com/matrix-org/matrix-js-sdk/pull/2174)). Fixes vector-im/element-web#21016. -- Revert "Sign backup with cross-signing key when we reset it." ([\#2175](https://github.com/matrix-org/matrix-js-sdk/pull/2175)). -- Sign backup with cross-signing key when we reset it. ([\#2170](https://github.com/matrix-org/matrix-js-sdk/pull/2170)). -- Fix error in uploadContent() when file is empty under Node.js ([\#2155](https://github.com/matrix-org/matrix-js-sdk/pull/2155)). -- Check the backup info against the stored private key when determining trust. ([\#2167](https://github.com/matrix-org/matrix-js-sdk/pull/2167)). -- Back up keys before logging out ([\#2158](https://github.com/matrix-org/matrix-js-sdk/pull/2158)). Fixes vector-im/element-web#13151. - -# Changes in [15.5.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.5.2) (2022-02-17) +Changes in [15.5.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.5.2) (2022-02-17) +================================================================================================== ## 🐛 Bug Fixes + * Fix synthetic read receipt handling -- Fix synthetic read receipt handling - -# Changes in [15.5.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.5.1) (2022-02-14) +Changes in [15.5.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.5.1) (2022-02-14) +================================================================================================== ## 🐛 Bug Fixes + * Fix issue with rooms not getting marked as unread ([\#2163](https://github.com/matrix-org/matrix-js-sdk/pull/2163)). Fixes vector-im/element-web#20971. + * Don't store streams that are only used once ([\#2157](https://github.com/matrix-org/matrix-js-sdk/pull/2157)). Fixes vector-im/element-web#20932. Contributed by @SimonBrandner. + * Fix edge cases around RR calculations ([\#2160](https://github.com/matrix-org/matrix-js-sdk/pull/2160)). Fixes vector-im/element-web#20922. + * Account for encryption in `maySendMessage()` ([\#2159](https://github.com/matrix-org/matrix-js-sdk/pull/2159)). Contributed by @SimonBrandner. + * Send references to thread root to threads, even out of order ([\#2156](https://github.com/matrix-org/matrix-js-sdk/pull/2156)). + * Fix initial sync fail when event fetching unsuccessful ([\#2150](https://github.com/matrix-org/matrix-js-sdk/pull/2150)). Fixes vector-im/element-web#20862. + * Don't decrypt redacted messages ([\#2143](https://github.com/matrix-org/matrix-js-sdk/pull/2143)). Contributed by @SimonBrandner. -- Fix issue with rooms not getting marked as unread ([\#2163](https://github.com/matrix-org/matrix-js-sdk/pull/2163)). Fixes vector-im/element-web#20971. -- Don't store streams that are only used once ([\#2157](https://github.com/matrix-org/matrix-js-sdk/pull/2157)). Fixes vector-im/element-web#20932. Contributed by @SimonBrandner. -- Fix edge cases around RR calculations ([\#2160](https://github.com/matrix-org/matrix-js-sdk/pull/2160)). Fixes vector-im/element-web#20922. -- Account for encryption in `maySendMessage()` ([\#2159](https://github.com/matrix-org/matrix-js-sdk/pull/2159)). Contributed by @SimonBrandner. -- Send references to thread root to threads, even out of order ([\#2156](https://github.com/matrix-org/matrix-js-sdk/pull/2156)). -- Fix initial sync fail when event fetching unsuccessful ([\#2150](https://github.com/matrix-org/matrix-js-sdk/pull/2150)). Fixes vector-im/element-web#20862. -- Don't decrypt redacted messages ([\#2143](https://github.com/matrix-org/matrix-js-sdk/pull/2143)). Contributed by @SimonBrandner. - -# Changes in [15.5.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.5.1-rc.1) (2022-02-08) +Changes in [15.5.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.5.1-rc.1) (2022-02-08) +============================================================================================================ ## 🐛 Bug Fixes + * Fix issue with rooms not getting marked as unread ([\#2163](https://github.com/matrix-org/matrix-js-sdk/pull/2163)). Fixes vector-im/element-web#20971. + * Don't store streams that are only used once ([\#2157](https://github.com/matrix-org/matrix-js-sdk/pull/2157)). Fixes vector-im/element-web#20932. Contributed by @SimonBrandner. + * Fix edge cases around RR calculations ([\#2160](https://github.com/matrix-org/matrix-js-sdk/pull/2160)). Fixes vector-im/element-web#20922. + * Account for encryption in `maySendMessage()` ([\#2159](https://github.com/matrix-org/matrix-js-sdk/pull/2159)). Contributed by @SimonBrandner. + * Send references to thread root to threads, even out of order ([\#2156](https://github.com/matrix-org/matrix-js-sdk/pull/2156)). + * Fix initial sync fail when event fetching unsuccessful ([\#2150](https://github.com/matrix-org/matrix-js-sdk/pull/2150)). Fixes vector-im/element-web#20862. + * Don't decrypt redacted messages ([\#2143](https://github.com/matrix-org/matrix-js-sdk/pull/2143)). Contributed by @SimonBrandner. -- Fix issue with rooms not getting marked as unread ([\#2163](https://github.com/matrix-org/matrix-js-sdk/pull/2163)). Fixes vector-im/element-web#20971. -- Don't store streams that are only used once ([\#2157](https://github.com/matrix-org/matrix-js-sdk/pull/2157)). Fixes vector-im/element-web#20932. Contributed by @SimonBrandner. -- Fix edge cases around RR calculations ([\#2160](https://github.com/matrix-org/matrix-js-sdk/pull/2160)). Fixes vector-im/element-web#20922. -- Account for encryption in `maySendMessage()` ([\#2159](https://github.com/matrix-org/matrix-js-sdk/pull/2159)). Contributed by @SimonBrandner. -- Send references to thread root to threads, even out of order ([\#2156](https://github.com/matrix-org/matrix-js-sdk/pull/2156)). -- Fix initial sync fail when event fetching unsuccessful ([\#2150](https://github.com/matrix-org/matrix-js-sdk/pull/2150)). Fixes vector-im/element-web#20862. -- Don't decrypt redacted messages ([\#2143](https://github.com/matrix-org/matrix-js-sdk/pull/2143)). Contributed by @SimonBrandner. - -# Changes in [15.5.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.5.0) (2022-01-31) +Changes in [15.5.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.5.0) (2022-01-31) +================================================================================================== ## ✨ Features - -- Support m.asset in m.location event content ([\#2109](https://github.com/matrix-org/matrix-js-sdk/pull/2109)). -- Send extensible events structure and support on-demand parsing ([\#2091](https://github.com/matrix-org/matrix-js-sdk/pull/2091)). -- Support cancelling events whilst they are in status = ENCRYPTING ([\#2095](https://github.com/matrix-org/matrix-js-sdk/pull/2095)). + * Support m.asset in m.location event content ([\#2109](https://github.com/matrix-org/matrix-js-sdk/pull/2109)). + * Send extensible events structure and support on-demand parsing ([\#2091](https://github.com/matrix-org/matrix-js-sdk/pull/2091)). + * Support cancelling events whilst they are in status = ENCRYPTING ([\#2095](https://github.com/matrix-org/matrix-js-sdk/pull/2095)). ## 🐛 Bug Fixes + * Fix http-api butchering idServer requests ([\#2134](https://github.com/matrix-org/matrix-js-sdk/pull/2134)). Fixes vector-im/element-web#20680. + * Don't remove streams that still have tracks ([\#2104](https://github.com/matrix-org/matrix-js-sdk/pull/2104)). -- Fix http-api butchering idServer requests ([\#2134](https://github.com/matrix-org/matrix-js-sdk/pull/2134)). Fixes vector-im/element-web#20680. -- Don't remove streams that still have tracks ([\#2104](https://github.com/matrix-org/matrix-js-sdk/pull/2104)). - -# Changes in [15.5.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.5.0-rc.1) (2022-01-26) +Changes in [15.5.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.5.0-rc.1) (2022-01-26) +============================================================================================================ ## ✨ Features - -- Support m.asset in m.location event content ([\#2109](https://github.com/matrix-org/matrix-js-sdk/pull/2109)). -- Send extensible events structure and support on-demand parsing ([\#2091](https://github.com/matrix-org/matrix-js-sdk/pull/2091)). -- Support cancelling events whilst they are in status = ENCRYPTING ([\#2095](https://github.com/matrix-org/matrix-js-sdk/pull/2095)). + * Support m.asset in m.location event content ([\#2109](https://github.com/matrix-org/matrix-js-sdk/pull/2109)). + * Send extensible events structure and support on-demand parsing ([\#2091](https://github.com/matrix-org/matrix-js-sdk/pull/2091)). + * Support cancelling events whilst they are in status = ENCRYPTING ([\#2095](https://github.com/matrix-org/matrix-js-sdk/pull/2095)). ## 🐛 Bug Fixes + * Fix http-api butchering idServer requests ([\#2134](https://github.com/matrix-org/matrix-js-sdk/pull/2134)). Fixes vector-im/element-web#20680. + * Don't remove streams that still have tracks ([\#2104](https://github.com/matrix-org/matrix-js-sdk/pull/2104)). -- Fix http-api butchering idServer requests ([\#2134](https://github.com/matrix-org/matrix-js-sdk/pull/2134)). Fixes vector-im/element-web#20680. -- Don't remove streams that still have tracks ([\#2104](https://github.com/matrix-org/matrix-js-sdk/pull/2104)). - -# Changes in [15.4.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.4.0) (2022-01-17) +Changes in [15.4.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.4.0) (2022-01-17) +================================================================================================== ## ✨ Features - -- Don't consider alt_aliases when calculating room name ([\#2094](https://github.com/matrix-org/matrix-js-sdk/pull/2094)). Fixes vector-im/element-web#13887. -- Load room history if necessary when searching for MSC3089 getFileEvent() ([\#2066](https://github.com/matrix-org/matrix-js-sdk/pull/2066)). -- Add support for MSC3030 `/timestamp_to_event` ([\#2072](https://github.com/matrix-org/matrix-js-sdk/pull/2072)). + * Don't consider alt_aliases when calculating room name ([\#2094](https://github.com/matrix-org/matrix-js-sdk/pull/2094)). Fixes vector-im/element-web#13887. + * Load room history if necessary when searching for MSC3089 getFileEvent() ([\#2066](https://github.com/matrix-org/matrix-js-sdk/pull/2066)). + * Add support for MSC3030 `/timestamp_to_event` ([\#2072](https://github.com/matrix-org/matrix-js-sdk/pull/2072)). ## 🐛 Bug Fixes + * Stop encrypting redactions as it isn't spec compliant ([\#2098](https://github.com/matrix-org/matrix-js-sdk/pull/2098)). Fixes vector-im/element-web#20460. + * Fix more function typings relating to key backup ([\#2086](https://github.com/matrix-org/matrix-js-sdk/pull/2086)). + * Fix timeline search in MSC3089 getFileEvent() ([\#2085](https://github.com/matrix-org/matrix-js-sdk/pull/2085)). + * Set a `deviceId` for VoIP example and use `const`/`let` ([\#2090](https://github.com/matrix-org/matrix-js-sdk/pull/2090)). Fixes #2083. Contributed by @SimonBrandner. + * Fix incorrect TS return type for secret storage and key backup functions ([\#2082](https://github.com/matrix-org/matrix-js-sdk/pull/2082)). -- Stop encrypting redactions as it isn't spec compliant ([\#2098](https://github.com/matrix-org/matrix-js-sdk/pull/2098)). Fixes vector-im/element-web#20460. -- Fix more function typings relating to key backup ([\#2086](https://github.com/matrix-org/matrix-js-sdk/pull/2086)). -- Fix timeline search in MSC3089 getFileEvent() ([\#2085](https://github.com/matrix-org/matrix-js-sdk/pull/2085)). -- Set a `deviceId` for VoIP example and use `const`/`let` ([\#2090](https://github.com/matrix-org/matrix-js-sdk/pull/2090)). Fixes #2083. Contributed by @SimonBrandner. -- Fix incorrect TS return type for secret storage and key backup functions ([\#2082](https://github.com/matrix-org/matrix-js-sdk/pull/2082)). - -# Changes in [15.4.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.4.0-rc.1) (2022-01-11) +Changes in [15.4.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.4.0-rc.1) (2022-01-11) +============================================================================================================ ## ✨ Features - -- Don't consider alt_aliases when calculating room name ([\#2094](https://github.com/matrix-org/matrix-js-sdk/pull/2094)). Fixes vector-im/element-web#13887. -- Load room history if necessary when searching for MSC3089 getFileEvent() ([\#2066](https://github.com/matrix-org/matrix-js-sdk/pull/2066)). -- Add support for MSC3030 `/timestamp_to_event` ([\#2072](https://github.com/matrix-org/matrix-js-sdk/pull/2072)). + * Don't consider alt_aliases when calculating room name ([\#2094](https://github.com/matrix-org/matrix-js-sdk/pull/2094)). Fixes vector-im/element-web#13887. + * Load room history if necessary when searching for MSC3089 getFileEvent() ([\#2066](https://github.com/matrix-org/matrix-js-sdk/pull/2066)). + * Add support for MSC3030 `/timestamp_to_event` ([\#2072](https://github.com/matrix-org/matrix-js-sdk/pull/2072)). ## 🐛 Bug Fixes + * Stop encrypting redactions as it isn't spec compliant ([\#2098](https://github.com/matrix-org/matrix-js-sdk/pull/2098)). Fixes vector-im/element-web#20460. + * Fix more function typings relating to key backup ([\#2086](https://github.com/matrix-org/matrix-js-sdk/pull/2086)). + * Fix timeline search in MSC3089 getFileEvent() ([\#2085](https://github.com/matrix-org/matrix-js-sdk/pull/2085)). + * Set a `deviceId` for VoIP example and use `const`/`let` ([\#2090](https://github.com/matrix-org/matrix-js-sdk/pull/2090)). Fixes #2083. Contributed by @SimonBrandner. + * Fix incorrect TS return type for secret storage and key backup functions ([\#2082](https://github.com/matrix-org/matrix-js-sdk/pull/2082)). -- Stop encrypting redactions as it isn't spec compliant ([\#2098](https://github.com/matrix-org/matrix-js-sdk/pull/2098)). Fixes vector-im/element-web#20460. -- Fix more function typings relating to key backup ([\#2086](https://github.com/matrix-org/matrix-js-sdk/pull/2086)). -- Fix timeline search in MSC3089 getFileEvent() ([\#2085](https://github.com/matrix-org/matrix-js-sdk/pull/2085)). -- Set a `deviceId` for VoIP example and use `const`/`let` ([\#2090](https://github.com/matrix-org/matrix-js-sdk/pull/2090)). Fixes #2083. Contributed by @SimonBrandner. -- Fix incorrect TS return type for secret storage and key backup functions ([\#2082](https://github.com/matrix-org/matrix-js-sdk/pull/2082)). - -# Changes in [15.3.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.3.0) (2021-12-20) +Changes in [15.3.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.3.0) (2021-12-20) +================================================================================================== ## ✨ Features - -- Improve fallback key behaviour ([\#2037](https://github.com/matrix-org/matrix-js-sdk/pull/2037)). -- Add new room event filter fields ([\#2051](https://github.com/matrix-org/matrix-js-sdk/pull/2051)). -- Add method to fetch /account/whoami ([\#2046](https://github.com/matrix-org/matrix-js-sdk/pull/2046)). + * Improve fallback key behaviour ([\#2037](https://github.com/matrix-org/matrix-js-sdk/pull/2037)). + * Add new room event filter fields ([\#2051](https://github.com/matrix-org/matrix-js-sdk/pull/2051)). + * Add method to fetch /account/whoami ([\#2046](https://github.com/matrix-org/matrix-js-sdk/pull/2046)). ## 🐛 Bug Fixes + * Filter out falsey opts in /relations API hits ([\#2059](https://github.com/matrix-org/matrix-js-sdk/pull/2059)). Fixes vector-im/element-web#20137. + * Fix paginateEventTimeline resolve to boolean ([\#2054](https://github.com/matrix-org/matrix-js-sdk/pull/2054)). + * Fix incorrect MSC3089 typings and add null checks ([\#2049](https://github.com/matrix-org/matrix-js-sdk/pull/2049)). -- Filter out falsey opts in /relations API hits ([\#2059](https://github.com/matrix-org/matrix-js-sdk/pull/2059)). Fixes vector-im/element-web#20137. -- Fix paginateEventTimeline resolve to boolean ([\#2054](https://github.com/matrix-org/matrix-js-sdk/pull/2054)). -- Fix incorrect MSC3089 typings and add null checks ([\#2049](https://github.com/matrix-org/matrix-js-sdk/pull/2049)). - -# Changes in [15.3.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.3.0-rc.1) (2021-12-14) +Changes in [15.3.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.3.0-rc.1) (2021-12-14) +============================================================================================================ ## ✨ Features - -- Improve fallback key behaviour ([\#2037](https://github.com/matrix-org/matrix-js-sdk/pull/2037)). -- Add new room event filter fields ([\#2051](https://github.com/matrix-org/matrix-js-sdk/pull/2051)). -- Add method to fetch /account/whoami ([\#2046](https://github.com/matrix-org/matrix-js-sdk/pull/2046)). + * Improve fallback key behaviour ([\#2037](https://github.com/matrix-org/matrix-js-sdk/pull/2037)). + * Add new room event filter fields ([\#2051](https://github.com/matrix-org/matrix-js-sdk/pull/2051)). + * Add method to fetch /account/whoami ([\#2046](https://github.com/matrix-org/matrix-js-sdk/pull/2046)). ## 🐛 Bug Fixes + * Filter out falsey opts in /relations API hits ([\#2059](https://github.com/matrix-org/matrix-js-sdk/pull/2059)). Fixes vector-im/element-web#20137. + * Fix paginateEventTimeline resolve to boolean ([\#2054](https://github.com/matrix-org/matrix-js-sdk/pull/2054)). + * Fix incorrect MSC3089 typings and add null checks ([\#2049](https://github.com/matrix-org/matrix-js-sdk/pull/2049)). -- Filter out falsey opts in /relations API hits ([\#2059](https://github.com/matrix-org/matrix-js-sdk/pull/2059)). Fixes vector-im/element-web#20137. -- Fix paginateEventTimeline resolve to boolean ([\#2054](https://github.com/matrix-org/matrix-js-sdk/pull/2054)). -- Fix incorrect MSC3089 typings and add null checks ([\#2049](https://github.com/matrix-org/matrix-js-sdk/pull/2049)). +Changes in [15.2.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.2.1) (2021-12-13) +================================================================================================== -# Changes in [15.2.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.2.1) (2021-12-13) + * Security release with updated version of Olm to fix https://matrix.org/blog/2021/12/03/pre-disclosure-upcoming-security-release-of-libolm-and-matrix-js-sdk -- Security release with updated version of Olm to fix https://matrix.org/blog/2021/12/03/pre-disclosure-upcoming-security-release-of-libolm-and-matrix-js-sdk - -# Changes in [15.2.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.2.0) (2021-12-06) +Changes in [15.2.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.2.0) (2021-12-06) +================================================================================================== ## ✨ Features - -- Remove support for `ArrayBuffer` in unstable MSC3089 `createFile()` and `createNewVersion()` and instead use same content types as handled by `MatrixClient.uploadContent()`. This enables support for Node.js. ([\#2014](https://github.com/matrix-org/matrix-js-sdk/pull/2014)). -- Support for password-based backup on Node.js ([\#2021](https://github.com/matrix-org/matrix-js-sdk/pull/2021)). -- Add optional force parameter when ensuring Olm sessions ([\#2027](https://github.com/matrix-org/matrix-js-sdk/pull/2027)). + * Remove support for `ArrayBuffer` in unstable MSC3089 `createFile()` and `createNewVersion()` and instead use same content types as handled by `MatrixClient.uploadContent()`. This enables support for Node.js. ([\#2014](https://github.com/matrix-org/matrix-js-sdk/pull/2014)). + * Support for password-based backup on Node.js ([\#2021](https://github.com/matrix-org/matrix-js-sdk/pull/2021)). + * Add optional force parameter when ensuring Olm sessions ([\#2027](https://github.com/matrix-org/matrix-js-sdk/pull/2027)). ## 🐛 Bug Fixes + * Fix call upgrades ([\#2024](https://github.com/matrix-org/matrix-js-sdk/pull/2024)). Contributed by @SimonBrandner. -- Fix call upgrades ([\#2024](https://github.com/matrix-org/matrix-js-sdk/pull/2024)). Contributed by @SimonBrandner. - -# Changes in [15.2.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.2.0-rc.1) (2021-11-30) +Changes in [15.2.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.2.0-rc.1) (2021-11-30) +============================================================================================================ ## ✨ Features - -- Remove support for `ArrayBuffer` in unstable MSC3089 `createFile()` and `createNewVersion()` and instead use same content types as handled by `MatrixClient.uploadContent()`. This enables support for Node.js. ([\#2014](https://github.com/matrix-org/matrix-js-sdk/pull/2014)). -- Support for password-based backup on Node.js ([\#2021](https://github.com/matrix-org/matrix-js-sdk/pull/2021)). -- Add optional force parameter when ensuring Olm sessions ([\#2027](https://github.com/matrix-org/matrix-js-sdk/pull/2027)). + * Remove support for `ArrayBuffer` in unstable MSC3089 `createFile()` and `createNewVersion()` and instead use same content types as handled by `MatrixClient.uploadContent()`. This enables support for Node.js. ([\#2014](https://github.com/matrix-org/matrix-js-sdk/pull/2014)). + * Support for password-based backup on Node.js ([\#2021](https://github.com/matrix-org/matrix-js-sdk/pull/2021)). + * Add optional force parameter when ensuring Olm sessions ([\#2027](https://github.com/matrix-org/matrix-js-sdk/pull/2027)). ## 🐛 Bug Fixes + * Fix call upgrades ([\#2024](https://github.com/matrix-org/matrix-js-sdk/pull/2024)). Contributed by @SimonBrandner. -- Fix call upgrades ([\#2024](https://github.com/matrix-org/matrix-js-sdk/pull/2024)). Contributed by @SimonBrandner. - -# Changes in [15.1.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.1.1) (2021-11-22) +Changes in [15.1.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.1.1) (2021-11-22) +================================================================================================== ## 🐛 Bug Fixes + * Fix edit history being broken after editing an unencrypted event with an encrypted event ([\#2013](https://github.com/matrix-org/matrix-js-sdk/pull/2013)). Fixes vector-im/element-web#19651 and vector-im/element-web#19651. Contributed by @aaronraimist. + * Make events pagination responses parse threads ([\#2011](https://github.com/matrix-org/matrix-js-sdk/pull/2011)). Fixes vector-im/element-web#19587 and vector-im/element-web#19587. -- Fix edit history being broken after editing an unencrypted event with an encrypted event ([\#2013](https://github.com/matrix-org/matrix-js-sdk/pull/2013)). Fixes vector-im/element-web#19651 and vector-im/element-web#19651. Contributed by @aaronraimist. -- Make events pagination responses parse threads ([\#2011](https://github.com/matrix-org/matrix-js-sdk/pull/2011)). Fixes vector-im/element-web#19587 and vector-im/element-web#19587. - -# Changes in [15.1.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.1.1-rc.1) (2021-11-17) +Changes in [15.1.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.1.1-rc.1) (2021-11-17) +============================================================================================================ ## 🐛 Bug Fixes + * Fix edit history being broken after editing an unencrypted event with an encrypted event ([\#2013](https://github.com/matrix-org/matrix-js-sdk/pull/2013)). Fixes vector-im/element-web#19651 and vector-im/element-web#19651. Contributed by @aaronraimist. + * Make events pagination responses parse threads ([\#2011](https://github.com/matrix-org/matrix-js-sdk/pull/2011)). Fixes vector-im/element-web#19587 and vector-im/element-web#19587. -- Fix edit history being broken after editing an unencrypted event with an encrypted event ([\#2013](https://github.com/matrix-org/matrix-js-sdk/pull/2013)). Fixes vector-im/element-web#19651 and vector-im/element-web#19651. Contributed by @aaronraimist. -- Make events pagination responses parse threads ([\#2011](https://github.com/matrix-org/matrix-js-sdk/pull/2011)). Fixes vector-im/element-web#19587 and vector-im/element-web#19587. - -# Changes in [15.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.1.0) (2021-11-08) +Changes in [15.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.1.0) (2021-11-08) +================================================================================================== ## 🦖 Deprecations - -- Mark old verification methods as deprecated ([\#1994](https://github.com/matrix-org/matrix-js-sdk/pull/1994)). + * Mark old verification methods as deprecated ([\#1994](https://github.com/matrix-org/matrix-js-sdk/pull/1994)). ## ✨ Features - -- Try to set a sender on search result events if possible ([\#2004](https://github.com/matrix-org/matrix-js-sdk/pull/2004)). -- Port some changes from group calls branch to develop ([\#2001](https://github.com/matrix-org/matrix-js-sdk/pull/2001)). Contributed by @SimonBrandner. -- Fetch room membership from server rather than relying on stored data ([\#1998](https://github.com/matrix-org/matrix-js-sdk/pull/1998)). -- Add method to fetch the MSC3266 Room Summary of a Room ([\#1988](https://github.com/matrix-org/matrix-js-sdk/pull/1988)). + * Try to set a sender on search result events if possible ([\#2004](https://github.com/matrix-org/matrix-js-sdk/pull/2004)). + * Port some changes from group calls branch to develop ([\#2001](https://github.com/matrix-org/matrix-js-sdk/pull/2001)). Contributed by @SimonBrandner. + * Fetch room membership from server rather than relying on stored data ([\#1998](https://github.com/matrix-org/matrix-js-sdk/pull/1998)). + * Add method to fetch the MSC3266 Room Summary of a Room ([\#1988](https://github.com/matrix-org/matrix-js-sdk/pull/1988)). ## 🐛 Bug Fixes + * Don't show `Unable to access microphone` when cancelling screensharing dialog ([\#2005](https://github.com/matrix-org/matrix-js-sdk/pull/2005)). Fixes vector-im/element-web#19533 and vector-im/element-web#19533. Contributed by @SimonBrandner. + * Strip direction override characters from display names ([\#1992](https://github.com/matrix-org/matrix-js-sdk/pull/1992)). Fixes vector-im/element-web#1712 and vector-im/element-web#1712. -- Don't show `Unable to access microphone` when cancelling screensharing dialog ([\#2005](https://github.com/matrix-org/matrix-js-sdk/pull/2005)). Fixes vector-im/element-web#19533 and vector-im/element-web#19533. Contributed by @SimonBrandner. -- Strip direction override characters from display names ([\#1992](https://github.com/matrix-org/matrix-js-sdk/pull/1992)). Fixes vector-im/element-web#1712 and vector-im/element-web#1712. - -# Changes in [15.1.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.1.0-rc.1) (2021-11-02) +Changes in [15.1.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v15.1.0-rc.1) (2021-11-02) +============================================================================================================ ## 🦖 Deprecations - -- Mark old verification methods as deprecated ([\#1994](https://github.com/matrix-org/matrix-js-sdk/pull/1994)). + * Mark old verification methods as deprecated ([\#1994](https://github.com/matrix-org/matrix-js-sdk/pull/1994)). ## ✨ Features - -- Try to set a sender on search result events if possible ([\#2004](https://github.com/matrix-org/matrix-js-sdk/pull/2004)). -- Port some changes from group calls branch to develop ([\#2001](https://github.com/matrix-org/matrix-js-sdk/pull/2001)). Contributed by @SimonBrandner. -- Fetch room membership from server rather than relying on stored data ([\#1998](https://github.com/matrix-org/matrix-js-sdk/pull/1998)). -- Add method to fetch the MSC3266 Room Summary of a Room ([\#1988](https://github.com/matrix-org/matrix-js-sdk/pull/1988)). + * Try to set a sender on search result events if possible ([\#2004](https://github.com/matrix-org/matrix-js-sdk/pull/2004)). + * Port some changes from group calls branch to develop ([\#2001](https://github.com/matrix-org/matrix-js-sdk/pull/2001)). Contributed by @SimonBrandner. + * Fetch room membership from server rather than relying on stored data ([\#1998](https://github.com/matrix-org/matrix-js-sdk/pull/1998)). + * Add method to fetch the MSC3266 Room Summary of a Room ([\#1988](https://github.com/matrix-org/matrix-js-sdk/pull/1988)). ## 🐛 Bug Fixes + * Don't show `Unable to access microphone` when cancelling screensharing dialog ([\#2005](https://github.com/matrix-org/matrix-js-sdk/pull/2005)). Fixes vector-im/element-web#19533 and vector-im/element-web#19533. Contributed by @SimonBrandner. + * Strip direction override characters from display names ([\#1992](https://github.com/matrix-org/matrix-js-sdk/pull/1992)). Fixes vector-im/element-web#1712 and vector-im/element-web#1712. -- Don't show `Unable to access microphone` when cancelling screensharing dialog ([\#2005](https://github.com/matrix-org/matrix-js-sdk/pull/2005)). Fixes vector-im/element-web#19533 and vector-im/element-web#19533. Contributed by @SimonBrandner. -- Strip direction override characters from display names ([\#1992](https://github.com/matrix-org/matrix-js-sdk/pull/1992)). Fixes vector-im/element-web#1712 and vector-im/element-web#1712. - -# Changes in [15.0.0](https://github.com/vector-im/element-desktop/releases/tag/v15.0.0) (2021-10-25) +Changes in [15.0.0](https://github.com/vector-im/element-desktop/releases/tag/v15.0.0) (2021-10-25) +=================================================================================================== ## 🚨 BREAKING CHANGES - -- Use `ICallFeedOpts` in the `CallFeed` constructor. To construct a new `CallFeed` object you have to pass `ICallFeedOpts` e.g. `const callFeed = new CallFeed({client ([\#1964](https://github.com/matrix-org/matrix-js-sdk/pull/1964)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Use `ICallFeedOpts` in the `CallFeed` constructor. To construct a new `CallFeed` object you have to pass `ICallFeedOpts` e.g. `const callFeed = new CallFeed({client ([\#1964](https://github.com/matrix-org/matrix-js-sdk/pull/1964)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). ## ✨ Features - -- Make threads use 'm.thread' relation ([\#1980](https://github.com/matrix-org/matrix-js-sdk/pull/1980)). -- Try to answer a call without video if we can't access the camera ([\#1972](https://github.com/matrix-org/matrix-js-sdk/pull/1972)). Fixes vector-im/element-web#17975 and vector-im/element-web#17975. Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Make `opts` in `importRoomKeys()` optional ([\#1974](https://github.com/matrix-org/matrix-js-sdk/pull/1974)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Enable TypeScript declaration maps ([\#1966](https://github.com/matrix-org/matrix-js-sdk/pull/1966)). Contributed by [Alexendoo](https://github.com/Alexendoo). + * Make threads use 'm.thread' relation ([\#1980](https://github.com/matrix-org/matrix-js-sdk/pull/1980)). + * Try to answer a call without video if we can't access the camera ([\#1972](https://github.com/matrix-org/matrix-js-sdk/pull/1972)). Fixes vector-im/element-web#17975 and vector-im/element-web#17975. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Make `opts` in `importRoomKeys()` optional ([\#1974](https://github.com/matrix-org/matrix-js-sdk/pull/1974)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Enable TypeScript declaration maps ([\#1966](https://github.com/matrix-org/matrix-js-sdk/pull/1966)). Contributed by [Alexendoo](https://github.com/Alexendoo). ## 🐛 Bug Fixes + * Fix `requestVerificationDM` with chronological `pendingEventOrdering` ([\#1943](https://github.com/matrix-org/matrix-js-sdk/pull/1943)). Contributed by [freaktechnik](https://github.com/freaktechnik). -- Fix `requestVerificationDM` with chronological `pendingEventOrdering` ([\#1943](https://github.com/matrix-org/matrix-js-sdk/pull/1943)). Contributed by [freaktechnik](https://github.com/freaktechnik). - -# Changes in [15.0.0-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v15.0.0-rc.1) (2021-10-19) +Changes in [15.0.0-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v15.0.0-rc.1) (2021-10-19) +============================================================================================================= ## 🚨 BREAKING CHANGES - -- Use `ICallFeedOpts` in the `CallFeed` constructor. To construct a new `CallFeed` object you have to pass `ICallFeedOpts` e.g. `const callFeed = new CallFeed({client ([\#1964](https://github.com/matrix-org/matrix-js-sdk/pull/1964)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Use `ICallFeedOpts` in the `CallFeed` constructor. To construct a new `CallFeed` object you have to pass `ICallFeedOpts` e.g. `const callFeed = new CallFeed({client ([\#1964](https://github.com/matrix-org/matrix-js-sdk/pull/1964)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). ## ✨ Features - -- Make threads use 'm.thread' relation ([\#1980](https://github.com/matrix-org/matrix-js-sdk/pull/1980)). -- Try to answer a call without video if we can't access the camera ([\#1972](https://github.com/matrix-org/matrix-js-sdk/pull/1972)). Fixes vector-im/element-web#17975 and vector-im/element-web#17975. Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Make `opts` in `importRoomKeys()` optional ([\#1974](https://github.com/matrix-org/matrix-js-sdk/pull/1974)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Enable TypeScript declaration maps ([\#1966](https://github.com/matrix-org/matrix-js-sdk/pull/1966)). Contributed by [Alexendoo](https://github.com/Alexendoo). + * Make threads use 'm.thread' relation ([\#1980](https://github.com/matrix-org/matrix-js-sdk/pull/1980)). + * Try to answer a call without video if we can't access the camera ([\#1972](https://github.com/matrix-org/matrix-js-sdk/pull/1972)). Fixes vector-im/element-web#17975 and vector-im/element-web#17975. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Make `opts` in `importRoomKeys()` optional ([\#1974](https://github.com/matrix-org/matrix-js-sdk/pull/1974)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Enable TypeScript declaration maps ([\#1966](https://github.com/matrix-org/matrix-js-sdk/pull/1966)). Contributed by [Alexendoo](https://github.com/Alexendoo). ## 🐛 Bug Fixes + * Fix `requestVerificationDM` with chronological `pendingEventOrdering` ([\#1943](https://github.com/matrix-org/matrix-js-sdk/pull/1943)). Contributed by [freaktechnik](https://github.com/freaktechnik). -- Fix `requestVerificationDM` with chronological `pendingEventOrdering` ([\#1943](https://github.com/matrix-org/matrix-js-sdk/pull/1943)). Contributed by [freaktechnik](https://github.com/freaktechnik). - -# Changes in [14.0.1](https://github.com/vector-im/element-desktop/releases/tag/v14.0.1) (2021-10-12) +Changes in [14.0.1](https://github.com/vector-im/element-desktop/releases/tag/v14.0.1) (2021-10-12) +=================================================================================================== ## 🚨 BREAKING CHANGES - -- Support for call upgrades. `setLocalVideoMuted()` and `setMicrophoneMuted()` are now `async` and return the new mute state ([\#1827](https://github.com/matrix-org/matrix-js-sdk/pull/1827)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Support for call upgrades. `setLocalVideoMuted()` and `setMicrophoneMuted()` are now `async` and return the new mute state ([\#1827](https://github.com/matrix-org/matrix-js-sdk/pull/1827)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). ## ✨ Features - -- Implement file versioning for tree spaces ([\#1952](https://github.com/matrix-org/matrix-js-sdk/pull/1952)). -- Allow answering calls without audio/video ([\#1950](https://github.com/matrix-org/matrix-js-sdk/pull/1950)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Add `bound` to `IThreepid` ([\#1941](https://github.com/matrix-org/matrix-js-sdk/pull/1941)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Add `trusted_locally` to `TrustInfo` ([\#1942](https://github.com/matrix-org/matrix-js-sdk/pull/1942)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Implement file versioning for tree spaces ([\#1952](https://github.com/matrix-org/matrix-js-sdk/pull/1952)). + * Allow answering calls without audio/video ([\#1950](https://github.com/matrix-org/matrix-js-sdk/pull/1950)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Add `bound` to `IThreepid` ([\#1941](https://github.com/matrix-org/matrix-js-sdk/pull/1941)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Add `trusted_locally` to `TrustInfo` ([\#1942](https://github.com/matrix-org/matrix-js-sdk/pull/1942)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). ## 🐛 Bug Fixes + * Fix incorrect return value type in getJoinedRooms() ([\#1959](https://github.com/matrix-org/matrix-js-sdk/pull/1959)). Contributed by [psrpinto](https://github.com/psrpinto). + * Make sure to set `callLengthInterval` only once ([\#1958](https://github.com/matrix-org/matrix-js-sdk/pull/1958)). Fixes vector-im/element-web#19221 and vector-im/element-web#19221. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Fix event partitioning from non threading ready clients ([\#1948](https://github.com/matrix-org/matrix-js-sdk/pull/1948)). + * Ensure unencrypted fields get exposed by getEffectiveEvent() ([\#1938](https://github.com/matrix-org/matrix-js-sdk/pull/1938)). Fixes vector-im/element-web#19062 and vector-im/element-web#19062. -- Fix incorrect return value type in getJoinedRooms() ([\#1959](https://github.com/matrix-org/matrix-js-sdk/pull/1959)). Contributed by [psrpinto](https://github.com/psrpinto). -- Make sure to set `callLengthInterval` only once ([\#1958](https://github.com/matrix-org/matrix-js-sdk/pull/1958)). Fixes vector-im/element-web#19221 and vector-im/element-web#19221. Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Fix event partitioning from non threading ready clients ([\#1948](https://github.com/matrix-org/matrix-js-sdk/pull/1948)). -- Ensure unencrypted fields get exposed by getEffectiveEvent() ([\#1938](https://github.com/matrix-org/matrix-js-sdk/pull/1938)). Fixes vector-im/element-web#19062 and vector-im/element-web#19062. -# Changes in [14.0.0-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v14.0.0-rc.1) (2021-10-04) +Changes in [14.0.0-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v14.0.0-rc.1) (2021-10-04) +============================================================================================================= ## 🚨 BREAKING CHANGES - -- Support for call upgrades. `setLocalVideoMuted()` and `setMicrophoneMuted()` are now `async` and return the new mute state ([\#1827](https://github.com/matrix-org/matrix-js-sdk/pull/1827)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Support for call upgrades. `setLocalVideoMuted()` and `setMicrophoneMuted()` are now `async` and return the new mute state ([\#1827](https://github.com/matrix-org/matrix-js-sdk/pull/1827)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). ## ✨ Features - -- Implement file versioning for tree spaces ([\#1952](https://github.com/matrix-org/matrix-js-sdk/pull/1952)). -- Allow answering calls without audio/video ([\#1950](https://github.com/matrix-org/matrix-js-sdk/pull/1950)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Add `bound` to `IThreepid` ([\#1941](https://github.com/matrix-org/matrix-js-sdk/pull/1941)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Add `trusted_locally` to `TrustInfo` ([\#1942](https://github.com/matrix-org/matrix-js-sdk/pull/1942)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Implement file versioning for tree spaces ([\#1952](https://github.com/matrix-org/matrix-js-sdk/pull/1952)). + * Allow answering calls without audio/video ([\#1950](https://github.com/matrix-org/matrix-js-sdk/pull/1950)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Add `bound` to `IThreepid` ([\#1941](https://github.com/matrix-org/matrix-js-sdk/pull/1941)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Add `trusted_locally` to `TrustInfo` ([\#1942](https://github.com/matrix-org/matrix-js-sdk/pull/1942)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). ## 🐛 Bug Fixes + * Fix incorrect return value type in getJoinedRooms() ([\#1959](https://github.com/matrix-org/matrix-js-sdk/pull/1959)). Contributed by [psrpinto](https://github.com/psrpinto). + * Make sure to set `callLengthInterval` only once ([\#1958](https://github.com/matrix-org/matrix-js-sdk/pull/1958)). Fixes vector-im/element-web#19221 and vector-im/element-web#19221. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Fix event partitioning from non threading ready clients ([\#1948](https://github.com/matrix-org/matrix-js-sdk/pull/1948)). + * Ensure unencrypted fields get exposed by getEffectiveEvent() ([\#1938](https://github.com/matrix-org/matrix-js-sdk/pull/1938)). Fixes vector-im/element-web#19062 and vector-im/element-web#19062. -- Fix incorrect return value type in getJoinedRooms() ([\#1959](https://github.com/matrix-org/matrix-js-sdk/pull/1959)). Contributed by [psrpinto](https://github.com/psrpinto). -- Make sure to set `callLengthInterval` only once ([\#1958](https://github.com/matrix-org/matrix-js-sdk/pull/1958)). Fixes vector-im/element-web#19221 and vector-im/element-web#19221. Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Fix event partitioning from non threading ready clients ([\#1948](https://github.com/matrix-org/matrix-js-sdk/pull/1948)). -- Ensure unencrypted fields get exposed by getEffectiveEvent() ([\#1938](https://github.com/matrix-org/matrix-js-sdk/pull/1938)). Fixes vector-im/element-web#19062 and vector-im/element-web#19062. - -# Changes in [13.0.0](https://github.com/vector-im/element-desktop/releases/tag/v13.0.0) (2021-09-27) +Changes in [13.0.0](https://github.com/vector-im/element-desktop/releases/tag/v13.0.0) (2021-09-27) +=================================================================================================== ## ✨ Features - -- Add `getHistoryVisibility()` and `getGuestAccess()` ([\#1940](https://github.com/matrix-org/matrix-js-sdk/pull/1940)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Add `getBuffer()` to `QRCodeData` ([\#1927](https://github.com/matrix-org/matrix-js-sdk/pull/1927)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Added `createDataChannel()` and `CallEvent.DataChannel` to `MatrixCall` for creating and listening for WebRTC datachannels. ([\#1929](https://github.com/matrix-org/matrix-js-sdk/pull/1929)). Contributed by [robertlong](https://github.com/robertlong). -- Add file locking to MSC3089 branches ([\#1909](https://github.com/matrix-org/matrix-js-sdk/pull/1909)). -- Add `hasBeenCancelled` to `VerificationBase` ([\#1915](https://github.com/matrix-org/matrix-js-sdk/pull/1915)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Add `ISasEvent` ([\#1908](https://github.com/matrix-org/matrix-js-sdk/pull/1908)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Count notifications in encrypted rooms client-side ([\#1872](https://github.com/matrix-org/matrix-js-sdk/pull/1872)). Fixes vector-im/element-web#15393 and vector-im/element-web#15393. Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Exclude opt-in Element performance metrics from encryption ([\#1897](https://github.com/matrix-org/matrix-js-sdk/pull/1897)). + * Add `getHistoryVisibility()` and `getGuestAccess()` ([\#1940](https://github.com/matrix-org/matrix-js-sdk/pull/1940)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Add `getBuffer()` to `QRCodeData` ([\#1927](https://github.com/matrix-org/matrix-js-sdk/pull/1927)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Added `createDataChannel()` and `CallEvent.DataChannel` to `MatrixCall` for creating and listening for WebRTC datachannels. ([\#1929](https://github.com/matrix-org/matrix-js-sdk/pull/1929)). Contributed by [robertlong](https://github.com/robertlong). + * Add file locking to MSC3089 branches ([\#1909](https://github.com/matrix-org/matrix-js-sdk/pull/1909)). + * Add `hasBeenCancelled` to `VerificationBase` ([\#1915](https://github.com/matrix-org/matrix-js-sdk/pull/1915)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Add `ISasEvent` ([\#1908](https://github.com/matrix-org/matrix-js-sdk/pull/1908)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Count notifications in encrypted rooms client-side ([\#1872](https://github.com/matrix-org/matrix-js-sdk/pull/1872)). Fixes vector-im/element-web#15393 and vector-im/element-web#15393. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Exclude opt-in Element performance metrics from encryption ([\#1897](https://github.com/matrix-org/matrix-js-sdk/pull/1897)). ## 🐛 Bug Fixes + * Fix race on automatic backup restore ([\#1936](https://github.com/matrix-org/matrix-js-sdk/pull/1936)). Fixes vector-im/element-web#17781 and vector-im/element-web#17781. -- Fix race on automatic backup restore ([\#1936](https://github.com/matrix-org/matrix-js-sdk/pull/1936)). Fixes vector-im/element-web#17781 and vector-im/element-web#17781. - -# Changes in [13.0.0-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v13.0.0-rc.1) (2021-09-21) +Changes in [13.0.0-rc.1](https://github.com/vector-im/element-desktop/releases/tag/v13.0.0-rc.1) (2021-09-21) +============================================================================================================= ## ✨ Features - -- Add `getHistoryVisibility()` and `getGuestAccess()` ([\#1940](https://github.com/matrix-org/matrix-js-sdk/pull/1940)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Add `getBuffer()` to `QRCodeData` ([\#1927](https://github.com/matrix-org/matrix-js-sdk/pull/1927)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Added `createDataChannel()` and `CallEvent.DataChannel` to `MatrixCall` for creating and listening for WebRTC datachannels. ([\#1929](https://github.com/matrix-org/matrix-js-sdk/pull/1929)). Contributed by [robertlong](https://github.com/robertlong). -- Add file locking to MSC3089 branches ([\#1909](https://github.com/matrix-org/matrix-js-sdk/pull/1909)). -- Add `hasBeenCancelled` to `VerificationBase` ([\#1915](https://github.com/matrix-org/matrix-js-sdk/pull/1915)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Add `ISasEvent` ([\#1908](https://github.com/matrix-org/matrix-js-sdk/pull/1908)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Count notifications in encrypted rooms client-side ([\#1872](https://github.com/matrix-org/matrix-js-sdk/pull/1872)). Fixes vector-im/element-web#15393 and vector-im/element-web#15393. Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Exclude opt-in Element performance metrics from encryption ([\#1897](https://github.com/matrix-org/matrix-js-sdk/pull/1897)). + * Add `getHistoryVisibility()` and `getGuestAccess()` ([\#1940](https://github.com/matrix-org/matrix-js-sdk/pull/1940)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Add `getBuffer()` to `QRCodeData` ([\#1927](https://github.com/matrix-org/matrix-js-sdk/pull/1927)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Added `createDataChannel()` and `CallEvent.DataChannel` to `MatrixCall` for creating and listening for WebRTC datachannels. ([\#1929](https://github.com/matrix-org/matrix-js-sdk/pull/1929)). Contributed by [robertlong](https://github.com/robertlong). + * Add file locking to MSC3089 branches ([\#1909](https://github.com/matrix-org/matrix-js-sdk/pull/1909)). + * Add `hasBeenCancelled` to `VerificationBase` ([\#1915](https://github.com/matrix-org/matrix-js-sdk/pull/1915)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Add `ISasEvent` ([\#1908](https://github.com/matrix-org/matrix-js-sdk/pull/1908)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Count notifications in encrypted rooms client-side ([\#1872](https://github.com/matrix-org/matrix-js-sdk/pull/1872)). Fixes vector-im/element-web#15393 and vector-im/element-web#15393. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Exclude opt-in Element performance metrics from encryption ([\#1897](https://github.com/matrix-org/matrix-js-sdk/pull/1897)). ## 🐛 Bug Fixes + * Fix race on automatic backup restore ([\#1936](https://github.com/matrix-org/matrix-js-sdk/pull/1936)). Fixes vector-im/element-web#17781 and vector-im/element-web#17781. -- Fix race on automatic backup restore ([\#1936](https://github.com/matrix-org/matrix-js-sdk/pull/1936)). Fixes vector-im/element-web#17781 and vector-im/element-web#17781. - -# Changes in [12.5.0](https://github.com/vector-im/element-desktop/releases/tag/v12.5.0) (2021-09-14) +Changes in [12.5.0](https://github.com/vector-im/element-desktop/releases/tag/v12.5.0) (2021-09-14) +=================================================================================================== ## ✨ Features - -- [Release] Exclude opt-in Element performance metrics from encryption ([\#1901](https://github.com/matrix-org/matrix-js-sdk/pull/1901)). -- Give `MatrixCall` the capability to emit `LengthChanged` events ([\#1873](https://github.com/matrix-org/matrix-js-sdk/pull/1873)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Improve browser example ([\#1875](https://github.com/matrix-org/matrix-js-sdk/pull/1875)). Contributed by [psrpinto](https://github.com/psrpinto). -- Give `CallFeed` the capability to emit on volume changes ([\#1865](https://github.com/matrix-org/matrix-js-sdk/pull/1865)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * [Release] Exclude opt-in Element performance metrics from encryption ([\#1901](https://github.com/matrix-org/matrix-js-sdk/pull/1901)). + * Give `MatrixCall` the capability to emit `LengthChanged` events ([\#1873](https://github.com/matrix-org/matrix-js-sdk/pull/1873)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Improve browser example ([\#1875](https://github.com/matrix-org/matrix-js-sdk/pull/1875)). Contributed by [psrpinto](https://github.com/psrpinto). + * Give `CallFeed` the capability to emit on volume changes ([\#1865](https://github.com/matrix-org/matrix-js-sdk/pull/1865)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). ## 🐛 Bug Fixes + * Fix verification request cancellation ([\#1871](https://github.com/matrix-org/matrix-js-sdk/pull/1871)). -- Fix verification request cancellation ([\#1871](https://github.com/matrix-org/matrix-js-sdk/pull/1871)). - -# Changes in [12.4.1](https://github.com/vector-im/element-desktop/releases/tag/v12.4.1) (2021-09-13) +Changes in [12.4.1](https://github.com/vector-im/element-desktop/releases/tag/v12.4.1) (2021-09-13) +=================================================================================================== ## 🔒 SECURITY FIXES + * Fix a security issue with message key sharing. See https://matrix.org/blog/2021/09/13/vulnerability-disclosure-key-sharing + for details. -- Fix a security issue with message key sharing. See https://matrix.org/blog/2021/09/13/vulnerability-disclosure-key-sharing - for details. - -# Changes in [12.4.0](https://github.com/vector-im/element-desktop/releases/tag/v12.4.0) (2021-08-31) +Changes in [12.4.0](https://github.com/vector-im/element-desktop/releases/tag/v12.4.0) (2021-08-31) +=================================================================================================== ## 🦖 Deprecations - -- Deprecate groups APIs. Groups are no longer supported, only Synapse has support. They are being replaced by Spaces which build off of Rooms and are far more flexible. ([\#1792](https://github.com/matrix-org/matrix-js-sdk/pull/1792)). + * Deprecate groups APIs. Groups are no longer supported, only Synapse has support. They are being replaced by Spaces which build off of Rooms and are far more flexible. ([\#1792](https://github.com/matrix-org/matrix-js-sdk/pull/1792)). ## ✨ Features - -- Add method for including extra fields when uploading to a tree space ([\#1850](https://github.com/matrix-org/matrix-js-sdk/pull/1850)). + * Add method for including extra fields when uploading to a tree space ([\#1850](https://github.com/matrix-org/matrix-js-sdk/pull/1850)). ## 🐛 Bug Fixes + * Fix broken voice calls, no ringing and broken call notifications ([\#1858](https://github.com/matrix-org/matrix-js-sdk/pull/1858)). Fixes vector-im/element-web#18578 vector-im/element-web#18538 and vector-im/element-web#18578. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Revert "Fix glare related regressions" ([\#1857](https://github.com/matrix-org/matrix-js-sdk/pull/1857)). + * Fix glare related regressions ([\#1851](https://github.com/matrix-org/matrix-js-sdk/pull/1851)). Fixes vector-im/element-web#18538 and vector-im/element-web#18538. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Fix temporary call messages being handled without call ([\#1834](https://github.com/matrix-org/matrix-js-sdk/pull/1834)). Contributed by [Palid](https://github.com/Palid). + * Fix conditional on returning file tree spaces ([\#1841](https://github.com/matrix-org/matrix-js-sdk/pull/1841)). -- Fix broken voice calls, no ringing and broken call notifications ([\#1858](https://github.com/matrix-org/matrix-js-sdk/pull/1858)). Fixes vector-im/element-web#18578 vector-im/element-web#18538 and vector-im/element-web#18578. Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Revert "Fix glare related regressions" ([\#1857](https://github.com/matrix-org/matrix-js-sdk/pull/1857)). -- Fix glare related regressions ([\#1851](https://github.com/matrix-org/matrix-js-sdk/pull/1851)). Fixes vector-im/element-web#18538 and vector-im/element-web#18538. Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Fix temporary call messages being handled without call ([\#1834](https://github.com/matrix-org/matrix-js-sdk/pull/1834)). Contributed by [Palid](https://github.com/Palid). -- Fix conditional on returning file tree spaces ([\#1841](https://github.com/matrix-org/matrix-js-sdk/pull/1841)). - -# Changes in [12.3.1](https://github.com/vector-im/element-desktop/releases/tag/v12.3.1) (2021-08-17) +Changes in [12.3.1](https://github.com/vector-im/element-desktop/releases/tag/v12.3.1) (2021-08-17) +=================================================================================================== ## 🐛 Bug Fixes + * Fix multiple VoIP regressions ([\#1860](https://github.com/matrix-org/matrix-js-sdk/pull/1860)). -- Fix multiple VoIP regressions ([\#1860](https://github.com/matrix-org/matrix-js-sdk/pull/1860)). - -# Changes in [12.3.0](https://github.com/vector-im/element-desktop/releases/tag/v12.3.0) (2021-08-16) +Changes in [12.3.0](https://github.com/vector-im/element-desktop/releases/tag/v12.3.0) (2021-08-16) +=================================================================================================== ## ✨ Features - -- Support for MSC3291: Muting in VoIP calls ([\#1812](https://github.com/matrix-org/matrix-js-sdk/pull/1812)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Support for screen-sharing using multi-stream VoIP (MSC3077) ([\#1685](https://github.com/matrix-org/matrix-js-sdk/pull/1685)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Handle DTMF support ([\#1813](https://github.com/matrix-org/matrix-js-sdk/pull/1813)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Support for MSC3291: Muting in VoIP calls ([\#1812](https://github.com/matrix-org/matrix-js-sdk/pull/1812)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Support for screen-sharing using multi-stream VoIP (MSC3077) ([\#1685](https://github.com/matrix-org/matrix-js-sdk/pull/1685)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Handle DTMF support ([\#1813](https://github.com/matrix-org/matrix-js-sdk/pull/1813)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). ## 🐛 Bug Fixes + * [Release] Fix glare related regressions ([\#1854](https://github.com/matrix-org/matrix-js-sdk/pull/1854)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Fix the types in shipped package ([\#1842](https://github.com/matrix-org/matrix-js-sdk/pull/1842)). Fixes vector-im/element-web#18503 and vector-im/element-web#18503. + * Fix error on turning off screensharing ([\#1833](https://github.com/matrix-org/matrix-js-sdk/pull/1833)). Fixes vector-im/element-web#18449. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Fix blank profile in join events ([\#1837](https://github.com/matrix-org/matrix-js-sdk/pull/1837)). Fixes vector-im/element-web#18321. + * fix TURN by fixing regression preventing multiple ICE candidates from sending. ([\#1838](https://github.com/matrix-org/matrix-js-sdk/pull/1838)). + * Send `user_hangup` reason if the opponent supports it ([\#1820](https://github.com/matrix-org/matrix-js-sdk/pull/1820)). Fixes vector-im/element-web#18219. Contributed by [SimonBrandner](https://github.com/SimonBrandner). + * Apply hidden char check to rawDisplayName too ([\#1816](https://github.com/matrix-org/matrix-js-sdk/pull/1816)). + * Only clear bit 63 when we create the IV ([\#1819](https://github.com/matrix-org/matrix-js-sdk/pull/1819)). -- [Release] Fix glare related regressions ([\#1854](https://github.com/matrix-org/matrix-js-sdk/pull/1854)). Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Fix the types in shipped package ([\#1842](https://github.com/matrix-org/matrix-js-sdk/pull/1842)). Fixes vector-im/element-web#18503 and vector-im/element-web#18503. -- Fix error on turning off screensharing ([\#1833](https://github.com/matrix-org/matrix-js-sdk/pull/1833)). Fixes vector-im/element-web#18449. Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Fix blank profile in join events ([\#1837](https://github.com/matrix-org/matrix-js-sdk/pull/1837)). Fixes vector-im/element-web#18321. -- fix TURN by fixing regression preventing multiple ICE candidates from sending. ([\#1838](https://github.com/matrix-org/matrix-js-sdk/pull/1838)). -- Send `user_hangup` reason if the opponent supports it ([\#1820](https://github.com/matrix-org/matrix-js-sdk/pull/1820)). Fixes vector-im/element-web#18219. Contributed by [SimonBrandner](https://github.com/SimonBrandner). -- Apply hidden char check to rawDisplayName too ([\#1816](https://github.com/matrix-org/matrix-js-sdk/pull/1816)). -- Only clear bit 63 when we create the IV ([\#1819](https://github.com/matrix-org/matrix-js-sdk/pull/1819)). - -# Changes in [12.2.0](https://github.com/vector-im/element-desktop/releases/tag/v12.2.0) (2021-08-02) +Changes in [12.2.0](https://github.com/vector-im/element-desktop/releases/tag/v12.2.0) (2021-08-02) +=================================================================================================== ## ✨ Features - -- Improve calculateRoomName performances by using Intl.Collator - [\#1801](https://github.com/matrix-org/matrix-js-sdk/pull/1801) -- Switch callEventHandler from listening on `event` to `Room.timeline` - [\#1789](https://github.com/matrix-org/matrix-js-sdk/pull/1789) -- Expose MatrixEvent's internal clearEvent as a function - [\#1784](https://github.com/matrix-org/matrix-js-sdk/pull/1784) + * Improve calculateRoomName performances by using Intl.Collator + [\#1801](https://github.com/matrix-org/matrix-js-sdk/pull/1801) + * Switch callEventHandler from listening on `event` to `Room.timeline` + [\#1789](https://github.com/matrix-org/matrix-js-sdk/pull/1789) + * Expose MatrixEvent's internal clearEvent as a function + [\#1784](https://github.com/matrix-org/matrix-js-sdk/pull/1784) ## 🐛 Bug Fixes + * Clean up Event.clearEvent handling to fix a bug where malformed events with falsey content wouldn't be considered decrypted + [\#1807](https://github.com/matrix-org/matrix-js-sdk/pull/1807) + * Standardise spelling and casing of homeserver, identity server, and integration manager + [\#1782](https://github.com/matrix-org/matrix-js-sdk/pull/1782) -- Clean up Event.clearEvent handling to fix a bug where malformed events with falsey content wouldn't be considered decrypted - [\#1807](https://github.com/matrix-org/matrix-js-sdk/pull/1807) -- Standardise spelling and casing of homeserver, identity server, and integration manager - [\#1782](https://github.com/matrix-org/matrix-js-sdk/pull/1782) - -# Changes in [12.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v12.1.0) (2021-07-19) - +Changes in [12.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v12.1.0) (2021-07-19) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v12.1.0-rc.1...v12.1.0) -- No changes from rc.1 - -# Changes in [12.1.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v12.1.0-rc.1) (2021-07-14) + * No changes from rc.1 +Changes in [12.1.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v12.1.0-rc.1) (2021-07-14) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v12.0.1...v12.1.0-rc.1) -- Add VS Code to gitignore - [\#1783](https://github.com/matrix-org/matrix-js-sdk/pull/1783) -- Make `Crypto::inRoomVerificationRequests` public - [\#1781](https://github.com/matrix-org/matrix-js-sdk/pull/1781) -- Call `setEventMetadata()` for filtered `timelineSet`s - [\#1765](https://github.com/matrix-org/matrix-js-sdk/pull/1765) -- Symmetric backup - [\#1775](https://github.com/matrix-org/matrix-js-sdk/pull/1775) -- Attempt to fix megolm key not being in SSSS - [\#1776](https://github.com/matrix-org/matrix-js-sdk/pull/1776) -- Convert SecretStorage to TypeScript - [\#1774](https://github.com/matrix-org/matrix-js-sdk/pull/1774) -- Strip hash from urls being previewed to de-duplicate - [\#1721](https://github.com/matrix-org/matrix-js-sdk/pull/1721) -- Do not generate a lockfile when running in CI - [\#1773](https://github.com/matrix-org/matrix-js-sdk/pull/1773) -- Tidy up secret requesting code - [\#1766](https://github.com/matrix-org/matrix-js-sdk/pull/1766) -- Convert Sync and SyncAccumulator to Typescript - [\#1763](https://github.com/matrix-org/matrix-js-sdk/pull/1763) -- Convert EventTimeline, EventTimelineSet and TimelineWindow to TS - [\#1762](https://github.com/matrix-org/matrix-js-sdk/pull/1762) -- Comply with new member-delimiter-style rule - [\#1764](https://github.com/matrix-org/matrix-js-sdk/pull/1764) -- Do not honor string power levels - [\#1754](https://github.com/matrix-org/matrix-js-sdk/pull/1754) -- Typescriptify some crypto stuffs - [\#1508](https://github.com/matrix-org/matrix-js-sdk/pull/1508) -- Make filterId read/write and optional - [\#1760](https://github.com/matrix-org/matrix-js-sdk/pull/1760) - -# Changes in [12.0.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v12.0.1) (2021-07-05) + * Add VS Code to gitignore + [\#1783](https://github.com/matrix-org/matrix-js-sdk/pull/1783) + * Make `Crypto::inRoomVerificationRequests` public + [\#1781](https://github.com/matrix-org/matrix-js-sdk/pull/1781) + * Call `setEventMetadata()` for filtered `timelineSet`s + [\#1765](https://github.com/matrix-org/matrix-js-sdk/pull/1765) + * Symmetric backup + [\#1775](https://github.com/matrix-org/matrix-js-sdk/pull/1775) + * Attempt to fix megolm key not being in SSSS + [\#1776](https://github.com/matrix-org/matrix-js-sdk/pull/1776) + * Convert SecretStorage to TypeScript + [\#1774](https://github.com/matrix-org/matrix-js-sdk/pull/1774) + * Strip hash from urls being previewed to de-duplicate + [\#1721](https://github.com/matrix-org/matrix-js-sdk/pull/1721) + * Do not generate a lockfile when running in CI + [\#1773](https://github.com/matrix-org/matrix-js-sdk/pull/1773) + * Tidy up secret requesting code + [\#1766](https://github.com/matrix-org/matrix-js-sdk/pull/1766) + * Convert Sync and SyncAccumulator to Typescript + [\#1763](https://github.com/matrix-org/matrix-js-sdk/pull/1763) + * Convert EventTimeline, EventTimelineSet and TimelineWindow to TS + [\#1762](https://github.com/matrix-org/matrix-js-sdk/pull/1762) + * Comply with new member-delimiter-style rule + [\#1764](https://github.com/matrix-org/matrix-js-sdk/pull/1764) + * Do not honor string power levels + [\#1754](https://github.com/matrix-org/matrix-js-sdk/pull/1754) + * Typescriptify some crypto stuffs + [\#1508](https://github.com/matrix-org/matrix-js-sdk/pull/1508) + * Make filterId read/write and optional + [\#1760](https://github.com/matrix-org/matrix-js-sdk/pull/1760) +Changes in [12.0.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v12.0.1) (2021-07-05) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v12.0.1-rc.1...v12.0.1) -- No changes from rc.1 - -# Changes in [12.0.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v12.0.1-rc.1) (2021-06-29) + * No changes from rc.1 +Changes in [12.0.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v12.0.1-rc.1) (2021-06-29) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v12.0.0...v12.0.1-rc.1) -- Fix broken /messages filtering due to internal field changes in - FilterComponent - [\#1759](https://github.com/matrix-org/matrix-js-sdk/pull/1759) -- Convert crypto index to TS - [\#1749](https://github.com/matrix-org/matrix-js-sdk/pull/1749) -- Fix typescript return types for membership update events - [\#1739](https://github.com/matrix-org/matrix-js-sdk/pull/1739) -- Fix types of MatrixEvent sender & target - [\#1753](https://github.com/matrix-org/matrix-js-sdk/pull/1753) -- Add keysharing on invites to File Tree Spaces - [\#1744](https://github.com/matrix-org/matrix-js-sdk/pull/1744) -- Convert Room and RoomState to Typescript - [\#1746](https://github.com/matrix-org/matrix-js-sdk/pull/1746) -- Improve type of IContent msgtype - [\#1752](https://github.com/matrix-org/matrix-js-sdk/pull/1752) -- Add PR template - [\#1747](https://github.com/matrix-org/matrix-js-sdk/pull/1747) -- Add functions to assist in immutability of Event objects - [\#1738](https://github.com/matrix-org/matrix-js-sdk/pull/1738) -- Convert Event Context to TS - [\#1742](https://github.com/matrix-org/matrix-js-sdk/pull/1742) -- Bump lodash from 4.17.20 to 4.17.21 - [\#1743](https://github.com/matrix-org/matrix-js-sdk/pull/1743) -- Add invite retries to file trees - [\#1740](https://github.com/matrix-org/matrix-js-sdk/pull/1740) -- Convert IndexedDBStore to TS - [\#1741](https://github.com/matrix-org/matrix-js-sdk/pull/1741) -- Convert additional files to typescript - [\#1736](https://github.com/matrix-org/matrix-js-sdk/pull/1736) - -# Changes in [12.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v12.0.0) (2021-06-21) + * Fix broken /messages filtering due to internal field changes in + FilterComponent + [\#1759](https://github.com/matrix-org/matrix-js-sdk/pull/1759) + * Convert crypto index to TS + [\#1749](https://github.com/matrix-org/matrix-js-sdk/pull/1749) + * Fix typescript return types for membership update events + [\#1739](https://github.com/matrix-org/matrix-js-sdk/pull/1739) + * Fix types of MatrixEvent sender & target + [\#1753](https://github.com/matrix-org/matrix-js-sdk/pull/1753) + * Add keysharing on invites to File Tree Spaces + [\#1744](https://github.com/matrix-org/matrix-js-sdk/pull/1744) + * Convert Room and RoomState to Typescript + [\#1746](https://github.com/matrix-org/matrix-js-sdk/pull/1746) + * Improve type of IContent msgtype + [\#1752](https://github.com/matrix-org/matrix-js-sdk/pull/1752) + * Add PR template + [\#1747](https://github.com/matrix-org/matrix-js-sdk/pull/1747) + * Add functions to assist in immutability of Event objects + [\#1738](https://github.com/matrix-org/matrix-js-sdk/pull/1738) + * Convert Event Context to TS + [\#1742](https://github.com/matrix-org/matrix-js-sdk/pull/1742) + * Bump lodash from 4.17.20 to 4.17.21 + [\#1743](https://github.com/matrix-org/matrix-js-sdk/pull/1743) + * Add invite retries to file trees + [\#1740](https://github.com/matrix-org/matrix-js-sdk/pull/1740) + * Convert IndexedDBStore to TS + [\#1741](https://github.com/matrix-org/matrix-js-sdk/pull/1741) + * Convert additional files to typescript + [\#1736](https://github.com/matrix-org/matrix-js-sdk/pull/1736) +Changes in [12.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v12.0.0) (2021-06-21) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v12.0.0-rc.1...v12.0.0) -- No changes since rc.1 - -# Changes in [12.0.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v12.0.0-rc.1) (2021-06-15) + * No changes since rc.1 +Changes in [12.0.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v12.0.0-rc.1) (2021-06-15) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v11.2.0...v12.0.0-rc.1) -- Rework how disambiguation is handled - [\#1730](https://github.com/matrix-org/matrix-js-sdk/pull/1730) -- Fix baseToString for n=0 edge case to match inverse stringToBase - [\#1735](https://github.com/matrix-org/matrix-js-sdk/pull/1735) -- Move various types from the react-sdk to the js-sdk - [\#1734](https://github.com/matrix-org/matrix-js-sdk/pull/1734) -- Unstable implementation of MSC3089: File Trees - [\#1732](https://github.com/matrix-org/matrix-js-sdk/pull/1732) -- Add MSC3230 event type to enum - [\#1729](https://github.com/matrix-org/matrix-js-sdk/pull/1729) -- Add separate reason code for transferred calls - [\#1731](https://github.com/matrix-org/matrix-js-sdk/pull/1731) -- Use sendonly for call hold - [\#1728](https://github.com/matrix-org/matrix-js-sdk/pull/1728) -- Stop breeding sync listeners - [\#1727](https://github.com/matrix-org/matrix-js-sdk/pull/1727) -- Fix semicolons in TS files - [\#1724](https://github.com/matrix-org/matrix-js-sdk/pull/1724) -- [BREAKING] Convert MatrixClient to TypeScript - [\#1718](https://github.com/matrix-org/matrix-js-sdk/pull/1718) -- Factor out backup management to a separate module - [\#1697](https://github.com/matrix-org/matrix-js-sdk/pull/1697) -- Ignore power_levels events with unknown state_key on room-state - initialization - [\#1723](https://github.com/matrix-org/matrix-js-sdk/pull/1723) -- Revert 1579 (Fix extra negotiate message in Firefox) - [\#1725](https://github.com/matrix-org/matrix-js-sdk/pull/1725) - -# Changes in [11.2.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v11.2.0) (2021-06-07) + * Rework how disambiguation is handled + [\#1730](https://github.com/matrix-org/matrix-js-sdk/pull/1730) + * Fix baseToString for n=0 edge case to match inverse stringToBase + [\#1735](https://github.com/matrix-org/matrix-js-sdk/pull/1735) + * Move various types from the react-sdk to the js-sdk + [\#1734](https://github.com/matrix-org/matrix-js-sdk/pull/1734) + * Unstable implementation of MSC3089: File Trees + [\#1732](https://github.com/matrix-org/matrix-js-sdk/pull/1732) + * Add MSC3230 event type to enum + [\#1729](https://github.com/matrix-org/matrix-js-sdk/pull/1729) + * Add separate reason code for transferred calls + [\#1731](https://github.com/matrix-org/matrix-js-sdk/pull/1731) + * Use sendonly for call hold + [\#1728](https://github.com/matrix-org/matrix-js-sdk/pull/1728) + * Stop breeding sync listeners + [\#1727](https://github.com/matrix-org/matrix-js-sdk/pull/1727) + * Fix semicolons in TS files + [\#1724](https://github.com/matrix-org/matrix-js-sdk/pull/1724) + * [BREAKING] Convert MatrixClient to TypeScript + [\#1718](https://github.com/matrix-org/matrix-js-sdk/pull/1718) + * Factor out backup management to a separate module + [\#1697](https://github.com/matrix-org/matrix-js-sdk/pull/1697) + * Ignore power_levels events with unknown state_key on room-state + initialization + [\#1723](https://github.com/matrix-org/matrix-js-sdk/pull/1723) + * Revert 1579 (Fix extra negotiate message in Firefox) + [\#1725](https://github.com/matrix-org/matrix-js-sdk/pull/1725) +Changes in [11.2.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v11.2.0) (2021-06-07) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v11.2.0-rc.1...v11.2.0) -- No changes since rc.1 - -# Changes in [11.2.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v11.2.0-rc.1) (2021-06-01) + * No changes since rc.1 +Changes in [11.2.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v11.2.0-rc.1) (2021-06-01) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v11.1.0...v11.2.0-rc.1) -- Switch to stable endpoint/fields for MSC2858 - [\#1720](https://github.com/matrix-org/matrix-js-sdk/pull/1720) -- Bump ws from 7.4.2 to 7.4.6 - [\#1715](https://github.com/matrix-org/matrix-js-sdk/pull/1715) -- Make consistent call event type checks - [\#1712](https://github.com/matrix-org/matrix-js-sdk/pull/1712) -- Apply new Babel linting config - [\#1714](https://github.com/matrix-org/matrix-js-sdk/pull/1714) -- Bump browserslist from 4.16.1 to 4.16.6 - [\#1709](https://github.com/matrix-org/matrix-js-sdk/pull/1709) -- Add user_busy call hangup reason - [\#1713](https://github.com/matrix-org/matrix-js-sdk/pull/1713) -- 👕 New linting rules - [\#1688](https://github.com/matrix-org/matrix-js-sdk/pull/1688) -- Emit relations created when target event added later - [\#1710](https://github.com/matrix-org/matrix-js-sdk/pull/1710) -- Bump libolm version and update package name. - [\#1705](https://github.com/matrix-org/matrix-js-sdk/pull/1705) -- Fix uploadContent not rejecting promise when http status code >= 400 - [\#1703](https://github.com/matrix-org/matrix-js-sdk/pull/1703) -- Reduce noise in tests - [\#1702](https://github.com/matrix-org/matrix-js-sdk/pull/1702) -- Only log once if a Room lacks an m.room.create event - [\#1700](https://github.com/matrix-org/matrix-js-sdk/pull/1700) -- Cache normalized room name - [\#1701](https://github.com/matrix-org/matrix-js-sdk/pull/1701) -- Change call event handlers to adapt to undecrypted events - [\#1698](https://github.com/matrix-org/matrix-js-sdk/pull/1698) - -# Changes in [11.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v11.1.0) (2021-05-24) + * Switch to stable endpoint/fields for MSC2858 + [\#1720](https://github.com/matrix-org/matrix-js-sdk/pull/1720) + * Bump ws from 7.4.2 to 7.4.6 + [\#1715](https://github.com/matrix-org/matrix-js-sdk/pull/1715) + * Make consistent call event type checks + [\#1712](https://github.com/matrix-org/matrix-js-sdk/pull/1712) + * Apply new Babel linting config + [\#1714](https://github.com/matrix-org/matrix-js-sdk/pull/1714) + * Bump browserslist from 4.16.1 to 4.16.6 + [\#1709](https://github.com/matrix-org/matrix-js-sdk/pull/1709) + * Add user_busy call hangup reason + [\#1713](https://github.com/matrix-org/matrix-js-sdk/pull/1713) + * 👕 New linting rules + [\#1688](https://github.com/matrix-org/matrix-js-sdk/pull/1688) + * Emit relations created when target event added later + [\#1710](https://github.com/matrix-org/matrix-js-sdk/pull/1710) + * Bump libolm version and update package name. + [\#1705](https://github.com/matrix-org/matrix-js-sdk/pull/1705) + * Fix uploadContent not rejecting promise when http status code >= 400 + [\#1703](https://github.com/matrix-org/matrix-js-sdk/pull/1703) + * Reduce noise in tests + [\#1702](https://github.com/matrix-org/matrix-js-sdk/pull/1702) + * Only log once if a Room lacks an m.room.create event + [\#1700](https://github.com/matrix-org/matrix-js-sdk/pull/1700) + * Cache normalized room name + [\#1701](https://github.com/matrix-org/matrix-js-sdk/pull/1701) + * Change call event handlers to adapt to undecrypted events + [\#1698](https://github.com/matrix-org/matrix-js-sdk/pull/1698) +Changes in [11.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v11.1.0) (2021-05-24) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v11.1.0-rc.1...v11.1.0) -- [Release] Bump libolm version and update package name - [\#1707](https://github.com/matrix-org/matrix-js-sdk/pull/1707) -- [Release] Change call event handlers to adapt to undecrypted events - [\#1699](https://github.com/matrix-org/matrix-js-sdk/pull/1699) - -# Changes in [11.1.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v11.1.0-rc.1) (2021-05-19) + * [Release] Bump libolm version and update package name + [\#1707](https://github.com/matrix-org/matrix-js-sdk/pull/1707) + * [Release] Change call event handlers to adapt to undecrypted events + [\#1699](https://github.com/matrix-org/matrix-js-sdk/pull/1699) +Changes in [11.1.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v11.1.0-rc.1) (2021-05-19) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v11.0.0...v11.1.0-rc.1) -- Fix regressed glare - [\#1690](https://github.com/matrix-org/matrix-js-sdk/pull/1690) -- Add m.reaction to EventType enum - [\#1692](https://github.com/matrix-org/matrix-js-sdk/pull/1692) -- Prioritise and reduce the amount of events decrypted on application startup - [\#1684](https://github.com/matrix-org/matrix-js-sdk/pull/1684) -- Decrypt relations before applying them to target event - [\#1696](https://github.com/matrix-org/matrix-js-sdk/pull/1696) -- Guard against duplicates in `Relations` model - -# Changes in [11.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v11.0.0) (2021-05-17) + * Fix regressed glare + [\#1690](https://github.com/matrix-org/matrix-js-sdk/pull/1690) + * Add m.reaction to EventType enum + [\#1692](https://github.com/matrix-org/matrix-js-sdk/pull/1692) + * Prioritise and reduce the amount of events decrypted on application startup + [\#1684](https://github.com/matrix-org/matrix-js-sdk/pull/1684) + * Decrypt relations before applying them to target event + [\#1696](https://github.com/matrix-org/matrix-js-sdk/pull/1696) + * Guard against duplicates in `Relations` model +Changes in [11.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v11.0.0) (2021-05-17) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v11.0.0-rc.1...v11.0.0) -- [Release] Fix regressed glare - [\#1695](https://github.com/matrix-org/matrix-js-sdk/pull/1695) - -# Changes in [11.0.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v11.0.0-rc.1) (2021-05-11) + * [Release] Fix regressed glare + [\#1695](https://github.com/matrix-org/matrix-js-sdk/pull/1695) +Changes in [11.0.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v11.0.0-rc.1) (2021-05-11) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v10.1.0...v11.0.0-rc.1) -## BREAKING CHANGES +BREAKING CHANGES +--- -- `MatrixCall` and related APIs have been redesigned to support multiple streams - (see [\#1660](https://github.com/matrix-org/matrix-js-sdk/pull/1660) for more details) + * `MatrixCall` and related APIs have been redesigned to support multiple streams + (see [\#1660](https://github.com/matrix-org/matrix-js-sdk/pull/1660) for more details) -## All changes +All changes +--- -- Switch from MSC1772 unstable prefixes to stable - [\#1679](https://github.com/matrix-org/matrix-js-sdk/pull/1679) -- Update the VoIP example to work with the new changes - [\#1680](https://github.com/matrix-org/matrix-js-sdk/pull/1680) -- Bump hosted-git-info from 2.8.8 to 2.8.9 - [\#1687](https://github.com/matrix-org/matrix-js-sdk/pull/1687) -- Support for multiple streams (not MSC3077) - [\#1660](https://github.com/matrix-org/matrix-js-sdk/pull/1660) -- Tweak missing m.room.create errors to describe their source - [\#1683](https://github.com/matrix-org/matrix-js-sdk/pull/1683) - -# Changes in [10.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v10.1.0) (2021-05-10) + * Switch from MSC1772 unstable prefixes to stable + [\#1679](https://github.com/matrix-org/matrix-js-sdk/pull/1679) + * Update the VoIP example to work with the new changes + [\#1680](https://github.com/matrix-org/matrix-js-sdk/pull/1680) + * Bump hosted-git-info from 2.8.8 to 2.8.9 + [\#1687](https://github.com/matrix-org/matrix-js-sdk/pull/1687) + * Support for multiple streams (not MSC3077) + [\#1660](https://github.com/matrix-org/matrix-js-sdk/pull/1660) + * Tweak missing m.room.create errors to describe their source + [\#1683](https://github.com/matrix-org/matrix-js-sdk/pull/1683) +Changes in [10.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v10.1.0) (2021-05-10) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v10.1.0-rc.1...v10.1.0) -- No changes since rc.1 - -# Changes in [10.1.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v10.1.0-rc.1) (2021-05-04) + * No changes since rc.1 +Changes in [10.1.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v10.1.0-rc.1) (2021-05-04) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v10.0.0...v10.1.0-rc.1) -- Revert "Raise logging dramatically to chase pending event errors" - [\#1681](https://github.com/matrix-org/matrix-js-sdk/pull/1681) -- Add test coverage collection script - [\#1677](https://github.com/matrix-org/matrix-js-sdk/pull/1677) -- Raise logging dramatically to chase pending event errors - [\#1678](https://github.com/matrix-org/matrix-js-sdk/pull/1678) -- Support MSC3086 asserted identity - [\#1674](https://github.com/matrix-org/matrix-js-sdk/pull/1674) -- Fix `/search` with no results field work again - [\#1670](https://github.com/matrix-org/matrix-js-sdk/pull/1670) -- Add room.getMembers method - [\#1672](https://github.com/matrix-org/matrix-js-sdk/pull/1672) - -# Changes in [10.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v10.0.0) (2021-04-26) + * Revert "Raise logging dramatically to chase pending event errors" + [\#1681](https://github.com/matrix-org/matrix-js-sdk/pull/1681) + * Add test coverage collection script + [\#1677](https://github.com/matrix-org/matrix-js-sdk/pull/1677) + * Raise logging dramatically to chase pending event errors + [\#1678](https://github.com/matrix-org/matrix-js-sdk/pull/1678) + * Support MSC3086 asserted identity + [\#1674](https://github.com/matrix-org/matrix-js-sdk/pull/1674) + * Fix `/search` with no results field work again + [\#1670](https://github.com/matrix-org/matrix-js-sdk/pull/1670) + * Add room.getMembers method + [\#1672](https://github.com/matrix-org/matrix-js-sdk/pull/1672) +Changes in [10.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v10.0.0) (2021-04-26) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v10.0.0-rc.1...v10.0.0) -- No changes since rc.1 - -# Changes in [10.0.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v10.0.0-rc.1) (2021-04-21) + * No changes since rc.1 +Changes in [10.0.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v10.0.0-rc.1) (2021-04-21) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.11.0...v10.0.0-rc.1) -## BREAKING CHANGES +BREAKING CHANGES +--- -- The `RoomState.members` event is now only emitted when the room member's power level or the room's normal power level actually changes + * The `RoomState.members` event is now only emitted when the room member's power level or the room's normal power level actually changes -## All changes +All changes +--- -- Restrict event emit for room members that had power levels changed - [\#1675](https://github.com/matrix-org/matrix-js-sdk/pull/1675) -- Fix sync with misconfigured push rules - [\#1669](https://github.com/matrix-org/matrix-js-sdk/pull/1669) -- Add missing await - [\#1665](https://github.com/matrix-org/matrix-js-sdk/pull/1665) -- Migrate to `eslint-plugin-matrix-org` - [\#1642](https://github.com/matrix-org/matrix-js-sdk/pull/1642) -- Add missing event type enum for key verification done - [\#1664](https://github.com/matrix-org/matrix-js-sdk/pull/1664) -- Fix timeline jumpiness by setting correct txnId - [\#1663](https://github.com/matrix-org/matrix-js-sdk/pull/1663) -- Fix calling addEventListener if it does not exist - [\#1661](https://github.com/matrix-org/matrix-js-sdk/pull/1661) -- Persist unsent messages for subsequent sessions - [\#1655](https://github.com/matrix-org/matrix-js-sdk/pull/1655) - -# Changes in [9.11.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.11.0) (2021-04-12) + * Restrict event emit for room members that had power levels changed + [\#1675](https://github.com/matrix-org/matrix-js-sdk/pull/1675) + * Fix sync with misconfigured push rules + [\#1669](https://github.com/matrix-org/matrix-js-sdk/pull/1669) + * Add missing await + [\#1665](https://github.com/matrix-org/matrix-js-sdk/pull/1665) + * Migrate to `eslint-plugin-matrix-org` + [\#1642](https://github.com/matrix-org/matrix-js-sdk/pull/1642) + * Add missing event type enum for key verification done + [\#1664](https://github.com/matrix-org/matrix-js-sdk/pull/1664) + * Fix timeline jumpiness by setting correct txnId + [\#1663](https://github.com/matrix-org/matrix-js-sdk/pull/1663) + * Fix calling addEventListener if it does not exist + [\#1661](https://github.com/matrix-org/matrix-js-sdk/pull/1661) + * Persist unsent messages for subsequent sessions + [\#1655](https://github.com/matrix-org/matrix-js-sdk/pull/1655) +Changes in [9.11.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.11.0) (2021-04-12) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.11.0-rc.1...v9.11.0) -- No changes since rc.1 - -# Changes in [9.11.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.11.0-rc.1) (2021-04-07) + * No changes since rc.1 +Changes in [9.11.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.11.0-rc.1) (2021-04-07) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.10.0...v9.11.0-rc.1) -- Only try to cache private keys we know exist - [\#1657](https://github.com/matrix-org/matrix-js-sdk/pull/1657) -- Properly terminate screen-share calls if NoUserMedia - [\#1654](https://github.com/matrix-org/matrix-js-sdk/pull/1654) -- Attended transfer - [\#1652](https://github.com/matrix-org/matrix-js-sdk/pull/1652) -- Remove catch handlers in private key retrieval - [\#1653](https://github.com/matrix-org/matrix-js-sdk/pull/1653) -- Fixed the media fail error on caller's side - [\#1651](https://github.com/matrix-org/matrix-js-sdk/pull/1651) -- Add function to share megolm keys for historical messages, take 2 - [\#1640](https://github.com/matrix-org/matrix-js-sdk/pull/1640) -- Cache cross-signing private keys if needed on bootstrap - [\#1649](https://github.com/matrix-org/matrix-js-sdk/pull/1649) - -# Changes in [9.10.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.10.0) (2021-03-29) + * Only try to cache private keys we know exist + [\#1657](https://github.com/matrix-org/matrix-js-sdk/pull/1657) + * Properly terminate screen-share calls if NoUserMedia + [\#1654](https://github.com/matrix-org/matrix-js-sdk/pull/1654) + * Attended transfer + [\#1652](https://github.com/matrix-org/matrix-js-sdk/pull/1652) + * Remove catch handlers in private key retrieval + [\#1653](https://github.com/matrix-org/matrix-js-sdk/pull/1653) + * Fixed the media fail error on caller's side + [\#1651](https://github.com/matrix-org/matrix-js-sdk/pull/1651) + * Add function to share megolm keys for historical messages, take 2 + [\#1640](https://github.com/matrix-org/matrix-js-sdk/pull/1640) + * Cache cross-signing private keys if needed on bootstrap + [\#1649](https://github.com/matrix-org/matrix-js-sdk/pull/1649) +Changes in [9.10.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.10.0) (2021-03-29) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.10.0-rc.1...v9.10.0) -- No changes since rc.1 - -# Changes in [9.10.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.10.0-rc.1) (2021-03-25) + * No changes since rc.1 +Changes in [9.10.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.10.0-rc.1) (2021-03-25) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.9.0...v9.10.0-rc.1) -- Don't send m.call.hangup if m.call.invite wasn't sent either - [\#1647](https://github.com/matrix-org/matrix-js-sdk/pull/1647) -- docs: registerGuest() - [\#1641](https://github.com/matrix-org/matrix-js-sdk/pull/1641) -- Download device keys in chunks of 250 - [\#1639](https://github.com/matrix-org/matrix-js-sdk/pull/1639) -- More VoIP connectivity fixes - [\#1646](https://github.com/matrix-org/matrix-js-sdk/pull/1646) -- Make selectDesktopCapturerSource param optional - [\#1644](https://github.com/matrix-org/matrix-js-sdk/pull/1644) -- Expose APIs needed for reworked cross-signing login flow - [\#1632](https://github.com/matrix-org/matrix-js-sdk/pull/1632) - -# Changes in [9.9.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.9.0) (2021-03-15) + * Don't send m.call.hangup if m.call.invite wasn't sent either + [\#1647](https://github.com/matrix-org/matrix-js-sdk/pull/1647) + * docs: registerGuest() + [\#1641](https://github.com/matrix-org/matrix-js-sdk/pull/1641) + * Download device keys in chunks of 250 + [\#1639](https://github.com/matrix-org/matrix-js-sdk/pull/1639) + * More VoIP connectivity fixes + [\#1646](https://github.com/matrix-org/matrix-js-sdk/pull/1646) + * Make selectDesktopCapturerSource param optional + [\#1644](https://github.com/matrix-org/matrix-js-sdk/pull/1644) + * Expose APIs needed for reworked cross-signing login flow + [\#1632](https://github.com/matrix-org/matrix-js-sdk/pull/1632) +Changes in [9.9.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.9.0) (2021-03-15) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.9.0-rc.1...v9.9.0) -- No changes since rc.1 - -# Changes in [9.9.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.9.0-rc.1) (2021-03-10) + * No changes since rc.1 +Changes in [9.9.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.9.0-rc.1) (2021-03-10) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.8.0...v9.9.0-rc.1) -- Remove detailed Olm session logging - [\#1638](https://github.com/matrix-org/matrix-js-sdk/pull/1638) -- Add space summary suggested only param - [\#1637](https://github.com/matrix-org/matrix-js-sdk/pull/1637) -- Check TURN servers periodically, and at start of calls - [\#1634](https://github.com/matrix-org/matrix-js-sdk/pull/1634) -- Support sending invite reasons - [\#1624](https://github.com/matrix-org/matrix-js-sdk/pull/1624) -- Bump elliptic from 6.5.3 to 6.5.4 - [\#1636](https://github.com/matrix-org/matrix-js-sdk/pull/1636) -- Add a function to get a room's MXC URI - [\#1635](https://github.com/matrix-org/matrix-js-sdk/pull/1635) -- Stop streams if the call has ended - [\#1633](https://github.com/matrix-org/matrix-js-sdk/pull/1633) -- Remove export keyword from global.d.ts - [\#1631](https://github.com/matrix-org/matrix-js-sdk/pull/1631) -- Fix IndexedDB store creation example - [\#1445](https://github.com/matrix-org/matrix-js-sdk/pull/1445) -- An attempt to cleanup how constraints are handled in calls - [\#1613](https://github.com/matrix-org/matrix-js-sdk/pull/1613) -- Extract display name patterns to constants - [\#1628](https://github.com/matrix-org/matrix-js-sdk/pull/1628) -- Bump pug-code-gen from 2.0.2 to 2.0.3 - [\#1630](https://github.com/matrix-org/matrix-js-sdk/pull/1630) -- Avoid deadlocks when ensuring Olm sessions for devices - [\#1627](https://github.com/matrix-org/matrix-js-sdk/pull/1627) -- Filter out edits from other senders in history - [\#1626](https://github.com/matrix-org/matrix-js-sdk/pull/1626) -- Fix ContentHelpers export - [\#1618](https://github.com/matrix-org/matrix-js-sdk/pull/1618) -- Add logging to in progress Olm sessions - [\#1621](https://github.com/matrix-org/matrix-js-sdk/pull/1621) -- Don't ignore ICE candidates received before offer/answer - [\#1623](https://github.com/matrix-org/matrix-js-sdk/pull/1623) -- Better handling of send failures on VoIP events - [\#1622](https://github.com/matrix-org/matrix-js-sdk/pull/1622) -- Log when turn creds expire - [\#1620](https://github.com/matrix-org/matrix-js-sdk/pull/1620) -- Initial Spaces [MSC1772] support - [\#1563](https://github.com/matrix-org/matrix-js-sdk/pull/1563) -- Add logging to crypto store transactions - [\#1617](https://github.com/matrix-org/matrix-js-sdk/pull/1617) -- Room helper for getting type and checking if it is a space room - [\#1610](https://github.com/matrix-org/matrix-js-sdk/pull/1610) - -# Changes in [9.8.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.8.0) (2021-03-01) + * Remove detailed Olm session logging + [\#1638](https://github.com/matrix-org/matrix-js-sdk/pull/1638) + * Add space summary suggested only param + [\#1637](https://github.com/matrix-org/matrix-js-sdk/pull/1637) + * Check TURN servers periodically, and at start of calls + [\#1634](https://github.com/matrix-org/matrix-js-sdk/pull/1634) + * Support sending invite reasons + [\#1624](https://github.com/matrix-org/matrix-js-sdk/pull/1624) + * Bump elliptic from 6.5.3 to 6.5.4 + [\#1636](https://github.com/matrix-org/matrix-js-sdk/pull/1636) + * Add a function to get a room's MXC URI + [\#1635](https://github.com/matrix-org/matrix-js-sdk/pull/1635) + * Stop streams if the call has ended + [\#1633](https://github.com/matrix-org/matrix-js-sdk/pull/1633) + * Remove export keyword from global.d.ts + [\#1631](https://github.com/matrix-org/matrix-js-sdk/pull/1631) + * Fix IndexedDB store creation example + [\#1445](https://github.com/matrix-org/matrix-js-sdk/pull/1445) + * An attempt to cleanup how constraints are handled in calls + [\#1613](https://github.com/matrix-org/matrix-js-sdk/pull/1613) + * Extract display name patterns to constants + [\#1628](https://github.com/matrix-org/matrix-js-sdk/pull/1628) + * Bump pug-code-gen from 2.0.2 to 2.0.3 + [\#1630](https://github.com/matrix-org/matrix-js-sdk/pull/1630) + * Avoid deadlocks when ensuring Olm sessions for devices + [\#1627](https://github.com/matrix-org/matrix-js-sdk/pull/1627) + * Filter out edits from other senders in history + [\#1626](https://github.com/matrix-org/matrix-js-sdk/pull/1626) + * Fix ContentHelpers export + [\#1618](https://github.com/matrix-org/matrix-js-sdk/pull/1618) + * Add logging to in progress Olm sessions + [\#1621](https://github.com/matrix-org/matrix-js-sdk/pull/1621) + * Don't ignore ICE candidates received before offer/answer + [\#1623](https://github.com/matrix-org/matrix-js-sdk/pull/1623) + * Better handling of send failures on VoIP events + [\#1622](https://github.com/matrix-org/matrix-js-sdk/pull/1622) + * Log when turn creds expire + [\#1620](https://github.com/matrix-org/matrix-js-sdk/pull/1620) + * Initial Spaces [MSC1772] support + [\#1563](https://github.com/matrix-org/matrix-js-sdk/pull/1563) + * Add logging to crypto store transactions + [\#1617](https://github.com/matrix-org/matrix-js-sdk/pull/1617) + * Room helper for getting type and checking if it is a space room + [\#1610](https://github.com/matrix-org/matrix-js-sdk/pull/1610) +Changes in [9.8.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.8.0) (2021-03-01) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.8.0-rc.1...v9.8.0) -- No changes since rc.1 - -# Changes in [9.8.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.8.0-rc.1) (2021-02-24) + * No changes since rc.1 +Changes in [9.8.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.8.0-rc.1) (2021-02-24) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.7.0...v9.8.0-rc.1) -- Optimise prefixed logger - [\#1615](https://github.com/matrix-org/matrix-js-sdk/pull/1615) -- Add debug logs to encryption prep, take 3 - [\#1614](https://github.com/matrix-org/matrix-js-sdk/pull/1614) -- Add functions for upper & lowercase random strings - [\#1612](https://github.com/matrix-org/matrix-js-sdk/pull/1612) -- Room helpers for invite permissions and join rules - [\#1609](https://github.com/matrix-org/matrix-js-sdk/pull/1609) -- Fixed wording in "Adding video track with id" log - [\#1606](https://github.com/matrix-org/matrix-js-sdk/pull/1606) -- Add more debug logs to encryption prep - [\#1605](https://github.com/matrix-org/matrix-js-sdk/pull/1605) -- Add option to set ice candidate pool size - [\#1604](https://github.com/matrix-org/matrix-js-sdk/pull/1604) -- Cancel call if no source was selected - [\#1601](https://github.com/matrix-org/matrix-js-sdk/pull/1601) - -# Changes in [9.7.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.7.0) (2021-02-16) + * Optimise prefixed logger + [\#1615](https://github.com/matrix-org/matrix-js-sdk/pull/1615) + * Add debug logs to encryption prep, take 3 + [\#1614](https://github.com/matrix-org/matrix-js-sdk/pull/1614) + * Add functions for upper & lowercase random strings + [\#1612](https://github.com/matrix-org/matrix-js-sdk/pull/1612) + * Room helpers for invite permissions and join rules + [\#1609](https://github.com/matrix-org/matrix-js-sdk/pull/1609) + * Fixed wording in "Adding video track with id" log + [\#1606](https://github.com/matrix-org/matrix-js-sdk/pull/1606) + * Add more debug logs to encryption prep + [\#1605](https://github.com/matrix-org/matrix-js-sdk/pull/1605) + * Add option to set ice candidate pool size + [\#1604](https://github.com/matrix-org/matrix-js-sdk/pull/1604) + * Cancel call if no source was selected + [\#1601](https://github.com/matrix-org/matrix-js-sdk/pull/1601) +Changes in [9.7.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.7.0) (2021-02-16) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.7.0-rc.1...v9.7.0) -- No changes since rc.1 - -# Changes in [9.7.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.7.0-rc.1) (2021-02-10) + * No changes since rc.1 +Changes in [9.7.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.7.0-rc.1) (2021-02-10) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.6.0...v9.7.0-rc.1) -- Handle undefined peerconn - [\#1600](https://github.com/matrix-org/matrix-js-sdk/pull/1600) -- ReEmitter: Don't throw if no error handler is attached - [\#1599](https://github.com/matrix-org/matrix-js-sdk/pull/1599) -- Convert ReEmitter to TS - [\#1598](https://github.com/matrix-org/matrix-js-sdk/pull/1598) -- Fix typo in main readme - [\#1597](https://github.com/matrix-org/matrix-js-sdk/pull/1597) -- Remove rogue plus character - [\#1596](https://github.com/matrix-org/matrix-js-sdk/pull/1596) -- Fix call ID NaN - [\#1595](https://github.com/matrix-org/matrix-js-sdk/pull/1595) -- Fix Electron type merging - [\#1594](https://github.com/matrix-org/matrix-js-sdk/pull/1594) -- Fix browser screen share - [\#1593](https://github.com/matrix-org/matrix-js-sdk/pull/1593) -- Fix desktop Matrix screen sharing - [\#1570](https://github.com/matrix-org/matrix-js-sdk/pull/1570) -- Guard against confused server retry times - [\#1591](https://github.com/matrix-org/matrix-js-sdk/pull/1591) -- Decrypt redaction events - [\#1589](https://github.com/matrix-org/matrix-js-sdk/pull/1589) -- Fix edge cases with peeking where a room is re-peeked - [\#1587](https://github.com/matrix-org/matrix-js-sdk/pull/1587) - -# Changes in [9.6.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.6.0) (2021-02-03) + * Handle undefined peerconn + [\#1600](https://github.com/matrix-org/matrix-js-sdk/pull/1600) + * ReEmitter: Don't throw if no error handler is attached + [\#1599](https://github.com/matrix-org/matrix-js-sdk/pull/1599) + * Convert ReEmitter to TS + [\#1598](https://github.com/matrix-org/matrix-js-sdk/pull/1598) + * Fix typo in main readme + [\#1597](https://github.com/matrix-org/matrix-js-sdk/pull/1597) + * Remove rogue plus character + [\#1596](https://github.com/matrix-org/matrix-js-sdk/pull/1596) + * Fix call ID NaN + [\#1595](https://github.com/matrix-org/matrix-js-sdk/pull/1595) + * Fix Electron type merging + [\#1594](https://github.com/matrix-org/matrix-js-sdk/pull/1594) + * Fix browser screen share + [\#1593](https://github.com/matrix-org/matrix-js-sdk/pull/1593) + * Fix desktop Matrix screen sharing + [\#1570](https://github.com/matrix-org/matrix-js-sdk/pull/1570) + * Guard against confused server retry times + [\#1591](https://github.com/matrix-org/matrix-js-sdk/pull/1591) + * Decrypt redaction events + [\#1589](https://github.com/matrix-org/matrix-js-sdk/pull/1589) + * Fix edge cases with peeking where a room is re-peeked + [\#1587](https://github.com/matrix-org/matrix-js-sdk/pull/1587) +Changes in [9.6.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.6.0) (2021-02-03) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.6.0-rc.1...v9.6.0) -- [Release] Fix edge cases with peeking where a room is re-peeked - [\#1588](https://github.com/matrix-org/matrix-js-sdk/pull/1588) - -# Changes in [9.6.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.6.0-rc.1) (2021-01-29) + * [Release] Fix edge cases with peeking where a room is re-peeked + [\#1588](https://github.com/matrix-org/matrix-js-sdk/pull/1588) +Changes in [9.6.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.6.0-rc.1) (2021-01-29) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.5.1...v9.6.0-rc.1) -- Add support for getting call stats - [\#1584](https://github.com/matrix-org/matrix-js-sdk/pull/1584) -- Fix compatibility with v0 calls - [\#1583](https://github.com/matrix-org/matrix-js-sdk/pull/1583) -- Upgrade deps 2021-01 - [\#1582](https://github.com/matrix-org/matrix-js-sdk/pull/1582) -- Log the call ID when logging that we've received VoIP events - [\#1581](https://github.com/matrix-org/matrix-js-sdk/pull/1581) -- Fix extra negotiate message in Firefox - [\#1579](https://github.com/matrix-org/matrix-js-sdk/pull/1579) -- Add debug logs to encryption prep - [\#1580](https://github.com/matrix-org/matrix-js-sdk/pull/1580) -- Expose getPresence endpoint - [\#1578](https://github.com/matrix-org/matrix-js-sdk/pull/1578) -- Queue keys for backup even if backup isn't enabled yet - [\#1577](https://github.com/matrix-org/matrix-js-sdk/pull/1577) -- Stop retrying TURN access when forbidden - [\#1576](https://github.com/matrix-org/matrix-js-sdk/pull/1576) -- Add DTMF sending support - [\#1573](https://github.com/matrix-org/matrix-js-sdk/pull/1573) - -# Changes in [9.5.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.5.1) (2021-01-26) + * Add support for getting call stats + [\#1584](https://github.com/matrix-org/matrix-js-sdk/pull/1584) + * Fix compatibility with v0 calls + [\#1583](https://github.com/matrix-org/matrix-js-sdk/pull/1583) + * Upgrade deps 2021-01 + [\#1582](https://github.com/matrix-org/matrix-js-sdk/pull/1582) + * Log the call ID when logging that we've received VoIP events + [\#1581](https://github.com/matrix-org/matrix-js-sdk/pull/1581) + * Fix extra negotiate message in Firefox + [\#1579](https://github.com/matrix-org/matrix-js-sdk/pull/1579) + * Add debug logs to encryption prep + [\#1580](https://github.com/matrix-org/matrix-js-sdk/pull/1580) + * Expose getPresence endpoint + [\#1578](https://github.com/matrix-org/matrix-js-sdk/pull/1578) + * Queue keys for backup even if backup isn't enabled yet + [\#1577](https://github.com/matrix-org/matrix-js-sdk/pull/1577) + * Stop retrying TURN access when forbidden + [\#1576](https://github.com/matrix-org/matrix-js-sdk/pull/1576) + * Add DTMF sending support + [\#1573](https://github.com/matrix-org/matrix-js-sdk/pull/1573) +Changes in [9.5.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.5.1) (2021-01-26) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.5.0...v9.5.1) -- [Release] Fix compatibility with v0 calls - [\#1585](https://github.com/matrix-org/matrix-js-sdk/pull/1585) - -# Changes in [9.5.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.5.0) (2021-01-18) + * [Release] Fix compatibility with v0 calls + [\#1585](https://github.com/matrix-org/matrix-js-sdk/pull/1585) +Changes in [9.5.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.5.0) (2021-01-18) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.5.0-rc.1...v9.5.0) -- No changes since rc.1 - -# Changes in [9.5.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.5.0-rc.1) (2021-01-13) + * No changes since rc.1 +Changes in [9.5.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.5.0-rc.1) (2021-01-13) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.4.1...v9.5.0-rc.1) -- Don't log if no WebRTC - [\#1574](https://github.com/matrix-org/matrix-js-sdk/pull/1574) -- Add \_unstable_getSharedRooms - [\#1417](https://github.com/matrix-org/matrix-js-sdk/pull/1417) -- Bump node-notifier from 8.0.0 to 8.0.1 - [\#1568](https://github.com/matrix-org/matrix-js-sdk/pull/1568) -- Ignore party ID if opponent is v0 - [\#1567](https://github.com/matrix-org/matrix-js-sdk/pull/1567) -- Basic call transfer initiation support - [\#1566](https://github.com/matrix-org/matrix-js-sdk/pull/1566) -- Room version 6 is now a thing - [\#1572](https://github.com/matrix-org/matrix-js-sdk/pull/1572) -- Store keys with same index but better trust level - [\#1571](https://github.com/matrix-org/matrix-js-sdk/pull/1571) -- Use TypeScript source for development, swap to build during release - [\#1561](https://github.com/matrix-org/matrix-js-sdk/pull/1561) -- Revert "Ignore party ID if opponent is v0" - [\#1565](https://github.com/matrix-org/matrix-js-sdk/pull/1565) -- Basic call transfer initiation support - [\#1558](https://github.com/matrix-org/matrix-js-sdk/pull/1558) -- Ignore party ID if opponent is v0 - [\#1559](https://github.com/matrix-org/matrix-js-sdk/pull/1559) -- Honour a call reject event from another of our own devices - [\#1562](https://github.com/matrix-org/matrix-js-sdk/pull/1562) - -# Changes in [9.4.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.4.1) (2020-12-21) + * Don't log if no WebRTC + [\#1574](https://github.com/matrix-org/matrix-js-sdk/pull/1574) + * Add _unstable_getSharedRooms + [\#1417](https://github.com/matrix-org/matrix-js-sdk/pull/1417) + * Bump node-notifier from 8.0.0 to 8.0.1 + [\#1568](https://github.com/matrix-org/matrix-js-sdk/pull/1568) + * Ignore party ID if opponent is v0 + [\#1567](https://github.com/matrix-org/matrix-js-sdk/pull/1567) + * Basic call transfer initiation support + [\#1566](https://github.com/matrix-org/matrix-js-sdk/pull/1566) + * Room version 6 is now a thing + [\#1572](https://github.com/matrix-org/matrix-js-sdk/pull/1572) + * Store keys with same index but better trust level + [\#1571](https://github.com/matrix-org/matrix-js-sdk/pull/1571) + * Use TypeScript source for development, swap to build during release + [\#1561](https://github.com/matrix-org/matrix-js-sdk/pull/1561) + * Revert "Ignore party ID if opponent is v0" + [\#1565](https://github.com/matrix-org/matrix-js-sdk/pull/1565) + * Basic call transfer initiation support + [\#1558](https://github.com/matrix-org/matrix-js-sdk/pull/1558) + * Ignore party ID if opponent is v0 + [\#1559](https://github.com/matrix-org/matrix-js-sdk/pull/1559) + * Honour a call reject event from another of our own devices + [\#1562](https://github.com/matrix-org/matrix-js-sdk/pull/1562) +Changes in [9.4.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.4.1) (2020-12-21) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.4.0...v9.4.1) -- Further script tweaks to get all layers building again - -# Changes in [9.4.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.4.0) (2020-12-21) + * Further script tweaks to get all layers building again +Changes in [9.4.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.4.0) (2020-12-21) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.4.0-rc.2...v9.4.0) -- Revert `postinstall` script change, causes issues for other layers - -# Changes in [9.4.0-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.4.0-rc.2) (2020-12-16) + * Revert `postinstall` script change, causes issues for other layers +Changes in [9.4.0-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.4.0-rc.2) (2020-12-16) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.4.0-rc.1...v9.4.0-rc.2) -- Remove `postinstall` script which also runs as a dependency - [\#1560](https://github.com/matrix-org/matrix-js-sdk/pull/1560) - -# Changes in [9.4.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.4.0-rc.1) (2020-12-16) + * Remove `postinstall` script which also runs as a dependency + [\#1560](https://github.com/matrix-org/matrix-js-sdk/pull/1560) +Changes in [9.4.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.4.0-rc.1) (2020-12-16) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.3.0...v9.4.0-rc.1) -- Fixes to support line 1 / 2 - [\#1553](https://github.com/matrix-org/matrix-js-sdk/pull/1553) -- Add API for listening to remote hold status, advertise VoIP V1 - [\#1549](https://github.com/matrix-org/matrix-js-sdk/pull/1549) -- A hangup from another client is still valid - [\#1555](https://github.com/matrix-org/matrix-js-sdk/pull/1555) -- Remove temporary build step for tests - [\#1554](https://github.com/matrix-org/matrix-js-sdk/pull/1554) -- Move browser build steps to prepublish only - [\#1552](https://github.com/matrix-org/matrix-js-sdk/pull/1552) -- Extend getSsoLoginUrl for MSC2858 - [\#1541](https://github.com/matrix-org/matrix-js-sdk/pull/1541) - -# Changes in [9.3.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.3.0) (2020-12-07) + * Fixes to support line 1 / 2 + [\#1553](https://github.com/matrix-org/matrix-js-sdk/pull/1553) + * Add API for listening to remote hold status, advertise VoIP V1 + [\#1549](https://github.com/matrix-org/matrix-js-sdk/pull/1549) + * A hangup from another client is still valid + [\#1555](https://github.com/matrix-org/matrix-js-sdk/pull/1555) + * Remove temporary build step for tests + [\#1554](https://github.com/matrix-org/matrix-js-sdk/pull/1554) + * Move browser build steps to prepublish only + [\#1552](https://github.com/matrix-org/matrix-js-sdk/pull/1552) + * Extend getSsoLoginUrl for MSC2858 + [\#1541](https://github.com/matrix-org/matrix-js-sdk/pull/1541) +Changes in [9.3.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.3.0) (2020-12-07) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.3.0-rc.1...v9.3.0) -- No changes since rc.1 - -# Changes in [9.3.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.3.0-rc.1) (2020-12-02) +* No changes since rc.1 +Changes in [9.3.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.3.0-rc.1) (2020-12-02) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.2.0...v9.3.0-rc.1) -- Export CallError - [\#1551](https://github.com/matrix-org/matrix-js-sdk/pull/1551) -- Upgrade dependencies - [\#1550](https://github.com/matrix-org/matrix-js-sdk/pull/1550) -- Don't log error when environment does not support WebRTC - [\#1547](https://github.com/matrix-org/matrix-js-sdk/pull/1547) -- Fix dehydration method name - [\#1544](https://github.com/matrix-org/matrix-js-sdk/pull/1544) - -# Changes in [9.2.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.2.0) (2020-11-23) + * Export CallError + [\#1551](https://github.com/matrix-org/matrix-js-sdk/pull/1551) + * Upgrade dependencies + [\#1550](https://github.com/matrix-org/matrix-js-sdk/pull/1550) + * Don't log error when environment does not support WebRTC + [\#1547](https://github.com/matrix-org/matrix-js-sdk/pull/1547) + * Fix dehydration method name + [\#1544](https://github.com/matrix-org/matrix-js-sdk/pull/1544) +Changes in [9.2.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.2.0) (2020-11-23) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.2.0-rc.1...v9.2.0) -- [Release] Fix dehydration method name - [\#1545](https://github.com/matrix-org/matrix-js-sdk/pull/1545) - -# Changes in [9.2.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.2.0-rc.1) (2020-11-18) + * [Release] Fix dehydration method name + [\#1545](https://github.com/matrix-org/matrix-js-sdk/pull/1545) +Changes in [9.2.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.2.0-rc.1) (2020-11-18) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.1.0...v9.2.0-rc.1) -- Implement call holding functionality - [\#1532](https://github.com/matrix-org/matrix-js-sdk/pull/1532) -- Support awaitable one-time dehydration - [\#1537](https://github.com/matrix-org/matrix-js-sdk/pull/1537) -- Client set profile methods update own user - [\#1534](https://github.com/matrix-org/matrix-js-sdk/pull/1534) - -# Changes in [9.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.1.0) (2020-11-09) + * Implement call holding functionality + [\#1532](https://github.com/matrix-org/matrix-js-sdk/pull/1532) + * Support awaitable one-time dehydration + [\#1537](https://github.com/matrix-org/matrix-js-sdk/pull/1537) + * Client set profile methods update own user + [\#1534](https://github.com/matrix-org/matrix-js-sdk/pull/1534) +Changes in [9.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.1.0) (2020-11-09) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.1.0-rc.1...v9.1.0) -- No changes since rc.1 - -# Changes in [9.1.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.1.0-rc.1) (2020-11-04) +* No changes since rc.1 +Changes in [9.1.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.1.0-rc.1) (2020-11-04) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.0.1...v9.1.0-rc.1) -- Fix spelling error in the server ACL event type - [\#1535](https://github.com/matrix-org/matrix-js-sdk/pull/1535) -- await idb operations from crypto store for dehydration - [\#1533](https://github.com/matrix-org/matrix-js-sdk/pull/1533) -- Fix stuck never-sending messages - [\#1531](https://github.com/matrix-org/matrix-js-sdk/pull/1531) -- Await key cache check to avoid prompts - [\#1529](https://github.com/matrix-org/matrix-js-sdk/pull/1529) -- Improve ICE candidate batching - [\#1524](https://github.com/matrix-org/matrix-js-sdk/pull/1524) -- Convert logger to typescript - [\#1527](https://github.com/matrix-org/matrix-js-sdk/pull/1527) -- Fix logger typo - [\#1525](https://github.com/matrix-org/matrix-js-sdk/pull/1525) -- bind online listener to window instead of document - [\#1523](https://github.com/matrix-org/matrix-js-sdk/pull/1523) -- Support m.call.select_answer - [\#1522](https://github.com/matrix-org/matrix-js-sdk/pull/1522) - -# Changes in [9.0.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.0.1) (2020-10-28) + * Fix spelling error in the server ACL event type + [\#1535](https://github.com/matrix-org/matrix-js-sdk/pull/1535) + * await idb operations from crypto store for dehydration + [\#1533](https://github.com/matrix-org/matrix-js-sdk/pull/1533) + * Fix stuck never-sending messages + [\#1531](https://github.com/matrix-org/matrix-js-sdk/pull/1531) + * Await key cache check to avoid prompts + [\#1529](https://github.com/matrix-org/matrix-js-sdk/pull/1529) + * Improve ICE candidate batching + [\#1524](https://github.com/matrix-org/matrix-js-sdk/pull/1524) + * Convert logger to typescript + [\#1527](https://github.com/matrix-org/matrix-js-sdk/pull/1527) + * Fix logger typo + [\#1525](https://github.com/matrix-org/matrix-js-sdk/pull/1525) + * bind online listener to window instead of document + [\#1523](https://github.com/matrix-org/matrix-js-sdk/pull/1523) + * Support m.call.select_answer + [\#1522](https://github.com/matrix-org/matrix-js-sdk/pull/1522) +Changes in [9.0.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.0.1) (2020-10-28) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.0.0...v9.0.1) -- [Release] Await key cache check to avoid prompts - [\#1530](https://github.com/matrix-org/matrix-js-sdk/pull/1530) - -# Changes in [9.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.0.0) (2020-10-26) + * [Release] Await key cache check to avoid prompts + [\#1530](https://github.com/matrix-org/matrix-js-sdk/pull/1530) +Changes in [9.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.0.0) (2020-10-26) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.0.0-rc.1...v9.0.0) -- Fix logger typo - [\#1528](https://github.com/matrix-org/matrix-js-sdk/pull/1528) - -# Changes in [9.0.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.0.0-rc.1) (2020-10-21) + * Fix logger typo + [\#1528](https://github.com/matrix-org/matrix-js-sdk/pull/1528) +Changes in [9.0.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v9.0.0-rc.1) (2020-10-21) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v8.5.0...v9.0.0-rc.1) -## BREAKING CHANGES +BREAKING CHANGES +--- -- `hasPendingEvent` now returns false instead of throwing when pending ordering mode is not `detached` + * `hasPendingEvent` now returns false instead of throwing when pending ordering mode is not `detached` -## All changes +All changes +--- -- Don't cache failures when fetching /versions - [\#1521](https://github.com/matrix-org/matrix-js-sdk/pull/1521) -- Install deps first as part of release - [\#1518](https://github.com/matrix-org/matrix-js-sdk/pull/1518) -- [Breaking] Change hasPendingEvent to return false if pending ordering - !detached - [\#1517](https://github.com/matrix-org/matrix-js-sdk/pull/1517) -- Skip editor prompts for merges - [\#1519](https://github.com/matrix-org/matrix-js-sdk/pull/1519) -- Convert call test to TypeScript - [\#1516](https://github.com/matrix-org/matrix-js-sdk/pull/1516) -- Support party_id - [\#1512](https://github.com/matrix-org/matrix-js-sdk/pull/1512) -- Support m.call.reject - [\#1510](https://github.com/matrix-org/matrix-js-sdk/pull/1510) -- Remove specbuild from .gitignore - [\#1515](https://github.com/matrix-org/matrix-js-sdk/pull/1515) -- Log the error when we failed to send candidates - [\#1514](https://github.com/matrix-org/matrix-js-sdk/pull/1514) -- Fixes for call state machine - [\#1503](https://github.com/matrix-org/matrix-js-sdk/pull/1503) -- Fix call event handler listener removing - [\#1506](https://github.com/matrix-org/matrix-js-sdk/pull/1506) -- Set the type of the call based on the tracks - [\#1501](https://github.com/matrix-org/matrix-js-sdk/pull/1501) -- Use new local timestamp for calls - [\#1499](https://github.com/matrix-org/matrix-js-sdk/pull/1499) -- Adjust types and APIs to match React SDK - [\#1502](https://github.com/matrix-org/matrix-js-sdk/pull/1502) -- Make an accurate version of 'age' for events - [\#1495](https://github.com/matrix-org/matrix-js-sdk/pull/1495) -- Make 'options' parameter optional - [\#1498](https://github.com/matrix-org/matrix-js-sdk/pull/1498) -- Create a giant event type enum - [\#1497](https://github.com/matrix-org/matrix-js-sdk/pull/1497) -- Convert call.js to Typescript & update WebRTC APIs (re-apply) - [\#1494](https://github.com/matrix-org/matrix-js-sdk/pull/1494) - -# Changes in [8.5.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.5.0) (2020-10-12) + * Don't cache failures when fetching /versions + [\#1521](https://github.com/matrix-org/matrix-js-sdk/pull/1521) + * Install deps first as part of release + [\#1518](https://github.com/matrix-org/matrix-js-sdk/pull/1518) + * [Breaking] Change hasPendingEvent to return false if pending ordering + !detached + [\#1517](https://github.com/matrix-org/matrix-js-sdk/pull/1517) + * Skip editor prompts for merges + [\#1519](https://github.com/matrix-org/matrix-js-sdk/pull/1519) + * Convert call test to TypeScript + [\#1516](https://github.com/matrix-org/matrix-js-sdk/pull/1516) + * Support party_id + [\#1512](https://github.com/matrix-org/matrix-js-sdk/pull/1512) + * Support m.call.reject + [\#1510](https://github.com/matrix-org/matrix-js-sdk/pull/1510) + * Remove specbuild from .gitignore + [\#1515](https://github.com/matrix-org/matrix-js-sdk/pull/1515) + * Log the error when we failed to send candidates + [\#1514](https://github.com/matrix-org/matrix-js-sdk/pull/1514) + * Fixes for call state machine + [\#1503](https://github.com/matrix-org/matrix-js-sdk/pull/1503) + * Fix call event handler listener removing + [\#1506](https://github.com/matrix-org/matrix-js-sdk/pull/1506) + * Set the type of the call based on the tracks + [\#1501](https://github.com/matrix-org/matrix-js-sdk/pull/1501) + * Use new local timestamp for calls + [\#1499](https://github.com/matrix-org/matrix-js-sdk/pull/1499) + * Adjust types and APIs to match React SDK + [\#1502](https://github.com/matrix-org/matrix-js-sdk/pull/1502) + * Make an accurate version of 'age' for events + [\#1495](https://github.com/matrix-org/matrix-js-sdk/pull/1495) + * Make 'options' parameter optional + [\#1498](https://github.com/matrix-org/matrix-js-sdk/pull/1498) + * Create a giant event type enum + [\#1497](https://github.com/matrix-org/matrix-js-sdk/pull/1497) + * Convert call.js to Typescript & update WebRTC APIs (re-apply) + [\#1494](https://github.com/matrix-org/matrix-js-sdk/pull/1494) +Changes in [8.5.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.5.0) (2020-10-12) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v8.5.0-rc.1...v8.5.0) -- No changes since rc.1 - -# Changes in [8.5.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.5.0-rc.1) (2020-10-07) +* No changes since rc.1 +Changes in [8.5.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.5.0-rc.1) (2020-10-07) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v8.4.1...v8.5.0-rc.1) -- Add support for olm fallback keys - [\#1467](https://github.com/matrix-org/matrix-js-sdk/pull/1467) -- Fix editing local echoes not updating them in real time - [\#1492](https://github.com/matrix-org/matrix-js-sdk/pull/1492) -- Fix re-emit of Event.replaced to be on client and not room - [\#1491](https://github.com/matrix-org/matrix-js-sdk/pull/1491) -- Add space to log line - [\#1496](https://github.com/matrix-org/matrix-js-sdk/pull/1496) -- Revert "Convert call.js to Typescript & update WebRTC APIs" - [\#1493](https://github.com/matrix-org/matrix-js-sdk/pull/1493) -- Convert call.js to Typescript & update WebRTC APIs - [\#1487](https://github.com/matrix-org/matrix-js-sdk/pull/1487) -- Dehydrate and rehydrate devices - [\#1436](https://github.com/matrix-org/matrix-js-sdk/pull/1436) -- Keep local device after processing device list sync - [\#1490](https://github.com/matrix-org/matrix-js-sdk/pull/1490) -- Enforce logger module via lint rules - [\#1489](https://github.com/matrix-org/matrix-js-sdk/pull/1489) -- Extend method redactEvent with reason - [\#1462](https://github.com/matrix-org/matrix-js-sdk/pull/1462) -- Catch exception from call event handler - [\#1484](https://github.com/matrix-org/matrix-js-sdk/pull/1484) -- Ignore invalid candidates - [\#1483](https://github.com/matrix-org/matrix-js-sdk/pull/1483) -- Always push docs if they are generated - [\#1478](https://github.com/matrix-org/matrix-js-sdk/pull/1478) -- Only sign key backup with cross-signing keys when available - [\#1481](https://github.com/matrix-org/matrix-js-sdk/pull/1481) -- Upgrade dependencies - [\#1479](https://github.com/matrix-org/matrix-js-sdk/pull/1479) - -# Changes in [8.4.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.4.1) (2020-09-28) + * Add support for olm fallback keys + [\#1467](https://github.com/matrix-org/matrix-js-sdk/pull/1467) + * Fix editing local echoes not updating them in real time + [\#1492](https://github.com/matrix-org/matrix-js-sdk/pull/1492) + * Fix re-emit of Event.replaced to be on client and not room + [\#1491](https://github.com/matrix-org/matrix-js-sdk/pull/1491) + * Add space to log line + [\#1496](https://github.com/matrix-org/matrix-js-sdk/pull/1496) + * Revert "Convert call.js to Typescript & update WebRTC APIs" + [\#1493](https://github.com/matrix-org/matrix-js-sdk/pull/1493) + * Convert call.js to Typescript & update WebRTC APIs + [\#1487](https://github.com/matrix-org/matrix-js-sdk/pull/1487) + * Dehydrate and rehydrate devices + [\#1436](https://github.com/matrix-org/matrix-js-sdk/pull/1436) + * Keep local device after processing device list sync + [\#1490](https://github.com/matrix-org/matrix-js-sdk/pull/1490) + * Enforce logger module via lint rules + [\#1489](https://github.com/matrix-org/matrix-js-sdk/pull/1489) + * Extend method redactEvent with reason + [\#1462](https://github.com/matrix-org/matrix-js-sdk/pull/1462) + * Catch exception from call event handler + [\#1484](https://github.com/matrix-org/matrix-js-sdk/pull/1484) + * Ignore invalid candidates + [\#1483](https://github.com/matrix-org/matrix-js-sdk/pull/1483) + * Always push docs if they are generated + [\#1478](https://github.com/matrix-org/matrix-js-sdk/pull/1478) + * Only sign key backup with cross-signing keys when available + [\#1481](https://github.com/matrix-org/matrix-js-sdk/pull/1481) + * Upgrade dependencies + [\#1479](https://github.com/matrix-org/matrix-js-sdk/pull/1479) +Changes in [8.4.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.4.1) (2020-09-28) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v8.4.0...v8.4.1) -- Catch exception from call event handler - [\#1486](https://github.com/matrix-org/matrix-js-sdk/pull/1486) -- Ignore invalid candidates - [\#1485](https://github.com/matrix-org/matrix-js-sdk/pull/1485) - -# Changes in [8.4.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.4.0) (2020-09-28) + * Catch exception from call event handler + [\#1486](https://github.com/matrix-org/matrix-js-sdk/pull/1486) + * Ignore invalid candidates + [\#1485](https://github.com/matrix-org/matrix-js-sdk/pull/1485) +Changes in [8.4.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.4.0) (2020-09-28) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v8.4.0-rc.1...v8.4.0) -- Only sign key backup with cross-signing keys when available - [\#1482](https://github.com/matrix-org/matrix-js-sdk/pull/1482) - -# Changes in [8.4.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.4.0-rc.1) (2020-09-23) + * Only sign key backup with cross-signing keys when available + [\#1482](https://github.com/matrix-org/matrix-js-sdk/pull/1482) +Changes in [8.4.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.4.0-rc.1) (2020-09-23) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v8.3.0...v8.4.0-rc.1) -- If there are extraParams set, ensure that queryParams is defined - [\#1477](https://github.com/matrix-org/matrix-js-sdk/pull/1477) -- Add diagnostics to security bootstrap paths - [\#1475](https://github.com/matrix-org/matrix-js-sdk/pull/1475) -- Switch to a combination of better-docs and docdash - [\#1459](https://github.com/matrix-org/matrix-js-sdk/pull/1459) -- Undo attempts to cache private keys aggressively - [\#1474](https://github.com/matrix-org/matrix-js-sdk/pull/1474) -- Repair secret storage reset, cache keys when missing - [\#1472](https://github.com/matrix-org/matrix-js-sdk/pull/1472) -- Prevent parallel getVersions calls - [\#1471](https://github.com/matrix-org/matrix-js-sdk/pull/1471) -- Send end-of-candidates - [\#1473](https://github.com/matrix-org/matrix-js-sdk/pull/1473) -- Add a function for checking the /versions flag for forced e2ee - [\#1470](https://github.com/matrix-org/matrix-js-sdk/pull/1470) -- Add option to allow users of pantialaimon to use the SDK - [\#1469](https://github.com/matrix-org/matrix-js-sdk/pull/1469) -- Fixed Yarn broken link - [\#1468](https://github.com/matrix-org/matrix-js-sdk/pull/1468) -- some TypeScript and doc fixes - [\#1466](https://github.com/matrix-org/matrix-js-sdk/pull/1466) -- Remove Travis CI reference - [\#1464](https://github.com/matrix-org/matrix-js-sdk/pull/1464) -- Inject identity server token for 3pid invites on createRoom - [\#1463](https://github.com/matrix-org/matrix-js-sdk/pull/1463) - -# Changes in [8.3.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.3.0) (2020-09-14) + * If there are extraParams set, ensure that queryParams is defined + [\#1477](https://github.com/matrix-org/matrix-js-sdk/pull/1477) + * Add diagnostics to security bootstrap paths + [\#1475](https://github.com/matrix-org/matrix-js-sdk/pull/1475) + * Switch to a combination of better-docs and docdash + [\#1459](https://github.com/matrix-org/matrix-js-sdk/pull/1459) + * Undo attempts to cache private keys aggressively + [\#1474](https://github.com/matrix-org/matrix-js-sdk/pull/1474) + * Repair secret storage reset, cache keys when missing + [\#1472](https://github.com/matrix-org/matrix-js-sdk/pull/1472) + * Prevent parallel getVersions calls + [\#1471](https://github.com/matrix-org/matrix-js-sdk/pull/1471) + * Send end-of-candidates + [\#1473](https://github.com/matrix-org/matrix-js-sdk/pull/1473) + * Add a function for checking the /versions flag for forced e2ee + [\#1470](https://github.com/matrix-org/matrix-js-sdk/pull/1470) + * Add option to allow users of pantialaimon to use the SDK + [\#1469](https://github.com/matrix-org/matrix-js-sdk/pull/1469) + * Fixed Yarn broken link + [\#1468](https://github.com/matrix-org/matrix-js-sdk/pull/1468) + * some TypeScript and doc fixes + [\#1466](https://github.com/matrix-org/matrix-js-sdk/pull/1466) + * Remove Travis CI reference + [\#1464](https://github.com/matrix-org/matrix-js-sdk/pull/1464) + * Inject identity server token for 3pid invites on createRoom + [\#1463](https://github.com/matrix-org/matrix-js-sdk/pull/1463) +Changes in [8.3.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.3.0) (2020-09-14) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v8.3.0-rc.1...v8.3.0) -- No changes since rc.1 - -# Changes in [8.3.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.3.0-rc.1) (2020-09-09) +* No changes since rc.1 +Changes in [8.3.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.3.0-rc.1) (2020-09-09) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v8.2.0...v8.3.0-rc.1) -- Add missing options in ICreateClientOpts - [\#1452](https://github.com/matrix-org/matrix-js-sdk/pull/1452) -- Ensure ready functions return boolean values - [\#1457](https://github.com/matrix-org/matrix-js-sdk/pull/1457) -- Handle missing cross-signing keys gracefully - [\#1456](https://github.com/matrix-org/matrix-js-sdk/pull/1456) -- Fix eslint ts override tsx matching - [\#1451](https://github.com/matrix-org/matrix-js-sdk/pull/1451) -- Untangle cross-signing and secret storage - [\#1450](https://github.com/matrix-org/matrix-js-sdk/pull/1450) - -# Changes in [8.2.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.2.0) (2020-09-01) + * Add missing options in ICreateClientOpts + [\#1452](https://github.com/matrix-org/matrix-js-sdk/pull/1452) + * Ensure ready functions return boolean values + [\#1457](https://github.com/matrix-org/matrix-js-sdk/pull/1457) + * Handle missing cross-signing keys gracefully + [\#1456](https://github.com/matrix-org/matrix-js-sdk/pull/1456) + * Fix eslint ts override tsx matching + [\#1451](https://github.com/matrix-org/matrix-js-sdk/pull/1451) + * Untangle cross-signing and secret storage + [\#1450](https://github.com/matrix-org/matrix-js-sdk/pull/1450) +Changes in [8.2.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.2.0) (2020-09-01) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v8.2.0-rc.1...v8.2.0) ## Security notice @@ -1681,2131 +1659,2150 @@ Security Disclosure Policy. ## All changes -- No changes since rc.1 - -# Changes in [8.2.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.2.0-rc.1) (2020-08-26) +* No changes since rc.1 +Changes in [8.2.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.2.0-rc.1) (2020-08-26) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v8.1.0...v8.2.0-rc.1) -- Add state event check - [\#1449](https://github.com/matrix-org/matrix-js-sdk/pull/1449) -- Add method to check whether client .well-known has been fetched - [\#1444](https://github.com/matrix-org/matrix-js-sdk/pull/1444) -- Handle auth errors during cross-signing key upload - [\#1443](https://github.com/matrix-org/matrix-js-sdk/pull/1443) -- Don't fail if the requested audio output isn't available - [\#1448](https://github.com/matrix-org/matrix-js-sdk/pull/1448) -- Fix logging failures - [\#1447](https://github.com/matrix-org/matrix-js-sdk/pull/1447) -- Log the constraints we pass to getUserMedia - [\#1446](https://github.com/matrix-org/matrix-js-sdk/pull/1446) -- Use SAS emoji data from matrix-doc - [\#1440](https://github.com/matrix-org/matrix-js-sdk/pull/1440) - -# Changes in [8.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.1.0) (2020-08-17) + * Add state event check + [\#1449](https://github.com/matrix-org/matrix-js-sdk/pull/1449) + * Add method to check whether client .well-known has been fetched + [\#1444](https://github.com/matrix-org/matrix-js-sdk/pull/1444) + * Handle auth errors during cross-signing key upload + [\#1443](https://github.com/matrix-org/matrix-js-sdk/pull/1443) + * Don't fail if the requested audio output isn't available + [\#1448](https://github.com/matrix-org/matrix-js-sdk/pull/1448) + * Fix logging failures + [\#1447](https://github.com/matrix-org/matrix-js-sdk/pull/1447) + * Log the constraints we pass to getUserMedia + [\#1446](https://github.com/matrix-org/matrix-js-sdk/pull/1446) + * Use SAS emoji data from matrix-doc + [\#1440](https://github.com/matrix-org/matrix-js-sdk/pull/1440) +Changes in [8.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.1.0) (2020-08-17) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v8.1.0-rc.1...v8.1.0) -- No changes since rc.1 - -# Changes in [8.1.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.1.0-rc.1) (2020-08-13) +* No changes since rc.1 +Changes in [8.1.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.1.0-rc.1) (2020-08-13) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v8.0.1...v8.1.0-rc.1) -- Update on Promises - [\#1438](https://github.com/matrix-org/matrix-js-sdk/pull/1438) -- Store and request master cross-signing key - [\#1437](https://github.com/matrix-org/matrix-js-sdk/pull/1437) -- Filter out non-string display names - [\#1433](https://github.com/matrix-org/matrix-js-sdk/pull/1433) -- Bump elliptic from 6.5.2 to 6.5.3 - [\#1427](https://github.com/matrix-org/matrix-js-sdk/pull/1427) -- Replace Riot with Element in docs and comments - [\#1431](https://github.com/matrix-org/matrix-js-sdk/pull/1431) -- Remove leftover bits of TSLint - [\#1430](https://github.com/matrix-org/matrix-js-sdk/pull/1430) - -# Changes in [8.0.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.0.1) (2020-08-05) + * Update on Promises + [\#1438](https://github.com/matrix-org/matrix-js-sdk/pull/1438) + * Store and request master cross-signing key + [\#1437](https://github.com/matrix-org/matrix-js-sdk/pull/1437) + * Filter out non-string display names + [\#1433](https://github.com/matrix-org/matrix-js-sdk/pull/1433) + * Bump elliptic from 6.5.2 to 6.5.3 + [\#1427](https://github.com/matrix-org/matrix-js-sdk/pull/1427) + * Replace Riot with Element in docs and comments + [\#1431](https://github.com/matrix-org/matrix-js-sdk/pull/1431) + * Remove leftover bits of TSLint + [\#1430](https://github.com/matrix-org/matrix-js-sdk/pull/1430) +Changes in [8.0.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.0.1) (2020-08-05) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v8.0.1-rc.1...v8.0.1) -- Filter out non-string display names - [\#1434](https://github.com/matrix-org/matrix-js-sdk/pull/1434) - -# Changes in [8.0.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.0.1-rc.1) (2020-07-31) + * Filter out non-string display names + [\#1434](https://github.com/matrix-org/matrix-js-sdk/pull/1434) +Changes in [8.0.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.0.1-rc.1) (2020-07-31) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v8.0.0...v8.0.1-rc.1) -- Remove redundant lint dependencies - [\#1426](https://github.com/matrix-org/matrix-js-sdk/pull/1426) -- Upload all keys when we start using a new key backup version - [\#1428](https://github.com/matrix-org/matrix-js-sdk/pull/1428) -- Expose countSessionsNeedingBackup - [\#1429](https://github.com/matrix-org/matrix-js-sdk/pull/1429) -- Configure and use new eslint package - [\#1422](https://github.com/matrix-org/matrix-js-sdk/pull/1422) - -# Changes in [8.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.0.0) (2020-07-27) + * Remove redundant lint dependencies + [\#1426](https://github.com/matrix-org/matrix-js-sdk/pull/1426) + * Upload all keys when we start using a new key backup version + [\#1428](https://github.com/matrix-org/matrix-js-sdk/pull/1428) + * Expose countSessionsNeedingBackup + [\#1429](https://github.com/matrix-org/matrix-js-sdk/pull/1429) + * Configure and use new eslint package + [\#1422](https://github.com/matrix-org/matrix-js-sdk/pull/1422) +Changes in [8.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v8.0.0) (2020-07-27) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v7.1.0...v8.0.0) -## BREAKING CHANGES +BREAKING CHANGES +--- -- `RoomState` events changed to use a Map instead of an object, which changes the collection APIs available to access them. +* `RoomState` events changed to use a Map instead of an object, which changes the collection APIs available to access them. -## All Changes +All Changes +--- -- Properly support txnId - [\#1424](https://github.com/matrix-org/matrix-js-sdk/pull/1424) -- [BREAKING] Remove deprecated getIdenticonUri - [\#1423](https://github.com/matrix-org/matrix-js-sdk/pull/1423) -- Bump lodash from 4.17.15 to 4.17.19 - [\#1421](https://github.com/matrix-org/matrix-js-sdk/pull/1421) -- [BREAKING] Convert RoomState's stored state map to a real map - [\#1419](https://github.com/matrix-org/matrix-js-sdk/pull/1419) - -# Changes in [7.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v7.1.0) (2020-07-03) + * Properly support txnId + [\#1424](https://github.com/matrix-org/matrix-js-sdk/pull/1424) + * [BREAKING] Remove deprecated getIdenticonUri + [\#1423](https://github.com/matrix-org/matrix-js-sdk/pull/1423) + * Bump lodash from 4.17.15 to 4.17.19 + [\#1421](https://github.com/matrix-org/matrix-js-sdk/pull/1421) + * [BREAKING] Convert RoomState's stored state map to a real map + [\#1419](https://github.com/matrix-org/matrix-js-sdk/pull/1419) +Changes in [7.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v7.1.0) (2020-07-03) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v7.1.0-rc.1...v7.1.0) -- No changes since rc.1 - -# Changes in [7.1.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v7.1.0-rc.1) (2020-07-01) +* No changes since rc.1 +Changes in [7.1.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v7.1.0-rc.1) (2020-07-01) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v7.0.0...v7.1.0-rc.1) -- Ask general crypto callbacks for 4S privkey if operation adapter doesn't - have it yet - [\#1414](https://github.com/matrix-org/matrix-js-sdk/pull/1414) -- Fix ICreateClientOpts missing idBaseUrl - [\#1413](https://github.com/matrix-org/matrix-js-sdk/pull/1413) -- Increase max event listeners for rooms - [\#1411](https://github.com/matrix-org/matrix-js-sdk/pull/1411) -- Don't trust keys megolm received from backup for verifying the sender - [\#1406](https://github.com/matrix-org/matrix-js-sdk/pull/1406) -- Raise the last known account data / state event for an update - [\#1410](https://github.com/matrix-org/matrix-js-sdk/pull/1410) -- Isolate encryption bootstrap side-effects - [\#1380](https://github.com/matrix-org/matrix-js-sdk/pull/1380) -- Add method to get current in-flight to-device requests - [\#1405](https://github.com/matrix-org/matrix-js-sdk/pull/1405) - -# Changes in [7.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v7.0.0) (2020-06-23) + * Ask general crypto callbacks for 4S privkey if operation adapter doesn't + have it yet + [\#1414](https://github.com/matrix-org/matrix-js-sdk/pull/1414) + * Fix ICreateClientOpts missing idBaseUrl + [\#1413](https://github.com/matrix-org/matrix-js-sdk/pull/1413) + * Increase max event listeners for rooms + [\#1411](https://github.com/matrix-org/matrix-js-sdk/pull/1411) + * Don't trust keys megolm received from backup for verifying the sender + [\#1406](https://github.com/matrix-org/matrix-js-sdk/pull/1406) + * Raise the last known account data / state event for an update + [\#1410](https://github.com/matrix-org/matrix-js-sdk/pull/1410) + * Isolate encryption bootstrap side-effects + [\#1380](https://github.com/matrix-org/matrix-js-sdk/pull/1380) + * Add method to get current in-flight to-device requests + [\#1405](https://github.com/matrix-org/matrix-js-sdk/pull/1405) +Changes in [7.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v7.0.0) (2020-06-23) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v7.0.0-rc.1...v7.0.0) -- No changes since rc.1 - -# Changes in [7.0.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v7.0.0-rc.1) (2020-06-17) +* No changes since rc.1 +Changes in [7.0.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v7.0.0-rc.1) (2020-06-17) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v6.2.2...v7.0.0-rc.1) -## BREAKING CHANGES +BREAKING CHANGES +--- -- Presence lists were removed from the spec in r0.5.0, and the corresponding methods have now been removed here as well: - - `getPresenceList` - - `inviteToPresenceList` - - `dropFromPresenceList` + * Presence lists were removed from the spec in r0.5.0, and the corresponding methods have now been removed here as well: + * `getPresenceList` + * `inviteToPresenceList` + * `dropFromPresenceList` -## All changes +All changes +--- -- Remove support for unspecced device-specific push rules - [\#1404](https://github.com/matrix-org/matrix-js-sdk/pull/1404) -- Use existing session id for fetching flows as to not get a new session - [\#1403](https://github.com/matrix-org/matrix-js-sdk/pull/1403) -- Upgrade deps - [\#1400](https://github.com/matrix-org/matrix-js-sdk/pull/1400) -- Bring back backup key format migration - [\#1398](https://github.com/matrix-org/matrix-js-sdk/pull/1398) -- Fix: more informative error message when we cant find a key to decrypt with - [\#1313](https://github.com/matrix-org/matrix-js-sdk/pull/1313) -- Add js-sdk mechanism for polling client well-known for config - [\#1394](https://github.com/matrix-org/matrix-js-sdk/pull/1394) -- Fix verification request timeouts to match spec - [\#1388](https://github.com/matrix-org/matrix-js-sdk/pull/1388) -- Drop presence list methods - [\#1391](https://github.com/matrix-org/matrix-js-sdk/pull/1391) -- Batch up URL previews to prevent excessive requests - [\#1395](https://github.com/matrix-org/matrix-js-sdk/pull/1395) - -# Changes in [6.2.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v6.2.2) (2020-06-16) + * Remove support for unspecced device-specific push rules + [\#1404](https://github.com/matrix-org/matrix-js-sdk/pull/1404) + * Use existing session id for fetching flows as to not get a new session + [\#1403](https://github.com/matrix-org/matrix-js-sdk/pull/1403) + * Upgrade deps + [\#1400](https://github.com/matrix-org/matrix-js-sdk/pull/1400) + * Bring back backup key format migration + [\#1398](https://github.com/matrix-org/matrix-js-sdk/pull/1398) + * Fix: more informative error message when we cant find a key to decrypt with + [\#1313](https://github.com/matrix-org/matrix-js-sdk/pull/1313) + * Add js-sdk mechanism for polling client well-known for config + [\#1394](https://github.com/matrix-org/matrix-js-sdk/pull/1394) + * Fix verification request timeouts to match spec + [\#1388](https://github.com/matrix-org/matrix-js-sdk/pull/1388) + * Drop presence list methods + [\#1391](https://github.com/matrix-org/matrix-js-sdk/pull/1391) + * Batch up URL previews to prevent excessive requests + [\#1395](https://github.com/matrix-org/matrix-js-sdk/pull/1395) +Changes in [6.2.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v6.2.2) (2020-06-16) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v6.2.1...v6.2.2) -- Use existing session id for fetching flows as to not get a new session - [\#1407](https://github.com/matrix-org/matrix-js-sdk/pull/1407) - -# Changes in [6.2.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v6.2.1) (2020-06-05) + * Use existing session id for fetching flows as to not get a new session + [\#1407](https://github.com/matrix-org/matrix-js-sdk/pull/1407) +Changes in [6.2.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v6.2.1) (2020-06-05) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v6.2.0...v6.2.1) -- Bring back backup key format migration - [\#1399](https://github.com/matrix-org/matrix-js-sdk/pull/1399) - -# Changes in [6.2.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v6.2.0) (2020-06-04) + * Bring back backup key format migration + [\#1399](https://github.com/matrix-org/matrix-js-sdk/pull/1399) +Changes in [6.2.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v6.2.0) (2020-06-04) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v6.2.0-rc.1...v6.2.0) -- No changes since rc.1 - -# Changes in [6.2.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v6.2.0-rc.1) (2020-06-02) + * No changes since rc.1 +Changes in [6.2.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v6.2.0-rc.1) (2020-06-02) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v6.1.0...v6.2.0-rc.1) -- Make auth argument in the register request compliant with r0.6.0 - [\#1304](https://github.com/matrix-org/matrix-js-sdk/pull/1304) -- Send the wrong auth params with the right auth params - [\#1393](https://github.com/matrix-org/matrix-js-sdk/pull/1393) -- encrypt cached keys with pickle key - [\#1387](https://github.com/matrix-org/matrix-js-sdk/pull/1387) -- Fix replying to key share requests - [\#1385](https://github.com/matrix-org/matrix-js-sdk/pull/1385) -- Add dist to package.json files so CDNs can serve it - [\#1384](https://github.com/matrix-org/matrix-js-sdk/pull/1384) -- Fix getVersion warning saying undefined room - [\#1382](https://github.com/matrix-org/matrix-js-sdk/pull/1382) -- Combine the two places we processed client-level default push rules - [\#1379](https://github.com/matrix-org/matrix-js-sdk/pull/1379) -- make MAC check robust against unpadded vs padded base64 differences - [\#1378](https://github.com/matrix-org/matrix-js-sdk/pull/1378) -- Remove key backup format migration - [\#1375](https://github.com/matrix-org/matrix-js-sdk/pull/1375) -- Add simple browserify browser-matrix.js tests - [\#1241](https://github.com/matrix-org/matrix-js-sdk/pull/1241) -- support new key agreement method for SAS - [\#1376](https://github.com/matrix-org/matrix-js-sdk/pull/1376) - -# Changes in [6.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v6.1.0) (2020-05-19) + * Make auth argument in the register request compliant with r0.6.0 + [\#1304](https://github.com/matrix-org/matrix-js-sdk/pull/1304) + * Send the wrong auth params with the right auth params + [\#1393](https://github.com/matrix-org/matrix-js-sdk/pull/1393) + * encrypt cached keys with pickle key + [\#1387](https://github.com/matrix-org/matrix-js-sdk/pull/1387) + * Fix replying to key share requests + [\#1385](https://github.com/matrix-org/matrix-js-sdk/pull/1385) + * Add dist to package.json files so CDNs can serve it + [\#1384](https://github.com/matrix-org/matrix-js-sdk/pull/1384) + * Fix getVersion warning saying undefined room + [\#1382](https://github.com/matrix-org/matrix-js-sdk/pull/1382) + * Combine the two places we processed client-level default push rules + [\#1379](https://github.com/matrix-org/matrix-js-sdk/pull/1379) + * make MAC check robust against unpadded vs padded base64 differences + [\#1378](https://github.com/matrix-org/matrix-js-sdk/pull/1378) + * Remove key backup format migration + [\#1375](https://github.com/matrix-org/matrix-js-sdk/pull/1375) + * Add simple browserify browser-matrix.js tests + [\#1241](https://github.com/matrix-org/matrix-js-sdk/pull/1241) + * support new key agreement method for SAS + [\#1376](https://github.com/matrix-org/matrix-js-sdk/pull/1376) +Changes in [6.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v6.1.0) (2020-05-19) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v6.1.0-rc.1...v6.1.0) -- No changes since rc.1 - -# Changes in [6.1.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v6.1.0-rc.1) (2020-05-14) + * No changes since rc.1 +Changes in [6.1.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v6.1.0-rc.1) (2020-05-14) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v6.0.0...v6.1.0-rc.1) -- Remove support for asymmetric 4S encryption - [\#1373](https://github.com/matrix-org/matrix-js-sdk/pull/1373) -- Increase timeout for 2nd phase of Olm session creation - [\#1367](https://github.com/matrix-org/matrix-js-sdk/pull/1367) -- Add logging on decryption retries - [\#1366](https://github.com/matrix-org/matrix-js-sdk/pull/1366) -- Emit event when a trusted self-key is stored - [\#1364](https://github.com/matrix-org/matrix-js-sdk/pull/1364) -- Customize error payload for oversized messages - [\#1352](https://github.com/matrix-org/matrix-js-sdk/pull/1352) -- Return null for key backup state when we haven't checked yet - [\#1363](https://github.com/matrix-org/matrix-js-sdk/pull/1363) -- Added a progressCallback for backup key loading - [\#1351](https://github.com/matrix-org/matrix-js-sdk/pull/1351) -- Add initialFetch param to willUpdateDevices / devicesUpdated - [\#1360](https://github.com/matrix-org/matrix-js-sdk/pull/1360) -- Fix race between sending .request and receiving .ready over to_device - [\#1359](https://github.com/matrix-org/matrix-js-sdk/pull/1359) -- Handle race between sending and await next event from other party - [\#1357](https://github.com/matrix-org/matrix-js-sdk/pull/1357) -- Add crypto.willUpdateDevices event and make - getStoredDevices/getStoredDevicesForUser synchronous - [\#1354](https://github.com/matrix-org/matrix-js-sdk/pull/1354) -- Fix sender of local echo events in unsigned redactions - [\#1350](https://github.com/matrix-org/matrix-js-sdk/pull/1350) -- Remove redundant key backup setup path - [\#1353](https://github.com/matrix-org/matrix-js-sdk/pull/1353) -- Remove some dead code from \_retryDecryption - [\#1349](https://github.com/matrix-org/matrix-js-sdk/pull/1349) -- Don't send key requests until after sync processing is finished - [\#1348](https://github.com/matrix-org/matrix-js-sdk/pull/1348) -- Prevent attempts to send olm messages to ourselves - [\#1346](https://github.com/matrix-org/matrix-js-sdk/pull/1346) -- Retry account data upload requests - [\#1345](https://github.com/matrix-org/matrix-js-sdk/pull/1345) -- Log first known index with megolm session updates - [\#1344](https://github.com/matrix-org/matrix-js-sdk/pull/1344) -- Prune to_device messages to avoid sending empty messages - [\#1343](https://github.com/matrix-org/matrix-js-sdk/pull/1343) -- Convert bunch of things to TypeScript - [\#1335](https://github.com/matrix-org/matrix-js-sdk/pull/1335) -- Add logging when making new Olm sessions - [\#1342](https://github.com/matrix-org/matrix-js-sdk/pull/1342) -- Fix: handle filter not found - [\#1340](https://github.com/matrix-org/matrix-js-sdk/pull/1340) -- Make getAccountDataFromServer return null if not found - [\#1338](https://github.com/matrix-org/matrix-js-sdk/pull/1338) -- Fix setDefaultKeyId to fail if the request fails - [\#1336](https://github.com/matrix-org/matrix-js-sdk/pull/1336) -- Document setRoomEncryption not modifying room state - [\#1328](https://github.com/matrix-org/matrix-js-sdk/pull/1328) -- Fix: don't do extra /filter request when enabling lazy loading of members - [\#1332](https://github.com/matrix-org/matrix-js-sdk/pull/1332) -- Reject attemptAuth promise if no auth flow found - [\#1329](https://github.com/matrix-org/matrix-js-sdk/pull/1329) -- Fix FilterComponent allowed_values check - [\#1327](https://github.com/matrix-org/matrix-js-sdk/pull/1327) -- Serialise Olm prekey decryptions - [\#1326](https://github.com/matrix-org/matrix-js-sdk/pull/1326) -- Fix: crash when backup key needs fixing from corruption issue - [\#1324](https://github.com/matrix-org/matrix-js-sdk/pull/1324) -- Fix cross-signing/SSSS reset - [\#1322](https://github.com/matrix-org/matrix-js-sdk/pull/1322) -- Implement QR code reciprocate for self-verification with untrusted MSK - [\#1320](https://github.com/matrix-org/matrix-js-sdk/pull/1320) - -# Changes in [6.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v6.0.0) (2020-05-05) + * Remove support for asymmetric 4S encryption + [\#1373](https://github.com/matrix-org/matrix-js-sdk/pull/1373) + * Increase timeout for 2nd phase of Olm session creation + [\#1367](https://github.com/matrix-org/matrix-js-sdk/pull/1367) + * Add logging on decryption retries + [\#1366](https://github.com/matrix-org/matrix-js-sdk/pull/1366) + * Emit event when a trusted self-key is stored + [\#1364](https://github.com/matrix-org/matrix-js-sdk/pull/1364) + * Customize error payload for oversized messages + [\#1352](https://github.com/matrix-org/matrix-js-sdk/pull/1352) + * Return null for key backup state when we haven't checked yet + [\#1363](https://github.com/matrix-org/matrix-js-sdk/pull/1363) + * Added a progressCallback for backup key loading + [\#1351](https://github.com/matrix-org/matrix-js-sdk/pull/1351) + * Add initialFetch param to willUpdateDevices / devicesUpdated + [\#1360](https://github.com/matrix-org/matrix-js-sdk/pull/1360) + * Fix race between sending .request and receiving .ready over to_device + [\#1359](https://github.com/matrix-org/matrix-js-sdk/pull/1359) + * Handle race between sending and await next event from other party + [\#1357](https://github.com/matrix-org/matrix-js-sdk/pull/1357) + * Add crypto.willUpdateDevices event and make + getStoredDevices/getStoredDevicesForUser synchronous + [\#1354](https://github.com/matrix-org/matrix-js-sdk/pull/1354) + * Fix sender of local echo events in unsigned redactions + [\#1350](https://github.com/matrix-org/matrix-js-sdk/pull/1350) + * Remove redundant key backup setup path + [\#1353](https://github.com/matrix-org/matrix-js-sdk/pull/1353) + * Remove some dead code from _retryDecryption + [\#1349](https://github.com/matrix-org/matrix-js-sdk/pull/1349) + * Don't send key requests until after sync processing is finished + [\#1348](https://github.com/matrix-org/matrix-js-sdk/pull/1348) + * Prevent attempts to send olm messages to ourselves + [\#1346](https://github.com/matrix-org/matrix-js-sdk/pull/1346) + * Retry account data upload requests + [\#1345](https://github.com/matrix-org/matrix-js-sdk/pull/1345) + * Log first known index with megolm session updates + [\#1344](https://github.com/matrix-org/matrix-js-sdk/pull/1344) + * Prune to_device messages to avoid sending empty messages + [\#1343](https://github.com/matrix-org/matrix-js-sdk/pull/1343) + * Convert bunch of things to TypeScript + [\#1335](https://github.com/matrix-org/matrix-js-sdk/pull/1335) + * Add logging when making new Olm sessions + [\#1342](https://github.com/matrix-org/matrix-js-sdk/pull/1342) + * Fix: handle filter not found + [\#1340](https://github.com/matrix-org/matrix-js-sdk/pull/1340) + * Make getAccountDataFromServer return null if not found + [\#1338](https://github.com/matrix-org/matrix-js-sdk/pull/1338) + * Fix setDefaultKeyId to fail if the request fails + [\#1336](https://github.com/matrix-org/matrix-js-sdk/pull/1336) + * Document setRoomEncryption not modifying room state + [\#1328](https://github.com/matrix-org/matrix-js-sdk/pull/1328) + * Fix: don't do extra /filter request when enabling lazy loading of members + [\#1332](https://github.com/matrix-org/matrix-js-sdk/pull/1332) + * Reject attemptAuth promise if no auth flow found + [\#1329](https://github.com/matrix-org/matrix-js-sdk/pull/1329) + * Fix FilterComponent allowed_values check + [\#1327](https://github.com/matrix-org/matrix-js-sdk/pull/1327) + * Serialise Olm prekey decryptions + [\#1326](https://github.com/matrix-org/matrix-js-sdk/pull/1326) + * Fix: crash when backup key needs fixing from corruption issue + [\#1324](https://github.com/matrix-org/matrix-js-sdk/pull/1324) + * Fix cross-signing/SSSS reset + [\#1322](https://github.com/matrix-org/matrix-js-sdk/pull/1322) + * Implement QR code reciprocate for self-verification with untrusted MSK + [\#1320](https://github.com/matrix-org/matrix-js-sdk/pull/1320) +Changes in [6.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v6.0.0) (2020-05-05) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v6.0.0-rc.2...v6.0.0) -- Add progress callback for key backups - [\#1368](https://github.com/matrix-org/matrix-js-sdk/pull/1368) - -# Changes in [6.0.0-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v6.0.0-rc.2) (2020-05-01) + * Add progress callback for key backups + [\#1368](https://github.com/matrix-org/matrix-js-sdk/pull/1368) +Changes in [6.0.0-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v6.0.0-rc.2) (2020-05-01) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v6.0.0-rc.1...v6.0.0-rc.2) -- Emit event when a trusted self-key is stored - [\#1365](https://github.com/matrix-org/matrix-js-sdk/pull/1365) - -# Changes in [6.0.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v6.0.0-rc.1) (2020-04-30) + * Emit event when a trusted self-key is stored + [\#1365](https://github.com/matrix-org/matrix-js-sdk/pull/1365) +Changes in [6.0.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v6.0.0-rc.1) (2020-04-30) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v5.3.1-rc.4...v6.0.0-rc.1) -## BREAKING CHANGES +BREAKING CHANGES +--- -- client.getStoredDevicesForUser and client.getStoredDevices are no longer async + * client.getStoredDevicesForUser and client.getStoredDevices are no longer async -## All Changes +All Changes +--- -- Add initialFetch param to willUpdateDevices / devicesUpdated - [\#1362](https://github.com/matrix-org/matrix-js-sdk/pull/1362) -- Fix race between sending .request and receiving .ready over to_device - [\#1361](https://github.com/matrix-org/matrix-js-sdk/pull/1361) -- Handle race between sending and await next event from other party - [\#1358](https://github.com/matrix-org/matrix-js-sdk/pull/1358) -- Add crypto.willUpdateDevices event and make - getStoredDevices/getStoredDevicesForUser synchronous - [\#1356](https://github.com/matrix-org/matrix-js-sdk/pull/1356) -- Remove redundant key backup setup path - [\#1355](https://github.com/matrix-org/matrix-js-sdk/pull/1355) - -# Changes in [5.3.1-rc.4](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.3.1-rc.4) (2020-04-23) + * Add initialFetch param to willUpdateDevices / devicesUpdated + [\#1362](https://github.com/matrix-org/matrix-js-sdk/pull/1362) + * Fix race between sending .request and receiving .ready over to_device + [\#1361](https://github.com/matrix-org/matrix-js-sdk/pull/1361) + * Handle race between sending and await next event from other party + [\#1358](https://github.com/matrix-org/matrix-js-sdk/pull/1358) + * Add crypto.willUpdateDevices event and make + getStoredDevices/getStoredDevicesForUser synchronous + [\#1356](https://github.com/matrix-org/matrix-js-sdk/pull/1356) + * Remove redundant key backup setup path + [\#1355](https://github.com/matrix-org/matrix-js-sdk/pull/1355) +Changes in [5.3.1-rc.4](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.3.1-rc.4) (2020-04-23) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v5.3.1-rc.3...v5.3.1-rc.4) -- Retry account data upload requests - [\#1347](https://github.com/matrix-org/matrix-js-sdk/pull/1347) -- Fix: handle filter not found - [\#1341](https://github.com/matrix-org/matrix-js-sdk/pull/1341) -- Make getAccountDataFromServer return null if not found - [\#1339](https://github.com/matrix-org/matrix-js-sdk/pull/1339) -- Fix setDefaultKeyId to fail if the request fails - [\#1337](https://github.com/matrix-org/matrix-js-sdk/pull/1337) -- Fix: don't do extra /filter request when enabling lazy loading of members - [\#1333](https://github.com/matrix-org/matrix-js-sdk/pull/1333) -- Reject attemptAuth promise if no auth flow found - [\#1331](https://github.com/matrix-org/matrix-js-sdk/pull/1331) -- Serialise Olm prekey decryptions - [\#1330](https://github.com/matrix-org/matrix-js-sdk/pull/1330) - -# Changes in [5.3.1-rc.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.3.1-rc.3) (2020-04-17) + * Retry account data upload requests + [\#1347](https://github.com/matrix-org/matrix-js-sdk/pull/1347) + * Fix: handle filter not found + [\#1341](https://github.com/matrix-org/matrix-js-sdk/pull/1341) + * Make getAccountDataFromServer return null if not found + [\#1339](https://github.com/matrix-org/matrix-js-sdk/pull/1339) + * Fix setDefaultKeyId to fail if the request fails + [\#1337](https://github.com/matrix-org/matrix-js-sdk/pull/1337) + * Fix: don't do extra /filter request when enabling lazy loading of members + [\#1333](https://github.com/matrix-org/matrix-js-sdk/pull/1333) + * Reject attemptAuth promise if no auth flow found + [\#1331](https://github.com/matrix-org/matrix-js-sdk/pull/1331) + * Serialise Olm prekey decryptions + [\#1330](https://github.com/matrix-org/matrix-js-sdk/pull/1330) +Changes in [5.3.1-rc.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.3.1-rc.3) (2020-04-17) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v5.3.1-rc.2...v5.3.1-rc.3) -- Fix cross-signing/SSSS reset - [\#1323](https://github.com/matrix-org/matrix-js-sdk/pull/1323) -- Fix: crash when backup key needs fixing from corruption issue - [\#1325](https://github.com/matrix-org/matrix-js-sdk/pull/1325) - -# Changes in [5.3.1-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.3.1-rc.2) (2020-04-16) + * Fix cross-signing/SSSS reset + [\#1323](https://github.com/matrix-org/matrix-js-sdk/pull/1323) + * Fix: crash when backup key needs fixing from corruption issue + [\#1325](https://github.com/matrix-org/matrix-js-sdk/pull/1325) +Changes in [5.3.1-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.3.1-rc.2) (2020-04-16) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v5.3.1-rc.1...v5.3.1-rc.2) -- Implement QR code reciprocate for self-verification with untrusted MSK - [\#1321](https://github.com/matrix-org/matrix-js-sdk/pull/1321) - -# Changes in [5.3.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.3.1-rc.1) (2020-04-15) + * Implement QR code reciprocate for self-verification with untrusted MSK + [\#1321](https://github.com/matrix-org/matrix-js-sdk/pull/1321) +Changes in [5.3.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.3.1-rc.1) (2020-04-15) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v5.3.0-rc.1...v5.3.1-rc.1) -- Adapt release script for riot-desktop - [\#1319](https://github.com/matrix-org/matrix-js-sdk/pull/1319) -- Fix: prevent spurious notifications from indexer - [\#1318](https://github.com/matrix-org/matrix-js-sdk/pull/1318) -- Always create our own user object - [\#1317](https://github.com/matrix-org/matrix-js-sdk/pull/1317) -- Fix incorrect backup key format in SSSS - [\#1311](https://github.com/matrix-org/matrix-js-sdk/pull/1311) -- Fix e2ee crash after refreshing after having received a cross-singing key - reset - [\#1315](https://github.com/matrix-org/matrix-js-sdk/pull/1315) -- Fix: catch send errors in SAS verifier - [\#1314](https://github.com/matrix-org/matrix-js-sdk/pull/1314) -- Clear cross-signing keys when detecting the keys have changed - [\#1312](https://github.com/matrix-org/matrix-js-sdk/pull/1312) -- Upgrade deps - [\#1310](https://github.com/matrix-org/matrix-js-sdk/pull/1310) - -# Changes in [5.3.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.3.0-rc.1) (2020-04-08) + * Adapt release script for riot-desktop + [\#1319](https://github.com/matrix-org/matrix-js-sdk/pull/1319) + * Fix: prevent spurious notifications from indexer + [\#1318](https://github.com/matrix-org/matrix-js-sdk/pull/1318) + * Always create our own user object + [\#1317](https://github.com/matrix-org/matrix-js-sdk/pull/1317) + * Fix incorrect backup key format in SSSS + [\#1311](https://github.com/matrix-org/matrix-js-sdk/pull/1311) + * Fix e2ee crash after refreshing after having received a cross-singing key + reset + [\#1315](https://github.com/matrix-org/matrix-js-sdk/pull/1315) + * Fix: catch send errors in SAS verifier + [\#1314](https://github.com/matrix-org/matrix-js-sdk/pull/1314) + * Clear cross-signing keys when detecting the keys have changed + [\#1312](https://github.com/matrix-org/matrix-js-sdk/pull/1312) + * Upgrade deps + [\#1310](https://github.com/matrix-org/matrix-js-sdk/pull/1310) +Changes in [5.3.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.3.0-rc.1) (2020-04-08) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v5.2.0...v5.3.0-rc.1) -- Store key backup key in cache as Uint8Array - [\#1308](https://github.com/matrix-org/matrix-js-sdk/pull/1308) -- Use the correct request body for the /keys/query endpoint. - [\#1307](https://github.com/matrix-org/matrix-js-sdk/pull/1307) -- Avoid creating two devices on registration - [\#1305](https://github.com/matrix-org/matrix-js-sdk/pull/1305) -- Lower max-warnings to 81 - [\#1306](https://github.com/matrix-org/matrix-js-sdk/pull/1306) -- Move key backup key creation before caching - [\#1303](https://github.com/matrix-org/matrix-js-sdk/pull/1303) -- Expose function to force-reset outgoing room key requests - [\#1298](https://github.com/matrix-org/matrix-js-sdk/pull/1298) -- Add isSelfVerification property to VerificationRequest - [\#1302](https://github.com/matrix-org/matrix-js-sdk/pull/1302) -- QR code reciprocation - [\#1297](https://github.com/matrix-org/matrix-js-sdk/pull/1297) -- Add ability to check symmetric SSSS key before we try to use it - [\#1294](https://github.com/matrix-org/matrix-js-sdk/pull/1294) -- Add some debug logging for events stuck to bottom of timeline - [\#1296](https://github.com/matrix-org/matrix-js-sdk/pull/1296) -- Fix: spontanous verification request cancellation under some circumstances - [\#1295](https://github.com/matrix-org/matrix-js-sdk/pull/1295) -- Receive private key for caching from the app layer - [\#1293](https://github.com/matrix-org/matrix-js-sdk/pull/1293) -- Track whether we have verified a user before - [\#1292](https://github.com/matrix-org/matrix-js-sdk/pull/1292) -- Fix: error during tests - [\#1222](https://github.com/matrix-org/matrix-js-sdk/pull/1222) -- Send .done event for to_device verification - [\#1288](https://github.com/matrix-org/matrix-js-sdk/pull/1288) -- Request the key backup key & restore backup - [\#1291](https://github.com/matrix-org/matrix-js-sdk/pull/1291) -- Make screen sharing works on Chrome using getDisplayMedia() - [\#1276](https://github.com/matrix-org/matrix-js-sdk/pull/1276) -- Fix isVerified returning false - [\#1289](https://github.com/matrix-org/matrix-js-sdk/pull/1289) -- Fix: verification gets cancelled when event gets duplicated - [\#1286](https://github.com/matrix-org/matrix-js-sdk/pull/1286) -- Use requestSecret on the client to request secrets - [\#1287](https://github.com/matrix-org/matrix-js-sdk/pull/1287) -- Allow guests to fetch TURN servers - [\#1277](https://github.com/matrix-org/matrix-js-sdk/pull/1277) - -# Changes in [5.2.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.2.0) (2020-03-30) + * Store key backup key in cache as Uint8Array + [\#1308](https://github.com/matrix-org/matrix-js-sdk/pull/1308) + * Use the correct request body for the /keys/query endpoint. + [\#1307](https://github.com/matrix-org/matrix-js-sdk/pull/1307) + * Avoid creating two devices on registration + [\#1305](https://github.com/matrix-org/matrix-js-sdk/pull/1305) + * Lower max-warnings to 81 + [\#1306](https://github.com/matrix-org/matrix-js-sdk/pull/1306) + * Move key backup key creation before caching + [\#1303](https://github.com/matrix-org/matrix-js-sdk/pull/1303) + * Expose function to force-reset outgoing room key requests + [\#1298](https://github.com/matrix-org/matrix-js-sdk/pull/1298) + * Add isSelfVerification property to VerificationRequest + [\#1302](https://github.com/matrix-org/matrix-js-sdk/pull/1302) + * QR code reciprocation + [\#1297](https://github.com/matrix-org/matrix-js-sdk/pull/1297) + * Add ability to check symmetric SSSS key before we try to use it + [\#1294](https://github.com/matrix-org/matrix-js-sdk/pull/1294) + * Add some debug logging for events stuck to bottom of timeline + [\#1296](https://github.com/matrix-org/matrix-js-sdk/pull/1296) + * Fix: spontanous verification request cancellation under some circumstances + [\#1295](https://github.com/matrix-org/matrix-js-sdk/pull/1295) + * Receive private key for caching from the app layer + [\#1293](https://github.com/matrix-org/matrix-js-sdk/pull/1293) + * Track whether we have verified a user before + [\#1292](https://github.com/matrix-org/matrix-js-sdk/pull/1292) + * Fix: error during tests + [\#1222](https://github.com/matrix-org/matrix-js-sdk/pull/1222) + * Send .done event for to_device verification + [\#1288](https://github.com/matrix-org/matrix-js-sdk/pull/1288) + * Request the key backup key & restore backup + [\#1291](https://github.com/matrix-org/matrix-js-sdk/pull/1291) + * Make screen sharing works on Chrome using getDisplayMedia() + [\#1276](https://github.com/matrix-org/matrix-js-sdk/pull/1276) + * Fix isVerified returning false + [\#1289](https://github.com/matrix-org/matrix-js-sdk/pull/1289) + * Fix: verification gets cancelled when event gets duplicated + [\#1286](https://github.com/matrix-org/matrix-js-sdk/pull/1286) + * Use requestSecret on the client to request secrets + [\#1287](https://github.com/matrix-org/matrix-js-sdk/pull/1287) + * Allow guests to fetch TURN servers + [\#1277](https://github.com/matrix-org/matrix-js-sdk/pull/1277) +Changes in [5.2.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.2.0) (2020-03-30) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v5.2.0-rc.1...v5.2.0) -- Fix isVerified returning false - [\#1290](https://github.com/matrix-org/matrix-js-sdk/pull/1290) - -# Changes in [5.2.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.2.0-rc.1) (2020-03-26) + * Fix isVerified returning false + [\#1290](https://github.com/matrix-org/matrix-js-sdk/pull/1290) +Changes in [5.2.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.2.0-rc.1) (2020-03-26) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v5.1.1...v5.2.0-rc.1) -- Add a flag for whether cross signing signatures are trusted - [\#1285](https://github.com/matrix-org/matrix-js-sdk/pull/1285) -- Cache user and self signing keys during bootstrap - [\#1282](https://github.com/matrix-org/matrix-js-sdk/pull/1282) -- remove unnecessary promise - [\#1283](https://github.com/matrix-org/matrix-js-sdk/pull/1283) -- Functions to cache session backups key automatically - [\#1281](https://github.com/matrix-org/matrix-js-sdk/pull/1281) -- Add function for checking cross-signing is ready - [\#1279](https://github.com/matrix-org/matrix-js-sdk/pull/1279) -- Use symmetric encryption for SSSS - [\#1228](https://github.com/matrix-org/matrix-js-sdk/pull/1228) -- Migrate SSSS to use symmetric algorithm - [\#1238](https://github.com/matrix-org/matrix-js-sdk/pull/1238) -- Migration to symmetric SSSS - [\#1272](https://github.com/matrix-org/matrix-js-sdk/pull/1272) -- Reduce number of one-time-key requests - [\#1280](https://github.com/matrix-org/matrix-js-sdk/pull/1280) -- Fix: assume the requested method is supported by other party with to_device - [\#1275](https://github.com/matrix-org/matrix-js-sdk/pull/1275) -- Use checkDeviceTrust when computing untrusted devices - [\#1278](https://github.com/matrix-org/matrix-js-sdk/pull/1278) -- Add a store for backup keys - [\#1271](https://github.com/matrix-org/matrix-js-sdk/pull/1271) -- Upload only new device signature of master key - [\#1268](https://github.com/matrix-org/matrix-js-sdk/pull/1268) -- Expose prepareToEncrypt in the client API - [\#1270](https://github.com/matrix-org/matrix-js-sdk/pull/1270) -- Don't kill the whole device download if one device gives an error - [\#1269](https://github.com/matrix-org/matrix-js-sdk/pull/1269) -- Handle racing .start event during self verification - [\#1267](https://github.com/matrix-org/matrix-js-sdk/pull/1267) -- A crypto.keySignatureUploadFailure event reported the wrong source - [\#1266](https://github.com/matrix-org/matrix-js-sdk/pull/1266) -- Fix editing of unsent messages by waiting for actual event id - [\#1263](https://github.com/matrix-org/matrix-js-sdk/pull/1263) -- Fix: ensureOlmSessionsForDevices parameter format - [\#1264](https://github.com/matrix-org/matrix-js-sdk/pull/1264) -- Remove stuff that yarn install doesn't think we need - [\#1261](https://github.com/matrix-org/matrix-js-sdk/pull/1261) -- Fix: prevent error being thrown during sync in some cases - [\#1258](https://github.com/matrix-org/matrix-js-sdk/pull/1258) -- Force `is_verified` for key backups to bool and fix computation - [\#1259](https://github.com/matrix-org/matrix-js-sdk/pull/1259) -- Add a method for legacy single device verification, returning a verification - request - [\#1257](https://github.com/matrix-org/matrix-js-sdk/pull/1257) -- yarn upgrade - [\#1256](https://github.com/matrix-org/matrix-js-sdk/pull/1256) - -# Changes in [5.1.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.1.1) (2020-03-17) + * Add a flag for whether cross signing signatures are trusted + [\#1285](https://github.com/matrix-org/matrix-js-sdk/pull/1285) + * Cache user and self signing keys during bootstrap + [\#1282](https://github.com/matrix-org/matrix-js-sdk/pull/1282) + * remove unnecessary promise + [\#1283](https://github.com/matrix-org/matrix-js-sdk/pull/1283) + * Functions to cache session backups key automatically + [\#1281](https://github.com/matrix-org/matrix-js-sdk/pull/1281) + * Add function for checking cross-signing is ready + [\#1279](https://github.com/matrix-org/matrix-js-sdk/pull/1279) + * Use symmetric encryption for SSSS + [\#1228](https://github.com/matrix-org/matrix-js-sdk/pull/1228) + * Migrate SSSS to use symmetric algorithm + [\#1238](https://github.com/matrix-org/matrix-js-sdk/pull/1238) + * Migration to symmetric SSSS + [\#1272](https://github.com/matrix-org/matrix-js-sdk/pull/1272) + * Reduce number of one-time-key requests + [\#1280](https://github.com/matrix-org/matrix-js-sdk/pull/1280) + * Fix: assume the requested method is supported by other party with to_device + [\#1275](https://github.com/matrix-org/matrix-js-sdk/pull/1275) + * Use checkDeviceTrust when computing untrusted devices + [\#1278](https://github.com/matrix-org/matrix-js-sdk/pull/1278) + * Add a store for backup keys + [\#1271](https://github.com/matrix-org/matrix-js-sdk/pull/1271) + * Upload only new device signature of master key + [\#1268](https://github.com/matrix-org/matrix-js-sdk/pull/1268) + * Expose prepareToEncrypt in the client API + [\#1270](https://github.com/matrix-org/matrix-js-sdk/pull/1270) + * Don't kill the whole device download if one device gives an error + [\#1269](https://github.com/matrix-org/matrix-js-sdk/pull/1269) + * Handle racing .start event during self verification + [\#1267](https://github.com/matrix-org/matrix-js-sdk/pull/1267) + * A crypto.keySignatureUploadFailure event reported the wrong source + [\#1266](https://github.com/matrix-org/matrix-js-sdk/pull/1266) + * Fix editing of unsent messages by waiting for actual event id + [\#1263](https://github.com/matrix-org/matrix-js-sdk/pull/1263) + * Fix: ensureOlmSessionsForDevices parameter format + [\#1264](https://github.com/matrix-org/matrix-js-sdk/pull/1264) + * Remove stuff that yarn install doesn't think we need + [\#1261](https://github.com/matrix-org/matrix-js-sdk/pull/1261) + * Fix: prevent error being thrown during sync in some cases + [\#1258](https://github.com/matrix-org/matrix-js-sdk/pull/1258) + * Force `is_verified` for key backups to bool and fix computation + [\#1259](https://github.com/matrix-org/matrix-js-sdk/pull/1259) + * Add a method for legacy single device verification, returning a verification + request + [\#1257](https://github.com/matrix-org/matrix-js-sdk/pull/1257) + * yarn upgrade + [\#1256](https://github.com/matrix-org/matrix-js-sdk/pull/1256) +Changes in [5.1.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.1.1) (2020-03-17) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v5.1.1-rc.1...v5.1.1) -- Fix: ensureOlmSessionsForDevices parameter format - [\#1265](https://github.com/matrix-org/matrix-js-sdk/pull/1265) -- Fix: prevent error being thrown during sync in some cases - [\#1262](https://github.com/matrix-org/matrix-js-sdk/pull/1262) -- Force `is_verified` for key backups to bool and fix computation - [\#1260](https://github.com/matrix-org/matrix-js-sdk/pull/1260) - -# Changes in [5.1.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.1.1-rc.1) (2020-03-11) + * Fix: ensureOlmSessionsForDevices parameter format + [\#1265](https://github.com/matrix-org/matrix-js-sdk/pull/1265) + * Fix: prevent error being thrown during sync in some cases + [\#1262](https://github.com/matrix-org/matrix-js-sdk/pull/1262) + * Force `is_verified` for key backups to bool and fix computation + [\#1260](https://github.com/matrix-org/matrix-js-sdk/pull/1260) +Changes in [5.1.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.1.1-rc.1) (2020-03-11) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v5.1.0...v5.1.1-rc.1) -- refactor megolm encryption to improve perceived speed - [\#1252](https://github.com/matrix-org/matrix-js-sdk/pull/1252) -- Remove v1 identity server fallbacks - [\#1253](https://github.com/matrix-org/matrix-js-sdk/pull/1253) -- Use alt_aliases instead of local ones for room names - [\#1251](https://github.com/matrix-org/matrix-js-sdk/pull/1251) -- Upload cross-signing key signatures in the background - [\#1250](https://github.com/matrix-org/matrix-js-sdk/pull/1250) -- Fix secret sharing names to match spec - [\#1249](https://github.com/matrix-org/matrix-js-sdk/pull/1249) -- Cleanup: remove crypto.verification.start event - [\#1248](https://github.com/matrix-org/matrix-js-sdk/pull/1248) -- Fix regression in key backup request params - [\#1246](https://github.com/matrix-org/matrix-js-sdk/pull/1246) -- Use cross-signing trust to mark backups verified - [\#1244](https://github.com/matrix-org/matrix-js-sdk/pull/1244) -- Check both cross-signing and local trust for key sharing - [\#1243](https://github.com/matrix-org/matrix-js-sdk/pull/1243) -- Fixed up tests to match new way that crypto stores are created - [\#1242](https://github.com/matrix-org/matrix-js-sdk/pull/1242) -- Store USK and SSK locally - [\#1235](https://github.com/matrix-org/matrix-js-sdk/pull/1235) -- Use unpadded base64 for QR code secrets - [\#1236](https://github.com/matrix-org/matrix-js-sdk/pull/1236) -- Don't require .done event for finishing self-verification - [\#1239](https://github.com/matrix-org/matrix-js-sdk/pull/1239) -- Don't cancel as 3rd party in verification request - [\#1237](https://github.com/matrix-org/matrix-js-sdk/pull/1237) -- Verification: log when switching start event - [\#1234](https://github.com/matrix-org/matrix-js-sdk/pull/1234) -- Perform crypto store operations directly after transaction - [\#1233](https://github.com/matrix-org/matrix-js-sdk/pull/1233) -- More verification request logging - [\#1232](https://github.com/matrix-org/matrix-js-sdk/pull/1232) -- Upgrade deps - [\#1231](https://github.com/matrix-org/matrix-js-sdk/pull/1231) - -# Changes in [5.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.1.0) (2020-03-02) + * refactor megolm encryption to improve perceived speed + [\#1252](https://github.com/matrix-org/matrix-js-sdk/pull/1252) + * Remove v1 identity server fallbacks + [\#1253](https://github.com/matrix-org/matrix-js-sdk/pull/1253) + * Use alt_aliases instead of local ones for room names + [\#1251](https://github.com/matrix-org/matrix-js-sdk/pull/1251) + * Upload cross-signing key signatures in the background + [\#1250](https://github.com/matrix-org/matrix-js-sdk/pull/1250) + * Fix secret sharing names to match spec + [\#1249](https://github.com/matrix-org/matrix-js-sdk/pull/1249) + * Cleanup: remove crypto.verification.start event + [\#1248](https://github.com/matrix-org/matrix-js-sdk/pull/1248) + * Fix regression in key backup request params + [\#1246](https://github.com/matrix-org/matrix-js-sdk/pull/1246) + * Use cross-signing trust to mark backups verified + [\#1244](https://github.com/matrix-org/matrix-js-sdk/pull/1244) + * Check both cross-signing and local trust for key sharing + [\#1243](https://github.com/matrix-org/matrix-js-sdk/pull/1243) + * Fixed up tests to match new way that crypto stores are created + [\#1242](https://github.com/matrix-org/matrix-js-sdk/pull/1242) + * Store USK and SSK locally + [\#1235](https://github.com/matrix-org/matrix-js-sdk/pull/1235) + * Use unpadded base64 for QR code secrets + [\#1236](https://github.com/matrix-org/matrix-js-sdk/pull/1236) + * Don't require .done event for finishing self-verification + [\#1239](https://github.com/matrix-org/matrix-js-sdk/pull/1239) + * Don't cancel as 3rd party in verification request + [\#1237](https://github.com/matrix-org/matrix-js-sdk/pull/1237) + * Verification: log when switching start event + [\#1234](https://github.com/matrix-org/matrix-js-sdk/pull/1234) + * Perform crypto store operations directly after transaction + [\#1233](https://github.com/matrix-org/matrix-js-sdk/pull/1233) + * More verification request logging + [\#1232](https://github.com/matrix-org/matrix-js-sdk/pull/1232) + * Upgrade deps + [\#1231](https://github.com/matrix-org/matrix-js-sdk/pull/1231) +Changes in [5.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.1.0) (2020-03-02) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v5.1.0-rc.1...v5.1.0) -- No changes since rc.1 - -# Changes in [5.1.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.1.0-rc.1) (2020-02-26) + * No changes since rc.1 +Changes in [5.1.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.1.0-rc.1) (2020-02-26) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v5.0.1...v5.1.0-rc.1) -- Add latest dist-tag for releases - [\#1230](https://github.com/matrix-org/matrix-js-sdk/pull/1230) -- Add room method for alt_aliases - [\#1225](https://github.com/matrix-org/matrix-js-sdk/pull/1225) -- Remove buildkite pipeline - [\#1227](https://github.com/matrix-org/matrix-js-sdk/pull/1227) -- don't assume verify has been called when receiving a cancellation in - verifier - [\#1226](https://github.com/matrix-org/matrix-js-sdk/pull/1226) -- Reduce secret size for new binary packing - [\#1221](https://github.com/matrix-org/matrix-js-sdk/pull/1221) -- misc rageshake fixes - [\#1223](https://github.com/matrix-org/matrix-js-sdk/pull/1223) -- Fix cancelled historical requests not appearing as cancelled - [\#1220](https://github.com/matrix-org/matrix-js-sdk/pull/1220) -- Fix renaming error that broke QR code verification - [\#1217](https://github.com/matrix-org/matrix-js-sdk/pull/1217) - -# Changes in [5.0.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.0.1) (2020-02-19) + * Add latest dist-tag for releases + [\#1230](https://github.com/matrix-org/matrix-js-sdk/pull/1230) + * Add room method for alt_aliases + [\#1225](https://github.com/matrix-org/matrix-js-sdk/pull/1225) + * Remove buildkite pipeline + [\#1227](https://github.com/matrix-org/matrix-js-sdk/pull/1227) + * don't assume verify has been called when receiving a cancellation in + verifier + [\#1226](https://github.com/matrix-org/matrix-js-sdk/pull/1226) + * Reduce secret size for new binary packing + [\#1221](https://github.com/matrix-org/matrix-js-sdk/pull/1221) + * misc rageshake fixes + [\#1223](https://github.com/matrix-org/matrix-js-sdk/pull/1223) + * Fix cancelled historical requests not appearing as cancelled + [\#1220](https://github.com/matrix-org/matrix-js-sdk/pull/1220) + * Fix renaming error that broke QR code verification + [\#1217](https://github.com/matrix-org/matrix-js-sdk/pull/1217) +Changes in [5.0.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.0.1) (2020-02-19) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v5.0.0...v5.0.1) -- add method for new /aliases endpoint - [\#1219](https://github.com/matrix-org/matrix-js-sdk/pull/1219) -- method for checking if other party supports verification method - [\#1213](https://github.com/matrix-org/matrix-js-sdk/pull/1213) -- add local echo state for accepting or declining a verif req - [\#1210](https://github.com/matrix-org/matrix-js-sdk/pull/1210) -- make logging compatible with rageshakes - [\#1214](https://github.com/matrix-org/matrix-js-sdk/pull/1214) -- Find existing requests when starting a new verification request - [\#1209](https://github.com/matrix-org/matrix-js-sdk/pull/1209) -- log MAC calculation during SAS - [\#1211](https://github.com/matrix-org/matrix-js-sdk/pull/1211) - -# Changes in [5.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.0.0) (2020-02-17) + * add method for new /aliases endpoint + [\#1219](https://github.com/matrix-org/matrix-js-sdk/pull/1219) + * method for checking if other party supports verification method + [\#1213](https://github.com/matrix-org/matrix-js-sdk/pull/1213) + * add local echo state for accepting or declining a verif req + [\#1210](https://github.com/matrix-org/matrix-js-sdk/pull/1210) + * make logging compatible with rageshakes + [\#1214](https://github.com/matrix-org/matrix-js-sdk/pull/1214) + * Find existing requests when starting a new verification request + [\#1209](https://github.com/matrix-org/matrix-js-sdk/pull/1209) + * log MAC calculation during SAS + [\#1211](https://github.com/matrix-org/matrix-js-sdk/pull/1211) +Changes in [5.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.0.0) (2020-02-17) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v5.0.0-rc.1...v5.0.0) -- No changes since rc.1 - -# Changes in [5.0.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.0.0-rc.1) (2020-02-13) + * No changes since rc.1 +Changes in [5.0.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v5.0.0-rc.1) (2020-02-13) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v4.0.0...v5.0.0-rc.1) -## BREAKING CHANGES +BREAKING CHANGES +--- -- The verification methods API has removed an argument ([\#1206](https://github.com/matrix-org/matrix-js-sdk/pull/1206)) + * The verification methods API has removed an argument ([\#1206](https://github.com/matrix-org/matrix-js-sdk/pull/1206)) -## All Changes +All Changes +--- -- Remove methods argument to verification - [\#1206](https://github.com/matrix-org/matrix-js-sdk/pull/1206) -- don't do a dynamic import of request - [\#1207](https://github.com/matrix-org/matrix-js-sdk/pull/1207) -- QR self-verification fixes - [\#1201](https://github.com/matrix-org/matrix-js-sdk/pull/1201) -- Log every verification event - [\#1204](https://github.com/matrix-org/matrix-js-sdk/pull/1204) -- dont require .done event from other party - [\#1203](https://github.com/matrix-org/matrix-js-sdk/pull/1203) -- New option to fully reset Secret Storage keys in boostrapSecretStorage - [\#1202](https://github.com/matrix-org/matrix-js-sdk/pull/1202) -- Add function to estimate target device for a VerificationRequest - [\#1190](https://github.com/matrix-org/matrix-js-sdk/pull/1190) -- pass ssss item name to callback so we can differentiate UI on it - [\#1200](https://github.com/matrix-org/matrix-js-sdk/pull/1200) -- add export/import of Olm devices - [\#1167](https://github.com/matrix-org/matrix-js-sdk/pull/1167) -- Convert utils.js -> utils.ts - [\#1199](https://github.com/matrix-org/matrix-js-sdk/pull/1199) -- Don't sign ourselves as a user - [\#1197](https://github.com/matrix-org/matrix-js-sdk/pull/1197) -- Add a bunch of logging to verification - [\#1196](https://github.com/matrix-org/matrix-js-sdk/pull/1196) -- Fix: always return a valid string from InRoomChannel.getEventType - [\#1198](https://github.com/matrix-org/matrix-js-sdk/pull/1198) -- add logging when a request is being cancelled - [\#1195](https://github.com/matrix-org/matrix-js-sdk/pull/1195) -- Don't explode verification validation if we don't have an event type - [\#1194](https://github.com/matrix-org/matrix-js-sdk/pull/1194) -- Fix: verification request appearing for users that are not the receiver or - sender if they are in room - [\#1193](https://github.com/matrix-org/matrix-js-sdk/pull/1193) -- Fix getting secrets encoded with passthrough keys - [\#1192](https://github.com/matrix-org/matrix-js-sdk/pull/1192) -- Update QR code handling for new spec - [\#1175](https://github.com/matrix-org/matrix-js-sdk/pull/1175) -- Don't add ephemeral events to timeline when peeking - [\#1188](https://github.com/matrix-org/matrix-js-sdk/pull/1188) -- Fix typo - [\#1189](https://github.com/matrix-org/matrix-js-sdk/pull/1189) -- Verification: resolve race between .start events from both parties - [\#1187](https://github.com/matrix-org/matrix-js-sdk/pull/1187) -- Add option to bootstrap to start new key backup - [\#1184](https://github.com/matrix-org/matrix-js-sdk/pull/1184) -- Add a bunch of null guards to feature checks - [\#1182](https://github.com/matrix-org/matrix-js-sdk/pull/1182) -- docs: fix MatrixClient reference - [\#1183](https://github.com/matrix-org/matrix-js-sdk/pull/1183) -- Add helper to obtain the cancellation code for a verification request - [\#1180](https://github.com/matrix-org/matrix-js-sdk/pull/1180) -- Publish pre-releases as a separate tag on npm - [\#1178](https://github.com/matrix-org/matrix-js-sdk/pull/1178) -- Fix support for passthrough keys - [\#1177](https://github.com/matrix-org/matrix-js-sdk/pull/1177) -- Trust our own cross-signing keys if we verify them with another device - [\#1174](https://github.com/matrix-org/matrix-js-sdk/pull/1174) -- Ensure cross-signing keys are downloaded when checking trust - [\#1176](https://github.com/matrix-org/matrix-js-sdk/pull/1176) -- Don't log verification validation errors for normal messages - [\#1172](https://github.com/matrix-org/matrix-js-sdk/pull/1172) -- Fix bootstrap cleanup - [\#1173](https://github.com/matrix-org/matrix-js-sdk/pull/1173) -- QR code verification - [\#1155](https://github.com/matrix-org/matrix-js-sdk/pull/1155) -- expose deviceId prop on device channel - [\#1171](https://github.com/matrix-org/matrix-js-sdk/pull/1171) -- Move & upgrade babel runtime into dependencies (like it wants) - [\#1169](https://github.com/matrix-org/matrix-js-sdk/pull/1169) -- Add unit tests for verifying your own device, remove .event property on - verification request - [\#1166](https://github.com/matrix-org/matrix-js-sdk/pull/1166) -- For dm-verification, also consider events sent by other devices of same user - as "our" events - [\#1163](https://github.com/matrix-org/matrix-js-sdk/pull/1163) -- Add a prepare script - [\#1161](https://github.com/matrix-org/matrix-js-sdk/pull/1161) -- Remove :deviceId from /keys/upload/:deviceId as not spec-compliant - [\#1162](https://github.com/matrix-org/matrix-js-sdk/pull/1162) -- Refactor and expose some logic publicly for the TimelineWindow class. - [\#1159](https://github.com/matrix-org/matrix-js-sdk/pull/1159) -- Allow a device key upload request without auth - [\#1158](https://github.com/matrix-org/matrix-js-sdk/pull/1158) -- Support for .ready verification event (MSC2366) & other things - [\#1140](https://github.com/matrix-org/matrix-js-sdk/pull/1140) - -# Changes in [4.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v4.0.0) (2020-01-27) + * Remove methods argument to verification + [\#1206](https://github.com/matrix-org/matrix-js-sdk/pull/1206) + * don't do a dynamic import of request + [\#1207](https://github.com/matrix-org/matrix-js-sdk/pull/1207) + * QR self-verification fixes + [\#1201](https://github.com/matrix-org/matrix-js-sdk/pull/1201) + * Log every verification event + [\#1204](https://github.com/matrix-org/matrix-js-sdk/pull/1204) + * dont require .done event from other party + [\#1203](https://github.com/matrix-org/matrix-js-sdk/pull/1203) + * New option to fully reset Secret Storage keys in boostrapSecretStorage + [\#1202](https://github.com/matrix-org/matrix-js-sdk/pull/1202) + * Add function to estimate target device for a VerificationRequest + [\#1190](https://github.com/matrix-org/matrix-js-sdk/pull/1190) + * pass ssss item name to callback so we can differentiate UI on it + [\#1200](https://github.com/matrix-org/matrix-js-sdk/pull/1200) + * add export/import of Olm devices + [\#1167](https://github.com/matrix-org/matrix-js-sdk/pull/1167) + * Convert utils.js -> utils.ts + [\#1199](https://github.com/matrix-org/matrix-js-sdk/pull/1199) + * Don't sign ourselves as a user + [\#1197](https://github.com/matrix-org/matrix-js-sdk/pull/1197) + * Add a bunch of logging to verification + [\#1196](https://github.com/matrix-org/matrix-js-sdk/pull/1196) + * Fix: always return a valid string from InRoomChannel.getEventType + [\#1198](https://github.com/matrix-org/matrix-js-sdk/pull/1198) + * add logging when a request is being cancelled + [\#1195](https://github.com/matrix-org/matrix-js-sdk/pull/1195) + * Don't explode verification validation if we don't have an event type + [\#1194](https://github.com/matrix-org/matrix-js-sdk/pull/1194) + * Fix: verification request appearing for users that are not the receiver or + sender if they are in room + [\#1193](https://github.com/matrix-org/matrix-js-sdk/pull/1193) + * Fix getting secrets encoded with passthrough keys + [\#1192](https://github.com/matrix-org/matrix-js-sdk/pull/1192) + * Update QR code handling for new spec + [\#1175](https://github.com/matrix-org/matrix-js-sdk/pull/1175) + * Don't add ephemeral events to timeline when peeking + [\#1188](https://github.com/matrix-org/matrix-js-sdk/pull/1188) + * Fix typo + [\#1189](https://github.com/matrix-org/matrix-js-sdk/pull/1189) + * Verification: resolve race between .start events from both parties + [\#1187](https://github.com/matrix-org/matrix-js-sdk/pull/1187) + * Add option to bootstrap to start new key backup + [\#1184](https://github.com/matrix-org/matrix-js-sdk/pull/1184) + * Add a bunch of null guards to feature checks + [\#1182](https://github.com/matrix-org/matrix-js-sdk/pull/1182) + * docs: fix MatrixClient reference + [\#1183](https://github.com/matrix-org/matrix-js-sdk/pull/1183) + * Add helper to obtain the cancellation code for a verification request + [\#1180](https://github.com/matrix-org/matrix-js-sdk/pull/1180) + * Publish pre-releases as a separate tag on npm + [\#1178](https://github.com/matrix-org/matrix-js-sdk/pull/1178) + * Fix support for passthrough keys + [\#1177](https://github.com/matrix-org/matrix-js-sdk/pull/1177) + * Trust our own cross-signing keys if we verify them with another device + [\#1174](https://github.com/matrix-org/matrix-js-sdk/pull/1174) + * Ensure cross-signing keys are downloaded when checking trust + [\#1176](https://github.com/matrix-org/matrix-js-sdk/pull/1176) + * Don't log verification validation errors for normal messages + [\#1172](https://github.com/matrix-org/matrix-js-sdk/pull/1172) + * Fix bootstrap cleanup + [\#1173](https://github.com/matrix-org/matrix-js-sdk/pull/1173) + * QR code verification + [\#1155](https://github.com/matrix-org/matrix-js-sdk/pull/1155) + * expose deviceId prop on device channel + [\#1171](https://github.com/matrix-org/matrix-js-sdk/pull/1171) + * Move & upgrade babel runtime into dependencies (like it wants) + [\#1169](https://github.com/matrix-org/matrix-js-sdk/pull/1169) + * Add unit tests for verifying your own device, remove .event property on + verification request + [\#1166](https://github.com/matrix-org/matrix-js-sdk/pull/1166) + * For dm-verification, also consider events sent by other devices of same user + as "our" events + [\#1163](https://github.com/matrix-org/matrix-js-sdk/pull/1163) + * Add a prepare script + [\#1161](https://github.com/matrix-org/matrix-js-sdk/pull/1161) + * Remove :deviceId from /keys/upload/:deviceId as not spec-compliant + [\#1162](https://github.com/matrix-org/matrix-js-sdk/pull/1162) + * Refactor and expose some logic publicly for the TimelineWindow class. + [\#1159](https://github.com/matrix-org/matrix-js-sdk/pull/1159) + * Allow a device key upload request without auth + [\#1158](https://github.com/matrix-org/matrix-js-sdk/pull/1158) + * Support for .ready verification event (MSC2366) & other things + [\#1140](https://github.com/matrix-org/matrix-js-sdk/pull/1140) +Changes in [4.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v4.0.0) (2020-01-27) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v4.0.0-rc.1...v4.0.0) -- Move & upgrade babel runtime into dependencies (like it wants) - [\#1170](https://github.com/matrix-org/matrix-js-sdk/pull/1170) -- Add a prepare script - [\#1164](https://github.com/matrix-org/matrix-js-sdk/pull/1164) - -# Changes in [4.0.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v4.0.0-rc.1) (2020-01-20) + * Move & upgrade babel runtime into dependencies (like it wants) + [\#1170](https://github.com/matrix-org/matrix-js-sdk/pull/1170) + * Add a prepare script + [\#1164](https://github.com/matrix-org/matrix-js-sdk/pull/1164) +Changes in [4.0.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v4.0.0-rc.1) (2020-01-20) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v3.0.0...v4.0.0-rc.1) -# BREAKING CHANGES +BREAKING CHANGES +================ + * The js-sdk node module now exports ES6 rather than ES5. If you + wish to supports target that aren't compatible with ES6, you + will need to transpile the js-sdk to a suitable dialect. -- The js-sdk node module now exports ES6 rather than ES5. If you - wish to supports target that aren't compatible with ES6, you - will need to transpile the js-sdk to a suitable dialect. +All Changes +=========== + * Convert secret storage to new account data API + [\#1154](https://github.com/matrix-org/matrix-js-sdk/pull/1154) + * Add v5 as a safe room version + [\#1157](https://github.com/matrix-org/matrix-js-sdk/pull/1157) + * Add API to get account data from server + [\#1153](https://github.com/matrix-org/matrix-js-sdk/pull/1153) + * Fix sourcemaps by refactoring the build system + [\#1151](https://github.com/matrix-org/matrix-js-sdk/pull/1151) + * record, report, and notify about olm errors + [\#1146](https://github.com/matrix-org/matrix-js-sdk/pull/1146) + * Send device messages for the same user in same API call. + [\#1148](https://github.com/matrix-org/matrix-js-sdk/pull/1148) + * Add an option to ignore unverified devices + [\#1150](https://github.com/matrix-org/matrix-js-sdk/pull/1150) + * Sign key backup with cross-signing key on upgrade + [\#1144](https://github.com/matrix-org/matrix-js-sdk/pull/1144) + * Emoji verification: Change name of 🔒 to lock + [\#1145](https://github.com/matrix-org/matrix-js-sdk/pull/1145) + * use a separate object for each encrypted content + [\#1147](https://github.com/matrix-org/matrix-js-sdk/pull/1147) + * Sourcemaps: develop -> feature branch + [\#1143](https://github.com/matrix-org/matrix-js-sdk/pull/1143) + * Use a safer import/export scheme for the ContentRepo utilities + [\#1134](https://github.com/matrix-org/matrix-js-sdk/pull/1134) + * Fix error handling in decryptGroupMessage + [\#1142](https://github.com/matrix-org/matrix-js-sdk/pull/1142) + * Add additional properties to package.json for riot-web's webpack + [\#1131](https://github.com/matrix-org/matrix-js-sdk/pull/1131) + * Fix import for indexeddb crypto store + [\#1133](https://github.com/matrix-org/matrix-js-sdk/pull/1133) + * Use the right request when creating clients + [\#1132](https://github.com/matrix-org/matrix-js-sdk/pull/1132) + * Target NodeJS 10, minified browser bundle, and other publishing/package + things + [\#1127](https://github.com/matrix-org/matrix-js-sdk/pull/1127) + * Re-focus sourcemap generation + [\#1126](https://github.com/matrix-org/matrix-js-sdk/pull/1126) + * Remove ancient polyfill for prototype inheritance + [\#1125](https://github.com/matrix-org/matrix-js-sdk/pull/1125) + * Remove "source-map-support" from tests because it makes sourcemaps worse + [\#1124](https://github.com/matrix-org/matrix-js-sdk/pull/1124) + * Remove ancient "use strict" annotations + [\#1123](https://github.com/matrix-org/matrix-js-sdk/pull/1123) + * Use ES6 imports/exports instead of older CommonJS ones + [\#1122](https://github.com/matrix-org/matrix-js-sdk/pull/1122) + * [BREAKING] Refactor the entire build process + [\#1113](https://github.com/matrix-org/matrix-js-sdk/pull/1113) -# All Changes - -- Convert secret storage to new account data API - [\#1154](https://github.com/matrix-org/matrix-js-sdk/pull/1154) -- Add v5 as a safe room version - [\#1157](https://github.com/matrix-org/matrix-js-sdk/pull/1157) -- Add API to get account data from server - [\#1153](https://github.com/matrix-org/matrix-js-sdk/pull/1153) -- Fix sourcemaps by refactoring the build system - [\#1151](https://github.com/matrix-org/matrix-js-sdk/pull/1151) -- record, report, and notify about olm errors - [\#1146](https://github.com/matrix-org/matrix-js-sdk/pull/1146) -- Send device messages for the same user in same API call. - [\#1148](https://github.com/matrix-org/matrix-js-sdk/pull/1148) -- Add an option to ignore unverified devices - [\#1150](https://github.com/matrix-org/matrix-js-sdk/pull/1150) -- Sign key backup with cross-signing key on upgrade - [\#1144](https://github.com/matrix-org/matrix-js-sdk/pull/1144) -- Emoji verification: Change name of 🔒 to lock - [\#1145](https://github.com/matrix-org/matrix-js-sdk/pull/1145) -- use a separate object for each encrypted content - [\#1147](https://github.com/matrix-org/matrix-js-sdk/pull/1147) -- Sourcemaps: develop -> feature branch - [\#1143](https://github.com/matrix-org/matrix-js-sdk/pull/1143) -- Use a safer import/export scheme for the ContentRepo utilities - [\#1134](https://github.com/matrix-org/matrix-js-sdk/pull/1134) -- Fix error handling in decryptGroupMessage - [\#1142](https://github.com/matrix-org/matrix-js-sdk/pull/1142) -- Add additional properties to package.json for riot-web's webpack - [\#1131](https://github.com/matrix-org/matrix-js-sdk/pull/1131) -- Fix import for indexeddb crypto store - [\#1133](https://github.com/matrix-org/matrix-js-sdk/pull/1133) -- Use the right request when creating clients - [\#1132](https://github.com/matrix-org/matrix-js-sdk/pull/1132) -- Target NodeJS 10, minified browser bundle, and other publishing/package - things - [\#1127](https://github.com/matrix-org/matrix-js-sdk/pull/1127) -- Re-focus sourcemap generation - [\#1126](https://github.com/matrix-org/matrix-js-sdk/pull/1126) -- Remove ancient polyfill for prototype inheritance - [\#1125](https://github.com/matrix-org/matrix-js-sdk/pull/1125) -- Remove "source-map-support" from tests because it makes sourcemaps worse - [\#1124](https://github.com/matrix-org/matrix-js-sdk/pull/1124) -- Remove ancient "use strict" annotations - [\#1123](https://github.com/matrix-org/matrix-js-sdk/pull/1123) -- Use ES6 imports/exports instead of older CommonJS ones - [\#1122](https://github.com/matrix-org/matrix-js-sdk/pull/1122) -- [BREAKING] Refactor the entire build process - [\#1113](https://github.com/matrix-org/matrix-js-sdk/pull/1113) - -# Changes in [3.42.2-rc.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v3.42.2-rc.3) (2022-04-08) +Changes in [3.42.2-rc.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v3.42.2-rc.3) (2022-04-08) +============================================================================================================ ## 🐛 Bug Fixes + * Make self membership less prone to races ([\#2277](https://github.com/matrix-org/matrix-js-sdk/pull/2277)). Fixes vector-im/element-web#21661. -- Make self membership less prone to races ([\#2277](https://github.com/matrix-org/matrix-js-sdk/pull/2277)). Fixes vector-im/element-web#21661. - -# Changes in [3.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v3.0.0) (2020-01-13) - +Changes in [3.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v3.0.0) (2020-01-13) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v3.0.0-rc.1...v3.0.0) -- No changes from rc.1 - -# Changes in [3.0.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v3.0.0-rc.1) (2020-01-06) + * No changes from rc.1 +Changes in [3.0.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v3.0.0-rc.1) (2020-01-06) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.4.6...v3.0.0-rc.1) -# BREAKING CHANGES +BREAKING CHANGES +================ + * matrix-js-sdk no longer uses bluebird promises, so promises returned + by the js-sdk no longer support the done() method. Code that calls + done() on promises returned by the js-sdk will break and will need + to be updated to remove the done() call. -- matrix-js-sdk no longer uses bluebird promises, so promises returned - by the js-sdk no longer support the done() method. Code that calls - done() on promises returned by the js-sdk will break and will need - to be updated to remove the done() call. - -# All Changes - -- Make displayName disambiguation more fuzzy especially against RTL/LTR - content - [\#1141](https://github.com/matrix-org/matrix-js-sdk/pull/1141) -- stop trying to resend event if we get M_TOO_LARGE - [\#1129](https://github.com/matrix-org/matrix-js-sdk/pull/1129) -- Fix creating a key backup with cross signing diabled - [\#1139](https://github.com/matrix-org/matrix-js-sdk/pull/1139) -- Use checkDeviceTrust with key backup - [\#1138](https://github.com/matrix-org/matrix-js-sdk/pull/1138) -- Add support for passthrough SSSS secrets - [\#1128](https://github.com/matrix-org/matrix-js-sdk/pull/1128) -- Add support for key backups using secret storage - [\#1118](https://github.com/matrix-org/matrix-js-sdk/pull/1118) -- Remove unused user verification event - [\#1117](https://github.com/matrix-org/matrix-js-sdk/pull/1117) -- Fix check for private keys - [\#1116](https://github.com/matrix-org/matrix-js-sdk/pull/1116) -- Restore watching mode for `start:watch` - [\#1115](https://github.com/matrix-org/matrix-js-sdk/pull/1115) -- Add secret storage bootstrap flow - [\#1079](https://github.com/matrix-org/matrix-js-sdk/pull/1079) -- Part 1 of many: Upgrade to babel@7 and TypeScript - [\#1112](https://github.com/matrix-org/matrix-js-sdk/pull/1112) -- Remove Bluebird: phase 2.5 - [\#1100](https://github.com/matrix-org/matrix-js-sdk/pull/1100) -- Remove Bluebird: phase 3 - [\#1088](https://github.com/matrix-org/matrix-js-sdk/pull/1088) -- ignore m.key.verification.done messages when we don't expect any more - messages - [\#1104](https://github.com/matrix-org/matrix-js-sdk/pull/1104) -- dont cancel on remote echo of own .request event - [\#1111](https://github.com/matrix-org/matrix-js-sdk/pull/1111) -- Refactor verification request code - [\#1109](https://github.com/matrix-org/matrix-js-sdk/pull/1109) -- Fix device list's cross-signing storage path - [\#1105](https://github.com/matrix-org/matrix-js-sdk/pull/1105) -- yarn upgrade - [\#1103](https://github.com/matrix-org/matrix-js-sdk/pull/1103) - -# Changes in [2.4.6](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.6) (2019-12-09) +All Changes +=========== + * Make displayName disambiguation more fuzzy especially against RTL/LTR + content + [\#1141](https://github.com/matrix-org/matrix-js-sdk/pull/1141) + * stop trying to resend event if we get M_TOO_LARGE + [\#1129](https://github.com/matrix-org/matrix-js-sdk/pull/1129) + * Fix creating a key backup with cross signing diabled + [\#1139](https://github.com/matrix-org/matrix-js-sdk/pull/1139) + * Use checkDeviceTrust with key backup + [\#1138](https://github.com/matrix-org/matrix-js-sdk/pull/1138) + * Add support for passthrough SSSS secrets + [\#1128](https://github.com/matrix-org/matrix-js-sdk/pull/1128) + * Add support for key backups using secret storage + [\#1118](https://github.com/matrix-org/matrix-js-sdk/pull/1118) + * Remove unused user verification event + [\#1117](https://github.com/matrix-org/matrix-js-sdk/pull/1117) + * Fix check for private keys + [\#1116](https://github.com/matrix-org/matrix-js-sdk/pull/1116) + * Restore watching mode for `start:watch` + [\#1115](https://github.com/matrix-org/matrix-js-sdk/pull/1115) + * Add secret storage bootstrap flow + [\#1079](https://github.com/matrix-org/matrix-js-sdk/pull/1079) + * Part 1 of many: Upgrade to babel@7 and TypeScript + [\#1112](https://github.com/matrix-org/matrix-js-sdk/pull/1112) + * Remove Bluebird: phase 2.5 + [\#1100](https://github.com/matrix-org/matrix-js-sdk/pull/1100) + * Remove Bluebird: phase 3 + [\#1088](https://github.com/matrix-org/matrix-js-sdk/pull/1088) + * ignore m.key.verification.done messages when we don't expect any more + messages + [\#1104](https://github.com/matrix-org/matrix-js-sdk/pull/1104) + * dont cancel on remote echo of own .request event + [\#1111](https://github.com/matrix-org/matrix-js-sdk/pull/1111) + * Refactor verification request code + [\#1109](https://github.com/matrix-org/matrix-js-sdk/pull/1109) + * Fix device list's cross-signing storage path + [\#1105](https://github.com/matrix-org/matrix-js-sdk/pull/1105) + * yarn upgrade + [\#1103](https://github.com/matrix-org/matrix-js-sdk/pull/1103) +Changes in [2.4.6](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.6) (2019-12-09) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.4.6-rc.1...v2.4.6) -- No changes since rc.1 - -# Changes in [2.4.6-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.6-rc.1) (2019-12-04) + * No changes since rc.1 +Changes in [2.4.6-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.6-rc.1) (2019-12-04) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.4.5...v2.4.6-rc.1) -- Update alias handling - [\#1102](https://github.com/matrix-org/matrix-js-sdk/pull/1102) -- increase timeout on flush to fix failing unit test - [\#1096](https://github.com/matrix-org/matrix-js-sdk/pull/1096) -- Disable broken cross-signing test - [\#1095](https://github.com/matrix-org/matrix-js-sdk/pull/1095) -- Fix a couple SAS tests - [\#1094](https://github.com/matrix-org/matrix-js-sdk/pull/1094) -- Fix Olm unwedging test - [\#1093](https://github.com/matrix-org/matrix-js-sdk/pull/1093) -- Fix empty string handling in push notifications - [\#1089](https://github.com/matrix-org/matrix-js-sdk/pull/1089) -- expand e2ee logging to better debug UISIs - [\#1090](https://github.com/matrix-org/matrix-js-sdk/pull/1090) -- Remove Bluebird: phase 2 - [\#1087](https://github.com/matrix-org/matrix-js-sdk/pull/1087) -- Relax identity server discovery checks to FAIL_PROMPT - [\#1062](https://github.com/matrix-org/matrix-js-sdk/pull/1062) -- Fix incorrect return value of MatrixClient.prototype.uploadKeys - [\#1061](https://github.com/matrix-org/matrix-js-sdk/pull/1061) -- Fix calls in e2e rooms - [\#1086](https://github.com/matrix-org/matrix-js-sdk/pull/1086) -- Monitor verification request over DM as well - [\#1085](https://github.com/matrix-org/matrix-js-sdk/pull/1085) -- Remove 'check' npm script - [\#1084](https://github.com/matrix-org/matrix-js-sdk/pull/1084) -- Always process call events in batches - [\#1083](https://github.com/matrix-org/matrix-js-sdk/pull/1083) -- Fix ringing chirp on loading - [\#1082](https://github.com/matrix-org/matrix-js-sdk/pull/1082) -- Remove _most_ bluebird specific things - [\#1081](https://github.com/matrix-org/matrix-js-sdk/pull/1081) -- Switch to Jest - [\#1080](https://github.com/matrix-org/matrix-js-sdk/pull/1080) - -# Changes in [2.4.5](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.5) (2019-11-27) + * Update alias handling + [\#1102](https://github.com/matrix-org/matrix-js-sdk/pull/1102) + * increase timeout on flush to fix failing unit test + [\#1096](https://github.com/matrix-org/matrix-js-sdk/pull/1096) + * Disable broken cross-signing test + [\#1095](https://github.com/matrix-org/matrix-js-sdk/pull/1095) + * Fix a couple SAS tests + [\#1094](https://github.com/matrix-org/matrix-js-sdk/pull/1094) + * Fix Olm unwedging test + [\#1093](https://github.com/matrix-org/matrix-js-sdk/pull/1093) + * Fix empty string handling in push notifications + [\#1089](https://github.com/matrix-org/matrix-js-sdk/pull/1089) + * expand e2ee logging to better debug UISIs + [\#1090](https://github.com/matrix-org/matrix-js-sdk/pull/1090) + * Remove Bluebird: phase 2 + [\#1087](https://github.com/matrix-org/matrix-js-sdk/pull/1087) + * Relax identity server discovery checks to FAIL_PROMPT + [\#1062](https://github.com/matrix-org/matrix-js-sdk/pull/1062) + * Fix incorrect return value of MatrixClient.prototype.uploadKeys + [\#1061](https://github.com/matrix-org/matrix-js-sdk/pull/1061) + * Fix calls in e2e rooms + [\#1086](https://github.com/matrix-org/matrix-js-sdk/pull/1086) + * Monitor verification request over DM as well + [\#1085](https://github.com/matrix-org/matrix-js-sdk/pull/1085) + * Remove 'check' npm script + [\#1084](https://github.com/matrix-org/matrix-js-sdk/pull/1084) + * Always process call events in batches + [\#1083](https://github.com/matrix-org/matrix-js-sdk/pull/1083) + * Fix ringing chirp on loading + [\#1082](https://github.com/matrix-org/matrix-js-sdk/pull/1082) + * Remove *most* bluebird specific things + [\#1081](https://github.com/matrix-org/matrix-js-sdk/pull/1081) + * Switch to Jest + [\#1080](https://github.com/matrix-org/matrix-js-sdk/pull/1080) +Changes in [2.4.5](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.5) (2019-11-27) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.4.4...v2.4.5) -- Relax identity server discovery checks to FAIL_PROMPT -- Expand E2EE debug logging to diagnose "unable to decrypt" errors - -# Changes in [2.4.4](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.4) (2019-11-25) +* Relax identity server discovery checks to FAIL_PROMPT +* Expand E2EE debug logging to diagnose "unable to decrypt" errors +Changes in [2.4.4](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.4) (2019-11-25) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.4.4-rc.1...v2.4.4) -- No changes since rc.1 - -# Changes in [2.4.4-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.4-rc.1) (2019-11-20) + * No changes since rc.1 +Changes in [2.4.4-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.4-rc.1) (2019-11-20) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.4.3...v2.4.4-rc.1) -- Fix SAS verification in encrypted DMs - [\#1077](https://github.com/matrix-org/matrix-js-sdk/pull/1077) -- Cross-signing / secret storage tweaks - [\#1078](https://github.com/matrix-org/matrix-js-sdk/pull/1078) -- Fix local trust for key backups - [\#1075](https://github.com/matrix-org/matrix-js-sdk/pull/1075) -- Add method to get last active timestamp in room - [\#1072](https://github.com/matrix-org/matrix-js-sdk/pull/1072) -- Check the right Synapse endpoint for determining admin capabilities - [\#1071](https://github.com/matrix-org/matrix-js-sdk/pull/1071) -- Cross Signing Support - [\#832](https://github.com/matrix-org/matrix-js-sdk/pull/832) -- Don't double cancel verification request - [\#1064](https://github.com/matrix-org/matrix-js-sdk/pull/1064) -- Support for verification requests in the timeline - [\#1067](https://github.com/matrix-org/matrix-js-sdk/pull/1067) -- Use stable API prefix for 3PID APIs when supported - [\#1066](https://github.com/matrix-org/matrix-js-sdk/pull/1066) -- Remove Jenkins scripts - [\#1063](https://github.com/matrix-org/matrix-js-sdk/pull/1063) - -# Changes in [2.4.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.3) (2019-11-04) + * Fix SAS verification in encrypted DMs + [\#1077](https://github.com/matrix-org/matrix-js-sdk/pull/1077) + * Cross-signing / secret storage tweaks + [\#1078](https://github.com/matrix-org/matrix-js-sdk/pull/1078) + * Fix local trust for key backups + [\#1075](https://github.com/matrix-org/matrix-js-sdk/pull/1075) + * Add method to get last active timestamp in room + [\#1072](https://github.com/matrix-org/matrix-js-sdk/pull/1072) + * Check the right Synapse endpoint for determining admin capabilities + [\#1071](https://github.com/matrix-org/matrix-js-sdk/pull/1071) + * Cross Signing Support + [\#832](https://github.com/matrix-org/matrix-js-sdk/pull/832) + * Don't double cancel verification request + [\#1064](https://github.com/matrix-org/matrix-js-sdk/pull/1064) + * Support for verification requests in the timeline + [\#1067](https://github.com/matrix-org/matrix-js-sdk/pull/1067) + * Use stable API prefix for 3PID APIs when supported + [\#1066](https://github.com/matrix-org/matrix-js-sdk/pull/1066) + * Remove Jenkins scripts + [\#1063](https://github.com/matrix-org/matrix-js-sdk/pull/1063) +Changes in [2.4.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.3) (2019-11-04) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.4.3-rc.1...v2.4.3) -- No changes since rc.1 - -# Changes in [2.4.3-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.3-rc.1) (2019-10-30) + * No changes since rc.1 +Changes in [2.4.3-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.3-rc.1) (2019-10-30) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.4.2...v2.4.3-rc.1) -- fix the path in references to logger.js - [\#1056](https://github.com/matrix-org/matrix-js-sdk/pull/1056) -- verification in DMs - [\#1050](https://github.com/matrix-org/matrix-js-sdk/pull/1050) -- Properly documented the function possible returns - [\#1054](https://github.com/matrix-org/matrix-js-sdk/pull/1054) -- Downgrade to Bluebird 3.5.5 to fix Firefox - [\#1055](https://github.com/matrix-org/matrix-js-sdk/pull/1055) -- Upgrade safe deps to latest major version - [\#1053](https://github.com/matrix-org/matrix-js-sdk/pull/1053) -- Don't include .js in the import string. - [\#1052](https://github.com/matrix-org/matrix-js-sdk/pull/1052) - -# Changes in [2.4.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.2) (2019-10-18) + * fix the path in references to logger.js + [\#1056](https://github.com/matrix-org/matrix-js-sdk/pull/1056) + * verification in DMs + [\#1050](https://github.com/matrix-org/matrix-js-sdk/pull/1050) + * Properly documented the function possible returns + [\#1054](https://github.com/matrix-org/matrix-js-sdk/pull/1054) + * Downgrade to Bluebird 3.5.5 to fix Firefox + [\#1055](https://github.com/matrix-org/matrix-js-sdk/pull/1055) + * Upgrade safe deps to latest major version + [\#1053](https://github.com/matrix-org/matrix-js-sdk/pull/1053) + * Don't include .js in the import string. + [\#1052](https://github.com/matrix-org/matrix-js-sdk/pull/1052) +Changes in [2.4.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.2) (2019-10-18) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.4.2-rc.1...v2.4.2) -- No changes since v2.4.2-rc.1 - -# Changes in [2.4.2-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.2-rc.1) (2019-10-09) + * No changes since v2.4.2-rc.1 +Changes in [2.4.2-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.2-rc.1) (2019-10-09) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.4.1...v2.4.2-rc.1) -- Log state of Olm sessions - [\#1047](https://github.com/matrix-org/matrix-js-sdk/pull/1047) -- Add method to get access to all timelines - [\#1048](https://github.com/matrix-org/matrix-js-sdk/pull/1048) - -# Changes in [2.4.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.1) (2019-10-01) + * Log state of Olm sessions + [\#1047](https://github.com/matrix-org/matrix-js-sdk/pull/1047) + * Add method to get access to all timelines + [\#1048](https://github.com/matrix-org/matrix-js-sdk/pull/1048) +Changes in [2.4.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.1) (2019-10-01) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.4.0...v2.4.1) -- Upgrade deps - [\#1046](https://github.com/matrix-org/matrix-js-sdk/pull/1046) -- Ignore crypto events with no content - [\#1043](https://github.com/matrix-org/matrix-js-sdk/pull/1043) - -# Changes in [2.4.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.0) (2019-09-27) + * Upgrade deps + [\#1046](https://github.com/matrix-org/matrix-js-sdk/pull/1046) + * Ignore crypto events with no content + [\#1043](https://github.com/matrix-org/matrix-js-sdk/pull/1043) +Changes in [2.4.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.0) (2019-09-27) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.4.0-rc.1...v2.4.0) -- Clean Yarn cache during release - [\#1045](https://github.com/matrix-org/matrix-js-sdk/pull/1045) - -# Changes in [2.4.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.0-rc.1) (2019-09-25) + * Clean Yarn cache during release + [\#1045](https://github.com/matrix-org/matrix-js-sdk/pull/1045) +Changes in [2.4.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.4.0-rc.1) (2019-09-25) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.3.2...v2.4.0-rc.1) -- Remove id_server from creds for interactive auth - [\#1044](https://github.com/matrix-org/matrix-js-sdk/pull/1044) -- Remove IS details from requestToken to HS - [\#1041](https://github.com/matrix-org/matrix-js-sdk/pull/1041) -- Add support for sending MSISDN tokens to alternate URLs - [\#1040](https://github.com/matrix-org/matrix-js-sdk/pull/1040) -- Add separate 3PID add and bind APIs - [\#1038](https://github.com/matrix-org/matrix-js-sdk/pull/1038) -- Bump eslint-utils from 1.4.0 to 1.4.2 - [\#1037](https://github.com/matrix-org/matrix-js-sdk/pull/1037) -- Handle WebRTC security errors as non-fatal - [\#1036](https://github.com/matrix-org/matrix-js-sdk/pull/1036) -- Check for r0.6.0 support in addition to unstable feature flags - [\#1035](https://github.com/matrix-org/matrix-js-sdk/pull/1035) -- Update room members on member event redaction - [\#1030](https://github.com/matrix-org/matrix-js-sdk/pull/1030) -- Support hidden read receipts - [\#1028](https://github.com/matrix-org/matrix-js-sdk/pull/1028) -- Do 3pid lookups in lowercase - [\#1029](https://github.com/matrix-org/matrix-js-sdk/pull/1029) -- Add Synapse admin functions for deactivating a user - [\#1027](https://github.com/matrix-org/matrix-js-sdk/pull/1027) -- Fix addPendingEvent with pending event order == chronological - [\#1026](https://github.com/matrix-org/matrix-js-sdk/pull/1026) -- Add AutoDiscovery.getRawClientConfig() for easy .well-known lookups - [\#1024](https://github.com/matrix-org/matrix-js-sdk/pull/1024) -- Don't convert errors to JSON if they are JSON already - [\#1025](https://github.com/matrix-org/matrix-js-sdk/pull/1025) -- Send id_access_token to HS for use in proxied IS requests - [\#1022](https://github.com/matrix-org/matrix-js-sdk/pull/1022) -- Clean up JSON handling in identity server requests - [\#1023](https://github.com/matrix-org/matrix-js-sdk/pull/1023) -- Use the v2 (hashed) lookup for identity server queries - [\#1021](https://github.com/matrix-org/matrix-js-sdk/pull/1021) -- Add getIdServer() & doesServerRequireIdServerParam() - [\#1018](https://github.com/matrix-org/matrix-js-sdk/pull/1018) -- Make requestToken endpoints work without ID Server - [\#1019](https://github.com/matrix-org/matrix-js-sdk/pull/1019) -- Fix setIdentityServer - [\#1016](https://github.com/matrix-org/matrix-js-sdk/pull/1016) -- Change ICE fallback server and make fallback opt-in - [\#1015](https://github.com/matrix-org/matrix-js-sdk/pull/1015) -- Throw an exception if trying to do an ID server request with no ID server - [\#1014](https://github.com/matrix-org/matrix-js-sdk/pull/1014) -- Add setIdentityServerUrl - [\#1013](https://github.com/matrix-org/matrix-js-sdk/pull/1013) -- Add matrix base API to report an event - [\#1011](https://github.com/matrix-org/matrix-js-sdk/pull/1011) -- Fix POST body for v2 IS requests - [\#1010](https://github.com/matrix-org/matrix-js-sdk/pull/1010) -- Add API for bulk lookup on the Identity Server - [\#1009](https://github.com/matrix-org/matrix-js-sdk/pull/1009) -- Remove deprecated authedRequestWithPrefix and requestWithPrefix - [\#1000](https://github.com/matrix-org/matrix-js-sdk/pull/1000) -- Add API for checking IS account info - [\#1007](https://github.com/matrix-org/matrix-js-sdk/pull/1007) -- Support rewriting push rules when our internal defaults change - [\#1006](https://github.com/matrix-org/matrix-js-sdk/pull/1006) -- Upgrade dependencies - [\#1005](https://github.com/matrix-org/matrix-js-sdk/pull/1005) - -# Changes in [2.3.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.3.2) (2019-09-16) + * Remove id_server from creds for interactive auth + [\#1044](https://github.com/matrix-org/matrix-js-sdk/pull/1044) + * Remove IS details from requestToken to HS + [\#1041](https://github.com/matrix-org/matrix-js-sdk/pull/1041) + * Add support for sending MSISDN tokens to alternate URLs + [\#1040](https://github.com/matrix-org/matrix-js-sdk/pull/1040) + * Add separate 3PID add and bind APIs + [\#1038](https://github.com/matrix-org/matrix-js-sdk/pull/1038) + * Bump eslint-utils from 1.4.0 to 1.4.2 + [\#1037](https://github.com/matrix-org/matrix-js-sdk/pull/1037) + * Handle WebRTC security errors as non-fatal + [\#1036](https://github.com/matrix-org/matrix-js-sdk/pull/1036) + * Check for r0.6.0 support in addition to unstable feature flags + [\#1035](https://github.com/matrix-org/matrix-js-sdk/pull/1035) + * Update room members on member event redaction + [\#1030](https://github.com/matrix-org/matrix-js-sdk/pull/1030) + * Support hidden read receipts + [\#1028](https://github.com/matrix-org/matrix-js-sdk/pull/1028) + * Do 3pid lookups in lowercase + [\#1029](https://github.com/matrix-org/matrix-js-sdk/pull/1029) + * Add Synapse admin functions for deactivating a user + [\#1027](https://github.com/matrix-org/matrix-js-sdk/pull/1027) + * Fix addPendingEvent with pending event order == chronological + [\#1026](https://github.com/matrix-org/matrix-js-sdk/pull/1026) + * Add AutoDiscovery.getRawClientConfig() for easy .well-known lookups + [\#1024](https://github.com/matrix-org/matrix-js-sdk/pull/1024) + * Don't convert errors to JSON if they are JSON already + [\#1025](https://github.com/matrix-org/matrix-js-sdk/pull/1025) + * Send id_access_token to HS for use in proxied IS requests + [\#1022](https://github.com/matrix-org/matrix-js-sdk/pull/1022) + * Clean up JSON handling in identity server requests + [\#1023](https://github.com/matrix-org/matrix-js-sdk/pull/1023) + * Use the v2 (hashed) lookup for identity server queries + [\#1021](https://github.com/matrix-org/matrix-js-sdk/pull/1021) + * Add getIdServer() & doesServerRequireIdServerParam() + [\#1018](https://github.com/matrix-org/matrix-js-sdk/pull/1018) + * Make requestToken endpoints work without ID Server + [\#1019](https://github.com/matrix-org/matrix-js-sdk/pull/1019) + * Fix setIdentityServer + [\#1016](https://github.com/matrix-org/matrix-js-sdk/pull/1016) + * Change ICE fallback server and make fallback opt-in + [\#1015](https://github.com/matrix-org/matrix-js-sdk/pull/1015) + * Throw an exception if trying to do an ID server request with no ID server + [\#1014](https://github.com/matrix-org/matrix-js-sdk/pull/1014) + * Add setIdentityServerUrl + [\#1013](https://github.com/matrix-org/matrix-js-sdk/pull/1013) + * Add matrix base API to report an event + [\#1011](https://github.com/matrix-org/matrix-js-sdk/pull/1011) + * Fix POST body for v2 IS requests + [\#1010](https://github.com/matrix-org/matrix-js-sdk/pull/1010) + * Add API for bulk lookup on the Identity Server + [\#1009](https://github.com/matrix-org/matrix-js-sdk/pull/1009) + * Remove deprecated authedRequestWithPrefix and requestWithPrefix + [\#1000](https://github.com/matrix-org/matrix-js-sdk/pull/1000) + * Add API for checking IS account info + [\#1007](https://github.com/matrix-org/matrix-js-sdk/pull/1007) + * Support rewriting push rules when our internal defaults change + [\#1006](https://github.com/matrix-org/matrix-js-sdk/pull/1006) + * Upgrade dependencies + [\#1005](https://github.com/matrix-org/matrix-js-sdk/pull/1005) +Changes in [2.3.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.3.2) (2019-09-16) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.3.2-rc.1...v2.3.2) -- [Release] Fix addPendingEvent with pending event order == chronological - [\#1034](https://github.com/matrix-org/matrix-js-sdk/pull/1034) - -# Changes in [2.3.2-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.3.2-rc.1) (2019-09-13) + * [Release] Fix addPendingEvent with pending event order == chronological + [\#1034](https://github.com/matrix-org/matrix-js-sdk/pull/1034) +Changes in [2.3.2-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.3.2-rc.1) (2019-09-13) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.3.1...v2.3.2-rc.1) -- Synapse admin functions to release - [\#1033](https://github.com/matrix-org/matrix-js-sdk/pull/1033) -- [To Release] Add matrix base API to report an event - [\#1032](https://github.com/matrix-org/matrix-js-sdk/pull/1032) - -# Changes in [2.3.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.3.1) (2019-09-12) + * Synapse admin functions to release + [\#1033](https://github.com/matrix-org/matrix-js-sdk/pull/1033) + * [To Release] Add matrix base API to report an event + [\#1032](https://github.com/matrix-org/matrix-js-sdk/pull/1032) +Changes in [2.3.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.3.1) (2019-09-12) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.3.1-rc.1...v2.3.1) -- No changes since rc.1 - -# Changes in [2.3.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.3.1-rc.1) (2019-09-11) + * No changes since rc.1 +Changes in [2.3.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.3.1-rc.1) (2019-09-11) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.3.0...v2.3.1-rc.1) -- Update room members on member event redaction - [\#1031](https://github.com/matrix-org/matrix-js-sdk/pull/1031) - -# Changes in [2.3.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.3.0) (2019-08-05) + * Update room members on member event redaction + [\#1031](https://github.com/matrix-org/matrix-js-sdk/pull/1031) +Changes in [2.3.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.3.0) (2019-08-05) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.3.0-rc.1...v2.3.0) -- [release] Support rewriting push rules when our internal defaults change - [\#1008](https://github.com/matrix-org/matrix-js-sdk/pull/1008) - -# Changes in [2.3.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.3.0-rc.1) (2019-07-31) + * [release] Support rewriting push rules when our internal defaults change + [\#1008](https://github.com/matrix-org/matrix-js-sdk/pull/1008) +Changes in [2.3.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.3.0-rc.1) (2019-07-31) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.2.0...v2.3.0-rc.1) -- Add support for IS v2 API with authentication - [\#1002](https://github.com/matrix-org/matrix-js-sdk/pull/1002) -- Tombstone bugfixes - [\#1001](https://github.com/matrix-org/matrix-js-sdk/pull/1001) -- Support for MSC2140 (terms of service for IS/IM) - [\#988](https://github.com/matrix-org/matrix-js-sdk/pull/988) -- Add a request method to /devices - [\#994](https://github.com/matrix-org/matrix-js-sdk/pull/994) - -# Changes in [2.2.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.2.0) (2019-07-18) + * Add support for IS v2 API with authentication + [\#1002](https://github.com/matrix-org/matrix-js-sdk/pull/1002) + * Tombstone bugfixes + [\#1001](https://github.com/matrix-org/matrix-js-sdk/pull/1001) + * Support for MSC2140 (terms of service for IS/IM) + [\#988](https://github.com/matrix-org/matrix-js-sdk/pull/988) + * Add a request method to /devices + [\#994](https://github.com/matrix-org/matrix-js-sdk/pull/994) +Changes in [2.2.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.2.0) (2019-07-18) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.2.0-rc.2...v2.2.0) -- Upgrade lodash dependencies - -# Changes in [2.2.0-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.2.0-rc.2) (2019-07-12) + * Upgrade lodash dependencies +Changes in [2.2.0-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.2.0-rc.2) (2019-07-12) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.2.0-rc.1...v2.2.0-rc.2) -- Fix regression from 2.2.0-rc.1 in request to /devices - [\#995](https://github.com/matrix-org/matrix-js-sdk/pull/995) - -# Changes in [2.2.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.2.0-rc.1) (2019-07-12) + * Fix regression from 2.2.0-rc.1 in request to /devices + [\#995](https://github.com/matrix-org/matrix-js-sdk/pull/995) +Changes in [2.2.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.2.0-rc.1) (2019-07-12) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.1.1...v2.2.0-rc.1) -- End the verification timer when verification is done - [\#993](https://github.com/matrix-org/matrix-js-sdk/pull/993) -- Stabilize usage of stably stable APIs (in a stable way) - [\#990](https://github.com/matrix-org/matrix-js-sdk/pull/990) -- Expose original_event for /relations - [\#987](https://github.com/matrix-org/matrix-js-sdk/pull/987) -- Process ephemeral events outside timeline handling - [\#989](https://github.com/matrix-org/matrix-js-sdk/pull/989) -- Don't accept any locally known edits earlier than the last known server-side - aggregated edit - [\#986](https://github.com/matrix-org/matrix-js-sdk/pull/986) -- Get edit date transparently from server aggregations or local echo - [\#984](https://github.com/matrix-org/matrix-js-sdk/pull/984) -- Add a function to flag keys for backup without scheduling a backup - [\#982](https://github.com/matrix-org/matrix-js-sdk/pull/982) -- Block read marker and read receipt from advancing into pending events - [\#981](https://github.com/matrix-org/matrix-js-sdk/pull/981) -- Upgrade dependencies - [\#977](https://github.com/matrix-org/matrix-js-sdk/pull/977) -- Add default push rule to ignore reactions - [\#976](https://github.com/matrix-org/matrix-js-sdk/pull/976) -- Fix exception whilst syncing - [\#979](https://github.com/matrix-org/matrix-js-sdk/pull/979) -- Include the error object when raising Session.logged_out - [\#975](https://github.com/matrix-org/matrix-js-sdk/pull/975) - -# Changes in [2.1.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.1.1) (2019-07-11) + * End the verification timer when verification is done + [\#993](https://github.com/matrix-org/matrix-js-sdk/pull/993) + * Stabilize usage of stably stable APIs (in a stable way) + [\#990](https://github.com/matrix-org/matrix-js-sdk/pull/990) + * Expose original_event for /relations + [\#987](https://github.com/matrix-org/matrix-js-sdk/pull/987) + * Process ephemeral events outside timeline handling + [\#989](https://github.com/matrix-org/matrix-js-sdk/pull/989) + * Don't accept any locally known edits earlier than the last known server-side + aggregated edit + [\#986](https://github.com/matrix-org/matrix-js-sdk/pull/986) + * Get edit date transparently from server aggregations or local echo + [\#984](https://github.com/matrix-org/matrix-js-sdk/pull/984) + * Add a function to flag keys for backup without scheduling a backup + [\#982](https://github.com/matrix-org/matrix-js-sdk/pull/982) + * Block read marker and read receipt from advancing into pending events + [\#981](https://github.com/matrix-org/matrix-js-sdk/pull/981) + * Upgrade dependencies + [\#977](https://github.com/matrix-org/matrix-js-sdk/pull/977) + * Add default push rule to ignore reactions + [\#976](https://github.com/matrix-org/matrix-js-sdk/pull/976) + * Fix exception whilst syncing + [\#979](https://github.com/matrix-org/matrix-js-sdk/pull/979) + * Include the error object when raising Session.logged_out + [\#975](https://github.com/matrix-org/matrix-js-sdk/pull/975) +Changes in [2.1.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.1.1) (2019-07-11) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.1.0...v2.1.1) -- Process emphemeral events outside timeline handling - [\#989](https://github.com/matrix-org/matrix-js-sdk/pull/989) - -# Changes in [2.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.1.0) (2019-07-08) + * Process emphemeral events outside timeline handling + [\#989](https://github.com/matrix-org/matrix-js-sdk/pull/989) +Changes in [2.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.1.0) (2019-07-08) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.1.0-rc.1...v2.1.0) -- Fix exception whilst syncing - [\#979](https://github.com/matrix-org/matrix-js-sdk/pull/979) - -# Changes in [2.1.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.1.0-rc.1) (2019-07-03) + * Fix exception whilst syncing + [\#979](https://github.com/matrix-org/matrix-js-sdk/pull/979) +Changes in [2.1.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.1.0-rc.1) (2019-07-03) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.0.1...v2.1.0-rc.1) -- Handle self read receipts for fixing e2e notification counts - [\#974](https://github.com/matrix-org/matrix-js-sdk/pull/974) -- Add redacts field to event.toJSON - [\#973](https://github.com/matrix-org/matrix-js-sdk/pull/973) -- Handle associated event send failures - [\#972](https://github.com/matrix-org/matrix-js-sdk/pull/972) -- Remove irrelevant debug line from timeline handling - [\#971](https://github.com/matrix-org/matrix-js-sdk/pull/971) -- Handle relations in encrypted rooms - [\#969](https://github.com/matrix-org/matrix-js-sdk/pull/969) -- Relations endpoint support - [\#967](https://github.com/matrix-org/matrix-js-sdk/pull/967) -- Disable event encryption for reactions - [\#968](https://github.com/matrix-org/matrix-js-sdk/pull/968) -- Change the known safe room version to version 4 - [\#966](https://github.com/matrix-org/matrix-js-sdk/pull/966) -- Check for lazy-loading support in the spec versions instead - [\#965](https://github.com/matrix-org/matrix-js-sdk/pull/965) -- Use camelCase instead of underscore - [\#963](https://github.com/matrix-org/matrix-js-sdk/pull/963) -- Time out verification attempts after 10 minutes of inactivity - [\#961](https://github.com/matrix-org/matrix-js-sdk/pull/961) -- Don't handle key verification requests which are immediately cancelled - [\#962](https://github.com/matrix-org/matrix-js-sdk/pull/962) - -# Changes in [2.0.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.0.1) (2019-06-19) + * Handle self read receipts for fixing e2e notification counts + [\#974](https://github.com/matrix-org/matrix-js-sdk/pull/974) + * Add redacts field to event.toJSON + [\#973](https://github.com/matrix-org/matrix-js-sdk/pull/973) + * Handle associated event send failures + [\#972](https://github.com/matrix-org/matrix-js-sdk/pull/972) + * Remove irrelevant debug line from timeline handling + [\#971](https://github.com/matrix-org/matrix-js-sdk/pull/971) + * Handle relations in encrypted rooms + [\#969](https://github.com/matrix-org/matrix-js-sdk/pull/969) + * Relations endpoint support + [\#967](https://github.com/matrix-org/matrix-js-sdk/pull/967) + * Disable event encryption for reactions + [\#968](https://github.com/matrix-org/matrix-js-sdk/pull/968) + * Change the known safe room version to version 4 + [\#966](https://github.com/matrix-org/matrix-js-sdk/pull/966) + * Check for lazy-loading support in the spec versions instead + [\#965](https://github.com/matrix-org/matrix-js-sdk/pull/965) + * Use camelCase instead of underscore + [\#963](https://github.com/matrix-org/matrix-js-sdk/pull/963) + * Time out verification attempts after 10 minutes of inactivity + [\#961](https://github.com/matrix-org/matrix-js-sdk/pull/961) + * Don't handle key verification requests which are immediately cancelled + [\#962](https://github.com/matrix-org/matrix-js-sdk/pull/962) +Changes in [2.0.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.0.1) (2019-06-19) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.0.1-rc.2...v2.0.1) -No changes since rc.2 - -# Changes in [2.0.1-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.0.1-rc.2) (2019-06-18) + No changes since rc.2 +Changes in [2.0.1-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.0.1-rc.2) (2019-06-18) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.0.1-rc.1...v2.0.1-rc.2) -- return 'sending' status for an event that is only locally redacted - [\#960](https://github.com/matrix-org/matrix-js-sdk/pull/960) -- Key verification request fixes - [\#954](https://github.com/matrix-org/matrix-js-sdk/pull/954) -- Add flag to force saving sync store - [\#956](https://github.com/matrix-org/matrix-js-sdk/pull/956) -- Expose the inhibit_login flag to register - [\#953](https://github.com/matrix-org/matrix-js-sdk/pull/953) -- Support redactions and relations of/with unsent events. - [\#947](https://github.com/matrix-org/matrix-js-sdk/pull/947) - -# Changes in [2.0.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.0.1-rc.1) (2019-06-12) + * return 'sending' status for an event that is only locally redacted + [\#960](https://github.com/matrix-org/matrix-js-sdk/pull/960) + * Key verification request fixes + [\#954](https://github.com/matrix-org/matrix-js-sdk/pull/954) + * Add flag to force saving sync store + [\#956](https://github.com/matrix-org/matrix-js-sdk/pull/956) + * Expose the inhibit_login flag to register + [\#953](https://github.com/matrix-org/matrix-js-sdk/pull/953) + * Support redactions and relations of/with unsent events. + [\#947](https://github.com/matrix-org/matrix-js-sdk/pull/947) +Changes in [2.0.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.0.1-rc.1) (2019-06-12) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.0.0...v2.0.1-rc.1) -- Fix content uploads for modern browsers - [\#952](https://github.com/matrix-org/matrix-js-sdk/pull/952) -- Don't overlap auth submissions with polls - [\#951](https://github.com/matrix-org/matrix-js-sdk/pull/951) -- Add funding details for GitHub sponsor button - [\#945](https://github.com/matrix-org/matrix-js-sdk/pull/945) -- Fix backup sig validation with multiple sigs - [\#944](https://github.com/matrix-org/matrix-js-sdk/pull/944) -- Don't send another token request while one's in flight - [\#943](https://github.com/matrix-org/matrix-js-sdk/pull/943) -- Don't poll UI auth again until current poll finishes - [\#942](https://github.com/matrix-org/matrix-js-sdk/pull/942) -- Provide the discovered URLs when a liveliness error occurs - [\#938](https://github.com/matrix-org/matrix-js-sdk/pull/938) -- Encode event IDs when redacting events - [\#941](https://github.com/matrix-org/matrix-js-sdk/pull/941) -- add missing logger - [\#940](https://github.com/matrix-org/matrix-js-sdk/pull/940) -- verification: don't error if we don't know about some keys - [\#939](https://github.com/matrix-org/matrix-js-sdk/pull/939) -- Local echo for redactions - [\#937](https://github.com/matrix-org/matrix-js-sdk/pull/937) -- Refresh safe room versions when the server looks more modern than us - [\#934](https://github.com/matrix-org/matrix-js-sdk/pull/934) -- Add v4 as a safe room version - [\#935](https://github.com/matrix-org/matrix-js-sdk/pull/935) -- Disable guard-for-in rule - [\#933](https://github.com/matrix-org/matrix-js-sdk/pull/933) -- Extend loglevel logging for the whole project - [\#924](https://github.com/matrix-org/matrix-js-sdk/pull/924) -- fix(login): saves access_token and user_id after login for all login types - [\#930](https://github.com/matrix-org/matrix-js-sdk/pull/930) -- Do not try to request thumbnails with non-integer sizes - [\#929](https://github.com/matrix-org/matrix-js-sdk/pull/929) -- Revert "Add a bunch of debugging to .well-known IS validation" - [\#928](https://github.com/matrix-org/matrix-js-sdk/pull/928) -- Add a bunch of debugging to .well-known IS validation - [\#927](https://github.com/matrix-org/matrix-js-sdk/pull/927) - -# Changes in [2.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.0.0) (2019-05-31) + * Fix content uploads for modern browsers + [\#952](https://github.com/matrix-org/matrix-js-sdk/pull/952) + * Don't overlap auth submissions with polls + [\#951](https://github.com/matrix-org/matrix-js-sdk/pull/951) + * Add funding details for GitHub sponsor button + [\#945](https://github.com/matrix-org/matrix-js-sdk/pull/945) + * Fix backup sig validation with multiple sigs + [\#944](https://github.com/matrix-org/matrix-js-sdk/pull/944) + * Don't send another token request while one's in flight + [\#943](https://github.com/matrix-org/matrix-js-sdk/pull/943) + * Don't poll UI auth again until current poll finishes + [\#942](https://github.com/matrix-org/matrix-js-sdk/pull/942) + * Provide the discovered URLs when a liveliness error occurs + [\#938](https://github.com/matrix-org/matrix-js-sdk/pull/938) + * Encode event IDs when redacting events + [\#941](https://github.com/matrix-org/matrix-js-sdk/pull/941) + * add missing logger + [\#940](https://github.com/matrix-org/matrix-js-sdk/pull/940) + * verification: don't error if we don't know about some keys + [\#939](https://github.com/matrix-org/matrix-js-sdk/pull/939) + * Local echo for redactions + [\#937](https://github.com/matrix-org/matrix-js-sdk/pull/937) + * Refresh safe room versions when the server looks more modern than us + [\#934](https://github.com/matrix-org/matrix-js-sdk/pull/934) + * Add v4 as a safe room version + [\#935](https://github.com/matrix-org/matrix-js-sdk/pull/935) + * Disable guard-for-in rule + [\#933](https://github.com/matrix-org/matrix-js-sdk/pull/933) + * Extend loglevel logging for the whole project + [\#924](https://github.com/matrix-org/matrix-js-sdk/pull/924) + * fix(login): saves access_token and user_id after login for all login types + [\#930](https://github.com/matrix-org/matrix-js-sdk/pull/930) + * Do not try to request thumbnails with non-integer sizes + [\#929](https://github.com/matrix-org/matrix-js-sdk/pull/929) + * Revert "Add a bunch of debugging to .well-known IS validation" + [\#928](https://github.com/matrix-org/matrix-js-sdk/pull/928) + * Add a bunch of debugging to .well-known IS validation + [\#927](https://github.com/matrix-org/matrix-js-sdk/pull/927) +Changes in [2.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v2.0.0) (2019-05-31) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v1.2.0...v2.0.0) -## BREAKING CHANGES +BREAKING CHANGES +---------------- -- This package now publishes in ES6 / ES2015 syntax to NPM -- Saves access_token and user_id after login for all login types - [\#932](https://github.com/matrix-org/matrix-js-sdk/pull/932) -- Fix recovery key encoding for base-x 3.0.5 - [\#931](https://github.com/matrix-org/matrix-js-sdk/pull/931) - -# Changes in [1.2.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.2.0) (2019-05-29) + * This package now publishes in ES6 / ES2015 syntax to NPM + * Saves access_token and user_id after login for all login types + [\#932](https://github.com/matrix-org/matrix-js-sdk/pull/932) + * Fix recovery key encoding for base-x 3.0.5 + [\#931](https://github.com/matrix-org/matrix-js-sdk/pull/931) +Changes in [1.2.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.2.0) (2019-05-29) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v1.2.0-rc.1...v1.2.0) -# Changes in [1.2.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.2.0-rc.1) (2019-05-23) +Changes in [1.2.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.2.0-rc.1) (2019-05-23) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v1.1.0...v1.2.0-rc.1) -- interactive-auth now handles requesting email tokens - [\#926](https://github.com/matrix-org/matrix-js-sdk/pull/926) -- allow access to unreplaced message content - [\#923](https://github.com/matrix-org/matrix-js-sdk/pull/923) -- Add method to retrieve replacing event - [\#922](https://github.com/matrix-org/matrix-js-sdk/pull/922) -- More logging when signature verification fails - [\#921](https://github.com/matrix-org/matrix-js-sdk/pull/921) -- Local echo for m.replace relations - [\#920](https://github.com/matrix-org/matrix-js-sdk/pull/920) -- Track relations as pending and remove when cancelled - [\#919](https://github.com/matrix-org/matrix-js-sdk/pull/919) -- Add stringify helper to summarise events when debugging - [\#916](https://github.com/matrix-org/matrix-js-sdk/pull/916) -- Message editing: filter out replacements for senders that are not the - original sender - [\#918](https://github.com/matrix-org/matrix-js-sdk/pull/918) -- Wait until decrypt before aggregating - [\#917](https://github.com/matrix-org/matrix-js-sdk/pull/917) -- Message editing: mark original event as replaced instead of replacing the - event object - [\#914](https://github.com/matrix-org/matrix-js-sdk/pull/914) -- Support for replacing message through m.replace relationship. - [\#913](https://github.com/matrix-org/matrix-js-sdk/pull/913) -- Use a short timeout for .well-known requests - [\#912](https://github.com/matrix-org/matrix-js-sdk/pull/912) -- Redaction and change events for relations - [\#911](https://github.com/matrix-org/matrix-js-sdk/pull/911) -- Add basic read path for relations - [\#910](https://github.com/matrix-org/matrix-js-sdk/pull/910) -- Add a concept of default push rules, using it for tombstone notifications - [\#860](https://github.com/matrix-org/matrix-js-sdk/pull/860) -- yarn upgrade - [\#907](https://github.com/matrix-org/matrix-js-sdk/pull/907) - -# Changes in [1.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.1.0) (2019-05-07) + * interactive-auth now handles requesting email tokens + [\#926](https://github.com/matrix-org/matrix-js-sdk/pull/926) + * allow access to unreplaced message content + [\#923](https://github.com/matrix-org/matrix-js-sdk/pull/923) + * Add method to retrieve replacing event + [\#922](https://github.com/matrix-org/matrix-js-sdk/pull/922) + * More logging when signature verification fails + [\#921](https://github.com/matrix-org/matrix-js-sdk/pull/921) + * Local echo for m.replace relations + [\#920](https://github.com/matrix-org/matrix-js-sdk/pull/920) + * Track relations as pending and remove when cancelled + [\#919](https://github.com/matrix-org/matrix-js-sdk/pull/919) + * Add stringify helper to summarise events when debugging + [\#916](https://github.com/matrix-org/matrix-js-sdk/pull/916) + * Message editing: filter out replacements for senders that are not the + original sender + [\#918](https://github.com/matrix-org/matrix-js-sdk/pull/918) + * Wait until decrypt before aggregating + [\#917](https://github.com/matrix-org/matrix-js-sdk/pull/917) + * Message editing: mark original event as replaced instead of replacing the + event object + [\#914](https://github.com/matrix-org/matrix-js-sdk/pull/914) + * Support for replacing message through m.replace relationship. + [\#913](https://github.com/matrix-org/matrix-js-sdk/pull/913) + * Use a short timeout for .well-known requests + [\#912](https://github.com/matrix-org/matrix-js-sdk/pull/912) + * Redaction and change events for relations + [\#911](https://github.com/matrix-org/matrix-js-sdk/pull/911) + * Add basic read path for relations + [\#910](https://github.com/matrix-org/matrix-js-sdk/pull/910) + * Add a concept of default push rules, using it for tombstone notifications + [\#860](https://github.com/matrix-org/matrix-js-sdk/pull/860) + * yarn upgrade + [\#907](https://github.com/matrix-org/matrix-js-sdk/pull/907) +Changes in [1.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.1.0) (2019-05-07) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v1.1.0-rc.1...v1.1.0) -- No Changes since rc.1 - -# Changes in [1.1.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.1.0-rc.1) (2019-04-30) + * No Changes since rc.1 +Changes in [1.1.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.1.0-rc.1) (2019-04-30) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v1.0.4...v1.1.0-rc.1) -- use the release version of olm 3.1.0 - [\#903](https://github.com/matrix-org/matrix-js-sdk/pull/903) -- Use new Olm repo link in README - [\#901](https://github.com/matrix-org/matrix-js-sdk/pull/901) -- Support being fed a .well-known config object for validation - [\#897](https://github.com/matrix-org/matrix-js-sdk/pull/897) -- emit self-membership event at end of handling sync update - [\#900](https://github.com/matrix-org/matrix-js-sdk/pull/900) -- Use packages.matrix.org for Olm - [\#898](https://github.com/matrix-org/matrix-js-sdk/pull/898) -- Fix tests on develop - [\#899](https://github.com/matrix-org/matrix-js-sdk/pull/899) -- Stop syncing when the token is invalid - [\#895](https://github.com/matrix-org/matrix-js-sdk/pull/895) -- change event redact, POST request to PUT request - [\#887](https://github.com/matrix-org/matrix-js-sdk/pull/887) -- Expose better autodiscovery error messages - [\#894](https://github.com/matrix-org/matrix-js-sdk/pull/894) -- Explicitly guard store usage during sync startup - [\#892](https://github.com/matrix-org/matrix-js-sdk/pull/892) -- Flag v3 rooms as safe - [\#893](https://github.com/matrix-org/matrix-js-sdk/pull/893) -- Cache failed capabilities lookups for shorter amounts of time - [\#890](https://github.com/matrix-org/matrix-js-sdk/pull/890) -- Fix highlight notifications for unencrypted rooms - [\#891](https://github.com/matrix-org/matrix-js-sdk/pull/891) -- Document checking crypto state before using `hasUnverifiedDevices` - [\#889](https://github.com/matrix-org/matrix-js-sdk/pull/889) -- Add logging to sync startup path - [\#888](https://github.com/matrix-org/matrix-js-sdk/pull/888) -- Track e2e highlights better, particularly in 'Mentions Only' rooms - [\#886](https://github.com/matrix-org/matrix-js-sdk/pull/886) -- support both the incorrect and correct MAC methods - [\#882](https://github.com/matrix-org/matrix-js-sdk/pull/882) -- Refuse to set forwards pagination token on live timeline - [\#885](https://github.com/matrix-org/matrix-js-sdk/pull/885) -- Degrade `IndexedDBStore` back to memory only on failure - [\#884](https://github.com/matrix-org/matrix-js-sdk/pull/884) -- Refuse to link live timelines into the forwards/backwards position when - either is invalid - [\#877](https://github.com/matrix-org/matrix-js-sdk/pull/877) -- Key backup logging improvements - [\#883](https://github.com/matrix-org/matrix-js-sdk/pull/883) -- Don't assume aborts are always from txn.abort() - [\#880](https://github.com/matrix-org/matrix-js-sdk/pull/880) -- Add a bunch of logging - [\#878](https://github.com/matrix-org/matrix-js-sdk/pull/878) -- Refuse splicing the live timeline into a broken position - [\#873](https://github.com/matrix-org/matrix-js-sdk/pull/873) -- Add existence check to local storage based crypto store - [\#872](https://github.com/matrix-org/matrix-js-sdk/pull/872) - -# Changes in [1.0.4](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.4) (2019-04-08) + * use the release version of olm 3.1.0 + [\#903](https://github.com/matrix-org/matrix-js-sdk/pull/903) + * Use new Olm repo link in README + [\#901](https://github.com/matrix-org/matrix-js-sdk/pull/901) + * Support being fed a .well-known config object for validation + [\#897](https://github.com/matrix-org/matrix-js-sdk/pull/897) + * emit self-membership event at end of handling sync update + [\#900](https://github.com/matrix-org/matrix-js-sdk/pull/900) + * Use packages.matrix.org for Olm + [\#898](https://github.com/matrix-org/matrix-js-sdk/pull/898) + * Fix tests on develop + [\#899](https://github.com/matrix-org/matrix-js-sdk/pull/899) + * Stop syncing when the token is invalid + [\#895](https://github.com/matrix-org/matrix-js-sdk/pull/895) + * change event redact, POST request to PUT request + [\#887](https://github.com/matrix-org/matrix-js-sdk/pull/887) + * Expose better autodiscovery error messages + [\#894](https://github.com/matrix-org/matrix-js-sdk/pull/894) + * Explicitly guard store usage during sync startup + [\#892](https://github.com/matrix-org/matrix-js-sdk/pull/892) + * Flag v3 rooms as safe + [\#893](https://github.com/matrix-org/matrix-js-sdk/pull/893) + * Cache failed capabilities lookups for shorter amounts of time + [\#890](https://github.com/matrix-org/matrix-js-sdk/pull/890) + * Fix highlight notifications for unencrypted rooms + [\#891](https://github.com/matrix-org/matrix-js-sdk/pull/891) + * Document checking crypto state before using `hasUnverifiedDevices` + [\#889](https://github.com/matrix-org/matrix-js-sdk/pull/889) + * Add logging to sync startup path + [\#888](https://github.com/matrix-org/matrix-js-sdk/pull/888) + * Track e2e highlights better, particularly in 'Mentions Only' rooms + [\#886](https://github.com/matrix-org/matrix-js-sdk/pull/886) + * support both the incorrect and correct MAC methods + [\#882](https://github.com/matrix-org/matrix-js-sdk/pull/882) + * Refuse to set forwards pagination token on live timeline + [\#885](https://github.com/matrix-org/matrix-js-sdk/pull/885) + * Degrade `IndexedDBStore` back to memory only on failure + [\#884](https://github.com/matrix-org/matrix-js-sdk/pull/884) + * Refuse to link live timelines into the forwards/backwards position when + either is invalid + [\#877](https://github.com/matrix-org/matrix-js-sdk/pull/877) + * Key backup logging improvements + [\#883](https://github.com/matrix-org/matrix-js-sdk/pull/883) + * Don't assume aborts are always from txn.abort() + [\#880](https://github.com/matrix-org/matrix-js-sdk/pull/880) + * Add a bunch of logging + [\#878](https://github.com/matrix-org/matrix-js-sdk/pull/878) + * Refuse splicing the live timeline into a broken position + [\#873](https://github.com/matrix-org/matrix-js-sdk/pull/873) + * Add existence check to local storage based crypto store + [\#872](https://github.com/matrix-org/matrix-js-sdk/pull/872) +Changes in [1.0.4](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.4) (2019-04-08) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v1.0.3...v1.0.4) -- Hotfix: more logging and potential fixes for timeline corruption issue, see ticket https://github.com/vector-im/riot-web/issues/8593. - -# Changes in [1.0.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.3) (2019-04-01) + * Hotfix: more logging and potential fixes for timeline corruption issue, see ticket https://github.com/vector-im/riot-web/issues/8593. +Changes in [1.0.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.3) (2019-04-01) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v1.0.3-rc.1...v1.0.3) -- Add existence check to local storage based crypto store - [\#874](https://github.com/matrix-org/matrix-js-sdk/pull/874) - -# Changes in [1.0.3-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.3-rc.1) (2019-03-27) + * Add existence check to local storage based crypto store + [\#874](https://github.com/matrix-org/matrix-js-sdk/pull/874) +Changes in [1.0.3-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.3-rc.1) (2019-03-27) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v1.0.2...v1.0.3-rc.1) -- Add IndexedDB existence checks - [\#871](https://github.com/matrix-org/matrix-js-sdk/pull/871) -- Emit sync errors for capturing by clients - [\#869](https://github.com/matrix-org/matrix-js-sdk/pull/869) -- Add functions for getting room upgrade history and leaving those rooms - [\#868](https://github.com/matrix-org/matrix-js-sdk/pull/868) -- Clarify the meaning of 'real name' for contribution - [\#867](https://github.com/matrix-org/matrix-js-sdk/pull/867) -- Remove `sessionStore` to `cryptoStore` migration path - [\#865](https://github.com/matrix-org/matrix-js-sdk/pull/865) -- Add debugging for spurious room version warnings - [\#866](https://github.com/matrix-org/matrix-js-sdk/pull/866) -- Add investigation notes for browser storage - [\#864](https://github.com/matrix-org/matrix-js-sdk/pull/864) -- make sure resolve object is defined before calling it - [\#862](https://github.com/matrix-org/matrix-js-sdk/pull/862) -- Rename `MatrixInMemoryStore` to `MemoryStore` - [\#861](https://github.com/matrix-org/matrix-js-sdk/pull/861) -- Use Buildkite for CI - [\#859](https://github.com/matrix-org/matrix-js-sdk/pull/859) -- only create one session at a time per device - [\#857](https://github.com/matrix-org/matrix-js-sdk/pull/857) - -# Changes in [1.0.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.2) (2019-03-18) + * Add IndexedDB existence checks + [\#871](https://github.com/matrix-org/matrix-js-sdk/pull/871) + * Emit sync errors for capturing by clients + [\#869](https://github.com/matrix-org/matrix-js-sdk/pull/869) + * Add functions for getting room upgrade history and leaving those rooms + [\#868](https://github.com/matrix-org/matrix-js-sdk/pull/868) + * Clarify the meaning of 'real name' for contribution + [\#867](https://github.com/matrix-org/matrix-js-sdk/pull/867) + * Remove `sessionStore` to `cryptoStore` migration path + [\#865](https://github.com/matrix-org/matrix-js-sdk/pull/865) + * Add debugging for spurious room version warnings + [\#866](https://github.com/matrix-org/matrix-js-sdk/pull/866) + * Add investigation notes for browser storage + [\#864](https://github.com/matrix-org/matrix-js-sdk/pull/864) + * make sure resolve object is defined before calling it + [\#862](https://github.com/matrix-org/matrix-js-sdk/pull/862) + * Rename `MatrixInMemoryStore` to `MemoryStore` + [\#861](https://github.com/matrix-org/matrix-js-sdk/pull/861) + * Use Buildkite for CI + [\#859](https://github.com/matrix-org/matrix-js-sdk/pull/859) + * only create one session at a time per device + [\#857](https://github.com/matrix-org/matrix-js-sdk/pull/857) +Changes in [1.0.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.2) (2019-03-18) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v1.0.2-rc.1...v1.0.2) -- No changes since rc.1 - -# Changes in [1.0.2-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.2-rc.1) (2019-03-13) + * No changes since rc.1 +Changes in [1.0.2-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.2-rc.1) (2019-03-13) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v1.0.1...v1.0.2-rc.1) -- Use modern Yarn version on Travis CI - [\#858](https://github.com/matrix-org/matrix-js-sdk/pull/858) -- Switch to `yarn` for dependency management - [\#856](https://github.com/matrix-org/matrix-js-sdk/pull/856) -- More key request fixes - [\#855](https://github.com/matrix-org/matrix-js-sdk/pull/855) -- Calculate encrypted notification counts - [\#851](https://github.com/matrix-org/matrix-js-sdk/pull/851) -- Update dependencies - [\#854](https://github.com/matrix-org/matrix-js-sdk/pull/854) -- make sure key requests get sent - [\#850](https://github.com/matrix-org/matrix-js-sdk/pull/850) -- Use 'ideal' rather than 'exact' for deviceid - [\#852](https://github.com/matrix-org/matrix-js-sdk/pull/852) -- handle partially-shared sessions better - [\#848](https://github.com/matrix-org/matrix-js-sdk/pull/848) - -# Changes in [1.0.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.1) (2019-03-06) + * Use modern Yarn version on Travis CI + [\#858](https://github.com/matrix-org/matrix-js-sdk/pull/858) + * Switch to `yarn` for dependency management + [\#856](https://github.com/matrix-org/matrix-js-sdk/pull/856) + * More key request fixes + [\#855](https://github.com/matrix-org/matrix-js-sdk/pull/855) + * Calculate encrypted notification counts + [\#851](https://github.com/matrix-org/matrix-js-sdk/pull/851) + * Update dependencies + [\#854](https://github.com/matrix-org/matrix-js-sdk/pull/854) + * make sure key requests get sent + [\#850](https://github.com/matrix-org/matrix-js-sdk/pull/850) + * Use 'ideal' rather than 'exact' for deviceid + [\#852](https://github.com/matrix-org/matrix-js-sdk/pull/852) + * handle partially-shared sessions better + [\#848](https://github.com/matrix-org/matrix-js-sdk/pull/848) +Changes in [1.0.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.1) (2019-03-06) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v1.0.1-rc.2...v1.0.1) -- No changes since rc.2 - -# Changes in [1.0.1-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.1-rc.2) (2019-03-05) + * No changes since rc.2 +Changes in [1.0.1-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.1-rc.2) (2019-03-05) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v1.0.1-rc.1...v1.0.1-rc.2) -- dont swallow txn errors in crypto store - [\#853](https://github.com/matrix-org/matrix-js-sdk/pull/853) -- Don't swallow txn errors in crypto store - [\#849](https://github.com/matrix-org/matrix-js-sdk/pull/849) - -# Changes in [1.0.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.1-rc.1) (2019-02-28) + * dont swallow txn errors in crypto store + [\#853](https://github.com/matrix-org/matrix-js-sdk/pull/853) + * Don't swallow txn errors in crypto store + [\#849](https://github.com/matrix-org/matrix-js-sdk/pull/849) +Changes in [1.0.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.1-rc.1) (2019-02-28) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v1.0.0...v1.0.1-rc.1) -- Fix "e is undefined" masking the original error in MegolmDecryption - [\#847](https://github.com/matrix-org/matrix-js-sdk/pull/847) - -# Changes in [1.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.0) (2019-02-14) + * Fix "e is undefined" masking the original error in MegolmDecryption + [\#847](https://github.com/matrix-org/matrix-js-sdk/pull/847) +Changes in [1.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.0) (2019-02-14) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v1.0.0-rc.2...v1.0.0) -- Try again to commit package-lock.json - [\#841](https://github.com/matrix-org/matrix-js-sdk/pull/841) - -# Changes in [1.0.0-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.0-rc.2) (2019-02-14) + * Try again to commit package-lock.json + [\#841](https://github.com/matrix-org/matrix-js-sdk/pull/841) +Changes in [1.0.0-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.0-rc.2) (2019-02-14) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v1.0.0-rc.1...v1.0.0-rc.2) -- Release script: commit package-lock.json - [\#839](https://github.com/matrix-org/matrix-js-sdk/pull/839) -- Add method to force re-check of key backup - [\#840](https://github.com/matrix-org/matrix-js-sdk/pull/840) -- Fix: dont check for unverified devices in left members - [\#838](https://github.com/matrix-org/matrix-js-sdk/pull/838) - -# Changes in [1.0.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.0-rc.1) (2019-02-08) + * Release script: commit package-lock.json + [\#839](https://github.com/matrix-org/matrix-js-sdk/pull/839) + * Add method to force re-check of key backup + [\#840](https://github.com/matrix-org/matrix-js-sdk/pull/840) + * Fix: dont check for unverified devices in left members + [\#838](https://github.com/matrix-org/matrix-js-sdk/pull/838) +Changes in [1.0.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v1.0.0-rc.1) (2019-02-08) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.14.3...v1.0.0-rc.1) -- change hex SAS verification to decimal and emoji - [\#837](https://github.com/matrix-org/matrix-js-sdk/pull/837) -- Trust on decrypt - [\#836](https://github.com/matrix-org/matrix-js-sdk/pull/836) -- Always track our own devices - [\#835](https://github.com/matrix-org/matrix-js-sdk/pull/835) -- Make linting rules more consistent - [\#834](https://github.com/matrix-org/matrix-js-sdk/pull/834) -- add method to room to check for unverified devices - [\#833](https://github.com/matrix-org/matrix-js-sdk/pull/833) -- Merge redesign into develop - [\#831](https://github.com/matrix-org/matrix-js-sdk/pull/831) -- Supporting infrastructure for educated decisions on when to upgrade rooms - [\#830](https://github.com/matrix-org/matrix-js-sdk/pull/830) -- Include signature info for unknown devices - [\#826](https://github.com/matrix-org/matrix-js-sdk/pull/826) -- Flag v2 rooms as "safe" - [\#828](https://github.com/matrix-org/matrix-js-sdk/pull/828) -- Update ESLint - [\#821](https://github.com/matrix-org/matrix-js-sdk/pull/821) - -# Changes in [0.14.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.14.3) (2019-01-22) + * change hex SAS verification to decimal and emoji + [\#837](https://github.com/matrix-org/matrix-js-sdk/pull/837) + * Trust on decrypt + [\#836](https://github.com/matrix-org/matrix-js-sdk/pull/836) + * Always track our own devices + [\#835](https://github.com/matrix-org/matrix-js-sdk/pull/835) + * Make linting rules more consistent + [\#834](https://github.com/matrix-org/matrix-js-sdk/pull/834) + * add method to room to check for unverified devices + [\#833](https://github.com/matrix-org/matrix-js-sdk/pull/833) + * Merge redesign into develop + [\#831](https://github.com/matrix-org/matrix-js-sdk/pull/831) + * Supporting infrastructure for educated decisions on when to upgrade rooms + [\#830](https://github.com/matrix-org/matrix-js-sdk/pull/830) + * Include signature info for unknown devices + [\#826](https://github.com/matrix-org/matrix-js-sdk/pull/826) + * Flag v2 rooms as "safe" + [\#828](https://github.com/matrix-org/matrix-js-sdk/pull/828) + * Update ESLint + [\#821](https://github.com/matrix-org/matrix-js-sdk/pull/821) +Changes in [0.14.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.14.3) (2019-01-22) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.14.3-rc.1...v0.14.3) -- No changes since rc.1 - -# Changes in [0.14.3-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.14.3-rc.1) (2019-01-17) + * No changes since rc.1 +Changes in [0.14.3-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.14.3-rc.1) (2019-01-17) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.14.2...v0.14.3-rc.1) -- Merge develop into experimental - [\#815](https://github.com/matrix-org/matrix-js-sdk/pull/815) -- Add a getAllEndToEndSessions to crypto store - [\#812](https://github.com/matrix-org/matrix-js-sdk/pull/812) -- T3chguy/fix displayname logic - [\#668](https://github.com/matrix-org/matrix-js-sdk/pull/668) -- Contributing: Note that rebase lets you mass signoff commits - [\#814](https://github.com/matrix-org/matrix-js-sdk/pull/814) -- take into account homoglyphs when calculating similar display names - [\#672](https://github.com/matrix-org/matrix-js-sdk/pull/672) -- Emit for key backup failures - [\#809](https://github.com/matrix-org/matrix-js-sdk/pull/809) -- emit oldEventId on "updatePendingEvent" - [\#646](https://github.com/matrix-org/matrix-js-sdk/pull/646) -- Add getThirdpartyUser to base api - [\#589](https://github.com/matrix-org/matrix-js-sdk/pull/589) -- Support custom status messages - [\#805](https://github.com/matrix-org/matrix-js-sdk/pull/805) -- Extra checks to avoid release script blowing up mid-process. - [\#749](https://github.com/matrix-org/matrix-js-sdk/pull/749) -- Move glob regex utilities out of the pushprocessor and into a more generic - place - [\#800](https://github.com/matrix-org/matrix-js-sdk/pull/800) - -# Changes in [0.14.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.14.2) (2018-12-10) + * Merge develop into experimental + [\#815](https://github.com/matrix-org/matrix-js-sdk/pull/815) + * Add a getAllEndToEndSessions to crypto store + [\#812](https://github.com/matrix-org/matrix-js-sdk/pull/812) + * T3chguy/fix displayname logic + [\#668](https://github.com/matrix-org/matrix-js-sdk/pull/668) + * Contributing: Note that rebase lets you mass signoff commits + [\#814](https://github.com/matrix-org/matrix-js-sdk/pull/814) + * take into account homoglyphs when calculating similar display names + [\#672](https://github.com/matrix-org/matrix-js-sdk/pull/672) + * Emit for key backup failures + [\#809](https://github.com/matrix-org/matrix-js-sdk/pull/809) + * emit oldEventId on "updatePendingEvent" + [\#646](https://github.com/matrix-org/matrix-js-sdk/pull/646) + * Add getThirdpartyUser to base api + [\#589](https://github.com/matrix-org/matrix-js-sdk/pull/589) + * Support custom status messages + [\#805](https://github.com/matrix-org/matrix-js-sdk/pull/805) + * Extra checks to avoid release script blowing up mid-process. + [\#749](https://github.com/matrix-org/matrix-js-sdk/pull/749) + * Move glob regex utilities out of the pushprocessor and into a more generic + place + [\#800](https://github.com/matrix-org/matrix-js-sdk/pull/800) +Changes in [0.14.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.14.2) (2018-12-10) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.14.2-rc.1...v0.14.2) -- No changes since rc.1 - -# Changes in [0.14.2-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.14.2-rc.1) (2018-12-06) + * No changes since rc.1 +Changes in [0.14.2-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.14.2-rc.1) (2018-12-06) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.14.1...v0.14.2-rc.1) -- fix some assertions in e2e backup unit test - [\#794](https://github.com/matrix-org/matrix-js-sdk/pull/794) -- Config should be called with auth - [\#798](https://github.com/matrix-org/matrix-js-sdk/pull/798) -- Don't re-establish sessions with unknown devices - [\#792](https://github.com/matrix-org/matrix-js-sdk/pull/792) -- e2e key backups - [\#684](https://github.com/matrix-org/matrix-js-sdk/pull/684) -- WIP: online incremental megolm backups - [\#595](https://github.com/matrix-org/matrix-js-sdk/pull/595) -- Support for e2e key backups - [\#736](https://github.com/matrix-org/matrix-js-sdk/pull/736) -- Passphrase Support for e2e backups - [\#786](https://github.com/matrix-org/matrix-js-sdk/pull/786) -- Add 'getSsoLoginUrl' function - [\#783](https://github.com/matrix-org/matrix-js-sdk/pull/783) -- Fix: don't set the room name to null when heroes are missing. - [\#784](https://github.com/matrix-org/matrix-js-sdk/pull/784) -- Handle crypto db version upgrades - [\#785](https://github.com/matrix-org/matrix-js-sdk/pull/785) -- Restart broken Olm sessions - [\#780](https://github.com/matrix-org/matrix-js-sdk/pull/780) -- Use the last olm session that got a message - [\#776](https://github.com/matrix-org/matrix-js-sdk/pull/776) - -# Changes in [0.14.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.14.1) (2018-11-22) + * fix some assertions in e2e backup unit test + [\#794](https://github.com/matrix-org/matrix-js-sdk/pull/794) + * Config should be called with auth + [\#798](https://github.com/matrix-org/matrix-js-sdk/pull/798) + * Don't re-establish sessions with unknown devices + [\#792](https://github.com/matrix-org/matrix-js-sdk/pull/792) + * e2e key backups + [\#684](https://github.com/matrix-org/matrix-js-sdk/pull/684) + * WIP: online incremental megolm backups + [\#595](https://github.com/matrix-org/matrix-js-sdk/pull/595) + * Support for e2e key backups + [\#736](https://github.com/matrix-org/matrix-js-sdk/pull/736) + * Passphrase Support for e2e backups + [\#786](https://github.com/matrix-org/matrix-js-sdk/pull/786) + * Add 'getSsoLoginUrl' function + [\#783](https://github.com/matrix-org/matrix-js-sdk/pull/783) + * Fix: don't set the room name to null when heroes are missing. + [\#784](https://github.com/matrix-org/matrix-js-sdk/pull/784) + * Handle crypto db version upgrades + [\#785](https://github.com/matrix-org/matrix-js-sdk/pull/785) + * Restart broken Olm sessions + [\#780](https://github.com/matrix-org/matrix-js-sdk/pull/780) + * Use the last olm session that got a message + [\#776](https://github.com/matrix-org/matrix-js-sdk/pull/776) +Changes in [0.14.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.14.1) (2018-11-22) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.14.0...v0.14.1) -- Warning when crypto DB is too new to use. - -# Changes in [0.14.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.14.0) (2018-11-19) + * Warning when crypto DB is too new to use. +Changes in [0.14.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.14.0) (2018-11-19) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.14.0-rc.1...v0.14.0) -- No changes since rc.1 - -# Changes in [0.14.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.14.0-rc.1) (2018-11-15) + * No changes since rc.1 +Changes in [0.14.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.14.0-rc.1) (2018-11-15) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.13.1...v0.14.0-rc.1) -## BREAKING CHANGE +BREAKING CHANGE +---------------- -- js-sdk now uses Olm 3.0. Apps using Olm must update to 3.0 to - continue using Olm with the js-sdk. The js-sdk will call Olm's - init() method when the client is started. + * js-sdk now uses Olm 3.0. Apps using Olm must update to 3.0 to + continue using Olm with the js-sdk. The js-sdk will call Olm's + init() method when the client is started. -## All Changes +All Changes +----------- -- Prevent messages from being sent if other messages have failed to send - [\#781](https://github.com/matrix-org/matrix-js-sdk/pull/781) -- A unit test for olm - [\#777](https://github.com/matrix-org/matrix-js-sdk/pull/777) -- Set access_token and user_id after login in with username and password. - [\#778](https://github.com/matrix-org/matrix-js-sdk/pull/778) -- Add function to get currently joined rooms. - [\#779](https://github.com/matrix-org/matrix-js-sdk/pull/779) -- Remove the request-only stuff we don't need anymore - [\#775](https://github.com/matrix-org/matrix-js-sdk/pull/775) -- Manually construct query strings for browser-request instances - [\#770](https://github.com/matrix-org/matrix-js-sdk/pull/770) -- Fix: correctly check for crypto being present - [\#769](https://github.com/matrix-org/matrix-js-sdk/pull/769) -- Update babel-eslint to 8.1.1 - [\#768](https://github.com/matrix-org/matrix-js-sdk/pull/768) -- Support `request` in the browser and support supplying servers to try in - joinRoom() - [\#764](https://github.com/matrix-org/matrix-js-sdk/pull/764) -- loglevel should be a normal dependency - [\#767](https://github.com/matrix-org/matrix-js-sdk/pull/767) -- Stop devicelist when client is stopped - [\#766](https://github.com/matrix-org/matrix-js-sdk/pull/766) -- Update to WebAssembly-powered Olm - [\#743](https://github.com/matrix-org/matrix-js-sdk/pull/743) -- Logging lib. Fixes #332 - [\#763](https://github.com/matrix-org/matrix-js-sdk/pull/763) -- Use new stop() method on matrix-mock-request - [\#765](https://github.com/matrix-org/matrix-js-sdk/pull/765) - -# Changes in [0.13.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.13.1) (2018-11-14) + * Prevent messages from being sent if other messages have failed to send + [\#781](https://github.com/matrix-org/matrix-js-sdk/pull/781) + * A unit test for olm + [\#777](https://github.com/matrix-org/matrix-js-sdk/pull/777) + * Set access_token and user_id after login in with username and password. + [\#778](https://github.com/matrix-org/matrix-js-sdk/pull/778) + * Add function to get currently joined rooms. + [\#779](https://github.com/matrix-org/matrix-js-sdk/pull/779) + * Remove the request-only stuff we don't need anymore + [\#775](https://github.com/matrix-org/matrix-js-sdk/pull/775) + * Manually construct query strings for browser-request instances + [\#770](https://github.com/matrix-org/matrix-js-sdk/pull/770) + * Fix: correctly check for crypto being present + [\#769](https://github.com/matrix-org/matrix-js-sdk/pull/769) + * Update babel-eslint to 8.1.1 + [\#768](https://github.com/matrix-org/matrix-js-sdk/pull/768) + * Support `request` in the browser and support supplying servers to try in + joinRoom() + [\#764](https://github.com/matrix-org/matrix-js-sdk/pull/764) + * loglevel should be a normal dependency + [\#767](https://github.com/matrix-org/matrix-js-sdk/pull/767) + * Stop devicelist when client is stopped + [\#766](https://github.com/matrix-org/matrix-js-sdk/pull/766) + * Update to WebAssembly-powered Olm + [\#743](https://github.com/matrix-org/matrix-js-sdk/pull/743) + * Logging lib. Fixes #332 + [\#763](https://github.com/matrix-org/matrix-js-sdk/pull/763) + * Use new stop() method on matrix-mock-request + [\#765](https://github.com/matrix-org/matrix-js-sdk/pull/765) +Changes in [0.13.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.13.1) (2018-11-14) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.13.0...v0.13.1) -- Add function to get currently joined rooms. - [\#779](https://github.com/matrix-org/matrix-js-sdk/pull/779) - -# Changes in [0.13.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.13.0) (2018-11-15) + * Add function to get currently joined rooms. + [\#779](https://github.com/matrix-org/matrix-js-sdk/pull/779) +Changes in [0.13.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.13.0) (2018-11-15) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.12.1...v0.13.0) -## BREAKING CHANGE - -- `MatrixClient::login` now sets client `access_token` and `user_id` following successful login with username and password. - -# Changes in [0.12.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.12.1) (2018-10-29) +BREAKING CHANGE +---------------- + * `MatrixClient::login` now sets client `access_token` and `user_id` following successful login with username and password. +Changes in [0.12.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.12.1) (2018-10-29) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.12.1-rc.1...v0.12.1) -- No changes since rc.1 - -# Changes in [0.12.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.12.1-rc.1) (2018-10-24) + * No changes since rc.1 +Changes in [0.12.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.12.1-rc.1) (2018-10-24) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.12.0...v0.12.1-rc.1) -- Add repository type to package.json to make it valid - [\#762](https://github.com/matrix-org/matrix-js-sdk/pull/762) -- Add getMediaConfig() - [\#761](https://github.com/matrix-org/matrix-js-sdk/pull/761) -- add new examples, to be expanded into a post - [\#739](https://github.com/matrix-org/matrix-js-sdk/pull/739) - -# Changes in [0.12.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.12.0) (2018-10-16) + * Add repository type to package.json to make it valid + [\#762](https://github.com/matrix-org/matrix-js-sdk/pull/762) + * Add getMediaConfig() + [\#761](https://github.com/matrix-org/matrix-js-sdk/pull/761) + * add new examples, to be expanded into a post + [\#739](https://github.com/matrix-org/matrix-js-sdk/pull/739) +Changes in [0.12.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.12.0) (2018-10-16) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.12.0-rc.1...v0.12.0) -- No changes since rc.1 - -# Changes in [0.12.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.12.0-rc.1) (2018-10-11) + * No changes since rc.1 +Changes in [0.12.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.12.0-rc.1) (2018-10-11) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.11.1...v0.12.0-rc.1) -## BREAKING CHANGES +BREAKING CHANGES +---------------- + * If js-sdk finds data in the store that is incompatible with the options currently being used, + it will emit sync state ERROR with an error of type InvalidStoreError. It will also stop trying + to sync in this situation: the app must stop the client and then either clear the store or + change the options (in this case, enable or disable lazy loading of members) and then start + the client again. -- If js-sdk finds data in the store that is incompatible with the options currently being used, - it will emit sync state ERROR with an error of type InvalidStoreError. It will also stop trying - to sync in this situation: the app must stop the client and then either clear the store or - change the options (in this case, enable or disable lazy loading of members) and then start - the client again. +All Changes +----------- -## All Changes - -- never replace /sync'ed memberships with OOB ones - [\#760](https://github.com/matrix-org/matrix-js-sdk/pull/760) -- Don't fail to start up if lazy load check fails - [\#759](https://github.com/matrix-org/matrix-js-sdk/pull/759) -- Make e2e work on Edge - [\#754](https://github.com/matrix-org/matrix-js-sdk/pull/754) -- throw error with same name and message over idb worker boundary - [\#758](https://github.com/matrix-org/matrix-js-sdk/pull/758) -- Default to a room version of 1 when there is no room create event - [\#755](https://github.com/matrix-org/matrix-js-sdk/pull/755) -- Silence bluebird warnings - [\#757](https://github.com/matrix-org/matrix-js-sdk/pull/757) -- allow non-ff merge from release branch into master - [\#750](https://github.com/matrix-org/matrix-js-sdk/pull/750) -- Reject with the actual error on indexeddb error - [\#751](https://github.com/matrix-org/matrix-js-sdk/pull/751) -- Update mocha to v5 - [\#744](https://github.com/matrix-org/matrix-js-sdk/pull/744) -- disable lazy loading for guests as they cant create filters - [\#748](https://github.com/matrix-org/matrix-js-sdk/pull/748) -- Revert "Add getMediaLimits to client" - [\#745](https://github.com/matrix-org/matrix-js-sdk/pull/745) - -# Changes in [0.11.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.11.1) (2018-10-01) + * never replace /sync'ed memberships with OOB ones + [\#760](https://github.com/matrix-org/matrix-js-sdk/pull/760) + * Don't fail to start up if lazy load check fails + [\#759](https://github.com/matrix-org/matrix-js-sdk/pull/759) + * Make e2e work on Edge + [\#754](https://github.com/matrix-org/matrix-js-sdk/pull/754) + * throw error with same name and message over idb worker boundary + [\#758](https://github.com/matrix-org/matrix-js-sdk/pull/758) + * Default to a room version of 1 when there is no room create event + [\#755](https://github.com/matrix-org/matrix-js-sdk/pull/755) + * Silence bluebird warnings + [\#757](https://github.com/matrix-org/matrix-js-sdk/pull/757) + * allow non-ff merge from release branch into master + [\#750](https://github.com/matrix-org/matrix-js-sdk/pull/750) + * Reject with the actual error on indexeddb error + [\#751](https://github.com/matrix-org/matrix-js-sdk/pull/751) + * Update mocha to v5 + [\#744](https://github.com/matrix-org/matrix-js-sdk/pull/744) + * disable lazy loading for guests as they cant create filters + [\#748](https://github.com/matrix-org/matrix-js-sdk/pull/748) + * Revert "Add getMediaLimits to client" + [\#745](https://github.com/matrix-org/matrix-js-sdk/pull/745) +Changes in [0.11.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.11.1) (2018-10-01) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.11.1-rc.1...v0.11.1) -- No changes since rc.1 - -# Changes in [0.11.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.11.1-rc.1) (2018-09-27) + * No changes since rc.1 +Changes in [0.11.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.11.1-rc.1) (2018-09-27) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.11.0...v0.11.1-rc.1) -- make usage of hub compatible with latest version (2.5) - [\#747](https://github.com/matrix-org/matrix-js-sdk/pull/747) -- Detect when lazy loading has been toggled in client.startClient - [\#746](https://github.com/matrix-org/matrix-js-sdk/pull/746) -- Add getMediaLimits to client - [\#644](https://github.com/matrix-org/matrix-js-sdk/pull/644) -- Split npm start into an init and watch script - [\#742](https://github.com/matrix-org/matrix-js-sdk/pull/742) -- Revert "room name should only take canonical alias into account" - [\#738](https://github.com/matrix-org/matrix-js-sdk/pull/738) -- fix display name disambiguation with LL - [\#737](https://github.com/matrix-org/matrix-js-sdk/pull/737) -- Introduce Room.myMembership event - [\#735](https://github.com/matrix-org/matrix-js-sdk/pull/735) -- room name should only take canonical alias into account - [\#733](https://github.com/matrix-org/matrix-js-sdk/pull/733) -- state events from context response were not wrapped in a MatrixEvent - [\#732](https://github.com/matrix-org/matrix-js-sdk/pull/732) -- Reduce amount of promises created when inserting members - [\#724](https://github.com/matrix-org/matrix-js-sdk/pull/724) -- dont wait for LL members to be stored to resolve the members - [\#726](https://github.com/matrix-org/matrix-js-sdk/pull/726) -- RoomState.members emitted with wrong argument order for OOB members - [\#728](https://github.com/matrix-org/matrix-js-sdk/pull/728) - -# Changes in [0.11.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.11.0) (2018-09-10) + * make usage of hub compatible with latest version (2.5) + [\#747](https://github.com/matrix-org/matrix-js-sdk/pull/747) + * Detect when lazy loading has been toggled in client.startClient + [\#746](https://github.com/matrix-org/matrix-js-sdk/pull/746) + * Add getMediaLimits to client + [\#644](https://github.com/matrix-org/matrix-js-sdk/pull/644) + * Split npm start into an init and watch script + [\#742](https://github.com/matrix-org/matrix-js-sdk/pull/742) + * Revert "room name should only take canonical alias into account" + [\#738](https://github.com/matrix-org/matrix-js-sdk/pull/738) + * fix display name disambiguation with LL + [\#737](https://github.com/matrix-org/matrix-js-sdk/pull/737) + * Introduce Room.myMembership event + [\#735](https://github.com/matrix-org/matrix-js-sdk/pull/735) + * room name should only take canonical alias into account + [\#733](https://github.com/matrix-org/matrix-js-sdk/pull/733) + * state events from context response were not wrapped in a MatrixEvent + [\#732](https://github.com/matrix-org/matrix-js-sdk/pull/732) + * Reduce amount of promises created when inserting members + [\#724](https://github.com/matrix-org/matrix-js-sdk/pull/724) + * dont wait for LL members to be stored to resolve the members + [\#726](https://github.com/matrix-org/matrix-js-sdk/pull/726) + * RoomState.members emitted with wrong argument order for OOB members + [\#728](https://github.com/matrix-org/matrix-js-sdk/pull/728) +Changes in [0.11.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.11.0) (2018-09-10) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.11.0-rc.1...v0.11.0) -## BREAKING CHANGES - -- v0.11.0-rc.1 introduced some breaking changes - see the respective release notes. +BREAKING CHANGES +---------------- + * v0.11.0-rc.1 introduced some breaking changes - see the respective release notes. No changes since rc.1 -# Changes in [0.11.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.11.0-rc.1) (2018-09-07) - +Changes in [0.11.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.11.0-rc.1) (2018-09-07) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.9...v0.11.0-rc.1) -- Support for lazy loading members. This should improve performance for - users who joined big rooms a lot. Pass to `lazyLoadMembers = true` option when calling `startClient`. + * Support for lazy loading members. This should improve performance for + users who joined big rooms a lot. Pass to `lazyLoadMembers = true` option when calling `startClient`. -## BREAKING CHANGES +BREAKING CHANGES +---------------- -- `MatrixClient::startClient` now returns a Promise. No method should be called on the client before that promise resolves. Before this method didn't return anything. -- A new `CATCHUP` sync state, emitted by `MatrixClient#"sync"` and returned by `MatrixClient::getSyncState()`, when doing initial sync after the `ERROR` state. See `MatrixClient` documentation for details. -- `RoomState::maySendEvent('m.room.message', userId)` & `RoomState::maySendMessage(userId)` do not check the membership of the user anymore, only the power level. To check if the syncing user is allowed to write in a room, use `Room::maySendMessage()` as `RoomState` is not always aware of the syncing user's membership anymore, in case lazy loading of members is enabled. + * `MatrixClient::startClient` now returns a Promise. No method should be called on the client before that promise resolves. Before this method didn't return anything. + * A new `CATCHUP` sync state, emitted by `MatrixClient#"sync"` and returned by `MatrixClient::getSyncState()`, when doing initial sync after the `ERROR` state. See `MatrixClient` documentation for details. + * `RoomState::maySendEvent('m.room.message', userId)` & `RoomState::maySendMessage(userId)` do not check the membership of the user anymore, only the power level. To check if the syncing user is allowed to write in a room, use `Room::maySendMessage()` as `RoomState` is not always aware of the syncing user's membership anymore, in case lazy loading of members is enabled. -## All Changes +All Changes +----------- -- Only emit CATCHUP if recovering from conn error - [\#727](https://github.com/matrix-org/matrix-js-sdk/pull/727) -- Fix docstring for sync data.error - [\#725](https://github.com/matrix-org/matrix-js-sdk/pull/725) -- Re-apply "Don't rely on members to query if syncing user can post to room" - [\#723](https://github.com/matrix-org/matrix-js-sdk/pull/723) -- Revert "Don't rely on members to query if syncing user can post to room" - [\#721](https://github.com/matrix-org/matrix-js-sdk/pull/721) -- Don't rely on members to query if syncing user can post to room - [\#717](https://github.com/matrix-org/matrix-js-sdk/pull/717) -- Fixes for room.guessDMUserId - [\#719](https://github.com/matrix-org/matrix-js-sdk/pull/719) -- Fix filepanel also filtering main timeline with LL turned on. - [\#716](https://github.com/matrix-org/matrix-js-sdk/pull/716) -- Remove lazy loaded members when leaving room - [\#711](https://github.com/matrix-org/matrix-js-sdk/pull/711) -- Fix: show spinner again while recovering from connection error - [\#702](https://github.com/matrix-org/matrix-js-sdk/pull/702) -- Add method to query LL state in client - [\#714](https://github.com/matrix-org/matrix-js-sdk/pull/714) -- Fix: also load invited members when lazy loading members - [\#707](https://github.com/matrix-org/matrix-js-sdk/pull/707) -- Pass through function to discard megolm session - [\#704](https://github.com/matrix-org/matrix-js-sdk/pull/704) - -# Changes in [0.10.9](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.9) (2018-09-03) + * Only emit CATCHUP if recovering from conn error + [\#727](https://github.com/matrix-org/matrix-js-sdk/pull/727) + * Fix docstring for sync data.error + [\#725](https://github.com/matrix-org/matrix-js-sdk/pull/725) + * Re-apply "Don't rely on members to query if syncing user can post to room" + [\#723](https://github.com/matrix-org/matrix-js-sdk/pull/723) + * Revert "Don't rely on members to query if syncing user can post to room" + [\#721](https://github.com/matrix-org/matrix-js-sdk/pull/721) + * Don't rely on members to query if syncing user can post to room + [\#717](https://github.com/matrix-org/matrix-js-sdk/pull/717) + * Fixes for room.guessDMUserId + [\#719](https://github.com/matrix-org/matrix-js-sdk/pull/719) + * Fix filepanel also filtering main timeline with LL turned on. + [\#716](https://github.com/matrix-org/matrix-js-sdk/pull/716) + * Remove lazy loaded members when leaving room + [\#711](https://github.com/matrix-org/matrix-js-sdk/pull/711) + * Fix: show spinner again while recovering from connection error + [\#702](https://github.com/matrix-org/matrix-js-sdk/pull/702) + * Add method to query LL state in client + [\#714](https://github.com/matrix-org/matrix-js-sdk/pull/714) + * Fix: also load invited members when lazy loading members + [\#707](https://github.com/matrix-org/matrix-js-sdk/pull/707) + * Pass through function to discard megolm session + [\#704](https://github.com/matrix-org/matrix-js-sdk/pull/704) +Changes in [0.10.9](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.9) (2018-09-03) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.9-rc.2...v0.10.9) -- No changes since rc.2 - -# Changes in [0.10.9-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.9-rc.2) (2018-08-31) + * No changes since rc.2 +Changes in [0.10.9-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.9-rc.2) (2018-08-31) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.9-rc.1...v0.10.9-rc.2) -- Fix for "otherMember.getAvatarUrl is not a function" - [\#708](https://github.com/matrix-org/matrix-js-sdk/pull/708) - -# Changes in [0.10.9-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.9-rc.1) (2018-08-30) + * Fix for "otherMember.getAvatarUrl is not a function" + [\#708](https://github.com/matrix-org/matrix-js-sdk/pull/708) +Changes in [0.10.9-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.9-rc.1) (2018-08-30) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.8...v0.10.9-rc.1) -- Fix DM avatar - [\#706](https://github.com/matrix-org/matrix-js-sdk/pull/706) -- Lazy loading: avoid loading members at initial sync for e2e rooms - [\#699](https://github.com/matrix-org/matrix-js-sdk/pull/699) -- Improve setRoomEncryption guard against multiple m.room.encryption st… - [\#700](https://github.com/matrix-org/matrix-js-sdk/pull/700) -- Revert "Lazy loading: don't block on setting up room crypto" - [\#698](https://github.com/matrix-org/matrix-js-sdk/pull/698) -- Lazy loading: don't block on setting up room crypto - [\#696](https://github.com/matrix-org/matrix-js-sdk/pull/696) -- Add getVisibleRooms() - [\#695](https://github.com/matrix-org/matrix-js-sdk/pull/695) -- Add wrapper around getJoinedMemberCount() - [\#697](https://github.com/matrix-org/matrix-js-sdk/pull/697) -- Api to fetch events via /room/.../event/.. - [\#694](https://github.com/matrix-org/matrix-js-sdk/pull/694) -- Support for room upgrades - [\#693](https://github.com/matrix-org/matrix-js-sdk/pull/693) -- Lazy loading of room members - [\#691](https://github.com/matrix-org/matrix-js-sdk/pull/691) - -# Changes in [0.10.8](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.8) (2018-08-20) + * Fix DM avatar + [\#706](https://github.com/matrix-org/matrix-js-sdk/pull/706) + * Lazy loading: avoid loading members at initial sync for e2e rooms + [\#699](https://github.com/matrix-org/matrix-js-sdk/pull/699) + * Improve setRoomEncryption guard against multiple m.room.encryption st… + [\#700](https://github.com/matrix-org/matrix-js-sdk/pull/700) + * Revert "Lazy loading: don't block on setting up room crypto" + [\#698](https://github.com/matrix-org/matrix-js-sdk/pull/698) + * Lazy loading: don't block on setting up room crypto + [\#696](https://github.com/matrix-org/matrix-js-sdk/pull/696) + * Add getVisibleRooms() + [\#695](https://github.com/matrix-org/matrix-js-sdk/pull/695) + * Add wrapper around getJoinedMemberCount() + [\#697](https://github.com/matrix-org/matrix-js-sdk/pull/697) + * Api to fetch events via /room/.../event/.. + [\#694](https://github.com/matrix-org/matrix-js-sdk/pull/694) + * Support for room upgrades + [\#693](https://github.com/matrix-org/matrix-js-sdk/pull/693) + * Lazy loading of room members + [\#691](https://github.com/matrix-org/matrix-js-sdk/pull/691) +Changes in [0.10.8](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.8) (2018-08-20) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.8-rc.1...v0.10.8) -- No changes since rc.1 - -# Changes in [0.10.8-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.8-rc.1) (2018-08-16) + * No changes since rc.1 +Changes in [0.10.8-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.8-rc.1) (2018-08-16) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.7...v0.10.8-rc.1) -- Add getVersion to Room - [\#689](https://github.com/matrix-org/matrix-js-sdk/pull/689) -- Add getSyncStateData() - [\#680](https://github.com/matrix-org/matrix-js-sdk/pull/680) -- Send sync error to listener - [\#679](https://github.com/matrix-org/matrix-js-sdk/pull/679) -- make sure room.tags is always a valid object to avoid crashes - [\#675](https://github.com/matrix-org/matrix-js-sdk/pull/675) -- Fix infinite spinner upon joining a room - [\#673](https://github.com/matrix-org/matrix-js-sdk/pull/673) - -# Changes in [0.10.7](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.7) (2018-07-30) + * Add getVersion to Room + [\#689](https://github.com/matrix-org/matrix-js-sdk/pull/689) + * Add getSyncStateData() + [\#680](https://github.com/matrix-org/matrix-js-sdk/pull/680) + * Send sync error to listener + [\#679](https://github.com/matrix-org/matrix-js-sdk/pull/679) + * make sure room.tags is always a valid object to avoid crashes + [\#675](https://github.com/matrix-org/matrix-js-sdk/pull/675) + * Fix infinite spinner upon joining a room + [\#673](https://github.com/matrix-org/matrix-js-sdk/pull/673) +Changes in [0.10.7](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.7) (2018-07-30) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.7-rc.1...v0.10.7) -- No changes since rc.1 - -# Changes in [0.10.7-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.7-rc.1) (2018-07-24) + * No changes since rc.1 +Changes in [0.10.7-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.7-rc.1) (2018-07-24) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.6...v0.10.7-rc.1) -- encrypt for invited users if history visibility allows. - [\#666](https://github.com/matrix-org/matrix-js-sdk/pull/666) - -# Changes in [0.10.6](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.6) (2018-07-09) + * encrypt for invited users if history visibility allows. + [\#666](https://github.com/matrix-org/matrix-js-sdk/pull/666) +Changes in [0.10.6](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.6) (2018-07-09) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.6-rc.1...v0.10.6) -- No changes since rc.1 - -# Changes in [0.10.6-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.6-rc.1) (2018-07-06) + * No changes since rc.1 +Changes in [0.10.6-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.6-rc.1) (2018-07-06) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.5...v0.10.6-rc.1) -- Expose event decryption error via Event.decrypted event - [\#665](https://github.com/matrix-org/matrix-js-sdk/pull/665) -- Add decryption error codes to base.DecryptionError - [\#663](https://github.com/matrix-org/matrix-js-sdk/pull/663) - -# Changes in [0.10.5](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.5) (2018-06-29) + * Expose event decryption error via Event.decrypted event + [\#665](https://github.com/matrix-org/matrix-js-sdk/pull/665) + * Add decryption error codes to base.DecryptionError + [\#663](https://github.com/matrix-org/matrix-js-sdk/pull/663) +Changes in [0.10.5](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.5) (2018-06-29) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.5-rc.1...v0.10.5) -- No changes since rc.1 - -# Changes in [0.10.5-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.5-rc.1) (2018-06-21) + * No changes since rc.1 +Changes in [0.10.5-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.5-rc.1) (2018-06-21) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.4...v0.10.5-rc.1) -- fix auth header and filename=undefined - [\#659](https://github.com/matrix-org/matrix-js-sdk/pull/659) -- allow setting the output device for webrtc calls - [\#650](https://github.com/matrix-org/matrix-js-sdk/pull/650) -- arguments true and false are actually invalid - [\#596](https://github.com/matrix-org/matrix-js-sdk/pull/596) -- fix typo where `headers` was not being used and thus sent wrong content-type - [\#643](https://github.com/matrix-org/matrix-js-sdk/pull/643) -- fix some documentation typos - [\#642](https://github.com/matrix-org/matrix-js-sdk/pull/642) - -# Changes in [0.10.4](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.4) (2018-06-12) + * fix auth header and filename=undefined + [\#659](https://github.com/matrix-org/matrix-js-sdk/pull/659) + * allow setting the output device for webrtc calls + [\#650](https://github.com/matrix-org/matrix-js-sdk/pull/650) + * arguments true and false are actually invalid + [\#596](https://github.com/matrix-org/matrix-js-sdk/pull/596) + * fix typo where `headers` was not being used and thus sent wrong content-type + [\#643](https://github.com/matrix-org/matrix-js-sdk/pull/643) + * fix some documentation typos + [\#642](https://github.com/matrix-org/matrix-js-sdk/pull/642) +Changes in [0.10.4](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.4) (2018-06-12) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.4-rc.1...v0.10.4) -- No changes since rc.1 - -# Changes in [0.10.4-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.4-rc.1) (2018-06-06) + * No changes since rc.1 +Changes in [0.10.4-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.4-rc.1) (2018-06-06) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.3...v0.10.4-rc.1) -- check whether notif level is undefined, because `0` is falsey - [\#651](https://github.com/matrix-org/matrix-js-sdk/pull/651) - -# Changes in [0.10.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.3) (2018-05-25) + * check whether notif level is undefined, because `0` is falsey + [\#651](https://github.com/matrix-org/matrix-js-sdk/pull/651) +Changes in [0.10.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.3) (2018-05-25) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.3-rc.1...v0.10.3) -- No changes since v0.10.3-rc.1 - -# Changes in [0.10.3-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.3-rc.1) (2018-05-24) + * No changes since v0.10.3-rc.1 +Changes in [0.10.3-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.3-rc.1) (2018-05-24) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.2...v0.10.3-rc.1) -## BREAKING CHANGE +BREAKING CHANGE +--------------- The deprecated 'callback' parameter has been removed from MatrixBaseApis.deactivateAccount -- Add `erase` option to deactivateAccount - [\#649](https://github.com/matrix-org/matrix-js-sdk/pull/649) -- Emit Session.no_consent when M_CONSENT_NOT_GIVEN received - [\#647](https://github.com/matrix-org/matrix-js-sdk/pull/647) - -# Changes in [0.10.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.2) (2018-04-30) + * Add `erase` option to deactivateAccount + [\#649](https://github.com/matrix-org/matrix-js-sdk/pull/649) + * Emit Session.no_consent when M_CONSENT_NOT_GIVEN received + [\#647](https://github.com/matrix-org/matrix-js-sdk/pull/647) +Changes in [0.10.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.2) (2018-04-30) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.2-rc.1...v0.10.2) -- No changes from rc.1 - -# Changes in [0.10.2-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.2-rc.1) (2018-04-25) + * No changes from rc.1 +Changes in [0.10.2-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.2-rc.1) (2018-04-25) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.1...v0.10.2-rc.1) -- Ignore inserts of dup inbound group sessions, pt 2 - [\#641](https://github.com/matrix-org/matrix-js-sdk/pull/641) -- Ignore inserts of duplicate inbound group sessions - [\#639](https://github.com/matrix-org/matrix-js-sdk/pull/639) -- Log IDB errors - [\#638](https://github.com/matrix-org/matrix-js-sdk/pull/638) -- Remove not very useful but veryv spammy log line - [\#632](https://github.com/matrix-org/matrix-js-sdk/pull/632) -- Switch event type to m.sticker. - [\#628](https://github.com/matrix-org/matrix-js-sdk/pull/628) - -# Changes in [0.10.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.1) (2018-04-12) + * Ignore inserts of dup inbound group sessions, pt 2 + [\#641](https://github.com/matrix-org/matrix-js-sdk/pull/641) + * Ignore inserts of duplicate inbound group sessions + [\#639](https://github.com/matrix-org/matrix-js-sdk/pull/639) + * Log IDB errors + [\#638](https://github.com/matrix-org/matrix-js-sdk/pull/638) + * Remove not very useful but veryv spammy log line + [\#632](https://github.com/matrix-org/matrix-js-sdk/pull/632) + * Switch event type to m.sticker. + [\#628](https://github.com/matrix-org/matrix-js-sdk/pull/628) +Changes in [0.10.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.1) (2018-04-12) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.0...v0.10.1) -- Log IDB errors - [\#638](https://github.com/matrix-org/matrix-js-sdk/pull/638) -- Ignore inserts of duplicate inbound group sessions - [\#639](https://github.com/matrix-org/matrix-js-sdk/pull/639) -- Ignore inserts of dup inbound group sessions, pt 2 - [\#641](https://github.com/matrix-org/matrix-js-sdk/pull/641) - -# Changes in [0.10.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.0) (2018-04-11) + * Log IDB errors + [\#638](https://github.com/matrix-org/matrix-js-sdk/pull/638) + * Ignore inserts of duplicate inbound group sessions + [\#639](https://github.com/matrix-org/matrix-js-sdk/pull/639) + * Ignore inserts of dup inbound group sessions, pt 2 + [\#641](https://github.com/matrix-org/matrix-js-sdk/pull/641) +Changes in [0.10.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.0) (2018-04-11) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.0-rc.2...v0.10.0) -- No changes - -# Changes in [0.10.0-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.0-rc.2) (2018-04-09) + * No changes +Changes in [0.10.0-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.0-rc.2) (2018-04-09) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.0-rc.1...v0.10.0-rc.2) -- Add wrapper for group join API -- Add wrapped API to set group join_policy - -# Changes in [0.10.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.0-rc.1) (2018-03-19) + * Add wrapper for group join API + * Add wrapped API to set group join\_policy +Changes in [0.10.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.10.0-rc.1) (2018-03-19) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.9.2...v0.10.0-rc.1) -- Fix duplicated state events in timeline from peek - [\#630](https://github.com/matrix-org/matrix-js-sdk/pull/630) -- Create indexeddb worker when starting the store - [\#627](https://github.com/matrix-org/matrix-js-sdk/pull/627) -- Fix indexeddb logging - [\#626](https://github.com/matrix-org/matrix-js-sdk/pull/626) -- Don't do /keys/changes on incremental sync - [\#625](https://github.com/matrix-org/matrix-js-sdk/pull/625) -- Don't mark devicelist dirty unnecessarily - [\#623](https://github.com/matrix-org/matrix-js-sdk/pull/623) -- Cache the joined member count for a room state - [\#619](https://github.com/matrix-org/matrix-js-sdk/pull/619) -- Fix JS doc - [\#618](https://github.com/matrix-org/matrix-js-sdk/pull/618) -- Precompute push actions for state events - [\#617](https://github.com/matrix-org/matrix-js-sdk/pull/617) -- Fix bug where global "Never send to unverified..." is ignored - [\#616](https://github.com/matrix-org/matrix-js-sdk/pull/616) -- Intern legacy top-level 'membership' field - [\#615](https://github.com/matrix-org/matrix-js-sdk/pull/615) -- Don't synthesize RR for m.room.redaction as causes the RR to go missing. - [\#598](https://github.com/matrix-org/matrix-js-sdk/pull/598) -- Make Events create Dates on demand - [\#613](https://github.com/matrix-org/matrix-js-sdk/pull/613) -- Stop cloning events when adding to state - [\#612](https://github.com/matrix-org/matrix-js-sdk/pull/612) -- De-dup code: use the initialiseState function - [\#611](https://github.com/matrix-org/matrix-js-sdk/pull/611) -- Create sentinel members on-demand - [\#610](https://github.com/matrix-org/matrix-js-sdk/pull/610) -- Some more doc on how sentinels work - [\#609](https://github.com/matrix-org/matrix-js-sdk/pull/609) -- Migrate room encryption store to crypto store - [\#597](https://github.com/matrix-org/matrix-js-sdk/pull/597) -- add parameter to getIdentityServerUrl to strip the protocol for invites - [\#600](https://github.com/matrix-org/matrix-js-sdk/pull/600) -- Move Device Tracking Data to Crypto Store - [\#594](https://github.com/matrix-org/matrix-js-sdk/pull/594) -- Optimise pushprocessor - [\#591](https://github.com/matrix-org/matrix-js-sdk/pull/591) -- Set event error before emitting - [\#592](https://github.com/matrix-org/matrix-js-sdk/pull/592) -- Add event type for stickers [WIP] - [\#590](https://github.com/matrix-org/matrix-js-sdk/pull/590) -- Migrate inbound sessions to cryptostore - [\#587](https://github.com/matrix-org/matrix-js-sdk/pull/587) -- Disambiguate names if they contain an mxid - [\#588](https://github.com/matrix-org/matrix-js-sdk/pull/588) -- Check for sessions in indexeddb before migrating - [\#585](https://github.com/matrix-org/matrix-js-sdk/pull/585) -- Emit an event for crypto store migration - [\#586](https://github.com/matrix-org/matrix-js-sdk/pull/586) -- Supporting fixes For making UnknownDeviceDialog not pop up automatically - [\#575](https://github.com/matrix-org/matrix-js-sdk/pull/575) -- Move sessions to the crypto store - [\#584](https://github.com/matrix-org/matrix-js-sdk/pull/584) -- Change crypto store transaction API - [\#582](https://github.com/matrix-org/matrix-js-sdk/pull/582) -- Add some missed copyright notices - [\#581](https://github.com/matrix-org/matrix-js-sdk/pull/581) -- Move Olm account to IndexedDB - [\#579](https://github.com/matrix-org/matrix-js-sdk/pull/579) -- Fix logging of DecryptionErrors to be more useful - [\#580](https://github.com/matrix-org/matrix-js-sdk/pull/580) -- [BREAKING] Change the behaviour of the unverfied devices blacklist flag - [\#568](https://github.com/matrix-org/matrix-js-sdk/pull/568) -- Support set_presence=offline for syncing - [\#557](https://github.com/matrix-org/matrix-js-sdk/pull/557) -- Consider cases where the sender may not redact their own event - [\#556](https://github.com/matrix-org/matrix-js-sdk/pull/556) - -# Changes in [0.9.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.9.2) (2017-12-04) + * Fix duplicated state events in timeline from peek + [\#630](https://github.com/matrix-org/matrix-js-sdk/pull/630) + * Create indexeddb worker when starting the store + [\#627](https://github.com/matrix-org/matrix-js-sdk/pull/627) + * Fix indexeddb logging + [\#626](https://github.com/matrix-org/matrix-js-sdk/pull/626) + * Don't do /keys/changes on incremental sync + [\#625](https://github.com/matrix-org/matrix-js-sdk/pull/625) + * Don't mark devicelist dirty unnecessarily + [\#623](https://github.com/matrix-org/matrix-js-sdk/pull/623) + * Cache the joined member count for a room state + [\#619](https://github.com/matrix-org/matrix-js-sdk/pull/619) + * Fix JS doc + [\#618](https://github.com/matrix-org/matrix-js-sdk/pull/618) + * Precompute push actions for state events + [\#617](https://github.com/matrix-org/matrix-js-sdk/pull/617) + * Fix bug where global "Never send to unverified..." is ignored + [\#616](https://github.com/matrix-org/matrix-js-sdk/pull/616) + * Intern legacy top-level 'membership' field + [\#615](https://github.com/matrix-org/matrix-js-sdk/pull/615) + * Don't synthesize RR for m.room.redaction as causes the RR to go missing. + [\#598](https://github.com/matrix-org/matrix-js-sdk/pull/598) + * Make Events create Dates on demand + [\#613](https://github.com/matrix-org/matrix-js-sdk/pull/613) + * Stop cloning events when adding to state + [\#612](https://github.com/matrix-org/matrix-js-sdk/pull/612) + * De-dup code: use the initialiseState function + [\#611](https://github.com/matrix-org/matrix-js-sdk/pull/611) + * Create sentinel members on-demand + [\#610](https://github.com/matrix-org/matrix-js-sdk/pull/610) + * Some more doc on how sentinels work + [\#609](https://github.com/matrix-org/matrix-js-sdk/pull/609) + * Migrate room encryption store to crypto store + [\#597](https://github.com/matrix-org/matrix-js-sdk/pull/597) + * add parameter to getIdentityServerUrl to strip the protocol for invites + [\#600](https://github.com/matrix-org/matrix-js-sdk/pull/600) + * Move Device Tracking Data to Crypto Store + [\#594](https://github.com/matrix-org/matrix-js-sdk/pull/594) + * Optimise pushprocessor + [\#591](https://github.com/matrix-org/matrix-js-sdk/pull/591) + * Set event error before emitting + [\#592](https://github.com/matrix-org/matrix-js-sdk/pull/592) + * Add event type for stickers [WIP] + [\#590](https://github.com/matrix-org/matrix-js-sdk/pull/590) + * Migrate inbound sessions to cryptostore + [\#587](https://github.com/matrix-org/matrix-js-sdk/pull/587) + * Disambiguate names if they contain an mxid + [\#588](https://github.com/matrix-org/matrix-js-sdk/pull/588) + * Check for sessions in indexeddb before migrating + [\#585](https://github.com/matrix-org/matrix-js-sdk/pull/585) + * Emit an event for crypto store migration + [\#586](https://github.com/matrix-org/matrix-js-sdk/pull/586) + * Supporting fixes For making UnknownDeviceDialog not pop up automatically + [\#575](https://github.com/matrix-org/matrix-js-sdk/pull/575) + * Move sessions to the crypto store + [\#584](https://github.com/matrix-org/matrix-js-sdk/pull/584) + * Change crypto store transaction API + [\#582](https://github.com/matrix-org/matrix-js-sdk/pull/582) + * Add some missed copyright notices + [\#581](https://github.com/matrix-org/matrix-js-sdk/pull/581) + * Move Olm account to IndexedDB + [\#579](https://github.com/matrix-org/matrix-js-sdk/pull/579) + * Fix logging of DecryptionErrors to be more useful + [\#580](https://github.com/matrix-org/matrix-js-sdk/pull/580) + * [BREAKING] Change the behaviour of the unverfied devices blacklist flag + [\#568](https://github.com/matrix-org/matrix-js-sdk/pull/568) + * Support set_presence=offline for syncing + [\#557](https://github.com/matrix-org/matrix-js-sdk/pull/557) + * Consider cases where the sender may not redact their own event + [\#556](https://github.com/matrix-org/matrix-js-sdk/pull/556) +Changes in [0.9.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.9.2) (2017-12-04) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.9.1...v0.9.2) -# Changes in [0.9.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.9.1) (2017-11-17) +Changes in [0.9.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.9.1) (2017-11-17) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.9.0...v0.9.1) -- Fix the force TURN option - [\#577](https://github.com/matrix-org/matrix-js-sdk/pull/577) - -# Changes in [0.9.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.9.0) (2017-11-15) + * Fix the force TURN option + [\#577](https://github.com/matrix-org/matrix-js-sdk/pull/577) +Changes in [0.9.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.9.0) (2017-11-15) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.9.0-rc.1...v0.9.0) -# Changes in [0.9.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.9.0-rc.1) (2017-11-10) +Changes in [0.9.0-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.9.0-rc.1) (2017-11-10) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.8.5...v0.9.0-rc.1) -- Modify addRoomToGroup to allow setting isPublic, create alias - updateGroupRoomAssociation - [\#567](https://github.com/matrix-org/matrix-js-sdk/pull/567) -- Expose more functionality of pushprocessor - [\#565](https://github.com/matrix-org/matrix-js-sdk/pull/565) -- Function for working out notif trigger permission - [\#566](https://github.com/matrix-org/matrix-js-sdk/pull/566) -- keep track of event ID and timestamp of decrypted messages - [\#555](https://github.com/matrix-org/matrix-js-sdk/pull/555) -- Fix notifEvent computation - [\#564](https://github.com/matrix-org/matrix-js-sdk/pull/564) -- Fix power level of sentinel members - [\#563](https://github.com/matrix-org/matrix-js-sdk/pull/563) -- don't try to decrypt a redacted message (fixes vector-im/riot-web#3744) - [\#554](https://github.com/matrix-org/matrix-js-sdk/pull/554) -- Support room notifs - [\#562](https://github.com/matrix-org/matrix-js-sdk/pull/562) -- Fix the glob-to-regex code - [\#558](https://github.com/matrix-org/matrix-js-sdk/pull/558) - -# Changes in [0.8.5](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.5) (2017-10-16) + * Modify addRoomToGroup to allow setting isPublic, create alias + updateGroupRoomAssociation + [\#567](https://github.com/matrix-org/matrix-js-sdk/pull/567) + * Expose more functionality of pushprocessor + [\#565](https://github.com/matrix-org/matrix-js-sdk/pull/565) + * Function for working out notif trigger permission + [\#566](https://github.com/matrix-org/matrix-js-sdk/pull/566) + * keep track of event ID and timestamp of decrypted messages + [\#555](https://github.com/matrix-org/matrix-js-sdk/pull/555) + * Fix notifEvent computation + [\#564](https://github.com/matrix-org/matrix-js-sdk/pull/564) + * Fix power level of sentinel members + [\#563](https://github.com/matrix-org/matrix-js-sdk/pull/563) + * don't try to decrypt a redacted message (fixes vector-im/riot-web#3744) + [\#554](https://github.com/matrix-org/matrix-js-sdk/pull/554) + * Support room notifs + [\#562](https://github.com/matrix-org/matrix-js-sdk/pull/562) + * Fix the glob-to-regex code + [\#558](https://github.com/matrix-org/matrix-js-sdk/pull/558) +Changes in [0.8.5](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.5) (2017-10-16) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.8.5-rc.1...v0.8.5) -- Make unknown pushrule conditions not match - [\#559](https://github.com/matrix-org/matrix-js-sdk/pull/559) - -# Changes in [0.8.5-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.5-rc.1) (2017-10-13) + * Make unknown pushrule conditions not match + [\#559](https://github.com/matrix-org/matrix-js-sdk/pull/559) +Changes in [0.8.5-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.5-rc.1) (2017-10-13) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.8.4...v0.8.5-rc.1) -- Implement wrapper API for removing a room from a group - [\#553](https://github.com/matrix-org/matrix-js-sdk/pull/553) -- Fix typo which resulted in stuck key download requests - [\#552](https://github.com/matrix-org/matrix-js-sdk/pull/552) -- Store group when it's created - [\#549](https://github.com/matrix-org/matrix-js-sdk/pull/549) -- Luke/groups remove rooms users from summary - [\#548](https://github.com/matrix-org/matrix-js-sdk/pull/548) -- Clean on prepublish - [\#546](https://github.com/matrix-org/matrix-js-sdk/pull/546) -- Implement wrapper APIs for adding rooms to group summary - [\#545](https://github.com/matrix-org/matrix-js-sdk/pull/545) - -# Changes in [0.8.4](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.4) (2017-09-21) + * Implement wrapper API for removing a room from a group + [\#553](https://github.com/matrix-org/matrix-js-sdk/pull/553) + * Fix typo which resulted in stuck key download requests + [\#552](https://github.com/matrix-org/matrix-js-sdk/pull/552) + * Store group when it's created + [\#549](https://github.com/matrix-org/matrix-js-sdk/pull/549) + * Luke/groups remove rooms users from summary + [\#548](https://github.com/matrix-org/matrix-js-sdk/pull/548) + * Clean on prepublish + [\#546](https://github.com/matrix-org/matrix-js-sdk/pull/546) + * Implement wrapper APIs for adding rooms to group summary + [\#545](https://github.com/matrix-org/matrix-js-sdk/pull/545) +Changes in [0.8.4](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.4) (2017-09-21) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.8.3...v0.8.4) -- Fix build issue - -# Changes in [0.8.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.3) (2017-09-20) + * Fix build issue +Changes in [0.8.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.3) (2017-09-20) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.8.3-rc.1...v0.8.3) -- No changes - -# Changes in [0.8.3-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.3-rc.1) (2017-09-19) + * No changes +Changes in [0.8.3-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.3-rc.1) (2017-09-19) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.8.2...v0.8.3-rc.1) -- consume trailing slash when creating Matrix Client in HS and IS urls - [\#526](https://github.com/matrix-org/matrix-js-sdk/pull/526) -- Add ignore users API - [\#539](https://github.com/matrix-org/matrix-js-sdk/pull/539) -- Upgrade to jsdoc 3.5.5 - [\#540](https://github.com/matrix-org/matrix-js-sdk/pull/540) -- Make re-emitting events much more memory efficient - [\#538](https://github.com/matrix-org/matrix-js-sdk/pull/538) -- Only re-emit events from Event objects if needed - [\#536](https://github.com/matrix-org/matrix-js-sdk/pull/536) -- Handle 'left' users in the deviceList mananagement - [\#535](https://github.com/matrix-org/matrix-js-sdk/pull/535) -- Factor out devicelist integration tests to a separate file - [\#534](https://github.com/matrix-org/matrix-js-sdk/pull/534) -- Refactor sync.\_sync as an async function - [\#533](https://github.com/matrix-org/matrix-js-sdk/pull/533) -- Add es6 to eslint environments - [\#532](https://github.com/matrix-org/matrix-js-sdk/pull/532) - -# Changes in [0.8.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.2) (2017-08-24) + * consume trailing slash when creating Matrix Client in HS and IS urls + [\#526](https://github.com/matrix-org/matrix-js-sdk/pull/526) + * Add ignore users API + [\#539](https://github.com/matrix-org/matrix-js-sdk/pull/539) + * Upgrade to jsdoc 3.5.5 + [\#540](https://github.com/matrix-org/matrix-js-sdk/pull/540) + * Make re-emitting events much more memory efficient + [\#538](https://github.com/matrix-org/matrix-js-sdk/pull/538) + * Only re-emit events from Event objects if needed + [\#536](https://github.com/matrix-org/matrix-js-sdk/pull/536) + * Handle 'left' users in the deviceList mananagement + [\#535](https://github.com/matrix-org/matrix-js-sdk/pull/535) + * Factor out devicelist integration tests to a separate file + [\#534](https://github.com/matrix-org/matrix-js-sdk/pull/534) + * Refactor sync._sync as an async function + [\#533](https://github.com/matrix-org/matrix-js-sdk/pull/533) + * Add es6 to eslint environments + [\#532](https://github.com/matrix-org/matrix-js-sdk/pull/532) +Changes in [0.8.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.2) (2017-08-24) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.8.1...v0.8.2) -- Handle m.call.\* events which are decrypted asynchronously - [\#530](https://github.com/matrix-org/matrix-js-sdk/pull/530) -- Re-emit events from, er, Event objects - [\#529](https://github.com/matrix-org/matrix-js-sdk/pull/529) - -# Changes in [0.8.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.1) (2017-08-23) + * Handle m.call.* events which are decrypted asynchronously + [\#530](https://github.com/matrix-org/matrix-js-sdk/pull/530) + * Re-emit events from, er, Event objects + [\#529](https://github.com/matrix-org/matrix-js-sdk/pull/529) +Changes in [0.8.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.1) (2017-08-23) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.8.1-rc.1...v0.8.1) -- [No changes] - -# Changes in [0.8.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.1-rc.1) (2017-08-22) + * [No changes] +Changes in [0.8.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.1-rc.1) (2017-08-22) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.8.0...v0.8.1-rc.1) -- Fix error handling in interactive-auth - [\#527](https://github.com/matrix-org/matrix-js-sdk/pull/527) -- Make lots of OlmDevice asynchronous - [\#524](https://github.com/matrix-org/matrix-js-sdk/pull/524) -- Make crypto.decryptMessage return decryption results - [\#523](https://github.com/matrix-org/matrix-js-sdk/pull/523) - -# Changes in [0.8.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.0) (2017-08-15) + * Fix error handling in interactive-auth + [\#527](https://github.com/matrix-org/matrix-js-sdk/pull/527) + * Make lots of OlmDevice asynchronous + [\#524](https://github.com/matrix-org/matrix-js-sdk/pull/524) + * Make crypto.decryptMessage return decryption results + [\#523](https://github.com/matrix-org/matrix-js-sdk/pull/523) +Changes in [0.8.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.8.0) (2017-08-15) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.13...v0.8.0) -## BREAKING CHANGE +BREAKING CHANGE +--------------- In order to support a move to a more scalable storage backend, we need to make a number of the APIs related end-to-end encryption asynchronous. @@ -3820,1198 +3817,1190 @@ applications which support end-to-end encryption: 2. The following APIs have been changed to return promises: - - `MatrixClient.getStoredDevicesForUser` - - `MatrixClient.getStoredDevice` - - `MatrixClient.setDeviceVerified` - - `MatrixClient.setDeviceBlocked` - - `MatrixClient.setDeviceKnown` - - `MatrixClient.getEventSenderDeviceInfo` - - `MatrixClient.isEventSenderVerified` - - `MatrixClient.importRoomKeys` + * `MatrixClient.getStoredDevicesForUser` + * `MatrixClient.getStoredDevice` + * `MatrixClient.setDeviceVerified` + * `MatrixClient.setDeviceBlocked` + * `MatrixClient.setDeviceKnown` + * `MatrixClient.getEventSenderDeviceInfo` + * `MatrixClient.isEventSenderVerified` + * `MatrixClient.importRoomKeys` + + Applications using the results of any of the above methods will need to be + updated to wait for the result of the promise. - Applications using the results of any of the above methods will need to be - updated to wait for the result of the promise. 3. `MatrixClient.listDeviceKeys` has been removed altogether. It's been deprecated for some time. Applications using it should instead be changed to use `MatrixClient.getStoredDevices`, which is similar but returns its results in a slightly different format. -- Make bits of `olmlib` asynchronous - [\#521](https://github.com/matrix-org/matrix-js-sdk/pull/521) -- Make some of DeviceList asynchronous - [\#520](https://github.com/matrix-org/matrix-js-sdk/pull/520) -- Make methods in crypto/algorithms async - [\#519](https://github.com/matrix-org/matrix-js-sdk/pull/519) -- Avoid sending unencrypted messages in e2e room - [\#518](https://github.com/matrix-org/matrix-js-sdk/pull/518) -- Make tests wait for syncs to happen - [\#517](https://github.com/matrix-org/matrix-js-sdk/pull/517) -- Make a load of methods in the 'Crypto' module asynchronous - [\#510](https://github.com/matrix-org/matrix-js-sdk/pull/510) -- Set `rawDisplayName` to `userId` if membership has `displayname=null` - [\#515](https://github.com/matrix-org/matrix-js-sdk/pull/515) -- Refactor handling of crypto events for async - [\#508](https://github.com/matrix-org/matrix-js-sdk/pull/508) -- Let event decryption be asynchronous - [\#509](https://github.com/matrix-org/matrix-js-sdk/pull/509) -- Transform `async` functions to bluebird promises - [\#511](https://github.com/matrix-org/matrix-js-sdk/pull/511) -- Add more group APIs - [\#512](https://github.com/matrix-org/matrix-js-sdk/pull/512) -- Retrying test: wait for localEchoUpdated event - [\#507](https://github.com/matrix-org/matrix-js-sdk/pull/507) -- Fix member events breaking on timeline reset, 2 - [\#504](https://github.com/matrix-org/matrix-js-sdk/pull/504) -- Make bits of the js-sdk api asynchronous - [\#503](https://github.com/matrix-org/matrix-js-sdk/pull/503) -- Yet more js-sdk test deflakification - [\#499](https://github.com/matrix-org/matrix-js-sdk/pull/499) -- Fix racy 'matrixclient retrying' test - [\#497](https://github.com/matrix-org/matrix-js-sdk/pull/497) -- Fix spamming of key-share-requests - [\#495](https://github.com/matrix-org/matrix-js-sdk/pull/495) -- Add progress handler to `uploadContent` - [\#500](https://github.com/matrix-org/matrix-js-sdk/pull/500) -- Switch matrix-js-sdk to bluebird - [\#490](https://github.com/matrix-org/matrix-js-sdk/pull/490) -- Fix some more flakey tests - [\#492](https://github.com/matrix-org/matrix-js-sdk/pull/492) -- make the npm test script windows-friendly - [\#489](https://github.com/matrix-org/matrix-js-sdk/pull/489) -- Fix a bunch of races in the tests - [\#488](https://github.com/matrix-org/matrix-js-sdk/pull/488) -- Fix early return in MatrixClient.setGuestAccess - [\#487](https://github.com/matrix-org/matrix-js-sdk/pull/487) -- Remove testUtils.failTest - [\#486](https://github.com/matrix-org/matrix-js-sdk/pull/486) -- Add test:watch script - [\#485](https://github.com/matrix-org/matrix-js-sdk/pull/485) -- Make it possible to use async/await - [\#484](https://github.com/matrix-org/matrix-js-sdk/pull/484) -- Remove m.new_device support - [\#483](https://github.com/matrix-org/matrix-js-sdk/pull/483) -- Use access-token in header - [\#478](https://github.com/matrix-org/matrix-js-sdk/pull/478) -- Sanity-check response from /thirdparty/protocols - [\#482](https://github.com/matrix-org/matrix-js-sdk/pull/482) -- Avoid parsing plain-text errors as JSON - [\#479](https://github.com/matrix-org/matrix-js-sdk/pull/479) -- Use external mock-request - [\#481](https://github.com/matrix-org/matrix-js-sdk/pull/481) -- Fix some races in the tests - [\#480](https://github.com/matrix-org/matrix-js-sdk/pull/480) -- Fall back to MemoryCryptoStore if indexeddb fails - [\#475](https://github.com/matrix-org/matrix-js-sdk/pull/475) -- Fix load failure in firefox when indexedDB is disabled - [\#474](https://github.com/matrix-org/matrix-js-sdk/pull/474) -- Fix a race in a test - [\#471](https://github.com/matrix-org/matrix-js-sdk/pull/471) -- Avoid throwing an unhandled error when the indexeddb is deleted - [\#470](https://github.com/matrix-org/matrix-js-sdk/pull/470) -- fix jsdoc - [\#469](https://github.com/matrix-org/matrix-js-sdk/pull/469) -- Handle m.forwarded_room_key events - [\#468](https://github.com/matrix-org/matrix-js-sdk/pull/468) -- Improve error reporting from indexeddbstore.clearDatabase - [\#466](https://github.com/matrix-org/matrix-js-sdk/pull/466) -- Implement sharing of megolm keys - [\#454](https://github.com/matrix-org/matrix-js-sdk/pull/454) -- Process received room key requests - [\#449](https://github.com/matrix-org/matrix-js-sdk/pull/449) -- Send m.room_key_request events when we fail to decrypt an event - [\#448](https://github.com/matrix-org/matrix-js-sdk/pull/448) -# Changes in [0.7.13](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.13) (2017-06-22) + * Make bits of `olmlib` asynchronous + [\#521](https://github.com/matrix-org/matrix-js-sdk/pull/521) + * Make some of DeviceList asynchronous + [\#520](https://github.com/matrix-org/matrix-js-sdk/pull/520) + * Make methods in crypto/algorithms async + [\#519](https://github.com/matrix-org/matrix-js-sdk/pull/519) + * Avoid sending unencrypted messages in e2e room + [\#518](https://github.com/matrix-org/matrix-js-sdk/pull/518) + * Make tests wait for syncs to happen + [\#517](https://github.com/matrix-org/matrix-js-sdk/pull/517) + * Make a load of methods in the 'Crypto' module asynchronous + [\#510](https://github.com/matrix-org/matrix-js-sdk/pull/510) + * Set `rawDisplayName` to `userId` if membership has `displayname=null` + [\#515](https://github.com/matrix-org/matrix-js-sdk/pull/515) + * Refactor handling of crypto events for async + [\#508](https://github.com/matrix-org/matrix-js-sdk/pull/508) + * Let event decryption be asynchronous + [\#509](https://github.com/matrix-org/matrix-js-sdk/pull/509) + * Transform `async` functions to bluebird promises + [\#511](https://github.com/matrix-org/matrix-js-sdk/pull/511) + * Add more group APIs + [\#512](https://github.com/matrix-org/matrix-js-sdk/pull/512) + * Retrying test: wait for localEchoUpdated event + [\#507](https://github.com/matrix-org/matrix-js-sdk/pull/507) + * Fix member events breaking on timeline reset, 2 + [\#504](https://github.com/matrix-org/matrix-js-sdk/pull/504) + * Make bits of the js-sdk api asynchronous + [\#503](https://github.com/matrix-org/matrix-js-sdk/pull/503) + * Yet more js-sdk test deflakification + [\#499](https://github.com/matrix-org/matrix-js-sdk/pull/499) + * Fix racy 'matrixclient retrying' test + [\#497](https://github.com/matrix-org/matrix-js-sdk/pull/497) + * Fix spamming of key-share-requests + [\#495](https://github.com/matrix-org/matrix-js-sdk/pull/495) + * Add progress handler to `uploadContent` + [\#500](https://github.com/matrix-org/matrix-js-sdk/pull/500) + * Switch matrix-js-sdk to bluebird + [\#490](https://github.com/matrix-org/matrix-js-sdk/pull/490) + * Fix some more flakey tests + [\#492](https://github.com/matrix-org/matrix-js-sdk/pull/492) + * make the npm test script windows-friendly + [\#489](https://github.com/matrix-org/matrix-js-sdk/pull/489) + * Fix a bunch of races in the tests + [\#488](https://github.com/matrix-org/matrix-js-sdk/pull/488) + * Fix early return in MatrixClient.setGuestAccess + [\#487](https://github.com/matrix-org/matrix-js-sdk/pull/487) + * Remove testUtils.failTest + [\#486](https://github.com/matrix-org/matrix-js-sdk/pull/486) + * Add test:watch script + [\#485](https://github.com/matrix-org/matrix-js-sdk/pull/485) + * Make it possible to use async/await + [\#484](https://github.com/matrix-org/matrix-js-sdk/pull/484) + * Remove m.new_device support + [\#483](https://github.com/matrix-org/matrix-js-sdk/pull/483) + * Use access-token in header + [\#478](https://github.com/matrix-org/matrix-js-sdk/pull/478) + * Sanity-check response from /thirdparty/protocols + [\#482](https://github.com/matrix-org/matrix-js-sdk/pull/482) + * Avoid parsing plain-text errors as JSON + [\#479](https://github.com/matrix-org/matrix-js-sdk/pull/479) + * Use external mock-request + [\#481](https://github.com/matrix-org/matrix-js-sdk/pull/481) + * Fix some races in the tests + [\#480](https://github.com/matrix-org/matrix-js-sdk/pull/480) + * Fall back to MemoryCryptoStore if indexeddb fails + [\#475](https://github.com/matrix-org/matrix-js-sdk/pull/475) + * Fix load failure in firefox when indexedDB is disabled + [\#474](https://github.com/matrix-org/matrix-js-sdk/pull/474) + * Fix a race in a test + [\#471](https://github.com/matrix-org/matrix-js-sdk/pull/471) + * Avoid throwing an unhandled error when the indexeddb is deleted + [\#470](https://github.com/matrix-org/matrix-js-sdk/pull/470) + * fix jsdoc + [\#469](https://github.com/matrix-org/matrix-js-sdk/pull/469) + * Handle m.forwarded_room_key events + [\#468](https://github.com/matrix-org/matrix-js-sdk/pull/468) + * Improve error reporting from indexeddbstore.clearDatabase + [\#466](https://github.com/matrix-org/matrix-js-sdk/pull/466) + * Implement sharing of megolm keys + [\#454](https://github.com/matrix-org/matrix-js-sdk/pull/454) + * Process received room key requests + [\#449](https://github.com/matrix-org/matrix-js-sdk/pull/449) + * Send m.room_key_request events when we fail to decrypt an event + [\#448](https://github.com/matrix-org/matrix-js-sdk/pull/448) +Changes in [0.7.13](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.13) (2017-06-22) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.12...v0.7.13) -- Fix failure on Tor browser - [\#473](https://github.com/matrix-org/matrix-js-sdk/pull/473) -- Fix issues with firefox private browsing - [\#472](https://github.com/matrix-org/matrix-js-sdk/pull/472) - -# Changes in [0.7.12](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.12) (2017-06-19) + * Fix failure on Tor browser + [\#473](https://github.com/matrix-org/matrix-js-sdk/pull/473) + * Fix issues with firefox private browsing + [\#472](https://github.com/matrix-org/matrix-js-sdk/pull/472) +Changes in [0.7.12](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.12) (2017-06-19) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.12-rc.1...v0.7.12) -- No changes + * No changes -# Changes in [0.7.12-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.12-rc.1) (2017-06-15) +Changes in [0.7.12-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.12-rc.1) (2017-06-15) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.11...v0.7.12-rc.1) -- allow setting iceTransportPolicy to relay through forceTURN option - [\#462](https://github.com/matrix-org/matrix-js-sdk/pull/462) - -# Changes in [0.7.11](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.11) (2017-06-12) + * allow setting iceTransportPolicy to relay through forceTURN option + [\#462](https://github.com/matrix-org/matrix-js-sdk/pull/462) +Changes in [0.7.11](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.11) (2017-06-12) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.11-rc.1...v0.7.11) -- Add a bunch of logging around sending messages - [\#460](https://github.com/matrix-org/matrix-js-sdk/pull/460) - -# Changes in [0.7.11-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.11-rc.1) (2017-06-09) + * Add a bunch of logging around sending messages + [\#460](https://github.com/matrix-org/matrix-js-sdk/pull/460) +Changes in [0.7.11-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.11-rc.1) (2017-06-09) +============================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.10...v0.7.11-rc.1) -- Make TimelineWindow.load resolve quicker if we have the events - [\#458](https://github.com/matrix-org/matrix-js-sdk/pull/458) -- Stop peeking when a matrix client is stopped - [\#451](https://github.com/matrix-org/matrix-js-sdk/pull/451) -- Update README: Clarify how to install libolm - [\#450](https://github.com/matrix-org/matrix-js-sdk/pull/450) - -# Changes in [0.7.10](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.10) (2017-06-02) + * Make TimelineWindow.load resolve quicker if we have the events + [\#458](https://github.com/matrix-org/matrix-js-sdk/pull/458) + * Stop peeking when a matrix client is stopped + [\#451](https://github.com/matrix-org/matrix-js-sdk/pull/451) + * Update README: Clarify how to install libolm + [\#450](https://github.com/matrix-org/matrix-js-sdk/pull/450) +Changes in [0.7.10](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.10) (2017-06-02) +================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.9...v0.7.10) -- BREAKING CHANGE: The SDK no longer `require`s `olm` - instead it expects - libolm to be provided as an `Olm` global. This will only affect - applications which use end-to-end encryption. See the - [README](README.md#end-to-end-encryption-support) for details. + * BREAKING CHANGE: The SDK no longer ``require``s ``olm`` - instead it expects + libolm to be provided as an ``Olm`` global. This will only affect + applications which use end-to-end encryption. See the + [README](README.md#end-to-end-encryption-support) for details. -- indexeddb-crypto-store: fix db deletion - [\#447](https://github.com/matrix-org/matrix-js-sdk/pull/447) -- Load Olm from the global rather than requiring it. - [\#446](https://github.com/matrix-org/matrix-js-sdk/pull/446) - -# Changes in [0.7.9](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.9) (2017-06-01) + * indexeddb-crypto-store: fix db deletion + [\#447](https://github.com/matrix-org/matrix-js-sdk/pull/447) + * Load Olm from the global rather than requiring it. + [\#446](https://github.com/matrix-org/matrix-js-sdk/pull/446) +Changes in [0.7.9](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.9) (2017-06-01) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.8...v0.7.9) -- Initial framework for indexeddb-backed crypto store - [\#445](https://github.com/matrix-org/matrix-js-sdk/pull/445) -- Factor out reEmit to a common module - [\#444](https://github.com/matrix-org/matrix-js-sdk/pull/444) -- crypto/algorithms/base.js: Convert to es6 - [\#443](https://github.com/matrix-org/matrix-js-sdk/pull/443) -- maySendRedactionForEvent for userId - [\#435](https://github.com/matrix-org/matrix-js-sdk/pull/435) -- MatrixClient: add getUserId() - [\#441](https://github.com/matrix-org/matrix-js-sdk/pull/441) -- Run jsdoc on a custom babeling of the source - [\#442](https://github.com/matrix-org/matrix-js-sdk/pull/442) -- Add in a public api getStoredDevice allowing clients to get a specific - device - [\#439](https://github.com/matrix-org/matrix-js-sdk/pull/439) - -# Changes in [0.7.8](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.8) (2017-05-22) + * Initial framework for indexeddb-backed crypto store + [\#445](https://github.com/matrix-org/matrix-js-sdk/pull/445) + * Factor out reEmit to a common module + [\#444](https://github.com/matrix-org/matrix-js-sdk/pull/444) + * crypto/algorithms/base.js: Convert to es6 + [\#443](https://github.com/matrix-org/matrix-js-sdk/pull/443) + * maySendRedactionForEvent for userId + [\#435](https://github.com/matrix-org/matrix-js-sdk/pull/435) + * MatrixClient: add getUserId() + [\#441](https://github.com/matrix-org/matrix-js-sdk/pull/441) + * Run jsdoc on a custom babeling of the source + [\#442](https://github.com/matrix-org/matrix-js-sdk/pull/442) + * Add in a public api getStoredDevice allowing clients to get a specific + device + [\#439](https://github.com/matrix-org/matrix-js-sdk/pull/439) +Changes in [0.7.8](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.8) (2017-05-22) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.8-rc.1...v0.7.8) -- No changes + * No changes -# Changes in [0.7.8-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.8-rc.1) (2017-05-19) +Changes in [0.7.8-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.8-rc.1) (2017-05-19) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.7...v0.7.8-rc.1) -- Attempt to rework the release-tarball-signing stuff - [\#438](https://github.com/matrix-org/matrix-js-sdk/pull/438) -- ability to specify webrtc audio/video inputs for the lib to request - [\#427](https://github.com/matrix-org/matrix-js-sdk/pull/427) -- make screen sharing call FF friendly :D - [\#434](https://github.com/matrix-org/matrix-js-sdk/pull/434) -- Fix race in device list updates - [\#431](https://github.com/matrix-org/matrix-js-sdk/pull/431) -- WebRTC: Support recvonly for video for those without a webcam - [\#424](https://github.com/matrix-org/matrix-js-sdk/pull/424) -- Update istanbul to remove minimatch DoS Warning - [\#422](https://github.com/matrix-org/matrix-js-sdk/pull/422) -- webrtc/call: Make it much less likely that callIds collide locally - [\#423](https://github.com/matrix-org/matrix-js-sdk/pull/423) -- Automatically complete dummy auth - [\#420](https://github.com/matrix-org/matrix-js-sdk/pull/420) -- Don't leave the gh-pages branch checked out - [\#418](https://github.com/matrix-org/matrix-js-sdk/pull/418) - -# Changes in [0.7.7](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.7) (2017-04-25) + * Attempt to rework the release-tarball-signing stuff + [\#438](https://github.com/matrix-org/matrix-js-sdk/pull/438) + * ability to specify webrtc audio/video inputs for the lib to request + [\#427](https://github.com/matrix-org/matrix-js-sdk/pull/427) + * make screen sharing call FF friendly :D + [\#434](https://github.com/matrix-org/matrix-js-sdk/pull/434) + * Fix race in device list updates + [\#431](https://github.com/matrix-org/matrix-js-sdk/pull/431) + * WebRTC: Support recvonly for video for those without a webcam + [\#424](https://github.com/matrix-org/matrix-js-sdk/pull/424) + * Update istanbul to remove minimatch DoS Warning + [\#422](https://github.com/matrix-org/matrix-js-sdk/pull/422) + * webrtc/call: Make it much less likely that callIds collide locally + [\#423](https://github.com/matrix-org/matrix-js-sdk/pull/423) + * Automatically complete dummy auth + [\#420](https://github.com/matrix-org/matrix-js-sdk/pull/420) + * Don't leave the gh-pages branch checked out + [\#418](https://github.com/matrix-org/matrix-js-sdk/pull/418) +Changes in [0.7.7](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.7) (2017-04-25) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.7-rc.1...v0.7.7) -- No changes + * No changes -# Changes in [0.7.7-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.7-rc.1) (2017-04-21) +Changes in [0.7.7-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.7-rc.1) (2017-04-21) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.6...v0.7.7-rc.1) -- Automatically complete dummy auth - [\#420](https://github.com/matrix-org/matrix-js-sdk/pull/420) + * Automatically complete dummy auth + [\#420](https://github.com/matrix-org/matrix-js-sdk/pull/420) -# Changes in [0.7.6](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.6) (2017-04-12) +Changes in [0.7.6](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.6) (2017-04-12) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.6-rc.2...v0.7.6) -- No changes - -# Changes in [0.7.6-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.6-rc.2) (2017-04-10) + * No changes +Changes in [0.7.6-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.6-rc.2) (2017-04-10) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.6-rc.1...v0.7.6-rc.2) -- Add feature detection for webworkers - [\#416](https://github.com/matrix-org/matrix-js-sdk/pull/416) -- Fix release script - [\#415](https://github.com/matrix-org/matrix-js-sdk/pull/415) - -# Changes in [0.7.6-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.6-rc.1) (2017-04-07) + * Add feature detection for webworkers + [\#416](https://github.com/matrix-org/matrix-js-sdk/pull/416) + * Fix release script + [\#415](https://github.com/matrix-org/matrix-js-sdk/pull/415) +Changes in [0.7.6-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.6-rc.1) (2017-04-07) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.5...v0.7.6-rc.1) -- Make indexeddb save after the first sync - [\#414](https://github.com/matrix-org/matrix-js-sdk/pull/414) -- Make indexeddb startup faster - [\#413](https://github.com/matrix-org/matrix-js-sdk/pull/413) -- Add ability to do indexeddb sync work in webworker - [\#412](https://github.com/matrix-org/matrix-js-sdk/pull/412) -- Move more functionality to the indexeddb backend - [\#409](https://github.com/matrix-org/matrix-js-sdk/pull/409) -- Indicate syncState ERROR after many failed /syncs - [\#410](https://github.com/matrix-org/matrix-js-sdk/pull/410) -- Further reorganising of indexeddb sync code - [\#407](https://github.com/matrix-org/matrix-js-sdk/pull/407) -- Change interface of IndexedDBStore: hide internals - [\#406](https://github.com/matrix-org/matrix-js-sdk/pull/406) -- Don't be SYNCING until updating from the server - [\#405](https://github.com/matrix-org/matrix-js-sdk/pull/405) -- Don't log the entire /sync response - [\#403](https://github.com/matrix-org/matrix-js-sdk/pull/403) -- webrtc/call: Assign MediaStream to video element srcObject - [\#402](https://github.com/matrix-org/matrix-js-sdk/pull/402) -- Fix undefined reference in http-api - [\#400](https://github.com/matrix-org/matrix-js-sdk/pull/400) -- Add copyright header to event-timeline.js - [\#382](https://github.com/matrix-org/matrix-js-sdk/pull/382) -- client: fix docs for user-scoped account_data events - [\#397](https://github.com/matrix-org/matrix-js-sdk/pull/397) -- Add a CONTRIBUTING for js-sdk - [\#399](https://github.com/matrix-org/matrix-js-sdk/pull/399) -- Fix leaking room state objects on limited sync responses - [\#395](https://github.com/matrix-org/matrix-js-sdk/pull/395) -- Extend 'ignoreFailure' to be 'background' - [\#396](https://github.com/matrix-org/matrix-js-sdk/pull/396) -- Add x_show_msisdn parameter to register calls - [\#388](https://github.com/matrix-org/matrix-js-sdk/pull/388) -- Update event redaction to keep sender and origin_server_ts - [\#394](https://github.com/matrix-org/matrix-js-sdk/pull/394) -- Handle 'limited' timeline responses in the SyncAccumulator - [\#393](https://github.com/matrix-org/matrix-js-sdk/pull/393) -- Give a better error message if the HS doesn't support msisdn registeration - [\#391](https://github.com/matrix-org/matrix-js-sdk/pull/391) -- Add getEmailSid - [\#383](https://github.com/matrix-org/matrix-js-sdk/pull/383) -- Add m.login.email.identity support to UI auth - [\#380](https://github.com/matrix-org/matrix-js-sdk/pull/380) -- src/client.js: Fix incorrect roomId reference in VoIP glare code - [\#381](https://github.com/matrix-org/matrix-js-sdk/pull/381) -- add .editorconfig - [\#379](https://github.com/matrix-org/matrix-js-sdk/pull/379) -- Store account data in the same way as room data - [\#377](https://github.com/matrix-org/matrix-js-sdk/pull/377) -- Upload one-time keys on /sync rather than a timer - [\#376](https://github.com/matrix-org/matrix-js-sdk/pull/376) -- Increase the WRITE_DELAY on database syncing - [\#374](https://github.com/matrix-org/matrix-js-sdk/pull/374) -- Make deleteAllData() return a Promise - [\#373](https://github.com/matrix-org/matrix-js-sdk/pull/373) -- Don't include banned users in the room name - [\#372](https://github.com/matrix-org/matrix-js-sdk/pull/372) -- Support IndexedDB as a backing store - [\#363](https://github.com/matrix-org/matrix-js-sdk/pull/363) -- Poll /sync with a short timeout while catching up - [\#370](https://github.com/matrix-org/matrix-js-sdk/pull/370) -- Make test coverage work again - [\#368](https://github.com/matrix-org/matrix-js-sdk/pull/368) -- Add docs to event - [\#367](https://github.com/matrix-org/matrix-js-sdk/pull/367) -- Keep the device-sync token more up-to-date - [\#366](https://github.com/matrix-org/matrix-js-sdk/pull/366) -- Fix race conditions in device list download - [\#365](https://github.com/matrix-org/matrix-js-sdk/pull/365) -- Fix the unban method - [\#364](https://github.com/matrix-org/matrix-js-sdk/pull/364) -- Spread out device verification work - [\#362](https://github.com/matrix-org/matrix-js-sdk/pull/362) -- Clean up/improve e2e logging - [\#361](https://github.com/matrix-org/matrix-js-sdk/pull/361) -- Fix decryption of events whose key arrives later - [\#360](https://github.com/matrix-org/matrix-js-sdk/pull/360) -- Invalidate device lists when encryption is enabled in a room - [\#359](https://github.com/matrix-org/matrix-js-sdk/pull/359) -- Switch from jasmine to mocha + expect + lolex - [\#358](https://github.com/matrix-org/matrix-js-sdk/pull/358) -- Install source-map-support in each test - [\#356](https://github.com/matrix-org/matrix-js-sdk/pull/356) -- searchMessageText: avoid setting keys=undefined - [\#357](https://github.com/matrix-org/matrix-js-sdk/pull/357) -- realtime-callbacks: pass `global` as `this` - [\#355](https://github.com/matrix-org/matrix-js-sdk/pull/355) -- Make the tests work without olm - [\#354](https://github.com/matrix-org/matrix-js-sdk/pull/354) -- Tests: Factor out TestClient and use it in crypto tests - [\#353](https://github.com/matrix-org/matrix-js-sdk/pull/353) -- Fix some lint - [\#352](https://github.com/matrix-org/matrix-js-sdk/pull/352) -- Make a sig for source tarballs when releasing - [\#351](https://github.com/matrix-org/matrix-js-sdk/pull/351) -- When doing a pre-release, don't bother merging to master and develop. - [\#350](https://github.com/matrix-org/matrix-js-sdk/pull/350) - -# Changes in [0.7.5](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.5) (2017-02-04) + * Make indexeddb save after the first sync + [\#414](https://github.com/matrix-org/matrix-js-sdk/pull/414) + * Make indexeddb startup faster + [\#413](https://github.com/matrix-org/matrix-js-sdk/pull/413) + * Add ability to do indexeddb sync work in webworker + [\#412](https://github.com/matrix-org/matrix-js-sdk/pull/412) + * Move more functionality to the indexeddb backend + [\#409](https://github.com/matrix-org/matrix-js-sdk/pull/409) + * Indicate syncState ERROR after many failed /syncs + [\#410](https://github.com/matrix-org/matrix-js-sdk/pull/410) + * Further reorganising of indexeddb sync code + [\#407](https://github.com/matrix-org/matrix-js-sdk/pull/407) + * Change interface of IndexedDBStore: hide internals + [\#406](https://github.com/matrix-org/matrix-js-sdk/pull/406) + * Don't be SYNCING until updating from the server + [\#405](https://github.com/matrix-org/matrix-js-sdk/pull/405) + * Don't log the entire /sync response + [\#403](https://github.com/matrix-org/matrix-js-sdk/pull/403) + * webrtc/call: Assign MediaStream to video element srcObject + [\#402](https://github.com/matrix-org/matrix-js-sdk/pull/402) + * Fix undefined reference in http-api + [\#400](https://github.com/matrix-org/matrix-js-sdk/pull/400) + * Add copyright header to event-timeline.js + [\#382](https://github.com/matrix-org/matrix-js-sdk/pull/382) + * client: fix docs for user-scoped account_data events + [\#397](https://github.com/matrix-org/matrix-js-sdk/pull/397) + * Add a CONTRIBUTING for js-sdk + [\#399](https://github.com/matrix-org/matrix-js-sdk/pull/399) + * Fix leaking room state objects on limited sync responses + [\#395](https://github.com/matrix-org/matrix-js-sdk/pull/395) + * Extend 'ignoreFailure' to be 'background' + [\#396](https://github.com/matrix-org/matrix-js-sdk/pull/396) + * Add x_show_msisdn parameter to register calls + [\#388](https://github.com/matrix-org/matrix-js-sdk/pull/388) + * Update event redaction to keep sender and origin_server_ts + [\#394](https://github.com/matrix-org/matrix-js-sdk/pull/394) + * Handle 'limited' timeline responses in the SyncAccumulator + [\#393](https://github.com/matrix-org/matrix-js-sdk/pull/393) + * Give a better error message if the HS doesn't support msisdn registeration + [\#391](https://github.com/matrix-org/matrix-js-sdk/pull/391) + * Add getEmailSid + [\#383](https://github.com/matrix-org/matrix-js-sdk/pull/383) + * Add m.login.email.identity support to UI auth + [\#380](https://github.com/matrix-org/matrix-js-sdk/pull/380) + * src/client.js: Fix incorrect roomId reference in VoIP glare code + [\#381](https://github.com/matrix-org/matrix-js-sdk/pull/381) + * add .editorconfig + [\#379](https://github.com/matrix-org/matrix-js-sdk/pull/379) + * Store account data in the same way as room data + [\#377](https://github.com/matrix-org/matrix-js-sdk/pull/377) + * Upload one-time keys on /sync rather than a timer + [\#376](https://github.com/matrix-org/matrix-js-sdk/pull/376) + * Increase the WRITE_DELAY on database syncing + [\#374](https://github.com/matrix-org/matrix-js-sdk/pull/374) + * Make deleteAllData() return a Promise + [\#373](https://github.com/matrix-org/matrix-js-sdk/pull/373) + * Don't include banned users in the room name + [\#372](https://github.com/matrix-org/matrix-js-sdk/pull/372) + * Support IndexedDB as a backing store + [\#363](https://github.com/matrix-org/matrix-js-sdk/pull/363) + * Poll /sync with a short timeout while catching up + [\#370](https://github.com/matrix-org/matrix-js-sdk/pull/370) + * Make test coverage work again + [\#368](https://github.com/matrix-org/matrix-js-sdk/pull/368) + * Add docs to event + [\#367](https://github.com/matrix-org/matrix-js-sdk/pull/367) + * Keep the device-sync token more up-to-date + [\#366](https://github.com/matrix-org/matrix-js-sdk/pull/366) + * Fix race conditions in device list download + [\#365](https://github.com/matrix-org/matrix-js-sdk/pull/365) + * Fix the unban method + [\#364](https://github.com/matrix-org/matrix-js-sdk/pull/364) + * Spread out device verification work + [\#362](https://github.com/matrix-org/matrix-js-sdk/pull/362) + * Clean up/improve e2e logging + [\#361](https://github.com/matrix-org/matrix-js-sdk/pull/361) + * Fix decryption of events whose key arrives later + [\#360](https://github.com/matrix-org/matrix-js-sdk/pull/360) + * Invalidate device lists when encryption is enabled in a room + [\#359](https://github.com/matrix-org/matrix-js-sdk/pull/359) + * Switch from jasmine to mocha + expect + lolex + [\#358](https://github.com/matrix-org/matrix-js-sdk/pull/358) + * Install source-map-support in each test + [\#356](https://github.com/matrix-org/matrix-js-sdk/pull/356) + * searchMessageText: avoid setting keys=undefined + [\#357](https://github.com/matrix-org/matrix-js-sdk/pull/357) + * realtime-callbacks: pass `global` as `this` + [\#355](https://github.com/matrix-org/matrix-js-sdk/pull/355) + * Make the tests work without olm + [\#354](https://github.com/matrix-org/matrix-js-sdk/pull/354) + * Tests: Factor out TestClient and use it in crypto tests + [\#353](https://github.com/matrix-org/matrix-js-sdk/pull/353) + * Fix some lint + [\#352](https://github.com/matrix-org/matrix-js-sdk/pull/352) + * Make a sig for source tarballs when releasing + [\#351](https://github.com/matrix-org/matrix-js-sdk/pull/351) + * When doing a pre-release, don't bother merging to master and develop. + [\#350](https://github.com/matrix-org/matrix-js-sdk/pull/350) +Changes in [0.7.5](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.5) (2017-02-04) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.5-rc.3...v0.7.5) No changes from 0.7.5-rc.3 -# Changes in [0.7.5-rc.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.5-rc.3) (2017-02-03) - +Changes in [0.7.5-rc.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.5-rc.3) (2017-02-03) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.5-rc.2...v0.7.5-rc.3) -- Include DeviceInfo in deviceVerificationChanged events - [a3cc8eb](https://github.com/matrix-org/matrix-js-sdk/commit/a3cc8eb1f6d165576a342596f638316721cb26b6) -- Fix device list update - [5fd7410](https://github.com/matrix-org/matrix-js-sdk/commit/5fd74109ffc56b73deb40c2604d84c38b8032c40) + * Include DeviceInfo in deviceVerificationChanged events + [a3cc8eb](https://github.com/matrix-org/matrix-js-sdk/commit/a3cc8eb1f6d165576a342596f638316721cb26b6) + * Fix device list update + [5fd7410](https://github.com/matrix-org/matrix-js-sdk/commit/5fd74109ffc56b73deb40c2604d84c38b8032c40) -# Changes in [0.7.5-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.5-rc.2) (2017-02-03) +Changes in [0.7.5-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.5-rc.2) (2017-02-03) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.5-rc.1...v0.7.5-rc.2) -- Use the device change notifications interface - [\#348](https://github.com/matrix-org/matrix-js-sdk/pull/348) -- Rewrite the device key query logic - [\#347](https://github.com/matrix-org/matrix-js-sdk/pull/347) - -# Changes in [0.7.5-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.5-rc.1) (2017-02-03) + * Use the device change notifications interface + [\#348](https://github.com/matrix-org/matrix-js-sdk/pull/348) + * Rewrite the device key query logic + [\#347](https://github.com/matrix-org/matrix-js-sdk/pull/347) +Changes in [0.7.5-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.5-rc.1) (2017-02-03) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.4...v0.7.5-rc.1) -- Support for blacklisting unverified devices, both per-room and globally - [\#336](https://github.com/matrix-org/matrix-js-sdk/pull/336) -- track errors when events can't be sent - [\#349](https://github.com/matrix-org/matrix-js-sdk/pull/349) -- Factor out device list management - [\#346](https://github.com/matrix-org/matrix-js-sdk/pull/346) -- Support for warning users when unknown devices show up - [\#335](https://github.com/matrix-org/matrix-js-sdk/pull/335) -- Enable sourcemaps in browserified distro - [\#345](https://github.com/matrix-org/matrix-js-sdk/pull/345) -- Record all e2e room settings in localstorage - [\#344](https://github.com/matrix-org/matrix-js-sdk/pull/344) -- Make Olm work with browserified js-sdk - [\#340](https://github.com/matrix-org/matrix-js-sdk/pull/340) -- Make browserify a dev dependency - [\#339](https://github.com/matrix-org/matrix-js-sdk/pull/339) -- Allow single line brace-style - [\#338](https://github.com/matrix-org/matrix-js-sdk/pull/338) -- Turn on comma-dangle for function calls - [\#333](https://github.com/matrix-org/matrix-js-sdk/pull/333) -- Add prefer-const - [\#331](https://github.com/matrix-org/matrix-js-sdk/pull/331) -- Support for importing and exporting megolm sessions - [\#326](https://github.com/matrix-org/matrix-js-sdk/pull/326) -- Fix linting on all tests - [\#329](https://github.com/matrix-org/matrix-js-sdk/pull/329) -- Fix ESLint warnings and errors - [\#325](https://github.com/matrix-org/matrix-js-sdk/pull/325) -- BREAKING CHANGE: Remove WebStorageStore - [\#324](https://github.com/matrix-org/matrix-js-sdk/pull/324) - -# Changes in [0.7.4](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.4) (2017-01-16) + * Support for blacklisting unverified devices, both per-room and globally + [\#336](https://github.com/matrix-org/matrix-js-sdk/pull/336) + * track errors when events can't be sent + [\#349](https://github.com/matrix-org/matrix-js-sdk/pull/349) + * Factor out device list management + [\#346](https://github.com/matrix-org/matrix-js-sdk/pull/346) + * Support for warning users when unknown devices show up + [\#335](https://github.com/matrix-org/matrix-js-sdk/pull/335) + * Enable sourcemaps in browserified distro + [\#345](https://github.com/matrix-org/matrix-js-sdk/pull/345) + * Record all e2e room settings in localstorage + [\#344](https://github.com/matrix-org/matrix-js-sdk/pull/344) + * Make Olm work with browserified js-sdk + [\#340](https://github.com/matrix-org/matrix-js-sdk/pull/340) + * Make browserify a dev dependency + [\#339](https://github.com/matrix-org/matrix-js-sdk/pull/339) + * Allow single line brace-style + [\#338](https://github.com/matrix-org/matrix-js-sdk/pull/338) + * Turn on comma-dangle for function calls + [\#333](https://github.com/matrix-org/matrix-js-sdk/pull/333) + * Add prefer-const + [\#331](https://github.com/matrix-org/matrix-js-sdk/pull/331) + * Support for importing and exporting megolm sessions + [\#326](https://github.com/matrix-org/matrix-js-sdk/pull/326) + * Fix linting on all tests + [\#329](https://github.com/matrix-org/matrix-js-sdk/pull/329) + * Fix ESLint warnings and errors + [\#325](https://github.com/matrix-org/matrix-js-sdk/pull/325) + * BREAKING CHANGE: Remove WebStorageStore + [\#324](https://github.com/matrix-org/matrix-js-sdk/pull/324) +Changes in [0.7.4](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.4) (2017-01-16) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.4-rc.1...v0.7.4) -- Fix non-conference calling - -# Changes in [0.7.4-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.4-rc.1) (2017-01-13) + * Fix non-conference calling +Changes in [0.7.4-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.4-rc.1) (2017-01-13) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.3...v0.7.4-rc.1) -- Remove babel-polyfill - [\#321](https://github.com/matrix-org/matrix-js-sdk/pull/321) -- Update build process for ES6 - [\#320](https://github.com/matrix-org/matrix-js-sdk/pull/320) -- 'babel' is not a babel package anymore - [\#319](https://github.com/matrix-org/matrix-js-sdk/pull/319) -- Add Babel for ES6 support - [\#318](https://github.com/matrix-org/matrix-js-sdk/pull/318) -- Move screen sharing check/error - [\#317](https://github.com/matrix-org/matrix-js-sdk/pull/317) -- release.sh: Bail early if there are uncommitted changes - [\#316](https://github.com/matrix-org/matrix-js-sdk/pull/316) - -# Changes in [0.7.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.3) (2017-01-04) + * Remove babel-polyfill + [\#321](https://github.com/matrix-org/matrix-js-sdk/pull/321) + * Update build process for ES6 + [\#320](https://github.com/matrix-org/matrix-js-sdk/pull/320) + * 'babel' is not a babel package anymore + [\#319](https://github.com/matrix-org/matrix-js-sdk/pull/319) + * Add Babel for ES6 support + [\#318](https://github.com/matrix-org/matrix-js-sdk/pull/318) + * Move screen sharing check/error + [\#317](https://github.com/matrix-org/matrix-js-sdk/pull/317) + * release.sh: Bail early if there are uncommitted changes + [\#316](https://github.com/matrix-org/matrix-js-sdk/pull/316) +Changes in [0.7.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.3) (2017-01-04) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.2...v0.7.3) -- User presence list feature - [\#310](https://github.com/matrix-org/matrix-js-sdk/pull/310) -- Allow clients the ability to set a default local timeout - [\#313](https://github.com/matrix-org/matrix-js-sdk/pull/313) -- Add API to delete threepid - [\#312](https://github.com/matrix-org/matrix-js-sdk/pull/312) - -# Changes in [0.7.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.2) (2016-12-15) + * User presence list feature + [\#310](https://github.com/matrix-org/matrix-js-sdk/pull/310) + * Allow clients the ability to set a default local timeout + [\#313](https://github.com/matrix-org/matrix-js-sdk/pull/313) + * Add API to delete threepid + [\#312](https://github.com/matrix-org/matrix-js-sdk/pull/312) +Changes in [0.7.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.2) (2016-12-15) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.1...v0.7.2) -- Bump to Olm 2.0 - [\#309](https://github.com/matrix-org/matrix-js-sdk/pull/309) -- Sanity check payload length before encrypting - [\#307](https://github.com/matrix-org/matrix-js-sdk/pull/307) -- Remove dead \_sendPingToDevice function - [\#308](https://github.com/matrix-org/matrix-js-sdk/pull/308) -- Add setRoomDirectoryVisibilityAppService - [\#306](https://github.com/matrix-org/matrix-js-sdk/pull/306) -- Update release script to do signed releases - [\#305](https://github.com/matrix-org/matrix-js-sdk/pull/305) -- e2e: Wait for pending device lists - [\#304](https://github.com/matrix-org/matrix-js-sdk/pull/304) -- Start a new megolm session when devices are blacklisted - [\#303](https://github.com/matrix-org/matrix-js-sdk/pull/303) -- E2E: Download our own devicelist on startup - [\#302](https://github.com/matrix-org/matrix-js-sdk/pull/302) - -# Changes in [0.7.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.1) (2016-12-09) + * Bump to Olm 2.0 + [\#309](https://github.com/matrix-org/matrix-js-sdk/pull/309) + * Sanity check payload length before encrypting + [\#307](https://github.com/matrix-org/matrix-js-sdk/pull/307) + * Remove dead _sendPingToDevice function + [\#308](https://github.com/matrix-org/matrix-js-sdk/pull/308) + * Add setRoomDirectoryVisibilityAppService + [\#306](https://github.com/matrix-org/matrix-js-sdk/pull/306) + * Update release script to do signed releases + [\#305](https://github.com/matrix-org/matrix-js-sdk/pull/305) + * e2e: Wait for pending device lists + [\#304](https://github.com/matrix-org/matrix-js-sdk/pull/304) + * Start a new megolm session when devices are blacklisted + [\#303](https://github.com/matrix-org/matrix-js-sdk/pull/303) + * E2E: Download our own devicelist on startup + [\#302](https://github.com/matrix-org/matrix-js-sdk/pull/302) +Changes in [0.7.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.1) (2016-12-09) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.1-rc.1...v0.7.1) No changes -# Changes in [0.7.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.1-rc.1) (2016-12-05) +Changes in [0.7.1-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.1-rc.1) (2016-12-05) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.0...v0.7.1-rc.1) -- Avoid NPE when no sessionStore is given - [\#300](https://github.com/matrix-org/matrix-js-sdk/pull/300) -- Improve decryption error messages - [\#299](https://github.com/matrix-org/matrix-js-sdk/pull/299) -- Revert "Use native Array.isArray when available." - [\#283](https://github.com/matrix-org/matrix-js-sdk/pull/283) -- Use native Array.isArray when available. - [\#282](https://github.com/matrix-org/matrix-js-sdk/pull/282) - -# Changes in [0.7.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.0) (2016-11-18) + * Avoid NPE when no sessionStore is given + [\#300](https://github.com/matrix-org/matrix-js-sdk/pull/300) + * Improve decryption error messages + [\#299](https://github.com/matrix-org/matrix-js-sdk/pull/299) + * Revert "Use native Array.isArray when available." + [\#283](https://github.com/matrix-org/matrix-js-sdk/pull/283) + * Use native Array.isArray when available. + [\#282](https://github.com/matrix-org/matrix-js-sdk/pull/282) +Changes in [0.7.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.7.0) (2016-11-18) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.6.4...v0.7.0) -- Avoid a packetstorm of device queries on startup - [\#297](https://github.com/matrix-org/matrix-js-sdk/pull/297) -- E2E: Check devices to share keys with on each send - [\#295](https://github.com/matrix-org/matrix-js-sdk/pull/295) -- Apply unknown-keyshare mitigations - [\#296](https://github.com/matrix-org/matrix-js-sdk/pull/296) -- distinguish unknown users from deviceless users - [\#294](https://github.com/matrix-org/matrix-js-sdk/pull/294) -- Allow starting client with initialSyncLimit = 0 - [\#293](https://github.com/matrix-org/matrix-js-sdk/pull/293) -- Make timeline-window \_unpaginate public and rename to unpaginate - [\#289](https://github.com/matrix-org/matrix-js-sdk/pull/289) -- Send a STOPPED sync updated after call to stopClient - [\#286](https://github.com/matrix-org/matrix-js-sdk/pull/286) -- Fix bug in verifying megolm event senders - [\#292](https://github.com/matrix-org/matrix-js-sdk/pull/292) -- Handle decryption of events after they arrive - [\#288](https://github.com/matrix-org/matrix-js-sdk/pull/288) -- Fix examples. - [\#287](https://github.com/matrix-org/matrix-js-sdk/pull/287) -- Add a travis.yml - [\#278](https://github.com/matrix-org/matrix-js-sdk/pull/278) -- Encrypt all events, including 'm.call.\*' - [\#277](https://github.com/matrix-org/matrix-js-sdk/pull/277) -- Ignore reshares of known megolm sessions - [\#276](https://github.com/matrix-org/matrix-js-sdk/pull/276) -- Log to the console on unknown session - [\#274](https://github.com/matrix-org/matrix-js-sdk/pull/274) -- Make it easier for SDK users to wrap prevailing the 'request' function - [\#273](https://github.com/matrix-org/matrix-js-sdk/pull/273) - -# Changes in [0.6.4](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.6.4) (2016-11-04) + * Avoid a packetstorm of device queries on startup + [\#297](https://github.com/matrix-org/matrix-js-sdk/pull/297) + * E2E: Check devices to share keys with on each send + [\#295](https://github.com/matrix-org/matrix-js-sdk/pull/295) + * Apply unknown-keyshare mitigations + [\#296](https://github.com/matrix-org/matrix-js-sdk/pull/296) + * distinguish unknown users from deviceless users + [\#294](https://github.com/matrix-org/matrix-js-sdk/pull/294) + * Allow starting client with initialSyncLimit = 0 + [\#293](https://github.com/matrix-org/matrix-js-sdk/pull/293) + * Make timeline-window _unpaginate public and rename to unpaginate + [\#289](https://github.com/matrix-org/matrix-js-sdk/pull/289) + * Send a STOPPED sync updated after call to stopClient + [\#286](https://github.com/matrix-org/matrix-js-sdk/pull/286) + * Fix bug in verifying megolm event senders + [\#292](https://github.com/matrix-org/matrix-js-sdk/pull/292) + * Handle decryption of events after they arrive + [\#288](https://github.com/matrix-org/matrix-js-sdk/pull/288) + * Fix examples. + [\#287](https://github.com/matrix-org/matrix-js-sdk/pull/287) + * Add a travis.yml + [\#278](https://github.com/matrix-org/matrix-js-sdk/pull/278) + * Encrypt all events, including 'm.call.*' + [\#277](https://github.com/matrix-org/matrix-js-sdk/pull/277) + * Ignore reshares of known megolm sessions + [\#276](https://github.com/matrix-org/matrix-js-sdk/pull/276) + * Log to the console on unknown session + [\#274](https://github.com/matrix-org/matrix-js-sdk/pull/274) + * Make it easier for SDK users to wrap prevailing the 'request' function + [\#273](https://github.com/matrix-org/matrix-js-sdk/pull/273) +Changes in [0.6.4](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.6.4) (2016-11-04) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.6.4-rc.2...v0.6.4) -- Change release script to pass version by environment variable + * Change release script to pass version by environment variable -# Changes in [0.6.4-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.6.4-rc.2) (2016-11-02) +Changes in [0.6.4-rc.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.6.4-rc.2) (2016-11-02) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.6.4-rc.1...v0.6.4-rc.2) -- Add getRoomTags method to client - [\#236](https://github.com/matrix-org/matrix-js-sdk/pull/236) - -# Changes in [0.6.4-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.6.4-rc.1) (2016-11-02) + * Add getRoomTags method to client + [\#236](https://github.com/matrix-org/matrix-js-sdk/pull/236) +Changes in [0.6.4-rc.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.6.4-rc.1) (2016-11-02) +========================================================================================================== [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.6.3...v0.6.4-rc.1) -## Breaking Changes +Breaking Changes +---------------- + * Bundled version of the JS SDK are no longer versioned along with + source files in the dist/ directory. As of this release, they + will be included in the release tarball, but not the source + repository. -- Bundled version of the JS SDK are no longer versioned along with - source files in the dist/ directory. As of this release, they - will be included in the release tarball, but not the source - repository. - -## Other Changes - -- More fixes to the release script - [\#272](https://github.com/matrix-org/matrix-js-sdk/pull/272) -- Update the release process to use github releases - [\#271](https://github.com/matrix-org/matrix-js-sdk/pull/271) -- Don't package the world when we release - [\#270](https://github.com/matrix-org/matrix-js-sdk/pull/270) -- Add ability to set a filter prior to the first /sync - [\#269](https://github.com/matrix-org/matrix-js-sdk/pull/269) -- Sign one-time keys, and verify their signatures - [\#243](https://github.com/matrix-org/matrix-js-sdk/pull/243) -- Check for duplicate message indexes for group messages - [\#241](https://github.com/matrix-org/matrix-js-sdk/pull/241) -- Rotate megolm sessions - [\#240](https://github.com/matrix-org/matrix-js-sdk/pull/240) -- Check recipient and sender in Olm messages - [\#239](https://github.com/matrix-org/matrix-js-sdk/pull/239) -- Consistency checks for E2E device downloads - [\#237](https://github.com/matrix-org/matrix-js-sdk/pull/237) -- Support User-Interactive auth for delete device - [\#235](https://github.com/matrix-org/matrix-js-sdk/pull/235) -- Utility to help with interactive auth - [\#234](https://github.com/matrix-org/matrix-js-sdk/pull/234) -- Fix sync breaking when an invalid filterId is in localStorage - [\#228](https://github.com/matrix-org/matrix-js-sdk/pull/228) - -# Changes in [0.6.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.6.3) (2016-10-12) +Other Changes +------------- + * More fixes to the release script + [\#272](https://github.com/matrix-org/matrix-js-sdk/pull/272) + * Update the release process to use github releases + [\#271](https://github.com/matrix-org/matrix-js-sdk/pull/271) + * Don't package the world when we release + [\#270](https://github.com/matrix-org/matrix-js-sdk/pull/270) + * Add ability to set a filter prior to the first /sync + [\#269](https://github.com/matrix-org/matrix-js-sdk/pull/269) + * Sign one-time keys, and verify their signatures + [\#243](https://github.com/matrix-org/matrix-js-sdk/pull/243) + * Check for duplicate message indexes for group messages + [\#241](https://github.com/matrix-org/matrix-js-sdk/pull/241) + * Rotate megolm sessions + [\#240](https://github.com/matrix-org/matrix-js-sdk/pull/240) + * Check recipient and sender in Olm messages + [\#239](https://github.com/matrix-org/matrix-js-sdk/pull/239) + * Consistency checks for E2E device downloads + [\#237](https://github.com/matrix-org/matrix-js-sdk/pull/237) + * Support User-Interactive auth for delete device + [\#235](https://github.com/matrix-org/matrix-js-sdk/pull/235) + * Utility to help with interactive auth + [\#234](https://github.com/matrix-org/matrix-js-sdk/pull/234) + * Fix sync breaking when an invalid filterId is in localStorage + [\#228](https://github.com/matrix-org/matrix-js-sdk/pull/228) +Changes in [0.6.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.6.3) (2016-10-12) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.6.2...v0.6.3) -## Breaking Changes +Breaking Changes +---------------- + * Add a 'RECONNECTING' state to the sync states. This is an additional state + between 'SYNCING' and 'ERROR', so most clients should not notice. -- Add a 'RECONNECTING' state to the sync states. This is an additional state - between 'SYNCING' and 'ERROR', so most clients should not notice. - -## Other Changes - -- Fix params getting replaced on register calls - [\#233](https://github.com/matrix-org/matrix-js-sdk/pull/233) -- Fix potential 30s delay on reconnect - [\#232](https://github.com/matrix-org/matrix-js-sdk/pull/232) -- uploadContent: Attempt some consistency between browser and node - [\#230](https://github.com/matrix-org/matrix-js-sdk/pull/230) -- Fix error handling on uploadContent - [\#229](https://github.com/matrix-org/matrix-js-sdk/pull/229) -- Fix uploadContent for node.js - [\#226](https://github.com/matrix-org/matrix-js-sdk/pull/226) -- Don't emit ERROR until a keepalive poke fails - [\#223](https://github.com/matrix-org/matrix-js-sdk/pull/223) -- Function to get the fallback url for interactive auth - [\#224](https://github.com/matrix-org/matrix-js-sdk/pull/224) -- Revert "Handle the first /sync failure differently." - [\#222](https://github.com/matrix-org/matrix-js-sdk/pull/222) - -# Changes in [0.6.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.6.2) (2016-10-05) +Other Changes +---------------- + * Fix params getting replaced on register calls + [\#233](https://github.com/matrix-org/matrix-js-sdk/pull/233) + * Fix potential 30s delay on reconnect + [\#232](https://github.com/matrix-org/matrix-js-sdk/pull/232) + * uploadContent: Attempt some consistency between browser and node + [\#230](https://github.com/matrix-org/matrix-js-sdk/pull/230) + * Fix error handling on uploadContent + [\#229](https://github.com/matrix-org/matrix-js-sdk/pull/229) + * Fix uploadContent for node.js + [\#226](https://github.com/matrix-org/matrix-js-sdk/pull/226) + * Don't emit ERROR until a keepalive poke fails + [\#223](https://github.com/matrix-org/matrix-js-sdk/pull/223) + * Function to get the fallback url for interactive auth + [\#224](https://github.com/matrix-org/matrix-js-sdk/pull/224) + * Revert "Handle the first /sync failure differently." + [\#222](https://github.com/matrix-org/matrix-js-sdk/pull/222) +Changes in [0.6.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.6.2) (2016-10-05) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.6.1...v0.6.2) -- Check dependencies aren't on develop in release.sh - [\#221](https://github.com/matrix-org/matrix-js-sdk/pull/221) -- Fix checkTurnServers leak on logout - [\#220](https://github.com/matrix-org/matrix-js-sdk/pull/220) -- Fix leak of file upload objects - [\#219](https://github.com/matrix-org/matrix-js-sdk/pull/219) -- crypto: remove duplicate code - [\#218](https://github.com/matrix-org/matrix-js-sdk/pull/218) -- Add API for 3rd party location lookup - [\#217](https://github.com/matrix-org/matrix-js-sdk/pull/217) -- Handle the first /sync failure differently. - [\#216](https://github.com/matrix-org/matrix-js-sdk/pull/216) - -# Changes in [0.6.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.6.1) (2016-09-21) + * Check dependencies aren't on develop in release.sh + [\#221](https://github.com/matrix-org/matrix-js-sdk/pull/221) + * Fix checkTurnServers leak on logout + [\#220](https://github.com/matrix-org/matrix-js-sdk/pull/220) + * Fix leak of file upload objects + [\#219](https://github.com/matrix-org/matrix-js-sdk/pull/219) + * crypto: remove duplicate code + [\#218](https://github.com/matrix-org/matrix-js-sdk/pull/218) + * Add API for 3rd party location lookup + [\#217](https://github.com/matrix-org/matrix-js-sdk/pull/217) + * Handle the first /sync failure differently. + [\#216](https://github.com/matrix-org/matrix-js-sdk/pull/216) +Changes in [0.6.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.6.1) (2016-09-21) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.6.0...v0.6.1) -- Fix the ed25519 key checking - [\#215](https://github.com/matrix-org/matrix-js-sdk/pull/215) -- Add MatrixClient.getEventSenderDeviceInfo() - [\#214](https://github.com/matrix-org/matrix-js-sdk/pull/214) - -# Changes in [0.6.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.6.0) (2016-09-21) + * Fix the ed25519 key checking + [\#215](https://github.com/matrix-org/matrix-js-sdk/pull/215) + * Add MatrixClient.getEventSenderDeviceInfo() + [\#214](https://github.com/matrix-org/matrix-js-sdk/pull/214) +Changes in [0.6.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.6.0) (2016-09-21) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.5.6...v0.6.0) -- Pull user device list on join - [\#212](https://github.com/matrix-org/matrix-js-sdk/pull/212) -- Fix sending of oh_hais on bad sessions - [\#213](https://github.com/matrix-org/matrix-js-sdk/pull/213) -- Support /publicRooms pagination - [\#211](https://github.com/matrix-org/matrix-js-sdk/pull/211) -- Update the olm library version to 1.3.0 - [\#205](https://github.com/matrix-org/matrix-js-sdk/pull/205) -- Comment what the logic in uploadKeys does - [\#209](https://github.com/matrix-org/matrix-js-sdk/pull/209) -- Include keysProved and keysClaimed in the local echo for events we send. - [\#210](https://github.com/matrix-org/matrix-js-sdk/pull/210) -- Check if we need to upload new one-time keys every 10 minutes - [\#208](https://github.com/matrix-org/matrix-js-sdk/pull/208) -- Reset oneTimeKey to null on each loop iteration. - [\#207](https://github.com/matrix-org/matrix-js-sdk/pull/207) -- Add getKeysProved and getKeysClaimed methods to MatrixEvent. - [\#206](https://github.com/matrix-org/matrix-js-sdk/pull/206) -- Send a 'm.new_device' when we get a message for an unknown group session - [\#204](https://github.com/matrix-org/matrix-js-sdk/pull/204) -- Introduce EventTimelineSet, filtered timelines and global notif timeline. - [\#196](https://github.com/matrix-org/matrix-js-sdk/pull/196) -- Wrap the crypto event handlers in try/catch blocks - [\#203](https://github.com/matrix-org/matrix-js-sdk/pull/203) -- Show warnings on to-device decryption fail - [\#202](https://github.com/matrix-org/matrix-js-sdk/pull/202) -- s/Displayname/DisplayName/ - [\#201](https://github.com/matrix-org/matrix-js-sdk/pull/201) -- OH HAI - [\#200](https://github.com/matrix-org/matrix-js-sdk/pull/200) -- Share the current ratchet with new members - [\#199](https://github.com/matrix-org/matrix-js-sdk/pull/199) -- Move crypto bits into a subdirectory - [\#198](https://github.com/matrix-org/matrix-js-sdk/pull/198) -- Refactor event handling in Crypto - [\#197](https://github.com/matrix-org/matrix-js-sdk/pull/197) -- Don't create Olm sessions proactively - [\#195](https://github.com/matrix-org/matrix-js-sdk/pull/195) -- Use to-device events for key sharing - [\#194](https://github.com/matrix-org/matrix-js-sdk/pull/194) -- README: callbacks deprecated - [\#193](https://github.com/matrix-org/matrix-js-sdk/pull/193) -- Fix sender verification for megolm messages - [\#192](https://github.com/matrix-org/matrix-js-sdk/pull/192) -- Use `ciphertext` instead of `body` in megolm events - [\#191](https://github.com/matrix-org/matrix-js-sdk/pull/191) -- Add debug methods to get the state of OlmSessions - [\#189](https://github.com/matrix-org/matrix-js-sdk/pull/189) -- MatrixClient.getStoredDevicesForUser - [\#190](https://github.com/matrix-org/matrix-js-sdk/pull/190) -- Olm-related cleanups - [\#188](https://github.com/matrix-org/matrix-js-sdk/pull/188) -- Update to fixed olmlib - [\#187](https://github.com/matrix-org/matrix-js-sdk/pull/187) -- always play audio out of the remoteAudioElement if it exists. - [\#186](https://github.com/matrix-org/matrix-js-sdk/pull/186) -- Fix exceptions where HTMLMediaElement loads and plays race - [\#185](https://github.com/matrix-org/matrix-js-sdk/pull/185) -- Reset megolm session when people join/leave the room - [\#183](https://github.com/matrix-org/matrix-js-sdk/pull/183) -- Fix exceptions when dealing with redactions - [\#184](https://github.com/matrix-org/matrix-js-sdk/pull/184) - -# Changes in [0.5.6](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.5.6) (2016-08-28) + * Pull user device list on join + [\#212](https://github.com/matrix-org/matrix-js-sdk/pull/212) + * Fix sending of oh_hais on bad sessions + [\#213](https://github.com/matrix-org/matrix-js-sdk/pull/213) + * Support /publicRooms pagination + [\#211](https://github.com/matrix-org/matrix-js-sdk/pull/211) + * Update the olm library version to 1.3.0 + [\#205](https://github.com/matrix-org/matrix-js-sdk/pull/205) + * Comment what the logic in uploadKeys does + [\#209](https://github.com/matrix-org/matrix-js-sdk/pull/209) + * Include keysProved and keysClaimed in the local echo for events we send. + [\#210](https://github.com/matrix-org/matrix-js-sdk/pull/210) + * Check if we need to upload new one-time keys every 10 minutes + [\#208](https://github.com/matrix-org/matrix-js-sdk/pull/208) + * Reset oneTimeKey to null on each loop iteration. + [\#207](https://github.com/matrix-org/matrix-js-sdk/pull/207) + * Add getKeysProved and getKeysClaimed methods to MatrixEvent. + [\#206](https://github.com/matrix-org/matrix-js-sdk/pull/206) + * Send a 'm.new_device' when we get a message for an unknown group session + [\#204](https://github.com/matrix-org/matrix-js-sdk/pull/204) + * Introduce EventTimelineSet, filtered timelines and global notif timeline. + [\#196](https://github.com/matrix-org/matrix-js-sdk/pull/196) + * Wrap the crypto event handlers in try/catch blocks + [\#203](https://github.com/matrix-org/matrix-js-sdk/pull/203) + * Show warnings on to-device decryption fail + [\#202](https://github.com/matrix-org/matrix-js-sdk/pull/202) + * s/Displayname/DisplayName/ + [\#201](https://github.com/matrix-org/matrix-js-sdk/pull/201) + * OH HAI + [\#200](https://github.com/matrix-org/matrix-js-sdk/pull/200) + * Share the current ratchet with new members + [\#199](https://github.com/matrix-org/matrix-js-sdk/pull/199) + * Move crypto bits into a subdirectory + [\#198](https://github.com/matrix-org/matrix-js-sdk/pull/198) + * Refactor event handling in Crypto + [\#197](https://github.com/matrix-org/matrix-js-sdk/pull/197) + * Don't create Olm sessions proactively + [\#195](https://github.com/matrix-org/matrix-js-sdk/pull/195) + * Use to-device events for key sharing + [\#194](https://github.com/matrix-org/matrix-js-sdk/pull/194) + * README: callbacks deprecated + [\#193](https://github.com/matrix-org/matrix-js-sdk/pull/193) + * Fix sender verification for megolm messages + [\#192](https://github.com/matrix-org/matrix-js-sdk/pull/192) + * Use `ciphertext` instead of `body` in megolm events + [\#191](https://github.com/matrix-org/matrix-js-sdk/pull/191) + * Add debug methods to get the state of OlmSessions + [\#189](https://github.com/matrix-org/matrix-js-sdk/pull/189) + * MatrixClient.getStoredDevicesForUser + [\#190](https://github.com/matrix-org/matrix-js-sdk/pull/190) + * Olm-related cleanups + [\#188](https://github.com/matrix-org/matrix-js-sdk/pull/188) + * Update to fixed olmlib + [\#187](https://github.com/matrix-org/matrix-js-sdk/pull/187) + * always play audio out of the remoteAudioElement if it exists. + [\#186](https://github.com/matrix-org/matrix-js-sdk/pull/186) + * Fix exceptions where HTMLMediaElement loads and plays race + [\#185](https://github.com/matrix-org/matrix-js-sdk/pull/185) + * Reset megolm session when people join/leave the room + [\#183](https://github.com/matrix-org/matrix-js-sdk/pull/183) + * Fix exceptions when dealing with redactions + [\#184](https://github.com/matrix-org/matrix-js-sdk/pull/184) +Changes in [0.5.6](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.5.6) (2016-08-28) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.5.5...v0.5.6) -- Put all of the megolm keys in one room message - [\#182](https://github.com/matrix-org/matrix-js-sdk/pull/182) -- Reinstate device blocking for simple Olm - [\#181](https://github.com/matrix-org/matrix-js-sdk/pull/181) -- support for unpacking megolm keys - [\#180](https://github.com/matrix-org/matrix-js-sdk/pull/180) -- Send out megolm keys when we start a megolm session - [\#179](https://github.com/matrix-org/matrix-js-sdk/pull/179) -- Change the result structure for ensureOlmSessionsForUsers - [\#178](https://github.com/matrix-org/matrix-js-sdk/pull/178) -- Factor out a function for doing olm encryption - [\#177](https://github.com/matrix-org/matrix-js-sdk/pull/177) -- Move DeviceInfo and DeviceVerification to separate module - [\#175](https://github.com/matrix-org/matrix-js-sdk/pull/175) -- Make encryption asynchronous - [\#176](https://github.com/matrix-org/matrix-js-sdk/pull/176) -- Added ability to set and get status_msg for presence. - [\#167](https://github.com/matrix-org/matrix-js-sdk/pull/167) -- Megolm: don't dereference nullable object - [\#174](https://github.com/matrix-org/matrix-js-sdk/pull/174) -- Implement megolm encryption/decryption - [\#173](https://github.com/matrix-org/matrix-js-sdk/pull/173) -- Update our push rules when they come down stream - [\#170](https://github.com/matrix-org/matrix-js-sdk/pull/170) -- Factor Olm encryption/decryption out to new classes - [\#172](https://github.com/matrix-org/matrix-js-sdk/pull/172) -- Make DeviceInfo more useful, and refactor crypto methods to use it - [\#171](https://github.com/matrix-org/matrix-js-sdk/pull/171) -- Move login and register methods into base-apis - [\#169](https://github.com/matrix-org/matrix-js-sdk/pull/169) -- Remove defaultDeviceDisplayName from MatrixClient options - [\#168](https://github.com/matrix-org/matrix-js-sdk/pull/168) - -# Changes in [0.5.5](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.5.5) (2016-08-11) + * Put all of the megolm keys in one room message + [\#182](https://github.com/matrix-org/matrix-js-sdk/pull/182) + * Reinstate device blocking for simple Olm + [\#181](https://github.com/matrix-org/matrix-js-sdk/pull/181) + * support for unpacking megolm keys + [\#180](https://github.com/matrix-org/matrix-js-sdk/pull/180) + * Send out megolm keys when we start a megolm session + [\#179](https://github.com/matrix-org/matrix-js-sdk/pull/179) + * Change the result structure for ensureOlmSessionsForUsers + [\#178](https://github.com/matrix-org/matrix-js-sdk/pull/178) + * Factor out a function for doing olm encryption + [\#177](https://github.com/matrix-org/matrix-js-sdk/pull/177) + * Move DeviceInfo and DeviceVerification to separate module + [\#175](https://github.com/matrix-org/matrix-js-sdk/pull/175) + * Make encryption asynchronous + [\#176](https://github.com/matrix-org/matrix-js-sdk/pull/176) + * Added ability to set and get status_msg for presence. + [\#167](https://github.com/matrix-org/matrix-js-sdk/pull/167) + * Megolm: don't dereference nullable object + [\#174](https://github.com/matrix-org/matrix-js-sdk/pull/174) + * Implement megolm encryption/decryption + [\#173](https://github.com/matrix-org/matrix-js-sdk/pull/173) + * Update our push rules when they come down stream + [\#170](https://github.com/matrix-org/matrix-js-sdk/pull/170) + * Factor Olm encryption/decryption out to new classes + [\#172](https://github.com/matrix-org/matrix-js-sdk/pull/172) + * Make DeviceInfo more useful, and refactor crypto methods to use it + [\#171](https://github.com/matrix-org/matrix-js-sdk/pull/171) + * Move login and register methods into base-apis + [\#169](https://github.com/matrix-org/matrix-js-sdk/pull/169) + * Remove defaultDeviceDisplayName from MatrixClient options + [\#168](https://github.com/matrix-org/matrix-js-sdk/pull/168) +Changes in [0.5.5](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.5.5) (2016-08-11) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.5.4...v0.5.5) -- Add room.getAliases() and room.getCanonicalAlias -- Add API calls `/register/email/requestToken`, `/account/password/email/requestToken` and `/account/3pid/email/requestToken` -- Add `User.currentlyActive` and `User.lastPresenceTs` events for changes in fields on the User object -- Add `logout` and `deactivateAccount` + * Add room.getAliases() and room.getCanonicalAlias + * Add API calls `/register/email/requestToken`, `/account/password/email/requestToken` and `/account/3pid/email/requestToken` + * Add `User.currentlyActive` and `User.lastPresenceTs` events for changes in fields on the User object + * Add `logout` and `deactivateAccount` -- Make sure we actually stop the sync loop on logout - [\#166](https://github.com/matrix-org/matrix-js-sdk/pull/166) -- Zero is a valid power level - [\#164](https://github.com/matrix-org/matrix-js-sdk/pull/164) -- Verify e2e keys on download - [\#163](https://github.com/matrix-org/matrix-js-sdk/pull/163) -- Factor crypto stuff out of MatrixClient - [\#162](https://github.com/matrix-org/matrix-js-sdk/pull/162) -- Refactor device key upload - [\#161](https://github.com/matrix-org/matrix-js-sdk/pull/161) -- Wrappers for devices API - [\#158](https://github.com/matrix-org/matrix-js-sdk/pull/158) -- Add deactivate account function - [\#160](https://github.com/matrix-org/matrix-js-sdk/pull/160) -- client.listDeviceKeys: Expose device display name - [\#159](https://github.com/matrix-org/matrix-js-sdk/pull/159) -- Add `logout` - [\#157](https://github.com/matrix-org/matrix-js-sdk/pull/157) -- Fix email registration - [\#156](https://github.com/matrix-org/matrix-js-sdk/pull/156) -- Factor out MatrixClient methods to MatrixBaseApis - [\#155](https://github.com/matrix-org/matrix-js-sdk/pull/155) -- Fix some broken tests - [\#154](https://github.com/matrix-org/matrix-js-sdk/pull/154) -- make jenkins fail the build if the tests fail - [\#153](https://github.com/matrix-org/matrix-js-sdk/pull/153) -- deviceId-related fixes - [\#152](https://github.com/matrix-org/matrix-js-sdk/pull/152) -- /login, /register: Add device_id and initial_device_display_name - [\#151](https://github.com/matrix-org/matrix-js-sdk/pull/151) -- Support global account_data - [\#150](https://github.com/matrix-org/matrix-js-sdk/pull/150) -- Add more events to User - [\#149](https://github.com/matrix-org/matrix-js-sdk/pull/149) -- Add API calls for other requestToken endpoints - [\#148](https://github.com/matrix-org/matrix-js-sdk/pull/148) -- Add register-specific request token endpoint - [\#147](https://github.com/matrix-org/matrix-js-sdk/pull/147) -- Set a valid SPDX license identifier in package.json - [\#139](https://github.com/matrix-org/matrix-js-sdk/pull/139) -- Configure encryption on m.room.encryption events - [\#145](https://github.com/matrix-org/matrix-js-sdk/pull/145) -- Implement device blocking - [\#146](https://github.com/matrix-org/matrix-js-sdk/pull/146) -- Clearer doc for setRoomDirectoryVisibility - [\#144](https://github.com/matrix-org/matrix-js-sdk/pull/144) -- crypto: use memberlist to derive recipient list - [\#143](https://github.com/matrix-org/matrix-js-sdk/pull/143) -- Support for marking devices as unverified - [\#142](https://github.com/matrix-org/matrix-js-sdk/pull/142) -- Add Olm as an optionalDependency - [\#141](https://github.com/matrix-org/matrix-js-sdk/pull/141) -- Add room.getAliases() and room.getCanonicalAlias() - [\#140](https://github.com/matrix-org/matrix-js-sdk/pull/140) -- Change how MatrixEvent manages encrypted events - [\#138](https://github.com/matrix-org/matrix-js-sdk/pull/138) -- Catch exceptions when encrypting events - [\#137](https://github.com/matrix-org/matrix-js-sdk/pull/137) -- Support for marking devices as verified - [\#136](https://github.com/matrix-org/matrix-js-sdk/pull/136) -- Various matrix-client refactorings and fixes - [\#134](https://github.com/matrix-org/matrix-js-sdk/pull/134) - -# Changes in [0.5.4](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.5.4) (2016-06-02) + * Make sure we actually stop the sync loop on logout + [\#166](https://github.com/matrix-org/matrix-js-sdk/pull/166) + * Zero is a valid power level + [\#164](https://github.com/matrix-org/matrix-js-sdk/pull/164) + * Verify e2e keys on download + [\#163](https://github.com/matrix-org/matrix-js-sdk/pull/163) + * Factor crypto stuff out of MatrixClient + [\#162](https://github.com/matrix-org/matrix-js-sdk/pull/162) + * Refactor device key upload + [\#161](https://github.com/matrix-org/matrix-js-sdk/pull/161) + * Wrappers for devices API + [\#158](https://github.com/matrix-org/matrix-js-sdk/pull/158) + * Add deactivate account function + [\#160](https://github.com/matrix-org/matrix-js-sdk/pull/160) + * client.listDeviceKeys: Expose device display name + [\#159](https://github.com/matrix-org/matrix-js-sdk/pull/159) + * Add `logout` + [\#157](https://github.com/matrix-org/matrix-js-sdk/pull/157) + * Fix email registration + [\#156](https://github.com/matrix-org/matrix-js-sdk/pull/156) + * Factor out MatrixClient methods to MatrixBaseApis + [\#155](https://github.com/matrix-org/matrix-js-sdk/pull/155) + * Fix some broken tests + [\#154](https://github.com/matrix-org/matrix-js-sdk/pull/154) + * make jenkins fail the build if the tests fail + [\#153](https://github.com/matrix-org/matrix-js-sdk/pull/153) + * deviceId-related fixes + [\#152](https://github.com/matrix-org/matrix-js-sdk/pull/152) + * /login, /register: Add device_id and initial_device_display_name + [\#151](https://github.com/matrix-org/matrix-js-sdk/pull/151) + * Support global account_data + [\#150](https://github.com/matrix-org/matrix-js-sdk/pull/150) + * Add more events to User + [\#149](https://github.com/matrix-org/matrix-js-sdk/pull/149) + * Add API calls for other requestToken endpoints + [\#148](https://github.com/matrix-org/matrix-js-sdk/pull/148) + * Add register-specific request token endpoint + [\#147](https://github.com/matrix-org/matrix-js-sdk/pull/147) + * Set a valid SPDX license identifier in package.json + [\#139](https://github.com/matrix-org/matrix-js-sdk/pull/139) + * Configure encryption on m.room.encryption events + [\#145](https://github.com/matrix-org/matrix-js-sdk/pull/145) + * Implement device blocking + [\#146](https://github.com/matrix-org/matrix-js-sdk/pull/146) + * Clearer doc for setRoomDirectoryVisibility + [\#144](https://github.com/matrix-org/matrix-js-sdk/pull/144) + * crypto: use memberlist to derive recipient list + [\#143](https://github.com/matrix-org/matrix-js-sdk/pull/143) + * Support for marking devices as unverified + [\#142](https://github.com/matrix-org/matrix-js-sdk/pull/142) + * Add Olm as an optionalDependency + [\#141](https://github.com/matrix-org/matrix-js-sdk/pull/141) + * Add room.getAliases() and room.getCanonicalAlias() + [\#140](https://github.com/matrix-org/matrix-js-sdk/pull/140) + * Change how MatrixEvent manages encrypted events + [\#138](https://github.com/matrix-org/matrix-js-sdk/pull/138) + * Catch exceptions when encrypting events + [\#137](https://github.com/matrix-org/matrix-js-sdk/pull/137) + * Support for marking devices as verified + [\#136](https://github.com/matrix-org/matrix-js-sdk/pull/136) + * Various matrix-client refactorings and fixes + [\#134](https://github.com/matrix-org/matrix-js-sdk/pull/134) +Changes in [0.5.4](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.5.4) (2016-06-02) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.5.3...v0.5.4) -- Correct fix for https://github.com/vector-im/vector-web/issues/1039 -- Make release.sh work on OSX + * Correct fix for https://github.com/vector-im/vector-web/issues/1039 + * Make release.sh work on OSX -# Changes in [0.5.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.5.3) (2016-06-02) +Changes in [0.5.3](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.5.3) (2016-06-02) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.5.2...v0.5.3) -- Add support for the openid interface - [\#133](https://github.com/matrix-org/matrix-js-sdk/pull/133) -- Bugfix for HTTP upload content when running on node - [\#129](https://github.com/matrix-org/matrix-js-sdk/pull/129) -- Ignore missing profile (displayname and avatar_url) fields on - presence events, rather than overwriting existing valid profile - data from membership events or elsewhere. - Fixes https://github.com/vector-im/vector-web/issues/1039 - -# Changes in [0.5.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.5.2) (2016-04-19) + * Add support for the openid interface + [\#133](https://github.com/matrix-org/matrix-js-sdk/pull/133) + * Bugfix for HTTP upload content when running on node + [\#129](https://github.com/matrix-org/matrix-js-sdk/pull/129) + * Ignore missing profile (displayname and avatar_url) fields on + presence events, rather than overwriting existing valid profile + data from membership events or elsewhere. + Fixes https://github.com/vector-im/vector-web/issues/1039 +Changes in [0.5.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.5.2) (2016-04-19) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.5.1...v0.5.2) -- Track the absolute time that presence events are received, so that the - relative lastActiveAgo value is meaningful. - [\#128](https://github.com/matrix-org/matrix-js-sdk/pull/128) -- Refactor the addition of events to rooms - [\#127](https://github.com/matrix-org/matrix-js-sdk/pull/127) -- Clean up test shutdown - [\#126](https://github.com/matrix-org/matrix-js-sdk/pull/126) -- Add methods to get (and set) pushers - [\#125](https://github.com/matrix-org/matrix-js-sdk/pull/125) -- URL previewing support - [\#122](https://github.com/matrix-org/matrix-js-sdk/pull/122) -- Avoid paginating forever in private rooms - [\#124](https://github.com/matrix-org/matrix-js-sdk/pull/124) -- Fix a bug where we recreated sync filters - [\#123](https://github.com/matrix-org/matrix-js-sdk/pull/123) -- Implement HTTP timeouts in realtime - [\#121](https://github.com/matrix-org/matrix-js-sdk/pull/121) - -# Changes in [0.5.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.5.1) (2016-03-30) + * Track the absolute time that presence events are received, so that the + relative lastActiveAgo value is meaningful. + [\#128](https://github.com/matrix-org/matrix-js-sdk/pull/128) + * Refactor the addition of events to rooms + [\#127](https://github.com/matrix-org/matrix-js-sdk/pull/127) + * Clean up test shutdown + [\#126](https://github.com/matrix-org/matrix-js-sdk/pull/126) + * Add methods to get (and set) pushers + [\#125](https://github.com/matrix-org/matrix-js-sdk/pull/125) + * URL previewing support + [\#122](https://github.com/matrix-org/matrix-js-sdk/pull/122) + * Avoid paginating forever in private rooms + [\#124](https://github.com/matrix-org/matrix-js-sdk/pull/124) + * Fix a bug where we recreated sync filters + [\#123](https://github.com/matrix-org/matrix-js-sdk/pull/123) + * Implement HTTP timeouts in realtime + [\#121](https://github.com/matrix-org/matrix-js-sdk/pull/121) +Changes in [0.5.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.5.1) (2016-03-30) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.5.0...v0.5.1) -- Only count joined members for the member count in notifications. - [\#119](https://github.com/matrix-org/matrix-js-sdk/pull/119) -- Add maySendEvent to match maySendStateEvent - [\#118](https://github.com/matrix-org/matrix-js-sdk/pull/118) - -# Changes in [0.5.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.5.0) (2016-03-22) + * Only count joined members for the member count in notifications. + [\#119](https://github.com/matrix-org/matrix-js-sdk/pull/119) + * Add maySendEvent to match maySendStateEvent + [\#118](https://github.com/matrix-org/matrix-js-sdk/pull/118) +Changes in [0.5.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.5.0) (2016-03-22) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.4.2...v0.5.0) **BREAKING CHANGES**: - -- `opts.pendingEventOrdering`==`end` is no longer supported in the arguments to - `MatrixClient.startClient()`. Instead we provide a `detached` option, which - puts pending events into a completely separate list in the Room, accessible - via `Room.getPendingEvents()`. - [\#111](https://github.com/matrix-org/matrix-js-sdk/pull/111) + * `opts.pendingEventOrdering`==`end` is no longer supported in the arguments to + `MatrixClient.startClient()`. Instead we provide a `detached` option, which + puts pending events into a completely separate list in the Room, accessible + via `Room.getPendingEvents()`. + [\#111](https://github.com/matrix-org/matrix-js-sdk/pull/111) Other improvements: + * Log the stack when we get a sync error + [\#109](https://github.com/matrix-org/matrix-js-sdk/pull/109) + * Refactor transmitted-messages code + [\#110](https://github.com/matrix-org/matrix-js-sdk/pull/110) + * Add a method to the js sdk to look up 3pids on the ID server. + [\#113](https://github.com/matrix-org/matrix-js-sdk/pull/113) + * Support for cancelling pending events + [\#112](https://github.com/matrix-org/matrix-js-sdk/pull/112) + * API to stop peeking + [\#114](https://github.com/matrix-org/matrix-js-sdk/pull/114) + * update store user metadata based on membership events rather than presence + [\#116](https://github.com/matrix-org/matrix-js-sdk/pull/116) + * Include a counter in generated transaction IDs + [\#115](https://github.com/matrix-org/matrix-js-sdk/pull/115) + * get/setRoomVisibility API + [\#117](https://github.com/matrix-org/matrix-js-sdk/pull/117) -- Log the stack when we get a sync error - [\#109](https://github.com/matrix-org/matrix-js-sdk/pull/109) -- Refactor transmitted-messages code - [\#110](https://github.com/matrix-org/matrix-js-sdk/pull/110) -- Add a method to the js sdk to look up 3pids on the ID server. - [\#113](https://github.com/matrix-org/matrix-js-sdk/pull/113) -- Support for cancelling pending events - [\#112](https://github.com/matrix-org/matrix-js-sdk/pull/112) -- API to stop peeking - [\#114](https://github.com/matrix-org/matrix-js-sdk/pull/114) -- update store user metadata based on membership events rather than presence - [\#116](https://github.com/matrix-org/matrix-js-sdk/pull/116) -- Include a counter in generated transaction IDs - [\#115](https://github.com/matrix-org/matrix-js-sdk/pull/115) -- get/setRoomVisibility API - [\#117](https://github.com/matrix-org/matrix-js-sdk/pull/117) - -# Changes in [0.4.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.4.2) (2016-03-17) - +Changes in [0.4.2](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v0.4.2) (2016-03-17) +================================================================================================ [Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.4.1...v0.4.2) -- Try again if a pagination request gives us no new messages - [\#98](https://github.com/matrix-org/matrix-js-sdk/pull/98) -- Add a delay before we start polling the connectivity check endpoint - [\#99](https://github.com/matrix-org/matrix-js-sdk/pull/99) -- Clean up a codepath that was only used for crypto messages - [\#101](https://github.com/matrix-org/matrix-js-sdk/pull/101) -- Add maySendStateEvent method, ported from react-sdk (but fixed). - [\#94](https://github.com/matrix-org/matrix-js-sdk/pull/94) -- Add Session.logged_out event - [\#100](https://github.com/matrix-org/matrix-js-sdk/pull/100) -- make presence work when peeking. - [\#103](https://github.com/matrix-org/matrix-js-sdk/pull/103) -- Add RoomState.mayClientSendStateEvent() - [\#104](https://github.com/matrix-org/matrix-js-sdk/pull/104) -- Fix displaynames for member join events - [\#108](https://github.com/matrix-org/matrix-js-sdk/pull/108) + * Try again if a pagination request gives us no new messages + [\#98](https://github.com/matrix-org/matrix-js-sdk/pull/98) + * Add a delay before we start polling the connectivity check endpoint + [\#99](https://github.com/matrix-org/matrix-js-sdk/pull/99) + * Clean up a codepath that was only used for crypto messages + [\#101](https://github.com/matrix-org/matrix-js-sdk/pull/101) + * Add maySendStateEvent method, ported from react-sdk (but fixed). + [\#94](https://github.com/matrix-org/matrix-js-sdk/pull/94) + * Add Session.logged_out event + [\#100](https://github.com/matrix-org/matrix-js-sdk/pull/100) + * make presence work when peeking. + [\#103](https://github.com/matrix-org/matrix-js-sdk/pull/103) + * Add RoomState.mayClientSendStateEvent() + [\#104](https://github.com/matrix-org/matrix-js-sdk/pull/104) + * Fix displaynames for member join events + [\#108](https://github.com/matrix-org/matrix-js-sdk/pull/108) -# Changes in 0.4.1 +Changes in 0.4.1 +================ Improvements: - -- Check that `/sync` filters are correct before reusing them, and recreate - them if not (https://github.com/matrix-org/matrix-js-sdk/pull/85). -- Fire a `Room.timelineReset` event when a room's timeline is reset by a gappy - `/sync` (https://github.com/matrix-org/matrix-js-sdk/pull/87, - https://github.com/matrix-org/matrix-js-sdk/pull/93). -- Make `TimelineWindow.load()` faster in the simple case of loading the live - timeline (https://github.com/matrix-org/matrix-js-sdk/pull/88). -- Update room-name calculation code to use the name of the sender of the - invite when invited to a room - (https://github.com/matrix-org/matrix-js-sdk/pull/89). -- Don't reset the timeline when we join a room after peeking into it - (https://github.com/matrix-org/matrix-js-sdk/pull/91). -- Fire `Room.localEchoUpdated` events as local echoes progress through their - transmission process (https://github.com/matrix-org/matrix-js-sdk/pull/95, - https://github.com/matrix-org/matrix-js-sdk/pull/97). -- Avoid getting stuck in a pagination loop when the server sends us only - messages we've already seen - (https://github.com/matrix-org/matrix-js-sdk/pull/96). + * Check that `/sync` filters are correct before reusing them, and recreate + them if not (https://github.com/matrix-org/matrix-js-sdk/pull/85). + * Fire a `Room.timelineReset` event when a room's timeline is reset by a gappy + `/sync` (https://github.com/matrix-org/matrix-js-sdk/pull/87, + https://github.com/matrix-org/matrix-js-sdk/pull/93). + * Make `TimelineWindow.load()` faster in the simple case of loading the live + timeline (https://github.com/matrix-org/matrix-js-sdk/pull/88). + * Update room-name calculation code to use the name of the sender of the + invite when invited to a room + (https://github.com/matrix-org/matrix-js-sdk/pull/89). + * Don't reset the timeline when we join a room after peeking into it + (https://github.com/matrix-org/matrix-js-sdk/pull/91). + * Fire `Room.localEchoUpdated` events as local echoes progress through their + transmission process (https://github.com/matrix-org/matrix-js-sdk/pull/95, + https://github.com/matrix-org/matrix-js-sdk/pull/97). + * Avoid getting stuck in a pagination loop when the server sends us only + messages we've already seen + (https://github.com/matrix-org/matrix-js-sdk/pull/96). New methods: + * Add `MatrixClient.setPushRuleActions` to set the actions for a push + notification rule (https://github.com/matrix-org/matrix-js-sdk/pull/90) + * Add `RoomState.maySendStateEvent` which determines if a given user has + permission to send a state event + (https://github.com/matrix-org/matrix-js-sdk/pull/94) -- Add `MatrixClient.setPushRuleActions` to set the actions for a push - notification rule (https://github.com/matrix-org/matrix-js-sdk/pull/90) -- Add `RoomState.maySendStateEvent` which determines if a given user has - permission to send a state event - (https://github.com/matrix-org/matrix-js-sdk/pull/94) - -# Changes in 0.4.0 +Changes in 0.4.0 +================ **BREAKING CHANGES**: - -- `RoomMember.getAvatarUrl()` and `MatrixClient.mxcUrlToHttp()` now return the + * `RoomMember.getAvatarUrl()` and `MatrixClient.mxcUrlToHttp()` now return the empty string when given anything other than an mxc:// URL. This ensures that clients never inadvertantly reference content directly, leaking information to third party servers. The `allowDirectLinks` option is provided if the client wants to allow such links. -- Add a 'bindEmail' option to register() + * Add a 'bindEmail' option to register() Improvements: + * Support third party invites + * More appropriate naming for third party invite rooms + * Poll the 'versions' endpoint to re-establish connectivity + * Catch exceptions when syncing + * Room tag support + * Generate implicit read receipts + * Support CAS login + * Guest access support + * Never return non-mxc URLs by default + * Ability to cancel file uploads + * Use the Matrix C/S API v2 with r0 prefix + * Account data support + * Support non-contiguous event timelines + * Support new unread counts + * Local echo for read-receipts -- Support third party invites -- More appropriate naming for third party invite rooms -- Poll the 'versions' endpoint to re-establish connectivity -- Catch exceptions when syncing -- Room tag support -- Generate implicit read receipts -- Support CAS login -- Guest access support -- Never return non-mxc URLs by default -- Ability to cancel file uploads -- Use the Matrix C/S API v2 with r0 prefix -- Account data support -- Support non-contiguous event timelines -- Support new unread counts -- Local echo for read-receipts New methods: + * Add method to fetch URLs not on the home or identity server + * Method to get the last receipt for a user + * Method to get all known users + * Method to delete an alias -- Add method to fetch URLs not on the home or identity server -- Method to get the last receipt for a user -- Method to get all known users -- Method to delete an alias -# Changes in 0.3.0 +Changes in 0.3.0 +================ -- `MatrixClient.getAvatarUrlForMember` has been removed and replaced with - `RoomMember.getAvatarUrl`. Arguments remain the same except the homeserver - URL must now be supplied from `MatrixClient.getHomeserverUrl()`. + * `MatrixClient.getAvatarUrlForMember` has been removed and replaced with + `RoomMember.getAvatarUrl`. Arguments remain the same except the homeserver + URL must now be supplied from `MatrixClient.getHomeserverUrl()`. - ```javascript - // before - var url = client.getAvatarUrlForMember(member, width, height, resize, allowDefault); - // after - var url = member.getAvatarUrl(client.getHomeserverUrl(), width, height, resize, allowDefault); - ``` + ```javascript + // before + var url = client.getAvatarUrlForMember(member, width, height, resize, allowDefault) + // after + var url = member.getAvatarUrl(client.getHomeserverUrl(), width, height, resize, allowDefault) + ``` + * `MatrixClient.getAvatarUrlForRoom` has been removed and replaced with + `Room.getAvatarUrl`. Arguments remain the same except the homeserver + URL must now be supplied from `MatrixClient.getHomeserverUrl()`. -- `MatrixClient.getAvatarUrlForRoom` has been removed and replaced with - `Room.getAvatarUrl`. Arguments remain the same except the homeserver - URL must now be supplied from `MatrixClient.getHomeserverUrl()`. + ```javascript + // before + var url = client.getAvatarUrlForRoom(room, width, height, resize, allowDefault) + // after + var url = room.getAvatarUrl(client.getHomeserverUrl(), width, height, resize, allowDefault) + ``` - ```javascript - // before - var url = client.getAvatarUrlForRoom(room, width, height, resize, allowDefault); - // after - var url = room.getAvatarUrl(client.getHomeserverUrl(), width, height, resize, allowDefault); - ``` - -- `s/Room.getMembersWithMemership/Room.getMembersWithMem`b`ership/g` + * `s/Room.getMembersWithMemership/Room.getMembersWithMem`b`ership/g` New methods: - -- Added support for sending receipts via - `MatrixClient.sendReceipt(event, receiptType, callback)` and - `MatrixClient.sendReadReceipt(event, callback)`. -- Added support for receiving receipts via - `Room.getReceiptsForEvent(event)` and `Room.getUsersReadUpTo(event)`. Receipts - can be directly added to a `Room` using `Room.addReceipt(event)` though the - `MatrixClient` does this for you. -- Added support for muting local video and audio via the new methods - `MatrixCall.setMicrophoneMuted()`, `MatrixCall.isMicrophoneMuted(muted)`, - `MatrixCall.isLocalVideoMuted()` and `Matrix.setLocalVideoMuted(muted)`. -- Added **experimental** support for screen-sharing in Chrome via - `MatrixCall.placeScreenSharingCall(remoteVideoElement, localVideoElement)`. -- Added ability to perform server-side searches using - `MatrixClient.searchMessageText(opts)` and `MatrixClient.search(opts)`. + * Added support for sending receipts via + `MatrixClient.sendReceipt(event, receiptType, callback)` and + `MatrixClient.sendReadReceipt(event, callback)`. + * Added support for receiving receipts via + `Room.getReceiptsForEvent(event)` and `Room.getUsersReadUpTo(event)`. Receipts + can be directly added to a `Room` using `Room.addReceipt(event)` though the + `MatrixClient` does this for you. + * Added support for muting local video and audio via the new methods + `MatrixCall.setMicrophoneMuted()`, `MatrixCall.isMicrophoneMuted(muted)`, + `MatrixCall.isLocalVideoMuted()` and `Matrix.setLocalVideoMuted(muted)`. + * Added **experimental** support for screen-sharing in Chrome via + `MatrixCall.placeScreenSharingCall(remoteVideoElement, localVideoElement)`. + * Added ability to perform server-side searches using + `MatrixClient.searchMessageText(opts)` and `MatrixClient.search(opts)`. Improvements: + * Improve the performance of initial sync processing from `O(n^2)` to `O(n)`. + * `Room.name` will now take into account `m.room.canonical_alias` events. + * `MatrixClient.startClient` now takes an Object `opts` rather than a Number in + a backwards-compatible way. This `opts` allows syncing configuration options + to be specified including `includeArchivedRooms` and `resolveInvitesToProfiles`. + * `Room` objects which represent room invitations will now have state populated + from `invite_room_state` if it is included in the `m.room.member` event. + * `Room.getAvatarUrl` will now take into account `m.room.avatar` events. -- Improve the performance of initial sync processing from `O(n^2)` to `O(n)`. -- `Room.name` will now take into account `m.room.canonical_alias` events. -- `MatrixClient.startClient` now takes an Object `opts` rather than a Number in - a backwards-compatible way. This `opts` allows syncing configuration options - to be specified including `includeArchivedRooms` and `resolveInvitesToProfiles`. -- `Room` objects which represent room invitations will now have state populated - from `invite_room_state` if it is included in the `m.room.member` event. -- `Room.getAvatarUrl` will now take into account `m.room.avatar` events. - -# Changes in 0.2.2 +Changes in 0.2.2 +================ Bug fixes: - -- Null pointer fixes for VoIP calling and push notification processing. -- Set the `Content-Type` to `application/octet-stream` in the event that the - file object has no `type`. + * Null pointer fixes for VoIP calling and push notification processing. + * Set the `Content-Type` to `application/octet-stream` in the event that the + file object has no `type`. New methods: + * Added `MatrixClient.getCasServer()` which calls through to the HTTP endpoint + `/login/cas`. + * Added `MatrixClient.loginWithCas(ticket, service)` which logs in with the + type `m.login.cas`. + * Added `MatrixClient.getHomeserverUrl()` which returns the URL passed in the + constructor. + * Added `MatrixClient.getIdentityServerUrl()` which returns the URL passed in + the constructor. + * Added `getLastModifiedTime()` to `RoomMember`, `RoomState` and `User` objects. + This makes it easier to see if the object in question has changed, which can + be used to improve performance by only rendering when these objects change. -- Added `MatrixClient.getCasServer()` which calls through to the HTTP endpoint - `/login/cas`. -- Added `MatrixClient.loginWithCas(ticket, service)` which logs in with the - type `m.login.cas`. -- Added `MatrixClient.getHomeserverUrl()` which returns the URL passed in the - constructor. -- Added `MatrixClient.getIdentityServerUrl()` which returns the URL passed in - the constructor. -- Added `getLastModifiedTime()` to `RoomMember`, `RoomState` and `User` objects. - This makes it easier to see if the object in question has changed, which can - be used to improve performance by only rendering when these objects change. - -# Changes in 0.2.1 +Changes in 0.2.1 +================ **BREAKING CHANGES** - -- `MatrixClient.joinRoom` has changed from `(roomIdOrAlias, callback)` to - `(roomIdOrAlias, opts, callback)`. + * `MatrixClient.joinRoom` has changed from `(roomIdOrAlias, callback)` to + `(roomIdOrAlias, opts, callback)`. Bug fixes: - -- The `Content-Type` of file uploads is now explicitly set, without relying - on the browser to do it for us. + * The `Content-Type` of file uploads is now explicitly set, without relying + on the browser to do it for us. Improvements: - -- The `MatrixScheduler.RETRY_BACKOFF_RATELIMIT` function will not retry when - the response is a 400,401,403. -- The text returned from a room invite now includes who the invite was from. -- There is now a try/catch block around the `request` function which will - reject/errback appropriately if an exception is thrown synchronously in it. + * The `MatrixScheduler.RETRY_BACKOFF_RATELIMIT` function will not retry when + the response is a 400,401,403. + * The text returned from a room invite now includes who the invite was from. + * There is now a try/catch block around the `request` function which will + reject/errback appropriately if an exception is thrown synchronously in it. New methods: - -- `MatrixClient.createAlias(alias, roomId)` -- `MatrixClient.getRoomIdForAlias(alias)` -- `MatrixClient.sendNotice(roomId, body, txnId, callback)` -- `MatrixClient.sendHtmlNotice(roomId, body, htmlBody, callback)` + * `MatrixClient.createAlias(alias, roomId)` + * `MatrixClient.getRoomIdForAlias(alias)` + * `MatrixClient.sendNotice(roomId, body, txnId, callback)` + * `MatrixClient.sendHtmlNotice(roomId, body, htmlBody, callback)` Modified methods: + * `MatrixClient.joinRoom(roomIdOrAlias, opts)` where `opts` can include a + `syncRoom: true|false` flag to control whether a room initial sync is + performed after joining the room. + * `MatrixClient.getAvatarUrlForMember` has a new last arg `allowDefault` which + returns the default identicon URL if `true`. + * `MatrixClient.getAvatarUrlForRoom` has a new last arg `allowDefault` which + is passed through to the default identicon generation for + `getAvatarUrlForMember`. -- `MatrixClient.joinRoom(roomIdOrAlias, opts)` where `opts` can include a - `syncRoom: true|false` flag to control whether a room initial sync is - performed after joining the room. -- `MatrixClient.getAvatarUrlForMember` has a new last arg `allowDefault` which - returns the default identicon URL if `true`. -- `MatrixClient.getAvatarUrlForRoom` has a new last arg `allowDefault` which - is passed through to the default identicon generation for - `getAvatarUrlForMember`. -# Changes in 0.2.0 +Changes in 0.2.0 +================ **BREAKING CHANGES**: - -- `MatrixClient.setPowerLevel` now expects a `MatrixEvent` and not an `Object` - for the `event` parameter. + * `MatrixClient.setPowerLevel` now expects a `MatrixEvent` and not an `Object` + for the `event` parameter. New features: - -- Added `EventStatus.QUEUED` which is set on an event when it is waiting to be - sent by the scheduler and there are other events in front. -- Added support for processing push rules on an event. This can be obtained by - calling `MatrixClient.getPushActionsForEvent(event)`. -- Added WebRTC support. Outbound calls can be made via - `call = global.createNewMatrixCall(MatrixClient, roomId)` followed by - `call.placeVoiceCall()` or `call.placeVideoCall(remoteEle, localEle)`. - Inbound calls will be received via the event `"Call.incoming"` which provides - a call object which can be followed with `call.answer()` or `call.hangup()`. -- Added the ability to upload files to the media repository. -- Added the ability to change the client's password. -- Added the ability to register with an email via an identity server. -- Handle presence events by updating the associated `User` object. -- Handle redaction events. -- Added infrastructure for supporting End-to-End encryption. E2E is _NOT_ - available in this version. + * Added `EventStatus.QUEUED` which is set on an event when it is waiting to be + sent by the scheduler and there are other events in front. + * Added support for processing push rules on an event. This can be obtained by + calling `MatrixClient.getPushActionsForEvent(event)`. + * Added WebRTC support. Outbound calls can be made via + `call = global.createNewMatrixCall(MatrixClient, roomId)` followed by + `call.placeVoiceCall()` or `call.placeVideoCall(remoteEle, localEle)`. + Inbound calls will be received via the event `"Call.incoming"` which provides + a call object which can be followed with `call.answer()` or `call.hangup()`. + * Added the ability to upload files to the media repository. + * Added the ability to change the client's password. + * Added the ability to register with an email via an identity server. + * Handle presence events by updating the associated `User` object. + * Handle redaction events. + * Added infrastructure for supporting End-to-End encryption. E2E is *NOT* + available in this version. New methods: + * `MatrixClient.getUser(userId)` + * `MatrixClient.getPushActionsForEvent(event)` + * `MatrixClient.setPassword(auth, newPassword)` + * `MatrixClient.loginWithSAML2(relayState, callback)` + * `MatrixClient.getAvatarUrlForMember(member, w, h, method)` + * `MatrixClient.mxcUrlToHttp(url, w, h, method)` + * `MatrixClient.getAvatarUrlForRoom(room, w, h, method)` + * `MatrixClient.uploadContent(file, callback)` + * `Room.getMembersWithMembership(membership)` + * `MatrixScheduler.getQueueForEvent(event)` + * `MatrixScheduler.removeEventFromQueue(event)` + * `$DATA_STORE.setSyncToken(token)` + * `$DATA_STORE.getSyncToken()` -- `MatrixClient.getUser(userId)` -- `MatrixClient.getPushActionsForEvent(event)` -- `MatrixClient.setPassword(auth, newPassword)` -- `MatrixClient.loginWithSAML2(relayState, callback)` -- `MatrixClient.getAvatarUrlForMember(member, w, h, method)` -- `MatrixClient.mxcUrlToHttp(url, w, h, method)` -- `MatrixClient.getAvatarUrlForRoom(room, w, h, method)` -- `MatrixClient.uploadContent(file, callback)` -- `Room.getMembersWithMembership(membership)` -- `MatrixScheduler.getQueueForEvent(event)` -- `MatrixScheduler.removeEventFromQueue(event)` -- `$DATA_STORE.setSyncToken(token)` -- `$DATA_STORE.getSyncToken()` - -Crypto infrastructure (crypto is _NOT_ available in this version): - -- `global.CRYPTO_ENABLED` -- `MatrixClient.isCryptoEnabled()` -- `MatrixClient.uploadKeys(maxKeys)` -- `MatrixClient.downloadKeys(userIds, forceDownload)` -- `MatrixClient.listDeviceKeys(userId)` -- `MatrixClient.setRoomEncryption(roomId, config)` -- `MatrixClient.isRoomEncrypted(roomId)` +Crypto infrastructure (crypto is *NOT* available in this version): + * `global.CRYPTO_ENABLED` + * `MatrixClient.isCryptoEnabled()` + * `MatrixClient.uploadKeys(maxKeys)` + * `MatrixClient.downloadKeys(userIds, forceDownload)` + * `MatrixClient.listDeviceKeys(userId)` + * `MatrixClient.setRoomEncryption(roomId, config)` + * `MatrixClient.isRoomEncrypted(roomId)` New classes: - -- `MatrixCall` -- `WebStorageStore` - _WIP; unstable_ -- `WebStorageSessionStore` - _WIP; unstable_ + * `MatrixCall` + * `WebStorageStore` - *WIP; unstable* + * `WebStorageSessionStore` - *WIP; unstable* Bug fixes: + * Member name bugfix: Fixed an issue which prevented `RoomMember.name` being + disambiguated if there was exactly 1 other person with the same display name. + * Member name bugfix: Disambiguate both clashing display names with user IDs in + the event of a clash. + * Room state bugfix: Fixed a bug which incorrectly overwrote power levels + locally for a room. + * Room name bugfix: Ignore users who have left the room when determining a room + name. + * Events bugfix: Fixed a bug which prevented the `sender` and `target` + properties from being set. -- Member name bugfix: Fixed an issue which prevented `RoomMember.name` being - disambiguated if there was exactly 1 other person with the same display name. -- Member name bugfix: Disambiguate both clashing display names with user IDs in - the event of a clash. -- Room state bugfix: Fixed a bug which incorrectly overwrote power levels - locally for a room. -- Room name bugfix: Ignore users who have left the room when determining a room - name. -- Events bugfix: Fixed a bug which prevented the `sender` and `target` - properties from being set. - -# Changes in 0.1.1 +Changes in 0.1.1 +================ **BREAKING CHANGES**: - -- `Room.calculateRoomName` is now private. Use `Room.recalculate` instead, and - access the calculated name via `Room.name`. -- `new MatrixClient(...)` no longer creates a `MatrixInMemoryStore` if - `opts.store` is not specified. Instead, the `createClient` global function - creates it and passes it to the constructor. This change will not affect - users who have always used `createClient` to create a `MatrixClient`. -- `"Room"` events will now be emitted when the Room has _finished_ being - populated with state rather than at the moment of creation. This will fire - when the SDK encounters a room it doesn't know about (just arrived from the - event stream; e.g. a room invite) and will also fire after syncing room - state (e.g. after calling joinRoom). -- `MatrixClient.joinRoom` now returns a `Room` object when resolved, not an - object with a `room_id` property. -- `MatrixClient.scrollback` now expects a `Room` arg instead of a `room_id` - and `from` token. Construct a `new Room(roomId)` if you want to continue - using this directly, then set the pagination token using - `room.oldState.paginationToken = from`. It now resolves to a `Room` object - instead of the raw HTTP response. + * `Room.calculateRoomName` is now private. Use `Room.recalculate` instead, and + access the calculated name via `Room.name`. + * `new MatrixClient(...)` no longer creates a `MatrixInMemoryStore` if + `opts.store` is not specified. Instead, the `createClient` global function + creates it and passes it to the constructor. This change will not affect + users who have always used `createClient` to create a `MatrixClient`. + * `"Room"` events will now be emitted when the Room has *finished* being + populated with state rather than at the moment of creation. This will fire + when the SDK encounters a room it doesn't know about (just arrived from the + event stream; e.g. a room invite) and will also fire after syncing room + state (e.g. after calling joinRoom). + * `MatrixClient.joinRoom` now returns a `Room` object when resolved, not an + object with a `room_id` property. + * `MatrixClient.scrollback` now expects a `Room` arg instead of a `room_id` + and `from` token. Construct a `new Room(roomId)` if you want to continue + using this directly, then set the pagination token using + `room.oldState.paginationToken = from`. It now resolves to a `Room` object + instead of the raw HTTP response. New properties: - -- `User.events` -- `RoomMember.events` + * `User.events` + * `RoomMember.events` New methods: - -- `Room.hasMembershipState(userId, membership)` -- `MatrixClient.resendEvent(event, room)` + * `Room.hasMembershipState(userId, membership)` + * `MatrixClient.resendEvent(event, room)` New features: - -- Local echo. When you send an event using the SDK it will immediately be - added to `Room.timeline` with the `event.status` of `EventStatus.SENDING`. - When the event is finally sent, this status will be removed. -- Not sent status. When an event fails to send using the SDK, it will have the - `event.status` of `EventStatus.NOT_SENT`. -- Retries. If events fail to send, they will be automatically retried. -- Manual resending. Events which failed to send can be passed to - `MatrixClient.resendEvent(event, room)` to resend them. -- Queueing. Messages sent in quick succession will be queued to preserve the - order in which they were submitted. -- Room state is automatcally synchronised when joining a room (including if - another device joins a room). -- Scrollback. You can request earlier events in a room using - `MatrixClient.scrollback(room, limit, callback)`. + * Local echo. When you send an event using the SDK it will immediately be + added to `Room.timeline` with the `event.status` of `EventStatus.SENDING`. + When the event is finally sent, this status will be removed. + * Not sent status. When an event fails to send using the SDK, it will have the + `event.status` of `EventStatus.NOT_SENT`. + * Retries. If events fail to send, they will be automatically retried. + * Manual resending. Events which failed to send can be passed to + `MatrixClient.resendEvent(event, room)` to resend them. + * Queueing. Messages sent in quick succession will be queued to preserve the + order in which they were submitted. + * Room state is automatcally synchronised when joining a room (including if + another device joins a room). + * Scrollback. You can request earlier events in a room using + `MatrixClient.scrollback(room, limit, callback)`. Bug fixes: - -- Fixed a bug which prevented the event stream from polling. Some devices will - black hole requests when they hibernate, meaning that the callbacks will - never fire. We now maintain a local timer to forcibly restart the request. + * Fixed a bug which prevented the event stream from polling. Some devices will + black hole requests when they hibernate, meaning that the callbacks will + never fire. We now maintain a local timer to forcibly restart the request. diff --git a/examples/browser/README.md b/examples/browser/README.md index 3f52a4c46..c7261b81b 100644 --- a/examples/browser/README.md +++ b/examples/browser/README.md @@ -1,6 +1,7 @@ To try it out, **you must build the SDK first** and then host this folder: ``` + $ yarn install $ yarn build $ cd examples/browser $ python -m http.server 8003 diff --git a/package.json b/package.json index e3216884f..5e6d6574c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "matrix-js-sdk", - "version": "22.0.0", + "version": "23.0.0", "description": "Matrix Client-Server SDK for Javascript", "engines": { "node": ">=16.0.0" diff --git a/post-release.sh b/post-release.sh index 4e93f668a..f42c1d6e0 100755 --- a/post-release.sh +++ b/post-release.sh @@ -21,9 +21,9 @@ if [ "$(git branch -lr | grep origin/develop -c)" -ge 1 ]; then # to the TypeScript source. src_value=$(jq -r ".matrix_src_$i" package.json) if [ "$src_value" != "null" ]; then - jq ".$i = .matrix_src_$i" package.json > package.json.new && mv package.json.new package.json + jq ".$i = .matrix_src_$i" package.json > package.json.new && mv package.json.new package.json && yarn prettier --write package.json else - jq "del(.$i)" package.json > package.json.new && mv package.json.new package.json + jq "del(.$i)" package.json > package.json.new && mv package.json.new package.json && yarn prettier --write package.json fi fi done diff --git a/release.sh b/release.sh index 92a593e18..c5f798f40 100755 --- a/release.sh +++ b/release.sh @@ -184,7 +184,7 @@ for i in main typings do lib_value=$(jq -r ".matrix_lib_$i" package.json) if [ "$lib_value" != "null" ]; then - jq ".$i = .matrix_lib_$i" package.json > package.json.new && mv package.json.new package.json + jq ".$i = .matrix_lib_$i" package.json > package.json.new && mv package.json.new package.json && yarn prettier --write package.json fi done diff --git a/spec/TestClient.ts b/spec/TestClient.ts index 19a8d42c5..3e672bfb8 100644 --- a/spec/TestClient.ts +++ b/spec/TestClient.ts @@ -24,7 +24,7 @@ import MockHttpBackend from "matrix-mock-request"; import { LocalStorageCryptoStore } from "../src/crypto/store/localStorage-crypto-store"; import { logger } from "../src/logger"; import { syncPromise } from "./test-utils/test-utils"; -import { createClient } from "../src/matrix"; +import { createClient, IStartClientOpts } from "../src/matrix"; import { ICreateClientOpts, IDownloadKeyResult, MatrixClient, PendingEventOrdering } from "../src/client"; import { MockStorageApi } from "./MockStorageApi"; import { encodeUri } from "../src/utils"; @@ -79,9 +79,12 @@ export class TestClient { /** * start the client, and wait for it to initialise. */ - public start(): Promise { + public start(opts: IStartClientOpts = {}): Promise { logger.log(this + ": starting"); - this.httpBackend.when("GET", "/versions").respond(200, {}); + this.httpBackend.when("GET", "/versions").respond(200, { + // we have tests that rely on support for lazy-loading members + versions: ["r0.5.0"], + }); this.httpBackend.when("GET", "/pushrules").respond(200, {}); this.httpBackend.when("POST", "/filter").respond(200, { filter_id: "fid" }); this.expectDeviceKeyUpload(); @@ -93,6 +96,8 @@ export class TestClient { this.client.startClient({ // set this so that we can get hold of failed events pendingEventOrdering: PendingEventOrdering.Detached, + + ...opts, }); return Promise.all([this.httpBackend.flushAllExpected(), syncPromise(this.client)]).then(() => { diff --git a/spec/integ/matrix-client-event-timeline.spec.ts b/spec/integ/matrix-client-event-timeline.spec.ts index 5edd5c4b7..0c553e77f 100644 --- a/spec/integ/matrix-client-event-timeline.spec.ts +++ b/spec/integ/matrix-client-event-timeline.spec.ts @@ -1016,6 +1016,61 @@ describe("MatrixClient event timelines", function () { httpBackend.flushAllExpected(), ]); }); + + it("should create threads for thread roots discovered", function () { + const room = client.getRoom(roomId)!; + const timelineSet = room.getTimelineSets()[0]; + + httpBackend + .when("GET", "/rooms/!foo%3Abar/context/" + encodeURIComponent(EVENTS[0].event_id!)) + .respond(200, function () { + return { + start: "start_token0", + events_before: [], + event: EVENTS[0], + events_after: [], + end: "end_token0", + state: [], + }; + }); + + httpBackend + .when("GET", "/rooms/!foo%3Abar/messages") + .check(function (req) { + const params = req.queryParams!; + expect(params.dir).toEqual("b"); + expect(params.from).toEqual("start_token0"); + expect(params.limit).toEqual("30"); + }) + .respond(200, function () { + return { + chunk: [EVENTS[1], EVENTS[2], THREAD_ROOT], + end: "start_token1", + }; + }); + + let tl: EventTimeline; + return Promise.all([ + client + .getEventTimeline(timelineSet, EVENTS[0].event_id!) + .then(function (tl0) { + tl = tl0!; + return client.paginateEventTimeline(tl, { backwards: true }); + }) + .then(function (success) { + expect(success).toBeTruthy(); + expect(tl!.getEvents().length).toEqual(4); + expect(tl!.getEvents()[0].event).toEqual(THREAD_ROOT); + expect(tl!.getEvents()[1].event).toEqual(EVENTS[2]); + expect(tl!.getEvents()[2].event).toEqual(EVENTS[1]); + expect(tl!.getEvents()[3].event).toEqual(EVENTS[0]); + expect(room.getThreads().map((it) => it.id)).toEqual([THREAD_ROOT.event_id!]); + expect(tl!.getPaginationToken(EventTimeline.BACKWARDS)).toEqual("start_token1"); + expect(tl!.getPaginationToken(EventTimeline.FORWARDS)).toEqual("end_token0"); + }), + httpBackend.flushAllExpected(), + ]); + }); }); it("should ensure thread events are ordered correctly", async () => { diff --git a/spec/integ/matrix-client-methods.spec.ts b/spec/integ/matrix-client-methods.spec.ts index c83ada2d5..c1c4c30dc 100644 --- a/spec/integ/matrix-client-methods.spec.ts +++ b/spec/integ/matrix-client-methods.spec.ts @@ -35,9 +35,7 @@ describe("MatrixClient", function () { let store: MemoryStore | undefined; const defaultClientOpts: IStoredClientOpts = { - canResetEntireTimeline: (roomId) => false, experimentalThreadSupport: false, - crypto: {} as unknown as IStoredClientOpts["crypto"], }; const setupTests = (): [MatrixClient, HttpBackend, MemoryStore] => { const store = new MemoryStore(); diff --git a/spec/integ/matrix-client-syncing.spec.ts b/spec/integ/matrix-client-syncing.spec.ts index 0f92dc60d..75487eb81 100644 --- a/spec/integ/matrix-client-syncing.spec.ts +++ b/spec/integ/matrix-client-syncing.spec.ts @@ -1543,6 +1543,52 @@ describe("MatrixClient syncing", () => { }); }); }); + + it("only replays receipts relevant to the current context", async () => { + const THREAD_ID = "$unknownthread:localhost"; + + const receipt = { + type: "m.receipt", + room_id: "!foo:bar", + content: { + "$event1:localhost": { + [ReceiptType.Read]: { + "@alice:localhost": { ts: 666, thread_id: THREAD_ID }, + }, + }, + "$otherevent:localhost": { + [ReceiptType.Read]: { + "@alice:localhost": { ts: 999, thread_id: "$otherthread:localhost" }, + }, + }, + }, + }; + syncData.rooms.join[roomOne].ephemeral.events = [receipt]; + + httpBackend!.when("GET", "/sync").respond(200, syncData); + client!.startClient(); + + return Promise.all([httpBackend!.flushAllExpected(), awaitSyncEvent()]).then(() => { + const room = client?.getRoom(roomOne); + expect(room).toBeInstanceOf(Room); + + expect(room?.cachedThreadReadReceipts.has(THREAD_ID)).toBe(true); + + const thread = room!.createThread(THREAD_ID, undefined, [], true); + + expect(room?.cachedThreadReadReceipts.has(THREAD_ID)).toBe(false); + + const receipt = thread.getReadReceiptForUserId("@alice:localhost"); + + expect(receipt).toStrictEqual({ + data: { + thread_id: "$unknownthread:localhost", + ts: 666, + }, + eventId: "$event1:localhost", + }); + }); + }); }); describe("of a room", () => { diff --git a/spec/integ/megolm-integ.spec.ts b/spec/integ/megolm-integ.spec.ts index 334800333..1bdf3a09f 100644 --- a/spec/integ/megolm-integ.spec.ts +++ b/spec/integ/megolm-integ.spec.ts @@ -1590,4 +1590,92 @@ describe("megolm", () => { aliceTestClient.httpBackend.flush("/send/m.room.encrypted/", 1), ]); }); + + describe("Lazy-loading member lists", () => { + let p2pSession: Olm.Session; + + beforeEach(async () => { + // set up the aliceTestClient so that it is a room with no known members + aliceTestClient.expectKeyQuery({ device_keys: { "@alice:localhost": {} }, failures: {} }); + await aliceTestClient.start({ lazyLoadMembers: true }); + aliceTestClient.client.setGlobalErrorOnUnknownDevices(false); + + aliceTestClient.httpBackend.when("GET", "/sync").respond(200, getSyncResponse([])); + await aliceTestClient.flushSync(); + + p2pSession = await establishOlmSession(aliceTestClient, testOlmAccount); + }); + + async function expectMembershipRequest(roomId: string, members: string[]): Promise { + const membersPath = `/rooms/${encodeURIComponent(roomId)}/members?not_membership=leave`; + aliceTestClient.httpBackend.when("GET", membersPath).respond(200, { + chunk: [ + testUtils.mkMembershipCustom({ + membership: "join", + sender: "@bob:xyz", + }), + ], + }); + await aliceTestClient.httpBackend.flush(membersPath, 1); + } + + it("Sending an event initiates a member list sync", async () => { + // we expect a call to the /members list... + const memberListPromise = expectMembershipRequest(ROOM_ID, ["@bob:xyz"]); + + // then a request for bob's devices... + aliceTestClient.httpBackend.when("POST", "/keys/query").respond(200, getTestKeysQueryResponse("@bob:xyz")); + + // then a to-device with the room_key + const inboundGroupSessionPromise = expectSendRoomKey( + aliceTestClient.httpBackend, + "@bob:xyz", + testOlmAccount, + p2pSession, + ); + + // and finally the megolm message + const megolmMessagePromise = expectSendMegolmMessage( + aliceTestClient.httpBackend, + inboundGroupSessionPromise, + ); + + // kick it off + const sendPromise = aliceTestClient.client.sendTextMessage(ROOM_ID, "test"); + + await Promise.all([ + sendPromise, + megolmMessagePromise, + memberListPromise, + aliceTestClient.httpBackend.flush("/keys/query", 1), + ]); + }); + + it("loading the membership list inhibits a later load", async () => { + const room = aliceTestClient.client.getRoom(ROOM_ID)!; + await Promise.all([room.loadMembersIfNeeded(), expectMembershipRequest(ROOM_ID, ["@bob:xyz"])]); + + // expect a request for bob's devices... + aliceTestClient.httpBackend.when("POST", "/keys/query").respond(200, getTestKeysQueryResponse("@bob:xyz")); + + // then a to-device with the room_key + const inboundGroupSessionPromise = expectSendRoomKey( + aliceTestClient.httpBackend, + "@bob:xyz", + testOlmAccount, + p2pSession, + ); + + // and finally the megolm message + const megolmMessagePromise = expectSendMegolmMessage( + aliceTestClient.httpBackend, + inboundGroupSessionPromise, + ); + + // kick it off + const sendPromise = aliceTestClient.client.sendTextMessage(ROOM_ID, "test"); + + await Promise.all([sendPromise, megolmMessagePromise, aliceTestClient.httpBackend.flush("/keys/query", 1)]); + }); + }); }); diff --git a/spec/integ/sliding-sync-sdk.spec.ts b/spec/integ/sliding-sync-sdk.spec.ts index 165e31420..a54cf71cb 100644 --- a/spec/integ/sliding-sync-sdk.spec.ts +++ b/spec/integ/sliding-sync-sdk.spec.ts @@ -38,7 +38,7 @@ import { IRoomTimelineData, } from "../../src"; import { SlidingSyncSdk } from "../../src/sliding-sync-sdk"; -import { SyncState } from "../../src/sync"; +import { SyncApiOptions, SyncState } from "../../src/sync"; import { IStoredClientOpts } from "../../src/client"; import { logger } from "../../src/logger"; import { emitPromise } from "../test-utils/test-utils"; @@ -111,6 +111,7 @@ describe("SlidingSyncSdk", () => { // assign client/httpBackend globals const setupClient = async (testOpts?: Partial) => { testOpts = testOpts || {}; + const syncOpts: SyncApiOptions = {}; const testClient = new TestClient(selfUserId, "DEVICE", selfAccessToken); httpBackend = testClient.httpBackend; client = testClient.client; @@ -118,10 +119,10 @@ describe("SlidingSyncSdk", () => { if (testOpts.withCrypto) { httpBackend!.when("GET", "/room_keys/version").respond(404, {}); await client!.initCrypto(); - testOpts.crypto = client!.crypto; + syncOpts.cryptoCallbacks = syncOpts.crypto = client!.crypto; } httpBackend!.when("GET", "/_matrix/client/r0/pushrules").respond(200, {}); - sdk = new SlidingSyncSdk(mockSlidingSync, client, testOpts); + sdk = new SlidingSyncSdk(mockSlidingSync, client, testOpts, syncOpts); }; // tear down client/httpBackend globals diff --git a/spec/integ/sliding-sync.spec.ts b/spec/integ/sliding-sync.spec.ts index 4655ca0ef..368ace4e8 100644 --- a/spec/integ/sliding-sync.spec.ts +++ b/spec/integ/sliding-sync.spec.ts @@ -1418,6 +1418,102 @@ describe("SlidingSync", () => { await httpBackend!.flushAllExpected(); slidingSync.stop(); }); + + it("should not be possible to add/modify an already added custom subscription", async () => { + const slidingSync = new SlidingSync(proxyBaseUrl, [], defaultSub, client!, 1); + slidingSync.addCustomSubscription(customSubName1, customSub1); + slidingSync.addCustomSubscription(customSubName1, customSub2); + slidingSync.useCustomSubscription(roomA, customSubName1); + slidingSync.modifyRoomSubscriptions(new Set([roomA])); + + httpBackend! + .when("POST", syncUrl) + .check(function (req) { + const body = req.data; + logger.log("custom subs", body); + expect(body.room_subscriptions).toBeTruthy(); + expect(body.room_subscriptions[roomA]).toEqual(customSub1); + }) + .respond(200, { + pos: "b", + lists: [], + extensions: {}, + rooms: {}, + }); + slidingSync.start(); + await httpBackend!.flushAllExpected(); + slidingSync.stop(); + }); + + it("should change the custom subscription if they are different", async () => { + const slidingSync = new SlidingSync(proxyBaseUrl, [], defaultSub, client!, 1); + slidingSync.addCustomSubscription(customSubName1, customSub1); + slidingSync.addCustomSubscription(customSubName2, customSub2); + slidingSync.useCustomSubscription(roomA, customSubName1); + slidingSync.modifyRoomSubscriptions(new Set([roomA])); + + httpBackend! + .when("POST", syncUrl) + .check(function (req) { + const body = req.data; + logger.log("custom subs", body); + expect(body.room_subscriptions).toBeTruthy(); + expect(body.room_subscriptions[roomA]).toEqual(customSub1); + expect(body.unsubscribe_rooms).toBeUndefined(); + }) + .respond(200, { + pos: "b", + lists: [], + extensions: {}, + rooms: {}, + }); + slidingSync.start(); + await httpBackend!.flushAllExpected(); + + // using the same subscription doesn't unsub nor changes subscriptions + slidingSync.useCustomSubscription(roomA, customSubName1); + slidingSync.modifyRoomSubscriptions(new Set([roomA])); + + httpBackend! + .when("POST", syncUrl) + .check(function (req) { + const body = req.data; + logger.log("custom subs", body); + expect(body.room_subscriptions).toBeUndefined(); + expect(body.unsubscribe_rooms).toBeUndefined(); + }) + .respond(200, { + pos: "b", + lists: [], + extensions: {}, + rooms: {}, + }); + slidingSync.start(); + await httpBackend!.flushAllExpected(); + + // Changing the subscription works + slidingSync.useCustomSubscription(roomA, customSubName2); + slidingSync.modifyRoomSubscriptions(new Set([roomA])); + + httpBackend! + .when("POST", syncUrl) + .check(function (req) { + const body = req.data; + logger.log("custom subs", body); + expect(body.room_subscriptions).toBeTruthy(); + expect(body.room_subscriptions[roomA]).toEqual(customSub2); + expect(body.unsubscribe_rooms).toBeUndefined(); + }) + .respond(200, { + pos: "b", + lists: [], + extensions: {}, + rooms: {}, + }); + slidingSync.start(); + await httpBackend!.flushAllExpected(); + slidingSync.stop(); + }); }); describe("extensions", () => { diff --git a/spec/test-utils/webrtc.ts b/spec/test-utils/webrtc.ts index d8e350030..ed6e408ab 100644 --- a/spec/test-utils/webrtc.ts +++ b/spec/test-utils/webrtc.ts @@ -513,9 +513,6 @@ export class MockMatrixCall extends TypedEventEmitter(); - public on = jest.fn(); - public removeListener = jest.fn(); - public getOpponentMember(): Partial { return this.opponentMember; } diff --git a/spec/unit/autodiscovery.spec.ts b/spec/unit/autodiscovery.spec.ts index 0b6f8036d..f6db5327c 100644 --- a/spec/unit/autodiscovery.spec.ts +++ b/spec/unit/autodiscovery.spec.ts @@ -544,7 +544,7 @@ describe("AutoDiscovery", function () { .respond(200, { versions: ["r0.0.1"], }); - httpBackend.when("GET", "/_matrix/identity/api/v1").respond(404, {}); + httpBackend.when("GET", "/_matrix/identity/v2").respond(404, {}); httpBackend.when("GET", "/.well-known/matrix/client").respond(200, { "m.homeserver": { // Note: we also expect this test to trim the trailing slash @@ -591,7 +591,7 @@ describe("AutoDiscovery", function () { .respond(200, { versions: ["r0.0.1"], }); - httpBackend.when("GET", "/_matrix/identity/api/v1").respond(500, {}); + httpBackend.when("GET", "/_matrix/identity/v2").respond(500, {}); httpBackend.when("GET", "/.well-known/matrix/client").respond(200, { "m.homeserver": { // Note: we also expect this test to trim the trailing slash @@ -636,9 +636,9 @@ describe("AutoDiscovery", function () { versions: ["r0.0.1"], }); httpBackend - .when("GET", "/_matrix/identity/api/v1") + .when("GET", "/_matrix/identity/v2") .check((req) => { - expect(req.path).toEqual("https://identity.example.org/_matrix/identity/api/v1"); + expect(req.path).toEqual("https://identity.example.org/_matrix/identity/v2"); }) .respond(200, {}); httpBackend.when("GET", "/.well-known/matrix/client").respond(200, { @@ -682,9 +682,9 @@ describe("AutoDiscovery", function () { versions: ["r0.0.1"], }); httpBackend - .when("GET", "/_matrix/identity/api/v1") + .when("GET", "/_matrix/identity/v2") .check((req) => { - expect(req.path).toEqual("https://identity.example.org/_matrix/identity/api/v1"); + expect(req.path).toEqual("https://identity.example.org/_matrix/identity/v2"); }) .respond(200, {}); httpBackend.when("GET", "/.well-known/matrix/client").respond(200, { diff --git a/spec/unit/crypto.spec.ts b/spec/unit/crypto.spec.ts index 3b7689ca0..36a746078 100644 --- a/spec/unit/crypto.spec.ts +++ b/spec/unit/crypto.spec.ts @@ -167,6 +167,38 @@ describe("Crypto", function () { client.stopClient(); }); + + it("doesn't throw an error when attempting to decrypt a redacted event", async () => { + const client = new TestClient("@alice:example.com", "deviceid").client; + await client.initCrypto(); + + const event = new MatrixEvent({ + content: {}, + event_id: "$event_id", + room_id: "!room_id", + sender: "@bob:example.com", + type: "m.room.encrypted", + unsigned: { + redacted_because: { + content: {}, + event_id: "$redaction_event_id", + redacts: "$event_id", + room_id: "!room_id", + origin_server_ts: 1234567890, + sender: "@bob:example.com", + type: "m.room.redaction", + unsigned: {}, + }, + }, + }); + await event.attemptDecryption(client.crypto!); + expect(event.isDecryptionFailure()).toBeFalsy(); + // since the redaction event isn't encrypted, the redacted_because + // should be the same as in the original event + expect(event.getRedactionEvent()).toEqual(event.getUnsigned().redacted_because); + + client.stopClient(); + }); }); describe("Session management", function () { diff --git a/spec/unit/crypto/verification/setDeviceVerification.spec.ts b/spec/unit/crypto/verification/setDeviceVerification.spec.ts deleted file mode 100644 index e1c072226..000000000 --- a/spec/unit/crypto/verification/setDeviceVerification.spec.ts +++ /dev/null @@ -1,56 +0,0 @@ -/* -Copyright 2022 The Matrix.org Foundation C.I.C. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -import "../../../olm-loader"; - -import { CRYPTO_ENABLED, MatrixClient } from "../../../../src/client"; -import { TestClient } from "../../../TestClient"; - -const Olm = global.Olm; - -describe("crypto.setDeviceVerification", () => { - const userId = "@alice:example.com"; - const deviceId1 = "device1"; - let client: MatrixClient; - - if (!CRYPTO_ENABLED) { - return; - } - - beforeAll(async () => { - await Olm.init(); - }); - - beforeEach(async () => { - client = new TestClient(userId, deviceId1).client; - await client.initCrypto(); - }); - - it("client should provide crypto", () => { - expect(client.crypto).not.toBeUndefined(); - }); - - describe("when setting an own device as verified", () => { - beforeEach(async () => { - jest.spyOn(client.crypto!, "cancelAndResendAllOutgoingKeyRequests"); - await client.crypto!.setDeviceVerification(userId, deviceId1, true); - }); - - it("cancelAndResendAllOutgoingKeyRequests should be called", () => { - expect(client.crypto!.cancelAndResendAllOutgoingKeyRequests).toHaveBeenCalled(); - }); - }); -}); diff --git a/spec/unit/event-timeline-set.spec.ts b/spec/unit/event-timeline-set.spec.ts index 2831b6ca6..05b80fe57 100644 --- a/spec/unit/event-timeline-set.spec.ts +++ b/spec/unit/event-timeline-set.spec.ts @@ -24,10 +24,13 @@ import { MatrixClient, MatrixEvent, MatrixEventEvent, + RelationType, Room, + RoomEvent, } from "../../src"; -import { Thread } from "../../src/models/thread"; +import { FeatureSupport, Thread } from "../../src/models/thread"; import { ReEmitter } from "../../src/ReEmitter"; +import { eventMapperFor } from "../../src/event-mapper"; describe("EventTimelineSet", () => { const roomId = "!foo:bar"; @@ -202,6 +205,88 @@ describe("EventTimelineSet", () => { expect(liveTimeline.getEvents().length).toStrictEqual(0); }); + it("should allow edits to be added to thread timeline", async () => { + jest.spyOn(client, "supportsExperimentalThreads").mockReturnValue(true); + jest.spyOn(client, "getEventMapper").mockReturnValue(eventMapperFor(client, {})); + Thread.hasServerSideSupport = FeatureSupport.Stable; + + const sender = "@alice:matrix.org"; + + const root = utils.mkEvent({ + event: true, + content: { + body: "Thread root", + }, + type: EventType.RoomMessage, + sender, + }); + room.addLiveEvents([root]); + + const threadReply = utils.mkEvent({ + event: true, + content: { + "body": "Thread reply", + "m.relates_to": { + event_id: root.getId()!, + rel_type: RelationType.Thread, + }, + }, + type: EventType.RoomMessage, + sender, + }); + + root.setUnsigned({ + "m.relations": { + [RelationType.Thread]: { + count: 1, + latest_event: { + content: threadReply.getContent(), + origin_server_ts: 5, + room_id: room.roomId, + sender, + type: EventType.RoomMessage, + event_id: threadReply.getId()!, + user_id: sender, + age: 1, + }, + current_user_participated: true, + }, + }, + }); + + const editToThreadReply = utils.mkEvent({ + event: true, + content: { + "body": " * edit", + "m.new_content": { + "body": "edit", + "msgtype": "m.text", + "org.matrix.msc1767.text": "edit", + }, + "m.relates_to": { + event_id: threadReply.getId()!, + rel_type: RelationType.Replace, + }, + }, + type: EventType.RoomMessage, + sender, + }); + + jest.spyOn(client, "paginateEventTimeline").mockImplementation(async () => { + thread.timelineSet.getLiveTimeline().addEvent(threadReply, { toStartOfTimeline: true }); + return true; + }); + jest.spyOn(client, "relations").mockResolvedValue({ + events: [], + }); + + const thread = room.createThread(root.getId()!, root, [threadReply, editToThreadReply], false); + thread.once(RoomEvent.TimelineReset, () => { + const lastEvent = thread.timeline.at(-1)!; + expect(lastEvent.getContent().body).toBe(" * edit"); + }); + }); + describe("non-room timeline", () => { it("Adds event to timeline", () => { const nonRoomEventTimelineSet = new EventTimelineSet( diff --git a/spec/unit/matrix-client.spec.ts b/spec/unit/matrix-client.spec.ts index ba1c94a29..8e31e3bfa 100644 --- a/spec/unit/matrix-client.spec.ts +++ b/spec/unit/matrix-client.spec.ts @@ -22,11 +22,13 @@ import { Filter } from "../../src/filter"; import { DEFAULT_TREE_POWER_LEVELS_TEMPLATE } from "../../src/models/MSC3089TreeSpace"; import { EventType, + RelationType, RoomCreateTypeField, RoomType, UNSTABLE_MSC3088_ENABLED, UNSTABLE_MSC3088_PURPOSE, UNSTABLE_MSC3089_TREE_SUBTYPE, + MSC3912_RELATION_BASED_REDACTIONS_PROP, } from "../../src/@types/event"; import { MEGOLM_ALGORITHM } from "../../src/crypto/olmlib"; import { Crypto } from "../../src/crypto"; @@ -170,6 +172,10 @@ describe("MatrixClient", function () { data: SYNC_DATA, }; + const unstableFeatures: Record = { + "org.matrix.msc3440.stable": true, + }; + // items are popped off when processed and block if no items left. let httpLookups: HttpLookup[] = []; let acceptKeepalives: boolean; @@ -188,9 +194,7 @@ describe("MatrixClient", function () { const { prefix } = requestOpts; if (path === KEEP_ALIVE_PATH && acceptKeepalives) { return Promise.resolve({ - unstable_features: { - "org.matrix.msc3440.stable": true, - }, + unstable_features: unstableFeatures, versions: ["r0.6.0", "r0.6.1"], }); } @@ -1314,6 +1318,59 @@ describe("MatrixClient", function () { await client.redactEvent(roomId, eventId, txnId, { reason }); }); + + describe("when calling with with_relations", () => { + const eventId = "$event42:example.org"; + + it("should raise an error if server has no support for relation based redactions", async () => { + // load supported features + await client.getVersions(); + + const txnId = client.makeTxnId(); + + expect(() => { + client.redactEvent(roomId, eventId, txnId, { + with_relations: [RelationType.Reference], + }); + }).toThrowError( + new Error( + "Server does not support relation based redactions " + + `roomId ${roomId} eventId ${eventId} txnId: ${txnId} threadId null`, + ), + ); + }); + + describe("and the server supports relation based redactions (unstable)", () => { + beforeEach(async () => { + unstableFeatures["org.matrix.msc3912"] = true; + // load supported features + await client.getVersions(); + }); + + it("should send with_relations in the request body", async () => { + const txnId = client.makeTxnId(); + + httpLookups = [ + { + method: "PUT", + path: + `/rooms/${encodeURIComponent(roomId)}/redact/${encodeURIComponent(eventId)}` + + `/${encodeURIComponent(txnId)}`, + expectBody: { + reason: "redaction test", + [MSC3912_RELATION_BASED_REDACTIONS_PROP.unstable!]: [RelationType.Reference], + }, + data: { event_id: eventId }, + }, + ]; + + await client.redactEvent(roomId, eventId, txnId, { + reason: "redaction test", + with_relations: [RelationType.Reference], + }); + }); + }); + }); }); describe("cancelPendingEvent", () => { diff --git a/spec/unit/models/event.spec.ts b/spec/unit/models/event.spec.ts index da492b542..244f92145 100644 --- a/spec/unit/models/event.spec.ts +++ b/spec/unit/models/event.spec.ts @@ -16,7 +16,6 @@ limitations under the License. import { MatrixEvent, MatrixEventEvent } from "../../../src/models/event"; import { emitPromise } from "../../test-utils/test-utils"; -import { EventType } from "../../../src"; import { Crypto } from "../../../src/crypto"; describe("MatrixEvent", () => { @@ -88,22 +87,6 @@ describe("MatrixEvent", () => { expect(ev.getWireContent().ciphertext).toBeUndefined(); }); - it("should abort decryption if fails with an error other than a DecryptionError", async () => { - const ev = new MatrixEvent({ - type: EventType.RoomMessageEncrypted, - content: { - body: "Test", - }, - event_id: "$event1:server", - }); - await ev.attemptDecryption({ - decryptEvent: jest.fn().mockRejectedValue(new Error("Not a DecryptionError")), - } as unknown as Crypto); - expect(ev.isEncrypted()).toBeTruthy(); - expect(ev.isBeingDecrypted()).toBeFalsy(); - expect(ev.isDecryptionFailure()).toBeFalsy(); - }); - describe("applyVisibilityEvent", () => { it("should emit VisibilityChange if a change was made", async () => { const ev = new MatrixEvent({ @@ -134,6 +117,21 @@ describe("MatrixEvent", () => { }); }); + it("should report decryption errors", async () => { + const crypto = { + decryptEvent: jest.fn().mockRejectedValue(new Error("test error")), + } as unknown as Crypto; + + await encryptedEvent.attemptDecryption(crypto); + expect(encryptedEvent.isEncrypted()).toBeTruthy(); + expect(encryptedEvent.isBeingDecrypted()).toBeFalsy(); + expect(encryptedEvent.isDecryptionFailure()).toBeTruthy(); + expect(encryptedEvent.getContent()).toEqual({ + msgtype: "m.bad.encrypted", + body: "** Unable to decrypt: Error: test error **", + }); + }); + it("should retry decryption if a retry is queued", async () => { const eventAttemptDecryptionSpy = jest.spyOn(encryptedEvent, "attemptDecryption"); diff --git a/spec/unit/relations.spec.ts b/spec/unit/relations.spec.ts index 91b77dd12..cf4997c28 100644 --- a/spec/unit/relations.spec.ts +++ b/spec/unit/relations.spec.ts @@ -14,13 +14,21 @@ See the License for the specific language governing permissions and limitations under the License. */ +import { M_POLL_START } from "matrix-events-sdk"; + import { EventTimelineSet } from "../../src/models/event-timeline-set"; import { MatrixEvent, MatrixEventEvent } from "../../src/models/event"; import { Room } from "../../src/models/room"; -import { Relations } from "../../src/models/relations"; +import { Relations, RelationsEvent } from "../../src/models/relations"; import { TestClient } from "../TestClient"; +import { RelationType } from "../../src"; +import { logger } from "../../src/logger"; describe("Relations", function () { + afterEach(() => { + jest.spyOn(logger, "error").mockRestore(); + }); + it("should deduplicate annotations", function () { const room = new Room("room123", null!, null!); const relations = new Relations("m.annotation", "m.reaction", room); @@ -75,6 +83,92 @@ describe("Relations", function () { } }); + describe("addEvent()", () => { + const relationType = RelationType.Reference; + const eventType = M_POLL_START.stable!; + const altEventTypes = [M_POLL_START.unstable!]; + const room = new Room("room123", null!, null!); + + it("should not add events without a relation", async () => { + // dont pollute console + const logSpy = jest.spyOn(logger, "error").mockImplementation(() => {}); + const relations = new Relations(relationType, eventType, room); + const emitSpy = jest.spyOn(relations, "emit"); + const event = new MatrixEvent({ type: eventType }); + + await relations.addEvent(event); + expect(logSpy).toHaveBeenCalledWith("Event must have relation info"); + // event not added + expect(relations.getRelations().length).toBe(0); + expect(emitSpy).not.toHaveBeenCalled(); + }); + + it("should not add events of incorrect event type", async () => { + // dont pollute console + const logSpy = jest.spyOn(logger, "error").mockImplementation(() => {}); + const relations = new Relations(relationType, eventType, room); + const emitSpy = jest.spyOn(relations, "emit"); + const event = new MatrixEvent({ + type: "different-event-type", + content: { + "m.relates_to": { + event_id: "$2s4yYpEkVQrPglSCSqB_m6E8vDhWsg0yFNyOJdVIb_o", + rel_type: relationType, + }, + }, + }); + + await relations.addEvent(event); + + expect(logSpy).toHaveBeenCalledWith(`Event relation info doesn't match this container`); + // event not added + expect(relations.getRelations().length).toBe(0); + expect(emitSpy).not.toHaveBeenCalled(); + }); + + it("adds events that match alt event types", async () => { + const relations = new Relations(relationType, eventType, room, altEventTypes); + const emitSpy = jest.spyOn(relations, "emit"); + const event = new MatrixEvent({ + type: M_POLL_START.unstable!, + content: { + "m.relates_to": { + event_id: "$2s4yYpEkVQrPglSCSqB_m6E8vDhWsg0yFNyOJdVIb_o", + rel_type: relationType, + }, + }, + }); + + await relations.addEvent(event); + + // event added + expect(relations.getRelations()).toEqual([event]); + expect(emitSpy).toHaveBeenCalledWith(RelationsEvent.Add, event); + }); + + it("should not add events of incorrect relation type", async () => { + const logSpy = jest.spyOn(logger, "error").mockImplementation(() => {}); + const relations = new Relations(relationType, eventType, room); + const event = new MatrixEvent({ + type: eventType, + content: { + "m.relates_to": { + event_id: "$2s4yYpEkVQrPglSCSqB_m6E8vDhWsg0yFNyOJdVIb_o", + rel_type: "m.annotation", + }, + }, + }); + + await relations.addEvent(event); + const emitSpy = jest.spyOn(relations, "emit"); + + expect(logSpy).toHaveBeenCalledWith(`Event relation info doesn't match this container`); + // event not added + expect(relations.getRelations().length).toBe(0); + expect(emitSpy).not.toHaveBeenCalled(); + }); + }); + it("should emit created regardless of ordering", async function () { const targetEvent = new MatrixEvent({ sender: "@bob:example.com", diff --git a/spec/unit/rust-crypto.spec.ts b/spec/unit/rust-crypto.spec.ts new file mode 100644 index 000000000..69dde7123 --- /dev/null +++ b/spec/unit/rust-crypto.spec.ts @@ -0,0 +1,248 @@ +/* +Copyright 2022 The Matrix.org Foundation C.I.C. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import "fake-indexeddb/auto"; +import { IDBFactory } from "fake-indexeddb"; +import * as RustSdkCryptoJs from "@matrix-org/matrix-sdk-crypto-js"; +import { + KeysBackupRequest, + KeysClaimRequest, + KeysQueryRequest, + KeysUploadRequest, + OlmMachine, + SignatureUploadRequest, +} from "@matrix-org/matrix-sdk-crypto-js"; +import { Mocked } from "jest-mock"; +import MockHttpBackend from "matrix-mock-request"; + +import { RustCrypto } from "../../src/rust-crypto/rust-crypto"; +import { initRustCrypto } from "../../src/rust-crypto"; +import { HttpApiEvent, HttpApiEventHandlerMap, IToDeviceEvent, MatrixClient, MatrixHttpApi } from "../../src"; +import { TypedEventEmitter } from "../../src/models/typed-event-emitter"; + +afterEach(() => { + // reset fake-indexeddb after each test, to make sure we don't leak connections + // cf https://github.com/dumbmatter/fakeIndexedDB#wipingresetting-the-indexeddb-for-a-fresh-state + // eslint-disable-next-line no-global-assign + indexedDB = new IDBFactory(); +}); + +describe("RustCrypto", () => { + const TEST_USER = "@alice:example.com"; + const TEST_DEVICE_ID = "TEST_DEVICE"; + + describe(".exportRoomKeys", () => { + let rustCrypto: RustCrypto; + + beforeEach(async () => { + const mockHttpApi = {} as MatrixClient["http"]; + rustCrypto = (await initRustCrypto(mockHttpApi, TEST_USER, TEST_DEVICE_ID)) as RustCrypto; + }); + + it("should return a list", async () => { + const keys = await rustCrypto.exportRoomKeys(); + expect(Array.isArray(keys)).toBeTruthy(); + }); + }); + + describe("to-device messages", () => { + let rustCrypto: RustCrypto; + + beforeEach(async () => { + const mockHttpApi = {} as MatrixClient["http"]; + rustCrypto = (await initRustCrypto(mockHttpApi, TEST_USER, TEST_DEVICE_ID)) as RustCrypto; + }); + + it("should pass through unencrypted to-device messages", async () => { + const inputs: IToDeviceEvent[] = [ + { content: { key: "value" }, type: "org.matrix.test", sender: "@alice:example.com" }, + ]; + const res = await rustCrypto.preprocessToDeviceMessages(inputs); + expect(res).toEqual(inputs); + }); + + it("should pass through bad encrypted messages", async () => { + const olmMachine: OlmMachine = rustCrypto["olmMachine"]; + const keys = olmMachine.identityKeys; + const inputs: IToDeviceEvent[] = [ + { + type: "m.room.encrypted", + content: { + algorithm: "m.olm.v1.curve25519-aes-sha2", + sender_key: "IlRMeOPX2e0MurIyfWEucYBRVOEEUMrOHqn/8mLqMjA", + ciphertext: { + [keys.curve25519.toBase64()]: { + type: 0, + body: "ajyjlghi", + }, + }, + }, + sender: "@alice:example.com", + }, + ]; + + const res = await rustCrypto.preprocessToDeviceMessages(inputs); + expect(res).toEqual(inputs); + }); + }); + + describe("outgoing requests", () => { + /** the RustCrypto implementation under test */ + let rustCrypto: RustCrypto; + + /** A mock http backend which rustCrypto is connected to */ + let httpBackend: MockHttpBackend; + + /** a mocked-up OlmMachine which rustCrypto is connected to */ + let olmMachine: Mocked; + + /** A list of results to be returned from olmMachine.outgoingRequest. Each call will shift a result off + * the front of the queue, until it is empty. */ + let outgoingRequestQueue: Array>; + + /** wait for a call to olmMachine.markRequestAsSent */ + function awaitCallToMarkAsSent(): Promise { + return new Promise((resolve, _reject) => { + olmMachine.markRequestAsSent.mockImplementationOnce(async () => { + resolve(undefined); + }); + }); + } + + beforeEach(async () => { + httpBackend = new MockHttpBackend(); + + await RustSdkCryptoJs.initAsync(); + + const dummyEventEmitter = new TypedEventEmitter(); + const httpApi = new MatrixHttpApi(dummyEventEmitter, { + baseUrl: "https://example.com", + prefix: "/_matrix", + fetchFn: httpBackend.fetchFn as typeof global.fetch, + onlyData: true, + }); + + // for these tests we use a mock OlmMachine, with an implementation of outgoingRequests that + // returns objects from outgoingRequestQueue + outgoingRequestQueue = []; + olmMachine = { + outgoingRequests: jest.fn().mockImplementation(() => { + return Promise.resolve(outgoingRequestQueue.shift() ?? []); + }), + markRequestAsSent: jest.fn(), + close: jest.fn(), + } as unknown as Mocked; + + rustCrypto = new RustCrypto(olmMachine, httpApi, TEST_USER, TEST_DEVICE_ID); + }); + + it("should poll for outgoing messages", () => { + rustCrypto.onSyncCompleted({}); + expect(olmMachine.outgoingRequests).toHaveBeenCalled(); + }); + + /* simple requests that map directly to the request body */ + const tests: Array<[any, "POST" | "PUT", string]> = [ + [KeysUploadRequest, "POST", "https://example.com/_matrix/client/v3/keys/upload"], + [KeysQueryRequest, "POST", "https://example.com/_matrix/client/v3/keys/query"], + [KeysClaimRequest, "POST", "https://example.com/_matrix/client/v3/keys/claim"], + [SignatureUploadRequest, "POST", "https://example.com/_matrix/client/v3/keys/signatures/upload"], + [KeysBackupRequest, "PUT", "https://example.com/_matrix/client/v3/room_keys/keys"], + ]; + + for (const [RequestClass, expectedMethod, expectedPath] of tests) { + it(`should handle ${RequestClass.name}s`, async () => { + const testBody = '{ "foo": "bar" }'; + const outgoingRequest = new RequestClass("1234", testBody); + outgoingRequestQueue.push([outgoingRequest]); + + const testResponse = '{ "result": 1 }'; + httpBackend + .when(expectedMethod, "/_matrix") + .check((req) => { + expect(req.path).toEqual(expectedPath); + expect(req.rawData).toEqual(testBody); + expect(req.headers["Accept"]).toEqual("application/json"); + expect(req.headers["Content-Type"]).toEqual("application/json"); + }) + .respond(200, testResponse, true); + + rustCrypto.onSyncCompleted({}); + + expect(olmMachine.outgoingRequests).toHaveBeenCalledTimes(1); + + const markSentCallPromise = awaitCallToMarkAsSent(); + await httpBackend.flushAllExpected(); + + await markSentCallPromise; + expect(olmMachine.markRequestAsSent).toHaveBeenCalledWith("1234", outgoingRequest.type, testResponse); + httpBackend.verifyNoOutstandingRequests(); + }); + } + + it("does not explode with unknown requests", async () => { + const outgoingRequest = { id: "5678", type: 987 }; + outgoingRequestQueue.push([outgoingRequest]); + + rustCrypto.onSyncCompleted({}); + + await awaitCallToMarkAsSent(); + expect(olmMachine.markRequestAsSent).toHaveBeenCalledWith("5678", 987, ""); + }); + + it("stops looping when stop() is called", async () => { + const testResponse = '{ "result": 1 }'; + + for (let i = 0; i < 5; i++) { + outgoingRequestQueue.push([new KeysQueryRequest("1234", "{}")]); + httpBackend.when("POST", "/_matrix").respond(200, testResponse, true); + } + + rustCrypto.onSyncCompleted({}); + + expect(rustCrypto["outgoingRequestLoopRunning"]).toBeTruthy(); + + // go a couple of times round the loop + await httpBackend.flush("/_matrix", 1); + await awaitCallToMarkAsSent(); + + await httpBackend.flush("/_matrix", 1); + await awaitCallToMarkAsSent(); + + // a second sync while this is going on shouldn't make any difference + rustCrypto.onSyncCompleted({}); + + await httpBackend.flush("/_matrix", 1); + await awaitCallToMarkAsSent(); + + // now stop... + rustCrypto.stop(); + + // which should (eventually) cause the loop to stop with no further calls to outgoingRequests + olmMachine.outgoingRequests.mockReset(); + + await new Promise((resolve) => { + setTimeout(resolve, 100); + }); + expect(rustCrypto["outgoingRequestLoopRunning"]).toBeFalsy(); + httpBackend.verifyNoOutstandingRequests(); + expect(olmMachine.outgoingRequests).not.toHaveBeenCalled(); + + // we sent three, so there should be 2 left + expect(outgoingRequestQueue.length).toEqual(2); + }); + }); +}); diff --git a/spec/unit/webrtc/groupCall.spec.ts b/spec/unit/webrtc/groupCall.spec.ts index 59cdbac12..281497bbf 100644 --- a/spec/unit/webrtc/groupCall.spec.ts +++ b/spec/unit/webrtc/groupCall.spec.ts @@ -142,6 +142,15 @@ describe("Group Call", function () { } as unknown as RoomMember; }); + it.each(Object.values(GroupCallState).filter((v) => v !== GroupCallState.LocalCallFeedUninitialized))( + "throws when initializing local call feed in %s state", + async (state: GroupCallState) => { + // @ts-ignore + groupCall.state = state; + await expect(groupCall.initLocalCallFeed()).rejects.toThrowError(); + }, + ); + it("does not initialize local call feed, if it already is", async () => { await groupCall.initLocalCallFeed(); jest.spyOn(groupCall, "initLocalCallFeed"); @@ -308,6 +317,17 @@ describe("Group Call", function () { } }); + describe("hasLocalParticipant()", () => { + it("should return false, if we don't have a local participant", () => { + expect(groupCall.hasLocalParticipant()).toBeFalsy(); + }); + + it("should return true, if we do have local participant", async () => { + await groupCall.enter(); + expect(groupCall.hasLocalParticipant()).toBeTruthy(); + }); + }); + describe("call feeds changing", () => { let call: MockMatrixCall; const currentFeed = new MockCallFeed(FAKE_USER_ID_1, FAKE_DEVICE_ID_1, new MockMediaStream("current")); @@ -475,7 +495,7 @@ describe("Group Call", function () { const mockCall = new MockMatrixCall(FAKE_ROOM_ID, groupCall.groupCallId); // @ts-ignore groupCall.calls.set( - mockCall.getOpponentMember() as RoomMember, + mockCall.getOpponentMember().userId!, new Map([[mockCall.getOpponentDeviceId()!, mockCall.typed()]]), ); @@ -501,7 +521,7 @@ describe("Group Call", function () { const mockCall = new MockMatrixCall(FAKE_ROOM_ID, groupCall.groupCallId); // @ts-ignore groupCall.calls.set( - mockCall.getOpponentMember() as RoomMember, + mockCall.getOpponentMember().userId!, new Map([[mockCall.getOpponentDeviceId()!, mockCall.typed()]]), ); @@ -663,9 +683,7 @@ describe("Group Call", function () { expect(client1.sendToDevice).toHaveBeenCalled(); // @ts-ignore - const oldCall = groupCall1.calls - .get(groupCall1.room.getMember(client2.userId)!)! - .get(client2.deviceId)!; + const oldCall = groupCall1.calls.get(client2.userId)!.get(client2.deviceId)!; oldCall.emit(CallEvent.Hangup, oldCall!); client1.sendToDevice.mockClear(); @@ -685,9 +703,7 @@ describe("Group Call", function () { let newCall: MatrixCall | undefined; while ( // @ts-ignore - (newCall = groupCall1.calls - .get(groupCall1.room.getMember(client2.userId)!) - ?.get(client2.deviceId)) === undefined || + (newCall = groupCall1.calls.get(client2.userId)?.get(client2.deviceId)) === undefined || newCall.peerConn === undefined || newCall.callId == oldCall.callId ) { @@ -730,7 +746,7 @@ describe("Group Call", function () { groupCall1.setLocalVideoMuted(false); // @ts-ignore - const call = groupCall1.calls.get(groupCall1.room.getMember(client2.userId)!)!.get(client2.deviceId)!; + const call = groupCall1.calls.get(client2.userId)!.get(client2.deviceId)!; call.isMicrophoneMuted = jest.fn().mockReturnValue(true); call.setMicrophoneMuted = jest.fn(); call.isLocalVideoMuted = jest.fn().mockReturnValue(true); @@ -839,7 +855,7 @@ describe("Group Call", function () { await sleep(10); // @ts-ignore - const call = groupCall.calls.get(groupCall.room.getMember(FAKE_USER_ID_2)!)!.get(FAKE_DEVICE_ID_2)!; + const call = groupCall.calls.get(FAKE_USER_ID_2)!.get(FAKE_DEVICE_ID_2)!; call.getOpponentMember = () => ({ userId: call.invitee } as RoomMember); // @ts-ignore Mock call.pushRemoteFeed( @@ -866,7 +882,7 @@ describe("Group Call", function () { await sleep(10); // @ts-ignore - const call = groupCall.calls.get(groupCall.room.getMember(FAKE_USER_ID_2)!)!.get(FAKE_DEVICE_ID_2)!; + const call = groupCall.calls.get(FAKE_USER_ID_2).get(FAKE_DEVICE_ID_2)!; call.getOpponentMember = () => ({ userId: call.invitee } as RoomMember); // @ts-ignore Mock call.pushRemoteFeed( @@ -943,9 +959,7 @@ describe("Group Call", function () { expect(mockCall.reject).not.toHaveBeenCalled(); expect(mockCall.answerWithCallFeeds).toHaveBeenCalled(); // @ts-ignore - expect(groupCall.calls).toEqual( - new Map([[groupCall.room.getMember(FAKE_USER_ID_1)!, new Map([[FAKE_DEVICE_ID_1, mockCall]])]]), - ); + expect(groupCall.calls).toEqual(new Map([[FAKE_USER_ID_1, new Map([[FAKE_DEVICE_ID_1, mockCall]])]])); }); it("replaces calls if it already has one with the same user", async () => { @@ -960,9 +974,7 @@ describe("Group Call", function () { expect(oldMockCall.hangup).toHaveBeenCalled(); expect(newMockCall.answerWithCallFeeds).toHaveBeenCalled(); // @ts-ignore - expect(groupCall.calls).toEqual( - new Map([[groupCall.room.getMember(FAKE_USER_ID_1)!, new Map([[FAKE_DEVICE_ID_1, newMockCall]])]]), - ); + expect(groupCall.calls).toEqual(new Map([[FAKE_USER_ID_1, new Map([[FAKE_DEVICE_ID_1, newMockCall]])]])); }); it("starts to process incoming calls when we've entered", async () => { @@ -975,6 +987,83 @@ describe("Group Call", function () { expect(call.answerWithCallFeeds).toHaveBeenCalled(); }); + + describe("handles call being replaced", () => { + let callChangedListener: jest.Mock; + let oldMockCall: MockMatrixCall; + let newMockCall: MockMatrixCall; + let newCallsMap: Map>; + + beforeEach(() => { + callChangedListener = jest.fn(); + groupCall.addListener(GroupCallEvent.CallsChanged, callChangedListener); + + oldMockCall = new MockMatrixCall(room.roomId, groupCall.groupCallId); + newMockCall = new MockMatrixCall(room.roomId, groupCall.groupCallId); + newCallsMap = new Map([[FAKE_USER_ID_1, new Map([[FAKE_DEVICE_ID_1, newMockCall.typed()]])]]); + + newMockCall.opponentMember = oldMockCall.opponentMember; // Ensure referential equality + newMockCall.callId = "not " + oldMockCall.callId; + mockClient.emit(CallEventHandlerEvent.Incoming, oldMockCall.typed()); + }); + + it("handles regular case", () => { + oldMockCall.emit(CallEvent.Replaced, newMockCall.typed()); + + expect(oldMockCall.hangup).toHaveBeenCalled(); + expect(callChangedListener).toHaveBeenCalledWith(newCallsMap); + // @ts-ignore + expect(groupCall.calls).toEqual(newCallsMap); + }); + + it("handles case where call is missing from the calls map", () => { + // @ts-ignore + groupCall.calls = new Map(); + oldMockCall.emit(CallEvent.Replaced, newMockCall.typed()); + + expect(oldMockCall.hangup).toHaveBeenCalled(); + expect(callChangedListener).toHaveBeenCalledWith(newCallsMap); + // @ts-ignore + expect(groupCall.calls).toEqual(newCallsMap); + }); + }); + + describe("handles call being hangup", () => { + let callChangedListener: jest.Mock; + let mockCall: MockMatrixCall; + + beforeEach(() => { + callChangedListener = jest.fn(); + groupCall.addListener(GroupCallEvent.CallsChanged, callChangedListener); + mockCall = new MockMatrixCall(room.roomId, groupCall.groupCallId); + }); + + it("doesn't throw when calls map is empty", () => { + // @ts-ignore + expect(() => groupCall.onCallHangup(mockCall)).not.toThrow(); + }); + + it("clears map completely when we're the last users device left", () => { + mockClient.emit(CallEventHandlerEvent.Incoming, mockCall.typed()); + mockCall.emit(CallEvent.Hangup, mockCall.typed()); + // @ts-ignore + expect(groupCall.calls).toEqual(new Map()); + }); + + it("doesn't remove another call of the same user", () => { + const anotherCallOfTheSameUser = new MockMatrixCall(room.roomId, groupCall.groupCallId); + anotherCallOfTheSameUser.callId = "another call id"; + anotherCallOfTheSameUser.getOpponentDeviceId = () => FAKE_DEVICE_ID_2; + mockClient.emit(CallEventHandlerEvent.Incoming, anotherCallOfTheSameUser.typed()); + + mockClient.emit(CallEventHandlerEvent.Incoming, mockCall.typed()); + mockCall.emit(CallEvent.Hangup, mockCall.typed()); + // @ts-ignore + expect(groupCall.calls).toEqual( + new Map([[FAKE_USER_ID_1, new Map([[FAKE_DEVICE_ID_2, anotherCallOfTheSameUser.typed()]])]]), + ); + }); + }); }); describe("screensharing", () => { @@ -1039,7 +1128,7 @@ describe("Group Call", function () { await sleep(10); // @ts-ignore - const call = groupCall.calls.get(groupCall.room.getMember(FAKE_USER_ID_2)!)!.get(FAKE_DEVICE_ID_2)!; + const call = groupCall.calls.get(FAKE_USER_ID_2)!.get(FAKE_DEVICE_ID_2)!; call.getOpponentMember = () => ({ userId: call.invitee } as RoomMember); call.onNegotiateReceived({ getContent: () => ({ diff --git a/src/@types/crypto.ts b/src/@types/crypto.ts index 91e4d161c..0b350a909 100644 --- a/src/@types/crypto.ts +++ b/src/@types/crypto.ts @@ -44,3 +44,29 @@ export interface IEventDecryptionResult { claimedEd25519Key?: string; untrusted?: boolean; } + +interface Extensible { + [key: string]: any; +} + +/* eslint-disable camelcase */ + +/** The result of a call to {@link MatrixClient.exportRoomKeys} */ +export interface IMegolmSessionData extends Extensible { + /** Sender's Curve25519 device key */ + sender_key: string; + /** Devices which forwarded this session to us (normally empty). */ + forwarding_curve25519_key_chain: string[]; + /** Other keys the sender claims. */ + sender_claimed_keys: Record; + /** Room this session is used in */ + room_id: string; + /** Unique id for the session */ + session_id: string; + /** Base64'ed key data */ + session_key: string; + algorithm?: string; + untrusted?: boolean; +} + +/* eslint-enable camelcase */ diff --git a/src/@types/event.ts b/src/@types/event.ts index 230cb0503..285907721 100644 --- a/src/@types/event.ts +++ b/src/@types/event.ts @@ -61,11 +61,12 @@ export enum EventType { KeyVerificationDone = "m.key.verification.done", KeyVerificationKey = "m.key.verification.key", KeyVerificationAccept = "m.key.verification.accept", - // XXX this event is not yet supported by js-sdk + // Not used directly - see READY_TYPE in VerificationRequest. KeyVerificationReady = "m.key.verification.ready", // use of this is discouraged https://matrix.org/docs/spec/client_server/r0.6.1#m-room-message-feedback RoomMessageFeedback = "m.room.message.feedback", Reaction = "m.reaction", + PollStart = "org.matrix.msc3381.poll.start", // Room ephemeral events Typing = "m.typing", @@ -165,6 +166,15 @@ export const UNSTABLE_MSC3089_BRANCH = new UnstableValue("m.branch", "org.matrix */ export const UNSTABLE_MSC2716_MARKER = new UnstableValue("m.room.marker", "org.matrix.msc2716.marker"); +/** + * Name of the "with_relations" request property for relation based redactions. + * {@link https://github.com/matrix-org/matrix-spec-proposals/pull/3912} + */ +export const MSC3912_RELATION_BASED_REDACTIONS_PROP = new UnstableValue( + "with_relations", + "org.matrix.msc3912.with_relations", +); + /** * Functional members type for declaring a purpose of room members (e.g. helpful bots). * Note that this reference is UNSTABLE and subject to breaking changes, including its diff --git a/src/@types/read_receipts.ts b/src/@types/read_receipts.ts index 34f1c67fa..3032c5934 100644 --- a/src/@types/read_receipts.ts +++ b/src/@types/read_receipts.ts @@ -54,3 +54,11 @@ export type Receipts = { [userId: string]: [WrappedReceipt | null, WrappedReceipt | null]; // Pair (both nullable) }; }; + +export type CachedReceiptStructure = { + eventId: string; + receiptType: string | ReceiptType; + userId: string; + receipt: Receipt; + synthetic: boolean; +}; diff --git a/src/@types/requests.ts b/src/@types/requests.ts index 75296940a..12f4d8eb0 100644 --- a/src/@types/requests.ts +++ b/src/@types/requests.ts @@ -21,7 +21,7 @@ import { IRoomEventFilter } from "../filter"; import { Direction } from "../models/event-timeline"; import { PushRuleAction } from "./PushRules"; import { IRoomEvent } from "../sync-accumulator"; -import { EventType, RoomType } from "./event"; +import { EventType, RelationType, RoomType } from "./event"; // allow camelcase as these are things that go onto the wire /* eslint-disable camelcase */ @@ -47,6 +47,18 @@ export interface IJoinRoomOpts { export interface IRedactOpts { reason?: string; + /** + * Whether events related to the redacted event should be redacted. + * + * If specified, then any events which relate to the event being redacted with + * any of the relationship types listed will also be redacted. + * + * Raises an Error if the server does not support it. + * Check for server-side support before using this param with + * client.canSupport.get(Feature.RelationBasedRedactions). + * {@link https://github.com/matrix-org/matrix-spec-proposals/pull/3912} + */ + with_relations?: Array; } export interface ISendEventResponse { diff --git a/src/autodiscovery.ts b/src/autodiscovery.ts index aa839550f..0457175f3 100644 --- a/src/autodiscovery.ts +++ b/src/autodiscovery.ts @@ -214,9 +214,9 @@ export class AutoDiscovery { // Step 5b: Verify there is an identity server listening on the provided // URL. - const isResponse = await this.fetchWellKnownObject(`${isUrl}/_matrix/identity/api/v1`); + const isResponse = await this.fetchWellKnownObject(`${isUrl}/_matrix/identity/v2`); if (!isResponse?.raw || isResponse.action !== AutoDiscoveryAction.SUCCESS) { - logger.error("Invalid /api/v1 response"); + logger.error("Invalid /v2 response"); failingClientConfig["m.identity_server"].error = AutoDiscovery.ERROR_INVALID_IDENTITY_SERVER; // Supply the base_url to the caller because they may be ignoring diff --git a/src/client.ts b/src/client.ts index 7ec959299..f39bbf718 100644 --- a/src/client.ts +++ b/src/client.ts @@ -20,7 +20,8 @@ limitations under the License. import { EmoteEvent, IPartialEvent, MessageEvent, NoticeEvent, Optional } from "matrix-events-sdk"; -import { ISyncStateData, SyncApi, SyncState } from "./sync"; +import type { IMegolmSessionData } from "./@types/crypto"; +import { ISyncStateData, SyncApi, SyncApiOptions, SyncState } from "./sync"; import { EventStatus, IContent, @@ -74,7 +75,6 @@ import { ICryptoCallbacks, IBootstrapCrossSigningOpts, ICheckOwnCrossSigningTrustOpts, - IMegolmSessionData, isCryptoAvailable, VerificationMethod, IRoomKeyRequestBody, @@ -154,6 +154,7 @@ import { UNSTABLE_MSC3088_ENABLED, UNSTABLE_MSC3088_PURPOSE, UNSTABLE_MSC3089_TREE_SUBTYPE, + MSC3912_RELATION_BASED_REDACTIONS_PROP, } from "./@types/event"; import { IdServerUnbindResult, IImageInfo, Preset, Visibility } from "./@types/partials"; import { EventMapper, eventMapperFor, MapperOpts } from "./event-mapper"; @@ -455,17 +456,7 @@ export interface IStartClientOpts { slidingSync?: SlidingSync; } -export interface IStoredClientOpts extends IStartClientOpts { - // Crypto manager - crypto?: Crypto; - /** - * A function which is called - * with a room ID and returns a boolean. It should return 'true' if the SDK can - * SAFELY remove events from this room. It may not be safe to remove events if - * there are other references to the timelines for this room. - */ - canResetEntireTimeline: ResetTimelineCallback; -} +export interface IStoredClientOpts extends IStartClientOpts {} export enum RoomVersionStability { Stable = "stable", @@ -841,6 +832,11 @@ interface ITimestampToEventResponse { event_id: string; origin_server_ts: string; } + +interface IWhoamiResponse { + user_id: string; + device_id?: string; +} /* eslint-enable camelcase */ // We're using this constant for methods overloading and inspect whether a variable @@ -1427,20 +1423,18 @@ export class MatrixClient extends TypedEventEmitter { - if (!this.canResetTimelineCallback) { - return false; - } - return this.canResetTimelineCallback(roomId); - }; + this.clientOpts = opts ?? {}; if (this.clientOpts.slidingSync) { - this.syncApi = new SlidingSyncSdk(this.clientOpts.slidingSync, this, this.clientOpts); + this.syncApi = new SlidingSyncSdk( + this.clientOpts.slidingSync, + this, + this.clientOpts, + this.buildSyncApiOptions(), + ); } else { - this.syncApi = new SyncApi(this, this.clientOpts); + this.syncApi = new SyncApi(this, this.clientOpts, this.buildSyncApiOptions()); } + this.syncApi.sync(); if (this.clientOpts.clientWellKnownPollPeriod !== undefined) { @@ -1453,6 +1447,22 @@ export class MatrixClient extends TypedEventEmitter { + if (!this.canResetTimelineCallback) { + return false; + } + return this.canResetTimelineCallback(roomId); + }, + }; + } + /** * High level helper method to stop the client from polling and allow a * clean shutdown. @@ -2138,7 +2148,7 @@ export class MatrixClient extends TypedEventEmitter { - if (!this.crypto) { + if (!this.cryptoBackend) { return Promise.reject(new Error("End-to-end encryption disabled")); } - return this.crypto.exportRoomKeys(); + return this.cryptoBackend.exportRoomKeys(); } /** @@ -3948,7 +3958,7 @@ export class MatrixClient extends TypedEventEmitter(Method.Post, path, queryString, data); const roomId = res.room_id; - const syncApi = new SyncApi(this, this.clientOpts); + const syncApi = new SyncApi(this, this.clientOpts, this.buildSyncApiOptions()); const room = syncApi.createRoom(roomId); if (opts.syncRoom) { // v2 will do this for us @@ -4444,9 +4454,11 @@ export class MatrixClient extends TypedEventEmitter it.isRelation(THREAD_RELATION_TYPE.name)), + timelineEvents.filter((it) => it.getServerAggregatedRelation(THREAD_RELATION_TYPE.name)), false, ); @@ -6124,7 +6158,7 @@ export class MatrixClient extends TypedEventEmitter { this.peekSync?.stopPeeking(); - this.peekSync = new SyncApi(this, this.clientOpts); + this.peekSync = new SyncApi(this, this.clientOpts, this.buildSyncApiOptions()); return this.peekSync.peek(roomId); } @@ -6631,7 +6665,7 @@ export class MatrixClient extends TypedEventEmitter { - // eslint-disable-line camelcase + public async whoami(): Promise { return this.http.authedRequest(Method.Get, "/account/whoami"); } diff --git a/src/common-crypto/CryptoBackend.ts b/src/common-crypto/CryptoBackend.ts index 77748cb50..a90afdf3a 100644 --- a/src/common-crypto/CryptoBackend.ts +++ b/src/common-crypto/CryptoBackend.ts @@ -14,13 +14,14 @@ See the License for the specific language governing permissions and limitations under the License. */ -import type { IEventDecryptionResult } from "../@types/crypto"; +import type { IEventDecryptionResult, IMegolmSessionData } from "../@types/crypto"; +import type { IToDeviceEvent } from "../sync-accumulator"; import { MatrixEvent } from "../models/event"; /** * Common interface for the crypto implementations */ -export interface CryptoBackend { +export interface CryptoBackend extends SyncCryptoCallbacks { /** * Global override for whether the client should ever send encrypted * messages to unverified devices. This provides the default for rooms which @@ -60,4 +61,52 @@ export interface CryptoBackend { * Rejects with an error if there is a problem decrypting the event. */ decryptEvent(event: MatrixEvent): Promise; + + /** + * Get a list containing all of the room keys + * + * This should be encrypted before returning it to the user. + * + * @returns a promise which resolves to a list of + * session export objects + */ + exportRoomKeys(): Promise; +} + +/** The methods which crypto implementations should expose to the Sync api */ +export interface SyncCryptoCallbacks { + /** + * Called by the /sync loop whenever there are incoming to-device messages. + * + * The implementation may preprocess the received messages (eg, decrypt them) and return an + * updated list of messages for dispatch to the rest of the system. + * + * Note that, unlike {@link ClientEvent.ToDeviceEvent} events, this is called on the raw to-device + * messages, rather than the results of any decryption attempts. + * + * @param events - the received to-device messages + * @returns A list of preprocessed to-device messages. + */ + preprocessToDeviceMessages(events: IToDeviceEvent[]): Promise; + + /** + * Called by the /sync loop after each /sync response is processed. + * + * Used to complete batch processing, or to initiate background processes + * + * @param syncState - information about the completed sync. + */ + onSyncCompleted(syncState: OnSyncCompletedData): void; +} + +export interface OnSyncCompletedData { + /** + * The 'next_batch' result from /sync, which will become the 'since' token for the next call to /sync. + */ + nextSyncToken?: string; + + /** + * True if we are working our way through a backlog of events after connecting. + */ + catchingUp?: boolean; } diff --git a/src/crypto/OlmDevice.ts b/src/crypto/OlmDevice.ts index 9d342b8cc..1ade98988 100644 --- a/src/crypto/OlmDevice.ts +++ b/src/crypto/OlmDevice.ts @@ -21,8 +21,7 @@ import { IndexedDBCryptoStore } from "./store/indexeddb-crypto-store"; import * as algorithms from "./algorithms"; import { CryptoStore, IProblem, ISessionInfo, IWithheld } from "./store/base"; import { IOlmDevice, IOutboundGroupSessionKey } from "./algorithms/megolm"; -import { IMegolmSessionData } from "./index"; -import { OlmGroupSessionExtraData } from "../@types/crypto"; +import { IMegolmSessionData, OlmGroupSessionExtraData } from "../@types/crypto"; import { IMessage } from "./algorithms/olm"; // The maximum size of an event is 65K, and we base64 the content, so this is a diff --git a/src/crypto/algorithms/base.ts b/src/crypto/algorithms/base.ts index e5c7a3794..06cb18303 100644 --- a/src/crypto/algorithms/base.ts +++ b/src/crypto/algorithms/base.ts @@ -18,11 +18,12 @@ limitations under the License. * Internal module. Defines the base classes of the encryption implementations */ +import type { IMegolmSessionData } from "../../@types/crypto"; import { MatrixClient } from "../../client"; import { Room } from "../../models/room"; import { OlmDevice } from "../OlmDevice"; import { IContent, MatrixEvent, RoomMember } from "../../matrix"; -import { Crypto, IEncryptedContent, IEventDecryptionResult, IMegolmSessionData, IncomingRoomKeyRequest } from ".."; +import { Crypto, IEncryptedContent, IEventDecryptionResult, IncomingRoomKeyRequest } from ".."; import { DeviceInfo } from "../deviceinfo"; import { IRoomEncryption } from "../RoomList"; diff --git a/src/crypto/algorithms/megolm.ts b/src/crypto/algorithms/megolm.ts index ef04e8f4e..af9588f91 100644 --- a/src/crypto/algorithms/megolm.ts +++ b/src/crypto/algorithms/megolm.ts @@ -20,7 +20,7 @@ limitations under the License. import { v4 as uuidv4 } from "uuid"; -import type { IEventDecryptionResult } from "../../@types/crypto"; +import type { IEventDecryptionResult, IMegolmSessionData } from "../../@types/crypto"; import { logger } from "../../logger"; import * as olmlib from "../olmlib"; import { @@ -39,7 +39,7 @@ import { IOlmSessionResult } from "../olmlib"; import { DeviceInfoMap } from "../DeviceList"; import { IContent, MatrixEvent } from "../../models/event"; import { EventType, MsgType, ToDeviceMessageId } from "../../@types/event"; -import { IMegolmEncryptedContent, IMegolmSessionData, IncomingRoomKeyRequest, IEncryptedContent } from "../index"; +import { IMegolmEncryptedContent, IncomingRoomKeyRequest, IEncryptedContent } from "../index"; import { RoomKeyRequestState } from "../OutgoingRoomKeyRequestManager"; import { OlmGroupSessionExtraData } from "../../@types/crypto"; import { MatrixError } from "../../http-api"; diff --git a/src/crypto/backup.ts b/src/crypto/backup.ts index fe1ae6622..d71cce99c 100644 --- a/src/crypto/backup.ts +++ b/src/crypto/backup.ts @@ -18,6 +18,7 @@ limitations under the License. * Classes for dealing with key backup. */ +import type { IMegolmSessionData } from "../@types/crypto"; import { MatrixClient } from "../client"; import { logger } from "../logger"; import { MEGOLM_ALGORITHM, verifySignature } from "./olmlib"; @@ -36,7 +37,7 @@ import { IKeyBackupSession, } from "./keybackup"; import { UnstableValue } from "../NamespacedValue"; -import { CryptoEvent, IMegolmSessionData } from "./index"; +import { CryptoEvent } from "./index"; import { crypto } from "./crypto"; import { HTTPError, MatrixError } from "../http-api"; diff --git a/src/crypto/index.ts b/src/crypto/index.ts index 934955013..441d569c4 100644 --- a/src/crypto/index.ts +++ b/src/crypto/index.ts @@ -20,7 +20,7 @@ limitations under the License. import anotherjson from "another-json"; import { v4 as uuidv4 } from "uuid"; -import type { IEventDecryptionResult } from "../@types/crypto"; +import type { IEventDecryptionResult, IMegolmSessionData } from "../@types/crypto"; import type { PkDecryption, PkSigning } from "@matrix-org/olm"; import { EventType, ToDeviceMessageId } from "../@types/event"; import { TypedReEmitter } from "../ReEmitter"; @@ -85,10 +85,11 @@ import { CryptoStore } from "./store/base"; import { IVerificationChannel } from "./verification/request/Channel"; import { TypedEventEmitter } from "../models/typed-event-emitter"; import { IContent } from "../models/event"; -import { ISyncResponse } from "../sync-accumulator"; +import { ISyncResponse, IToDeviceEvent } from "../sync-accumulator"; import { ISignatures } from "../@types/signed"; import { IMessage } from "./algorithms/olm"; -import { CryptoBackend } from "../common-crypto/CryptoBackend"; +import { CryptoBackend, OnSyncCompletedData } from "../common-crypto/CryptoBackend"; +import { RoomState, RoomStateEvent } from "../models/room-state"; const DeviceVerification = DeviceInfo.DeviceVerification; @@ -171,26 +172,6 @@ export interface IRoomKeyRequestBody extends IRoomKey { sender_key: string; } -interface Extensible { - [key: string]: any; -} - -export interface IMegolmSessionData extends Extensible { - // Sender's Curve25519 device key - sender_key: string; - // Devices which forwarded this session to us (normally empty). - forwarding_curve25519_key_chain: string[]; - // Other keys the sender claims. - sender_claimed_keys: Record; - // Room this session is used in - room_id: string; - // Unique id for the session - session_id: string; - // Base64'ed key data - session_key: string; - algorithm?: string; - untrusted?: boolean; -} /* eslint-enable camelcase */ interface IDeviceVerificationUpgrade { @@ -2244,9 +2225,6 @@ export class Crypto extends TypedEventEmitter { + room.off(RoomStateEvent.Update, onState); + if (room.membersLoaded()) { + this.trackRoomDevicesImpl(room).catch((e) => { + logger.error(`Error enabling device tracking in ${roomId}`, e); + }); + } + }; + room.on(RoomStateEvent.Update, onState); } } @@ -2642,6 +2629,8 @@ export class Crypto extends TypedEventEmitter { const room = this.clientStore.getRoom(roomId); @@ -2886,11 +2875,22 @@ export class Crypto extends TypedEventEmitter { if (event.isRedacted()) { + // Try to decrypt the redaction event, to support encrypted + // redaction reasons. If we can't decrypt, just fall back to using + // the original redacted_because. const redactionEvent = new MatrixEvent({ room_id: event.getRoomId(), ...event.getUnsigned().redacted_because, }); - const decryptedEvent = await this.decryptEvent(redactionEvent); + let redactedBecause: IEvent = event.getUnsigned().redacted_because!; + if (redactionEvent.isEncrypted()) { + try { + const decryptedEvent = await this.decryptEvent(redactionEvent); + redactedBecause = decryptedEvent.clearEvent as IEvent; + } catch (e) { + logger.warn("Decryption of redaction failed. Falling back to unencrypted event.", e); + } + } return { clearEvent: { @@ -2898,7 +2898,7 @@ export class Crypto extends TypedEventEmitter { + public async onSyncCompleted(syncData: OnSyncCompletedData): Promise { this.deviceList.setSyncToken(syncData.nextSyncToken ?? null); this.deviceList.saveIfDirty(); @@ -3195,6 +3195,21 @@ export class Crypto extends TypedEventEmitter { + // all we do here is filter out encrypted to-device messages with the wrong algorithm. Decryption + // happens later in decryptEvent, via the EventMapper + return events.filter((toDevice) => { + if ( + toDevice.type === EventType.RoomMessageEncrypted && + !["m.olm.v1.curve25519-aes-sha2"].includes(toDevice.content?.algorithm) + ) { + logger.log("Ignoring invalid encrypted to-device event from " + toDevice.sender); + return false; + } + return true; + }); + } + private onToDeviceEvent = (event: MatrixEvent): void => { try { logger.log( @@ -3894,5 +3909,5 @@ class IncomingRoomKeyRequestCancellation { } } -// IEventDecryptionResult is re-exported for backwards compatibility, in case any applications are referencing it. -export type { IEventDecryptionResult } from "../@types/crypto"; +// a number of types are re-exported for backwards compatibility, in case any applications are referencing it. +export type { IEventDecryptionResult, IMegolmSessionData } from "../@types/crypto"; diff --git a/src/embedded.ts b/src/embedded.ts index 2c1617ecb..02dac6db2 100644 --- a/src/embedded.ts +++ b/src/embedded.ts @@ -167,9 +167,9 @@ export class RoomWidgetClient extends MatrixClient { // still has some valuable helper methods that we make use of, so we // instantiate it anyways if (opts.slidingSync) { - this.syncApi = new SlidingSyncSdk(opts.slidingSync, this, opts); + this.syncApi = new SlidingSyncSdk(opts.slidingSync, this, opts, this.buildSyncApiOptions()); } else { - this.syncApi = new SyncApi(this, opts); + this.syncApi = new SyncApi(this, opts, this.buildSyncApiOptions()); } this.room = this.syncApi.createRoom(this.roomId); diff --git a/src/event-mapper.ts b/src/event-mapper.ts index 81d3d772a..87db88d64 100644 --- a/src/event-mapper.ts +++ b/src/event-mapper.ts @@ -60,6 +60,9 @@ export function eventMapperFor(client: MatrixClient, options: MapperOpts): Event event.setThread(thread); } + // TODO: once we get rid of the old libolm-backed crypto, we can restrict this to room events (rather than + // to-device events), because the rust implementation decrypts to-device messages at a higher level. + // Generally we probably want to use a different eventMapper implementation for to-device events because if (event.isEncrypted()) { if (!preventReEmit) { client.reEmitter.reEmit(event, [MatrixEventEvent.Decrypted]); diff --git a/src/feature.ts b/src/feature.ts index 158e1f7ee..9141e811c 100644 --- a/src/feature.ts +++ b/src/feature.ts @@ -26,6 +26,7 @@ export enum Feature { Thread = "Thread", ThreadUnreadNotifications = "ThreadUnreadNotifications", LoginTokenRequest = "LoginTokenRequest", + RelationBasedRedactions = "RelationBasedRedactions", AccountDataDeletion = "AccountDataDeletion", } @@ -46,6 +47,9 @@ const featureSupportResolver: Record = { [Feature.LoginTokenRequest]: { unstablePrefixes: ["org.matrix.msc3882"], }, + [Feature.RelationBasedRedactions]: { + unstablePrefixes: ["org.matrix.msc3912"], + }, [Feature.AccountDataDeletion]: { unstablePrefixes: ["org.matrix.msc3391"], }, diff --git a/src/http-api/prefix.ts b/src/http-api/prefix.ts index c350b1dee..f15b1ac1e 100644 --- a/src/http-api/prefix.ts +++ b/src/http-api/prefix.ts @@ -34,11 +34,6 @@ export enum ClientPrefix { } export enum IdentityPrefix { - /** - * URI path for v1 of the identity API - * @deprecated Use v2. - */ - V1 = "/_matrix/identity/api/v1", /** * URI path for the v2 identity API */ diff --git a/src/models/event.ts b/src/models/event.ts index 1f1c3cfa3..e4ac96916 100644 --- a/src/models/event.ts +++ b/src/models/event.ts @@ -828,17 +828,7 @@ export class MatrixEvent extends TypedEventEmittere).name !== "DecryptionError") { - // not a decryption error: log the whole exception as an error - // (and don't bother with a retry) - const re = options.isRetry ? "re" : ""; - // For find results: this can produce "Error decrypting event (id=$ev)" and - // "Error redecrypting event (id=$ev)". - logger.error(`Error ${re}decrypting event (${this.getDetails()})`, e); - this.decryptionPromise = null; - this.retryDecryption = false; - return; - } + const detailedError = e instanceof DecryptionError ? (e).detailedString : String(e); err = e as Error; @@ -858,10 +848,7 @@ export class MatrixEvent extends TypedEventEmittere).detailedString, - ); + logger.log(`Error decrypting event (${this.getDetails()}), but retrying: ${detailedError}`); continue; } @@ -870,9 +857,9 @@ export class MatrixEvent extends TypedEventEmittere).detailedString); + logger.warn(`Error decrypting event (${this.getDetails()}): ${detailedError}`); - res = this.badEncryptedMessage((e).message); + res = this.badEncryptedMessage(String(e)); } // at this point, we've either successfully decrypted the event, or have given up diff --git a/src/models/relations.ts b/src/models/relations.ts index bd6f00938..069bb0a0c 100644 --- a/src/models/relations.ts +++ b/src/models/relations.ts @@ -33,6 +33,9 @@ export type EventHandlerMap = { [RelationsEvent.Redaction]: (event: MatrixEvent) => void; }; +const matchesEventType = (eventType: string, targetEventType: string, altTargetEventTypes: string[] = []): boolean => + [targetEventType, ...altTargetEventTypes].includes(eventType); + /** * A container for relation events that supports easy access to common ways of * aggregating such events. Each instance holds events that of a single relation @@ -55,11 +58,13 @@ export class Relations extends TypedEventEmitter return this.oobMemberFlags.status === OobStatus.NotStarted; } + /** + * Check if loading of out-of-band-members has completed + * + * @returns true if the full membership list of this room has been loaded. False if it is not started or is in + * progress. + */ + public outOfBandMembersReady(): boolean { + return this.oobMemberFlags.status === OobStatus.Finished; + } + /** * Mark this room state as waiting for out-of-band members, * ensuring it doesn't ask for them to be requested again diff --git a/src/models/room.ts b/src/models/room.ts index e33d571e6..972112fdf 100644 --- a/src/models/room.ts +++ b/src/models/room.ts @@ -54,7 +54,13 @@ import { FILTER_RELATED_BY_SENDERS, ThreadFilterType, } from "./thread"; -import { MAIN_ROOM_TIMELINE, Receipt, ReceiptContent, ReceiptType } from "../@types/read_receipts"; +import { + CachedReceiptStructure, + MAIN_ROOM_TIMELINE, + Receipt, + ReceiptContent, + ReceiptType, +} from "../@types/read_receipts"; import { IStateEventWithRoomId } from "../@types/search"; import { RelationsContainer } from "./relations-container"; import { ReadReceipt, synthesizeReceipt } from "./read-receipt"; @@ -302,7 +308,7 @@ export class Room extends ReadReceipt { private txnToEvent: Record = {}; // Pending in-flight requests { string: MatrixEvent } private notificationCounts: NotificationCount = {}; private readonly threadNotifications = new Map(); - public readonly cachedThreadReadReceipts = new Map(); + public readonly cachedThreadReadReceipts = new Map(); private readonly timelineSets: EventTimelineSet[]; public readonly threadsTimelineSets: EventTimelineSet[] = []; // any filtered timeline sets we're maintaining for this room @@ -441,9 +447,7 @@ export class Room extends ReadReceipt { }); events.forEach(async (serializedEvent: Partial) => { const event = mapper(serializedEvent); - if (event.getType() === EventType.RoomMessageEncrypted && this.client.isCryptoEnabled()) { - await event.attemptDecryption(this.client.crypto!); - } + await client.decryptEventIfNeeded(event); event.setStatus(EventStatus.NOT_SENT); this.addPendingEvent(event, event.getTxnId()!); }); @@ -503,9 +507,8 @@ export class Room extends ReadReceipt { const decryptionPromises = events .slice(readReceiptTimelineIndex) - .filter((event) => event.shouldAttemptDecryption()) .reverse() - .map((event) => event.attemptDecryption(this.client.crypto!, { isRetry: true })); + .map((event) => this.client.decryptEventIfNeeded(event, { isRetry: true })); await Promise.allSettled(decryptionPromises); } @@ -521,9 +524,9 @@ export class Room extends ReadReceipt { const decryptionPromises = this.getUnfilteredTimelineSet() .getLiveTimeline() .getEvents() - .filter((event) => event.shouldAttemptDecryption()) + .slice(0) // copy before reversing .reverse() - .map((event) => event.attemptDecryption(this.client.crypto!, { isRetry: true })); + .map((event) => this.client.decryptEventIfNeeded(event, { isRetry: true })); await Promise.allSettled(decryptionPromises); } @@ -888,6 +891,20 @@ export class Room extends ReadReceipt { return { memberEvents, fromServer }; } + /** + * Check if loading of out-of-band-members has completed + * + * @returns true if the full membership list of this room has been loaded (including if lazy-loading is disabled). + * False if the load is not started or is in progress. + */ + public membersLoaded(): boolean { + if (!this.opts.lazyLoadMembers) { + return true; + } + + return this.currentState.outOfBandMembersReady(); + } + /** * Preloads the member list in case lazy loading * of memberships is in use. Can be called multiple times, @@ -909,10 +926,6 @@ export class Room extends ReadReceipt { const inMemoryUpdate = this.loadMembers() .then((result) => { this.currentState.setOutOfBandMembers(result.memberEvents); - // now the members are loaded, start to track the e2e devices if needed - if (this.client.isCryptoEnabled() && this.client.isRoomEncrypted(this.roomId)) { - this.client.crypto!.trackRoomDevices(this.roomId); - } return result.fromServer; }) .catch((err) => { @@ -2711,7 +2724,7 @@ export class Room extends ReadReceipt { // when the thread is created this.cachedThreadReadReceipts.set(receipt.thread_id!, [ ...(this.cachedThreadReadReceipts.get(receipt.thread_id!) ?? []), - { event, synthetic }, + { eventId, receiptType, userId, receipt, synthetic }, ]); } }); diff --git a/src/models/thread.ts b/src/models/thread.ts index bca2d92b4..25e454c32 100644 --- a/src/models/thread.ts +++ b/src/models/thread.ts @@ -27,7 +27,7 @@ import { RoomState } from "./room-state"; import { ServerControlledNamespacedValue } from "../NamespacedValue"; import { logger } from "../logger"; import { ReadReceipt } from "./read-receipt"; -import { Receipt, ReceiptContent, ReceiptType } from "../@types/read_receipts"; +import { CachedReceiptStructure, ReceiptType } from "../@types/read_receipts"; export enum ThreadEvent { New = "Thread.new", @@ -50,7 +50,7 @@ interface IThreadOpts { room: Room; client: MatrixClient; pendingEventOrdering?: PendingEventOrdering; - receipts?: { event: MatrixEvent; synthetic: boolean }[]; + receipts?: CachedReceiptStructure[]; } export enum FeatureSupport { @@ -97,6 +97,11 @@ export class Thread extends ReadReceipt { private readonly pendingEventOrdering: PendingEventOrdering; public initialEventsFetched = !Thread.hasServerSideSupport; + /** + * An array of events to add to the timeline once the thread has been initialised + * with server suppport. + */ + public replayEvents: MatrixEvent[] | null = []; public constructor(public readonly id: string, public rootEvent: MatrixEvent | undefined, opts: IThreadOpts) { super(); @@ -266,6 +271,20 @@ export class Thread extends ReadReceipt { this.addEventToTimeline(event, false); this.fetchEditsWhereNeeded(event); } else if (event.isRelation(RelationType.Annotation) || event.isRelation(RelationType.Replace)) { + if (!this.initialEventsFetched) { + /** + * A thread can be fully discovered via a single sync response + * And when that's the case we still ask the server to do an initialisation + * as it's the safest to ensure we have everything. + * However when we are in that scenario we might loose annotation or edits + * + * This fix keeps a reference to those events and replay them once the thread + * has been initialised properly. + */ + this.replayEvents?.push(event); + } else { + this.addEventToTimeline(event, toStartOfTimeline); + } // Apply annotations and replace relations to the relations of the timeline only this.timelineSet.relations?.aggregateParentEvent(event); this.timelineSet.relations?.aggregateChildEvent(event, this.timelineSet); @@ -298,17 +317,9 @@ export class Thread extends ReadReceipt { * and apply them to the current thread * @param receipts - A collection of the receipts cached from initial sync */ - private processReceipts(receipts: { event: MatrixEvent; synthetic: boolean }[] = []): void { - for (const { event, synthetic } of receipts) { - const content = event.getContent(); - Object.keys(content).forEach((eventId: string) => { - Object.keys(content[eventId]).forEach((receiptType: ReceiptType | string) => { - Object.keys(content[eventId][receiptType]).forEach((userId: string) => { - const receipt = content[eventId][receiptType][userId] as Receipt; - this.addReceiptToStructure(eventId, receiptType as ReceiptType, userId, receipt, synthetic); - }); - }); - }); + private processReceipts(receipts: CachedReceiptStructure[] = []): void { + for (const { eventId, receiptType, userId, receipt, synthetic } of receipts) { + this.addReceiptToStructure(eventId, receiptType as ReceiptType, userId, receipt, synthetic); } } @@ -375,6 +386,10 @@ export class Thread extends ReadReceipt { limit: Math.max(1, this.length), }); } + for (const event of this.replayEvents!) { + this.addEvent(event, false); + } + this.replayEvents = null; // just to make sure that, if we've created a timeline window for this thread before the thread itself // existed (e.g. when creating a new thread), we'll make sure the panel is force refreshed correctly. this.emit(RoomEvent.TimelineReset, this.room, this.timelineSet, true); diff --git a/src/rust-crypto/index.ts b/src/rust-crypto/index.ts index 7485836cd..4c826078f 100644 --- a/src/rust-crypto/index.ts +++ b/src/rust-crypto/index.ts @@ -20,8 +20,13 @@ import { RustCrypto } from "./rust-crypto"; import { logger } from "../logger"; import { CryptoBackend } from "../common-crypto/CryptoBackend"; import { RUST_SDK_STORE_PREFIX } from "./constants"; +import { IHttpOpts, MatrixHttpApi } from "../http-api"; -export async function initRustCrypto(userId: string, deviceId: string): Promise { +export async function initRustCrypto( + http: MatrixHttpApi, + userId: string, + deviceId: string, +): Promise { // initialise the rust matrix-sdk-crypto-js, if it hasn't already been done await RustSdkCryptoJs.initAsync(); @@ -34,7 +39,7 @@ export async function initRustCrypto(userId: string, deviceId: string): Promise< // TODO: use the pickle key for the passphrase const olmMachine = await RustSdkCryptoJs.OlmMachine.initialize(u, d, RUST_SDK_STORE_PREFIX, "test pass"); - const rustCrypto = new RustCrypto(olmMachine, userId, deviceId); + const rustCrypto = new RustCrypto(olmMachine, http, userId, deviceId); logger.info("Completed rust crypto-sdk setup"); return rustCrypto; diff --git a/src/rust-crypto/rust-crypto.ts b/src/rust-crypto/rust-crypto.ts index 07b7ea3b9..b48de4697 100644 --- a/src/rust-crypto/rust-crypto.ts +++ b/src/rust-crypto/rust-crypto.ts @@ -15,12 +15,29 @@ limitations under the License. */ import * as RustSdkCryptoJs from "@matrix-org/matrix-sdk-crypto-js"; +import { + KeysBackupRequest, + KeysClaimRequest, + KeysQueryRequest, + KeysUploadRequest, + SignatureUploadRequest, +} from "@matrix-org/matrix-sdk-crypto-js"; -import { IEventDecryptionResult } from "../@types/crypto"; +import type { IEventDecryptionResult, IMegolmSessionData } from "../@types/crypto"; +import type { IToDeviceEvent } from "../sync-accumulator"; import { MatrixEvent } from "../models/event"; -import { CryptoBackend } from "../common-crypto/CryptoBackend"; +import { CryptoBackend, OnSyncCompletedData } from "../common-crypto/CryptoBackend"; +import { logger } from "../logger"; +import { IHttpOpts, MatrixHttpApi, Method } from "../http-api"; +import { QueryDict } from "../utils"; -// import { logger } from "../logger"; +/** + * Common interface for all the request types returned by `OlmMachine.outgoingRequests`. + */ +interface OutgoingRequest { + readonly id: string | undefined; + readonly type: number; +} /** * An implementation of {@link CryptoBackend} using the Rust matrix-sdk-crypto. @@ -29,10 +46,18 @@ export class RustCrypto implements CryptoBackend { public globalBlacklistUnverifiedDevices = false; public globalErrorOnUnknownDevices = false; - /** whether stop() has been called */ + /** whether {@link stop} has been called */ private stopped = false; - public constructor(private readonly olmMachine: RustSdkCryptoJs.OlmMachine, _userId: string, _deviceId: string) {} + /** whether {@link outgoingRequestLoop} is currently running */ + private outgoingRequestLoopRunning = false; + + public constructor( + private readonly olmMachine: RustSdkCryptoJs.OlmMachine, + private readonly http: MatrixHttpApi, + _userId: string, + _deviceId: string, + ) {} public stop(): void { // stop() may be called multiple times, but attempting to close() the OlmMachine twice @@ -57,4 +82,120 @@ export class RustCrypto implements CryptoBackend { // TODO return false; } + + public async exportRoomKeys(): Promise { + // TODO + return []; + } + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // + // SyncCryptoCallbacks implementation + // + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + /** called by the sync loop to preprocess incoming to-device messages + * + * @param events - the received to-device messages + * @returns A list of preprocessed to-device messages. + */ + public async preprocessToDeviceMessages(events: IToDeviceEvent[]): Promise { + // send the received to-device messages into receiveSyncChanges. We have no info on device-list changes, + // one-time-keys, or fallback keys, so just pass empty data. + const result = await this.olmMachine.receiveSyncChanges( + JSON.stringify(events), + new RustSdkCryptoJs.DeviceLists(), + new Map(), + new Set(), + ); + + // receiveSyncChanges returns a JSON-encoded list of decrypted to-device messages. + return JSON.parse(result); + } + + /** called by the sync loop after processing each sync. + * + * TODO: figure out something equivalent for sliding sync. + * + * @param syncState - information on the completed sync. + */ + public onSyncCompleted(syncState: OnSyncCompletedData): void { + // Processing the /sync may have produced new outgoing requests which need sending, so kick off the outgoing + // request loop, if it's not already running. + this.outgoingRequestLoop(); + } + + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // + // Outgoing requests + // + /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + private async outgoingRequestLoop(): Promise { + if (this.outgoingRequestLoopRunning) { + return; + } + this.outgoingRequestLoopRunning = true; + try { + while (!this.stopped) { + const outgoingRequests: Object[] = await this.olmMachine.outgoingRequests(); + if (outgoingRequests.length == 0 || this.stopped) { + // no more messages to send (or we have been told to stop): exit the loop + return; + } + for (const msg of outgoingRequests) { + await this.doOutgoingRequest(msg as OutgoingRequest); + } + } + } catch (e) { + logger.error("Error processing outgoing-message requests from rust crypto-sdk", e); + } finally { + this.outgoingRequestLoopRunning = false; + } + } + + private async doOutgoingRequest(msg: OutgoingRequest): Promise { + let resp: string; + + /* refer https://docs.rs/matrix-sdk-crypto/0.6.0/matrix_sdk_crypto/requests/enum.OutgoingRequests.html + * for the complete list of request types + */ + if (msg instanceof KeysUploadRequest) { + resp = await this.rawJsonRequest(Method.Post, "/_matrix/client/v3/keys/upload", {}, msg.body); + } else if (msg instanceof KeysQueryRequest) { + resp = await this.rawJsonRequest(Method.Post, "/_matrix/client/v3/keys/query", {}, msg.body); + } else if (msg instanceof KeysClaimRequest) { + resp = await this.rawJsonRequest(Method.Post, "/_matrix/client/v3/keys/claim", {}, msg.body); + } else if (msg instanceof SignatureUploadRequest) { + resp = await this.rawJsonRequest(Method.Post, "/_matrix/client/v3/keys/signatures/upload", {}, msg.body); + } else if (msg instanceof KeysBackupRequest) { + resp = await this.rawJsonRequest(Method.Put, "/_matrix/client/v3/room_keys/keys", {}, msg.body); + } else { + // TODO: ToDeviceRequest, RoomMessageRequest + logger.warn("Unsupported outgoing message", Object.getPrototypeOf(msg)); + resp = ""; + } + + if (msg.id) { + await this.olmMachine.markRequestAsSent(msg.id, msg.type, resp); + } + } + + private async rawJsonRequest(method: Method, path: string, queryParams: QueryDict, body: string): Promise { + const opts = { + // inhibit the JSON stringification and parsing within HttpApi. + json: false, + + // nevertheless, we are sending, and accept, JSON. + headers: { + "Content-Type": "application/json", + "Accept": "application/json", + }, + + // we use the full prefix + prefix: "", + }; + + return await this.http.authedRequest(method, path, queryParams, body, opts); + } } diff --git a/src/sliding-sync-sdk.ts b/src/sliding-sync-sdk.ts index c6d5f98a5..91ff9d7a7 100644 --- a/src/sliding-sync-sdk.ts +++ b/src/sliding-sync-sdk.ts @@ -14,12 +14,20 @@ See the License for the specific language governing permissions and limitations under the License. */ +import type { SyncCryptoCallbacks } from "./common-crypto/CryptoBackend"; import { NotificationCountType, Room, RoomEvent } from "./models/room"; import { logger } from "./logger"; import * as utils from "./utils"; import { EventTimeline } from "./models/event-timeline"; -import { ClientEvent, IStoredClientOpts, MatrixClient, PendingEventOrdering } from "./client"; -import { ISyncStateData, SyncState, _createAndReEmitRoom } from "./sync"; +import { ClientEvent, IStoredClientOpts, MatrixClient } from "./client"; +import { + ISyncStateData, + SyncState, + _createAndReEmitRoom, + SyncApiOptions, + defaultClientOpts, + defaultSyncApiOpts, +} from "./sync"; import { MatrixEvent } from "./models/event"; import { Crypto } from "./crypto"; import { IMinimalEvent, IRoomEvent, IStateEvent, IStrippedState, ISyncResponse } from "./sync-accumulator"; @@ -102,6 +110,7 @@ class ExtensionE2EE implements Extension { private nextBatch: string | null = null; - public constructor(private readonly client: MatrixClient) {} + public constructor(private readonly client: MatrixClient, private readonly cryptoCallbacks?: SyncCryptoCallbacks) {} public name(): string { return "to_device"; @@ -142,8 +151,12 @@ class ExtensionToDevice implements Extension { const cancelledKeyVerificationTxns: string[] = []; - data.events - ?.map(this.client.getEventMapper()) + let events = data["events"] || []; + if (events.length > 0 && this.cryptoCallbacks) { + events = await this.cryptoCallbacks.preprocessToDeviceMessages(events); + } + events + .map(this.client.getEventMapper()) .map((toDeviceEvent) => { // map is a cheap inline forEach // We want to flag m.key.verification.start events as cancelled @@ -341,6 +354,8 @@ class ExtensionReceipts implements Extension = {}, + opts?: IStoredClientOpts, + syncOpts?: SyncApiOptions, ) { - this.opts.initialSyncLimit = this.opts.initialSyncLimit ?? 8; - this.opts.resolveInvitesToProfiles = this.opts.resolveInvitesToProfiles || false; - this.opts.pollTimeout = this.opts.pollTimeout || 30 * 1000; - this.opts.pendingEventOrdering = this.opts.pendingEventOrdering || PendingEventOrdering.Chronological; - this.opts.experimentalThreadSupport = this.opts.experimentalThreadSupport === true; - - if (!opts.canResetEntireTimeline) { - opts.canResetEntireTimeline = (_roomId: string): boolean => { - return false; - }; - } + this.opts = defaultClientOpts(opts); + this.syncOpts = defaultSyncApiOpts(syncOpts); if (client.getNotifTimelineSet()) { client.reEmitter.reEmit(client.getNotifTimelineSet()!, [RoomEvent.Timeline, RoomEvent.TimelineReset]); @@ -371,13 +378,13 @@ export class SlidingSyncSdk { this.slidingSync.on(SlidingSyncEvent.Lifecycle, this.onLifecycle.bind(this)); this.slidingSync.on(SlidingSyncEvent.RoomData, this.onRoomData.bind(this)); const extensions: Extension[] = [ - new ExtensionToDevice(this.client), + new ExtensionToDevice(this.client, this.syncOpts.cryptoCallbacks), new ExtensionAccountData(this.client), new ExtensionTyping(this.client), new ExtensionReceipts(this.client), ]; - if (this.opts.crypto) { - extensions.push(new ExtensionE2EE(this.opts.crypto)); + if (this.syncOpts.crypto) { + extensions.push(new ExtensionE2EE(this.syncOpts.crypto)); } extensions.forEach((ext) => { this.slidingSync.registerExtension(ext); @@ -697,7 +704,7 @@ export class SlidingSyncSdk { if (limited) { room.resetLiveTimeline( roomData.prev_batch, - null, // TODO this.opts.canResetEntireTimeline(room.roomId) ? null : syncEventData.oldSyncToken, + null, // TODO this.syncOpts.canResetEntireTimeline(room.roomId) ? null : syncEventData.oldSyncToken, ); // We have to assume any gap in any timeline is @@ -729,8 +736,8 @@ export class SlidingSyncSdk { const processRoomEvent = async (e: MatrixEvent): Promise => { client.emit(ClientEvent.Event, e); - if (e.isState() && e.getType() == EventType.RoomEncryption && this.opts.crypto) { - await this.opts.crypto.onCryptoEvent(room, e); + if (e.isState() && e.getType() == EventType.RoomEncryption && this.syncOpts.crypto) { + await this.syncOpts.crypto.onCryptoEvent(room, e); } }; diff --git a/src/sliding-sync.ts b/src/sliding-sync.ts index b219dad11..3a2f67391 100644 --- a/src/sliding-sync.ts +++ b/src/sliding-sync.ts @@ -397,6 +397,10 @@ export class SlidingSync extends TypedEventEmitter = T & { isBrandNewRoom: boolean; }; +/** add default settings to an IStoredClientOpts */ +export function defaultClientOpts(opts?: IStoredClientOpts): IStoredClientOpts { + return { + initialSyncLimit: 8, + resolveInvitesToProfiles: false, + pollTimeout: 30 * 1000, + pendingEventOrdering: PendingEventOrdering.Chronological, + experimentalThreadSupport: false, + ...opts, + }; +} + +export function defaultSyncApiOpts(syncOpts?: SyncApiOptions): SyncApiOptions { + return { + canResetEntireTimeline: (_roomId): boolean => false, + ...syncOpts, + }; +} + export class SyncApi { + private readonly opts: IStoredClientOpts; + private readonly syncOpts: SyncApiOptions; + private _peekRoom: Optional = null; private currentSyncRequest?: Promise; private abortController?: AbortController; @@ -180,21 +230,13 @@ export class SyncApi { /** * Construct an entity which is able to sync with a homeserver. * @param client - The matrix client instance to use. - * @param opts - Config options + * @param opts - client config options + * @param syncOpts - sync-specific options passed by the client * @internal */ - public constructor(private readonly client: MatrixClient, private readonly opts: Partial = {}) { - this.opts.initialSyncLimit = this.opts.initialSyncLimit ?? 8; - this.opts.resolveInvitesToProfiles = this.opts.resolveInvitesToProfiles || false; - this.opts.pollTimeout = this.opts.pollTimeout || 30 * 1000; - this.opts.pendingEventOrdering = this.opts.pendingEventOrdering || PendingEventOrdering.Chronological; - this.opts.experimentalThreadSupport = this.opts.experimentalThreadSupport === true; - - if (!opts.canResetEntireTimeline) { - opts.canResetEntireTimeline = (roomId: string): boolean => { - return false; - }; - } + public constructor(private readonly client: MatrixClient, opts?: IStoredClientOpts, syncOpts?: SyncApiOptions) { + this.opts = defaultClientOpts(opts); + this.syncOpts = defaultSyncApiOpts(syncOpts); if (client.getNotifTimelineSet()) { client.reEmitter.reEmit(client.getNotifTimelineSet()!, [RoomEvent.Timeline, RoomEvent.TimelineReset]); @@ -632,7 +674,7 @@ export class SyncApi { return; } if (this.opts.lazyLoadMembers) { - this.opts.crypto?.enableLazyLoading(); + this.syncOpts.crypto?.enableLazyLoading(); } try { debuglog("Storing client options..."); @@ -866,10 +908,10 @@ export class SyncApi { catchingUp: this.catchingUp, }; - if (this.opts.crypto) { + if (this.syncOpts.crypto) { // tell the crypto module we're about to process a sync // response - await this.opts.crypto.onSyncWillProcess(syncEventData); + await this.syncOpts.crypto.onSyncWillProcess(syncEventData); } try { @@ -894,8 +936,8 @@ export class SyncApi { // tell the crypto module to do its processing. It may block (to do a // /keys/changes request). - if (this.opts.crypto) { - await this.opts.crypto.onSyncCompleted(syncEventData); + if (this.syncOpts.cryptoCallbacks) { + await this.syncOpts.cryptoCallbacks.onSyncCompleted(syncEventData); } // keep emitting SYNCING -> SYNCING for clients who want to do bulk updates @@ -907,8 +949,8 @@ export class SyncApi { // stored sync data which means we don't have to worry that we may have missed // device changes. We can also skip the delay since we're not calling this very // frequently (and we don't really want to delay the sync for it). - if (this.opts.crypto) { - await this.opts.crypto.saveDeviceList(0); + if (this.syncOpts.crypto) { + await this.syncOpts.crypto.saveDeviceList(0); } // tell databases that everything is now in a consistent state and can be saved. @@ -1129,19 +1171,15 @@ export class SyncApi { } // handle to-device events - if (Array.isArray(data.to_device?.events) && data.to_device!.events.length > 0) { - const cancelledKeyVerificationTxns: string[] = []; - data.to_device!.events.filter((eventJSON) => { - if ( - eventJSON.type === EventType.RoomMessageEncrypted && - !["m.olm.v1.curve25519-aes-sha2"].includes(eventJSON.content?.algorithm) - ) { - logger.log("Ignoring invalid encrypted to-device event from " + eventJSON.sender); - return false; - } + if (data.to_device && Array.isArray(data.to_device.events) && data.to_device.events.length > 0) { + let toDeviceMessages: IToDeviceEvent[] = data.to_device.events; - return true; - }) + if (this.syncOpts.cryptoCallbacks) { + toDeviceMessages = await this.syncOpts.cryptoCallbacks.preprocessToDeviceMessages(toDeviceMessages); + } + + const cancelledKeyVerificationTxns: string[] = []; + toDeviceMessages .map(client.getEventMapper({ toDevice: true })) .map((toDeviceEvent) => { // map is a cheap inline forEach @@ -1356,7 +1394,7 @@ export class SyncApi { if (limited) { room.resetLiveTimeline( joinObj.timeline.prev_batch, - this.opts.canResetEntireTimeline!(room.roomId) ? null : syncEventData.oldSyncToken ?? null, + this.syncOpts.canResetEntireTimeline!(room.roomId) ? null : syncEventData.oldSyncToken ?? null, ); // We have to assume any gap in any timeline is @@ -1370,10 +1408,10 @@ export class SyncApi { // avoids a race condition if the application tries to send a message after the // state event is processed, but before crypto is enabled, which then causes the // crypto layer to complain. - if (this.opts.crypto) { + if (this.syncOpts.crypto) { for (const e of stateEvents.concat(events)) { if (e.isState() && e.getType() === EventType.RoomEncryption && e.getStateKey() === "") { - await this.opts.crypto.onCryptoEvent(room, e); + await this.syncOpts.crypto.onCryptoEvent(room, e); } } } @@ -1462,8 +1500,8 @@ export class SyncApi { // Handle device list updates if (data.device_lists) { - if (this.opts.crypto) { - await this.opts.crypto.handleDeviceListChanges(syncEventData, data.device_lists); + if (this.syncOpts.crypto) { + await this.syncOpts.crypto.handleDeviceListChanges(syncEventData, data.device_lists); } else { // FIXME if we *don't* have a crypto module, we still need to // invalidate the device lists. But that would require a @@ -1472,12 +1510,12 @@ export class SyncApi { } // Handle one_time_keys_count - if (this.opts.crypto && data.device_one_time_keys_count) { + if (this.syncOpts.crypto && data.device_one_time_keys_count) { const currentCount = data.device_one_time_keys_count.signed_curve25519 || 0; - this.opts.crypto.updateOneTimeKeyCount(currentCount); + this.syncOpts.crypto.updateOneTimeKeyCount(currentCount); } if ( - this.opts.crypto && + this.syncOpts.crypto && (data.device_unused_fallback_key_types || data["org.matrix.msc2732.device_unused_fallback_key_types"]) ) { // The presence of device_unused_fallback_key_types indicates that the @@ -1485,7 +1523,7 @@ export class SyncApi { // signed_curve25519 fallback key we need a new one. const unusedFallbackKeys = data.device_unused_fallback_key_types || data["org.matrix.msc2732.device_unused_fallback_key_types"]; - this.opts.crypto.setNeedsNewFallback( + this.syncOpts.crypto.setNeedsNewFallback( Array.isArray(unusedFallbackKeys) && !unusedFallbackKeys.includes("signed_curve25519"), ); } diff --git a/src/webrtc/call.ts b/src/webrtc/call.ts index e9276f44f..d6fde54ed 100644 --- a/src/webrtc/call.ts +++ b/src/webrtc/call.ts @@ -2475,18 +2475,20 @@ export class MatrixCall extends TypedEventEmitter void; [GroupCallEvent.ActiveSpeakerChanged]: (activeSpeaker: CallFeed | undefined) => void; - [GroupCallEvent.CallsChanged]: (calls: Map>) => void; + [GroupCallEvent.CallsChanged]: (calls: Map>) => void; [GroupCallEvent.UserMediaFeedsChanged]: (feeds: CallFeed[]) => void; [GroupCallEvent.ScreenshareFeedsChanged]: (feeds: CallFeed[]) => void; [GroupCallEvent.LocalScreenshareStateChanged]: ( @@ -197,11 +197,11 @@ export class GroupCall extends TypedEventEmitter< public readonly screenshareFeeds: CallFeed[] = []; public groupCallId: string; - private readonly calls = new Map>(); // RoomMember -> device ID -> MatrixCall - private callHandlers = new Map>(); // User ID -> device ID -> handlers + private readonly calls = new Map>(); // user_id -> device_id -> MatrixCall + private callHandlers = new Map>(); // user_id -> device_id -> ICallHandlers private activeSpeakerLoopInterval?: ReturnType; private retryCallLoopInterval?: ReturnType; - private retryCallCounts: Map> = new Map(); + private retryCallCounts: Map> = new Map(); // user_id -> device_id -> count private reEmitter: ReEmitter; private transmitTimer: ReturnType | null = null; private participantsExpirationTimer: ReturnType | null = null; @@ -728,18 +728,18 @@ export class GroupCall extends TypedEventEmitter< return; } - const opponent = newCall.getOpponentMember(); - if (opponent === undefined) { + const opponentUserId = newCall.getOpponentMember()?.userId; + if (opponentUserId === undefined) { logger.warn("Incoming call with no member. Ignoring."); return; } - const deviceMap = this.calls.get(opponent) ?? new Map(); + const deviceMap = this.calls.get(opponentUserId) ?? new Map(); const prevCall = deviceMap.get(newCall.getOpponentDeviceId()!); if (prevCall?.callId === newCall.callId) return; - logger.log(`GroupCall: incoming call from ${opponent.userId} with ID ${newCall.callId}`); + logger.log(`GroupCall: incoming call from ${opponentUserId} with ID ${newCall.callId}`); if (prevCall) this.disposeCall(prevCall, CallErrorCode.Replaced); @@ -747,7 +747,7 @@ export class GroupCall extends TypedEventEmitter< newCall.answerWithCallFeeds(this.getLocalFeeds().map((feed) => feed.clone())); deviceMap.set(newCall.getOpponentDeviceId()!, newCall); - this.calls.set(opponent, deviceMap); + this.calls.set(opponentUserId, deviceMap); this.emit(GroupCallEvent.CallsChanged, this.calls); }; @@ -775,38 +775,38 @@ export class GroupCall extends TypedEventEmitter< private placeOutgoingCalls(): void { let callsChanged = false; - for (const [member, participantMap] of this.participants) { - const callMap = this.calls.get(member) ?? new Map(); + for (const [{ userId }, participantMap] of this.participants) { + const callMap = this.calls.get(userId) ?? new Map(); for (const [deviceId, participant] of participantMap) { const prevCall = callMap.get(deviceId); if ( prevCall?.getOpponentSessionId() !== participant.sessionId && - this.wantsOutgoingCall(member.userId, deviceId) + this.wantsOutgoingCall(userId, deviceId) ) { callsChanged = true; if (prevCall !== undefined) { - logger.debug(`Replacing call ${prevCall.callId} to ${member.userId} ${deviceId}`); + logger.debug(`Replacing call ${prevCall.callId} to ${userId} ${deviceId}`); this.disposeCall(prevCall, CallErrorCode.NewSession); } const newCall = createNewMatrixCall(this.client, this.room.roomId, { - invitee: member.userId, + invitee: userId, opponentDeviceId: deviceId, opponentSessionId: participant.sessionId, groupCallId: this.groupCallId, }); if (newCall === null) { - logger.error(`Failed to create call with ${member.userId} ${deviceId}`); + logger.error(`Failed to create call with ${userId} ${deviceId}`); callMap.delete(deviceId); } else { this.initCall(newCall); callMap.set(deviceId, newCall); - logger.debug(`Placing call to ${member.userId} ${deviceId} (session ${participant.sessionId})`); + logger.debug(`Placing call to ${userId} ${deviceId} (session ${participant.sessionId})`); newCall .placeCallWithCallFeeds( @@ -819,7 +819,7 @@ export class GroupCall extends TypedEventEmitter< } }) .catch((e) => { - logger.warn(`Failed to place call to ${member.userId}`, e); + logger.warn(`Failed to place call to ${userId}`, e); if (e instanceof CallError && e.code === GroupCallErrorCode.UnknownDevice) { this.emit(GroupCallEvent.Error, e); @@ -828,7 +828,7 @@ export class GroupCall extends TypedEventEmitter< GroupCallEvent.Error, new GroupCallError( GroupCallErrorCode.PlaceCallFailed, - `Failed to place call to ${member.userId}`, + `Failed to place call to ${userId}`, ), ); } @@ -841,9 +841,9 @@ export class GroupCall extends TypedEventEmitter< } if (callMap.size > 0) { - this.calls.set(member, callMap); + this.calls.set(userId, callMap); } else { - this.calls.delete(member); + this.calls.delete(userId); } } @@ -865,9 +865,9 @@ export class GroupCall extends TypedEventEmitter< private onRetryCallLoop = (): void => { let needsRetry = false; - for (const [member, participantMap] of this.participants) { - const callMap = this.calls.get(member); - let retriesMap = this.retryCallCounts.get(member); + for (const [{ userId }, participantMap] of this.participants) { + const callMap = this.calls.get(userId); + let retriesMap = this.retryCallCounts.get(userId); for (const [deviceId, participant] of participantMap) { const call = callMap?.get(deviceId); @@ -875,12 +875,12 @@ export class GroupCall extends TypedEventEmitter< if ( call?.getOpponentSessionId() !== participant.sessionId && - this.wantsOutgoingCall(member.userId, deviceId) && + this.wantsOutgoingCall(userId, deviceId) && retries < 3 ) { if (retriesMap === undefined) { retriesMap = new Map(); - this.retryCallCounts.set(member, retriesMap); + this.retryCallCounts.set(userId, retriesMap); } retriesMap.set(deviceId, retries + 1); needsRetry = true; @@ -1020,36 +1020,36 @@ export class GroupCall extends TypedEventEmitter< call.setLocalVideoMuted(videoMuted); } - if (state === CallState.Connected) { - const opponent = call.getOpponentMember()!; - const retriesMap = this.retryCallCounts.get(opponent); + const opponentUserId = call.getOpponentMember()?.userId; + if (state === CallState.Connected && opponentUserId) { + const retriesMap = this.retryCallCounts.get(opponentUserId); retriesMap?.delete(call.getOpponentDeviceId()!); - if (retriesMap?.size === 0) this.retryCallCounts.delete(opponent); + if (retriesMap?.size === 0) this.retryCallCounts.delete(opponentUserId); } }; private onCallHangup = (call: MatrixCall): void => { if (call.hangupReason === CallErrorCode.Replaced) return; - const opponent = call.getOpponentMember() ?? this.room.getMember(call.invitee!)!; - const deviceMap = this.calls.get(opponent); + const opponentUserId = call.getOpponentMember()?.userId ?? this.room.getMember(call.invitee!)!.userId; + const deviceMap = this.calls.get(opponentUserId); // Sanity check that this call is in fact in the map if (deviceMap?.get(call.getOpponentDeviceId()!) === call) { this.disposeCall(call, call.hangupReason as CallErrorCode); deviceMap.delete(call.getOpponentDeviceId()!); - if (deviceMap.size === 0) this.calls.delete(opponent); + if (deviceMap.size === 0) this.calls.delete(opponentUserId); this.emit(GroupCallEvent.CallsChanged, this.calls); } }; private onCallReplaced = (prevCall: MatrixCall, newCall: MatrixCall): void => { - const opponent = prevCall.getOpponentMember()!; + const opponentUserId = prevCall.getOpponentMember()!.userId; - let deviceMap = this.calls.get(opponent); + let deviceMap = this.calls.get(opponentUserId); if (deviceMap === undefined) { deviceMap = new Map(); - this.calls.set(opponent, deviceMap); + this.calls.set(opponentUserId, deviceMap); } this.disposeCall(prevCall, CallErrorCode.Replaced); diff --git a/yarn.lock b/yarn.lock index 232e98e6c..0f09a00c7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -36,9 +36,9 @@ "@jridgewell/trace-mapping" "^0.3.9" "@babel/cli@^7.12.10": - version "7.19.3" - resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.19.3.tgz#55914ed388e658e0b924b3a95da1296267e278e2" - integrity sha512-643/TybmaCAe101m2tSVHi9UKpETXP9c/Ff4mD2tAwkdP6esKIfaauZFc67vGEM6r9fekbEGid+sZhbEnSe3dg== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.20.7.tgz#8fc12e85c744a1a617680eacb488fab1fcd35b7c" + integrity sha512-WylgcELHB66WwQqItxNILsMlaTd8/SO6SgTTjMp4uCI7P4QyH1r3nqgFmO3BfM4AtfniHgFMH3EpYFj/zynBkQ== dependencies: "@jridgewell/trace-mapping" "^0.3.8" commander "^4.0.1" @@ -58,31 +58,26 @@ dependencies: "@babel/highlight" "^7.18.6" -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1": - version "7.20.1" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.1.tgz#f2e6ef7790d8c8dbf03d379502dcc246dcce0b30" - integrity sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ== - -"@babel/compat-data@^7.20.0": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.5.tgz#86f172690b093373a933223b4745deeb6049e733" - integrity sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g== +"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5": + version "7.20.10" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.10.tgz#9d92fa81b87542fff50e848ed585b4212c1d34ec" + integrity sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg== "@babel/core@^7.11.6", "@babel/core@^7.12.10", "@babel/core@^7.12.3", "@babel/core@^7.7.5": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.5.tgz#45e2114dc6cd4ab167f81daf7820e8fa1250d113" - integrity sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.7.tgz#37072f951bd4d28315445f66e0ec9f6ae0c8c35f" + integrity sha512-t1ZjCluspe5DW24bn2Rr1CDb2v9rn/hROtg9a2tmd0+QYf4bsloYfLQzjG4qHPNMhWtKdGC33R5AxGR2Af2cBw== dependencies: "@ampproject/remapping" "^2.1.0" "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.5" - "@babel/helper-compilation-targets" "^7.20.0" - "@babel/helper-module-transforms" "^7.20.2" - "@babel/helpers" "^7.20.5" - "@babel/parser" "^7.20.5" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.20.5" - "@babel/types" "^7.20.5" + "@babel/generator" "^7.20.7" + "@babel/helper-compilation-targets" "^7.20.7" + "@babel/helper-module-transforms" "^7.20.7" + "@babel/helpers" "^7.20.7" + "@babel/parser" "^7.20.7" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -105,30 +100,12 @@ dependencies: eslint-rule-composer "^0.3.0" -"@babel/generator@^7.12.11": - version "7.20.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.3.tgz#e58c9ae2f7bf7fdf4899160cf1e04400a82cd641" - integrity sha512-Wl5ilw2UD1+ZYprHVprxHZJCFeBWlzZYOovE4SDYLZnqCOD11j+0QzNeEWKLLTWM7nixrZEh7vNIyb76MyJg3A== +"@babel/generator@^7.12.11", "@babel/generator@^7.20.7", "@babel/generator@^7.7.2": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a" + integrity sha512-7wqMOJq8doJMZmP4ApXTzLxSr7+oO2jroJURrVEp6XShrQUObV8Tq/D0NCcoYg2uHqUrjzO0zwBjoYzelxK+sw== dependencies: - "@babel/types" "^7.20.2" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - -"@babel/generator@^7.20.1", "@babel/generator@^7.20.5": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.5.tgz#cb25abee3178adf58d6814b68517c62bdbfdda95" - integrity sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA== - dependencies: - "@babel/types" "^7.20.5" - "@jridgewell/gen-mapping" "^0.3.2" - jsesc "^2.5.1" - -"@babel/generator@^7.7.2": - version "7.20.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.4.tgz#4d9f8f0c30be75fd90a0562099a26e5839602ab8" - integrity sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA== - dependencies: - "@babel/types" "^7.20.2" + "@babel/types" "^7.20.7" "@jridgewell/gen-mapping" "^0.3.2" jsesc "^2.5.1" @@ -147,36 +124,37 @@ "@babel/helper-explode-assignable-expression" "^7.18.6" "@babel/types" "^7.18.9" -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.0": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.0.tgz#6bf5374d424e1b3922822f1d9bdaa43b1a139d0a" - integrity sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ== +"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" + integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== dependencies: - "@babel/compat-data" "^7.20.0" + "@babel/compat-data" "^7.20.5" "@babel/helper-validator-option" "^7.18.6" browserslist "^4.21.3" + lru-cache "^5.1.1" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.2.tgz#3c08a5b5417c7f07b5cf3dfb6dc79cbec682e8c2" - integrity sha512-k22GoYRAHPYr9I+Gvy2ZQlAe5mGy8BqWst2wRt8cwIufWTxrsVshhIBvYNqC80N0GSFWTsqRVexOtfzlgOEDvA== +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.20.5", "@babel/helper-create-class-features-plugin@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.7.tgz#d0e1f8d7e4ed5dac0389364d9c0c191d948ade6f" + integrity sha512-LtoWbDXOaidEf50hmdDqn9g8VEzsorMexoWMQdQODbvmqYmaF23pBP5VNPAGIFHsFQCIeKokDiz3CH5Y2jlY6w== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-function-name" "^7.19.0" - "@babel/helper-member-expression-to-functions" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.20.7" "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.19.1" + "@babel/helper-replace-supers" "^7.20.7" "@babel/helper-split-export-declaration" "^7.18.6" -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz#7976aca61c0984202baca73d84e2337a5424a41b" - integrity sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw== +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5": + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz#5ea79b59962a09ec2acf20a963a01ab4d076ccca" + integrity sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" - regexpu-core "^5.1.0" + regexpu-core "^5.2.1" "@babel/helper-define-polyfill-provider@^0.3.3": version "0.3.3" @@ -217,12 +195,12 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-member-expression-to-functions@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz#1531661e8375af843ad37ac692c132841e2fd815" - integrity sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg== +"@babel/helper-member-expression-to-functions@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz#a6f26e919582275a93c3aa6594756d71b0bb7f05" + integrity sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw== dependencies: - "@babel/types" "^7.18.9" + "@babel/types" "^7.20.7" "@babel/helper-module-imports@^7.18.6": version "7.18.6" @@ -231,19 +209,19 @@ dependencies: "@babel/types" "^7.18.6" -"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.6", "@babel/helper-module-transforms@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.2.tgz#ac53da669501edd37e658602a21ba14c08748712" - integrity sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA== +"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.20.7": + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0" + integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg== dependencies: "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-module-imports" "^7.18.6" "@babel/helper-simple-access" "^7.20.2" "@babel/helper-split-export-declaration" "^7.18.6" "@babel/helper-validator-identifier" "^7.19.1" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.20.1" - "@babel/types" "^7.20.2" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.10" + "@babel/types" "^7.20.7" "@babel/helper-optimise-call-expression@^7.18.6": version "7.18.6" @@ -257,7 +235,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== -"@babel/helper-remap-async-to-generator@^7.18.6", "@babel/helper-remap-async-to-generator@^7.18.9": +"@babel/helper-remap-async-to-generator@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== @@ -267,25 +245,26 @@ "@babel/helper-wrap-function" "^7.18.9" "@babel/types" "^7.18.9" -"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.19.1.tgz#e1592a9b4b368aa6bdb8784a711e0bcbf0612b78" - integrity sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw== +"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz#243ecd2724d2071532b2c8ad2f0f9f083bcae331" + integrity sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A== dependencies: "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-member-expression-to-functions" "^7.18.9" + "@babel/helper-member-expression-to-functions" "^7.20.7" "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/traverse" "^7.19.1" - "@babel/types" "^7.19.0" + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" -"@babel/helper-simple-access@^7.19.4", "@babel/helper-simple-access@^7.20.2": +"@babel/helper-simple-access@^7.20.2": version "7.20.2" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== dependencies: "@babel/types" "^7.20.2" -"@babel/helper-skip-transparent-expression-wrappers@^7.18.9": +"@babel/helper-skip-transparent-expression-wrappers@^7.20.0": version "7.20.0" resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684" integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== @@ -315,24 +294,24 @@ integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== "@babel/helper-wrap-function@^7.18.9": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz#89f18335cff1152373222f76a4b37799636ae8b1" - integrity sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg== + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz#75e2d84d499a0ab3b31c33bcfe59d6b8a45f62e3" + integrity sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q== dependencies: "@babel/helper-function-name" "^7.19.0" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.19.0" - "@babel/types" "^7.19.0" - -"@babel/helpers@^7.20.5": - version "7.20.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.6.tgz#e64778046b70e04779dfbdf924e7ebb45992c763" - integrity sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w== - dependencies: "@babel/template" "^7.18.10" "@babel/traverse" "^7.20.5" "@babel/types" "^7.20.5" +"@babel/helpers@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.7.tgz#04502ff0feecc9f20ecfaad120a18f011a8e6dce" + integrity sha512-PBPjs5BppzsGaxHQCDKnZ6Gd9s6xl8bBCluz3vEInLGRJmnZan4F6BYCeqtyXqkk4W5IlPmjK4JlOuZkpJ3xZA== + dependencies: + "@babel/template" "^7.20.7" + "@babel/traverse" "^7.20.7" + "@babel/types" "^7.20.7" + "@babel/highlight@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" @@ -342,15 +321,10 @@ chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.2.3": - version "7.20.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.3.tgz#5358cf62e380cf69efcb87a7bb922ff88bfac6e2" - integrity sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg== - -"@babel/parser@^7.18.10", "@babel/parser@^7.20.1", "@babel/parser@^7.20.5": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.5.tgz#7f3c7335fe417665d929f34ae5dceae4c04015e8" - integrity sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.2.3", "@babel/parser@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b" + integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg== "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": version "7.18.6" @@ -360,21 +334,21 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.18.9.tgz#a11af19aa373d68d561f08e0a57242350ed0ec50" - integrity sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz#d9c85589258539a22a901033853101a6198d4ef1" + integrity sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" + "@babel/plugin-proposal-optional-chaining" "^7.20.7" "@babel/plugin-proposal-async-generator-functions@^7.20.1": - version "7.20.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.1.tgz#352f02baa5d69f4e7529bdac39aaa02d41146af9" - integrity sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" + integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== dependencies: "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-syntax-async-generators" "^7.8.4" @@ -387,12 +361,12 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-proposal-class-static-block@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.6.tgz#8aa81d403ab72d3962fc06c26e222dacfc9b9020" - integrity sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz#92592e9029b13b15be0f7ce6a7aedc2879ca45a7" + integrity sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ== dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.20.7" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-proposal-dynamic-import@^7.18.6": @@ -420,11 +394,11 @@ "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-proposal-logical-assignment-operators@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.18.9.tgz#8148cbb350483bf6220af06fa6db3690e14b2e23" - integrity sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83" + integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": @@ -444,15 +418,15 @@ "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-proposal-object-rest-spread@^7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.2.tgz#a556f59d555f06961df1e572bb5eca864c84022d" - integrity sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" + integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== dependencies: - "@babel/compat-data" "^7.20.1" - "@babel/helper-compilation-targets" "^7.20.0" + "@babel/compat-data" "^7.20.5" + "@babel/helper-compilation-targets" "^7.20.7" "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.20.1" + "@babel/plugin-transform-parameters" "^7.20.7" "@babel/plugin-proposal-optional-catch-binding@^7.18.6": version "7.18.6" @@ -462,13 +436,13 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-proposal-optional-chaining@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.18.9.tgz#e8e8fe0723f2563960e4bf5e9690933691915993" - integrity sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w== +"@babel/plugin-proposal-optional-chaining@^7.18.9", "@babel/plugin-proposal-optional-chaining@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz#49f2b372519ab31728cc14115bb0998b15bfda55" + integrity sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-proposal-private-methods@^7.18.6": @@ -480,13 +454,13 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-proposal-private-property-in-object@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz#a64137b232f0aca3733a67eb1a144c192389c503" - integrity sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw== + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz#309c7668f2263f1c711aa399b5a9a6291eef6135" + integrity sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-create-class-features-plugin" "^7.20.5" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": @@ -631,20 +605,20 @@ "@babel/helper-plugin-utils" "^7.19.0" "@babel/plugin-transform-arrow-functions@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.18.6.tgz#19063fcf8771ec7b31d742339dac62433d0611fe" - integrity sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz#bea332b0e8b2dab3dafe55a163d8227531ab0551" + integrity sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-async-to-generator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.18.6.tgz#ccda3d1ab9d5ced5265fdb13f1882d5476c71615" - integrity sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz#dfee18623c8cb31deb796aa3ca84dda9cea94354" + integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q== dependencies: "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-remap-async-to-generator" "^7.18.6" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-remap-async-to-generator" "^7.18.9" "@babel/plugin-transform-block-scoped-functions@^7.18.6": version "7.18.6" @@ -654,38 +628,39 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-block-scoping@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.2.tgz#f59b1767e6385c663fd0bce655db6ca9c8b236ed" - integrity sha512-y5V15+04ry69OV2wULmwhEA6jwSWXO1TwAtIwiPXcvHcoOQUqpyMVd2bDsQJMW8AurjulIyUV8kDqtjSwHy1uQ== + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz#9f5a3424bd112a3f32fe0cf9364fbb155cff262a" + integrity sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw== dependencies: "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-classes@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.2.tgz#c0033cf1916ccf78202d04be4281d161f6709bb2" - integrity sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz#f438216f094f6bb31dc266ebfab8ff05aecad073" + integrity sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-compilation-targets" "^7.20.0" + "@babel/helper-compilation-targets" "^7.20.7" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-function-name" "^7.19.0" "@babel/helper-optimise-call-expression" "^7.18.6" "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-replace-supers" "^7.19.1" + "@babel/helper-replace-supers" "^7.20.7" "@babel/helper-split-export-declaration" "^7.18.6" globals "^11.1.0" "@babel/plugin-transform-computed-properties@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.18.9.tgz#2357a8224d402dad623caf6259b611e56aec746e" - integrity sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz#704cc2fd155d1c996551db8276d55b9d46e4d0aa" + integrity sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/template" "^7.20.7" "@babel/plugin-transform-destructuring@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.2.tgz#c23741cfa44ddd35f5e53896e88c75331b8b2792" - integrity sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz#8bda578f71620c7de7c93af590154ba331415454" + integrity sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA== dependencies: "@babel/helper-plugin-utils" "^7.20.2" @@ -743,30 +718,30 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-modules-amd@^7.19.6": - version "7.19.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.19.6.tgz#aca391801ae55d19c4d8d2ebfeaa33df5f2a2cbd" - integrity sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg== + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz#3daccca8e4cc309f03c3a0c4b41dc4b26f55214a" + integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g== dependencies: - "@babel/helper-module-transforms" "^7.19.6" - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-modules-commonjs@^7.19.6": - version "7.19.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.19.6.tgz#25b32feef24df8038fc1ec56038917eacb0b730c" - integrity sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ== + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz#8cb23010869bf7669fd4b3098598b6b2be6dc607" + integrity sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw== dependencies: - "@babel/helper-module-transforms" "^7.19.6" - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-simple-access" "^7.19.4" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-simple-access" "^7.20.2" "@babel/plugin-transform-modules-systemjs@^7.19.6": - version "7.19.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.19.6.tgz#59e2a84064b5736a4471b1aa7b13d4431d327e0d" - integrity sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ== + version "7.20.11" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz#467ec6bba6b6a50634eea61c9c232654d8a4696e" + integrity sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw== dependencies: "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-module-transforms" "^7.19.6" - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-module-transforms" "^7.20.11" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/helper-validator-identifier" "^7.19.1" "@babel/plugin-transform-modules-umd@^7.18.6": @@ -778,12 +753,12 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz#ec7455bab6cd8fb05c525a94876f435a48128888" - integrity sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw== + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz#626298dd62ea51d452c3be58b285d23195ba69a8" + integrity sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.19.0" - "@babel/helper-plugin-utils" "^7.19.0" + "@babel/helper-create-regexp-features-plugin" "^7.20.5" + "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-transform-new-target@^7.18.6": version "7.18.6" @@ -800,10 +775,10 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/helper-replace-supers" "^7.18.6" -"@babel/plugin-transform-parameters@^7.20.1": - version "7.20.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.3.tgz#7b3468d70c3c5b62e46be0a47b6045d8590fb748" - integrity sha512-oZg/Fpx0YDrj13KsLyO8I/CX3Zdw7z0O9qOd95SqcoIzuqy/WTGWvePeHAnZCN54SfdyjHcb1S30gc8zlzlHcA== +"@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz#0ee349e9d1bc96e78e3b37a7af423a4078a7083f" + integrity sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA== dependencies: "@babel/helper-plugin-utils" "^7.20.2" @@ -815,12 +790,12 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-regenerator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz#585c66cb84d4b4bf72519a34cfce761b8676ca73" - integrity sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ== + version "7.20.5" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz#57cda588c7ffb7f4f8483cc83bdcea02a907f04d" + integrity sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ== dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - regenerator-transform "^0.15.0" + "@babel/helper-plugin-utils" "^7.20.2" + regenerator-transform "^0.15.1" "@babel/plugin-transform-reserved-words@^7.18.6": version "7.18.6" @@ -849,12 +824,12 @@ "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-spread@^7.19.0": - version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.19.0.tgz#dd60b4620c2fec806d60cfaae364ec2188d593b6" - integrity sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz#c2d83e0b99d3bf83e07b11995ee24bf7ca09401e" + integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw== dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.18.9" + "@babel/helper-plugin-utils" "^7.20.2" + "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" "@babel/plugin-transform-sticky-regex@^7.18.6": version "7.18.6" @@ -878,11 +853,11 @@ "@babel/helper-plugin-utils" "^7.18.9" "@babel/plugin-transform-typescript@^7.18.6": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.2.tgz#91515527b376fc122ba83b13d70b01af8fe98f3f" - integrity sha512-jvS+ngBfrnTUBfOQq8NfGnSbF9BrqlR6hjJ2yVxMkmO5nL/cdifNbI30EfjRlN4g5wYWNnMPyj5Sa6R1pbLeag== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.7.tgz#673f49499cd810ae32a1ea5f3f8fab370987e055" + integrity sha512-m3wVKEvf6SoszD8pu4NZz3PvfKRCMgk6D6d0Qi9hNnlM5M6CFS92EgF4EiHVLKbU0r/r7ty1hg7NPZwE7WRbYw== dependencies: - "@babel/helper-create-class-features-plugin" "^7.20.2" + "@babel/helper-create-class-features-plugin" "^7.20.7" "@babel/helper-plugin-utils" "^7.20.2" "@babel/plugin-syntax-typescript" "^7.20.0" @@ -1014,66 +989,41 @@ source-map-support "^0.5.16" "@babel/runtime@^7.12.5", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4": - version "7.20.6" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.6.tgz#facf4879bfed9b5326326273a64220f099b0fce3" - integrity sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA== + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd" + integrity sha512-UF0tvkUtxwAgZ5W/KrkHf0Rn0fdnLDU9ScxBrEVNUprE/MzirjK4MJUX1/BVDv00Sv8cljtukVK1aky++X1SjQ== dependencies: regenerator-runtime "^0.13.11" -"@babel/template@^7.18.10", "@babel/template@^7.3.3": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" - integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== +"@babel/template@^7.18.10", "@babel/template@^7.20.7", "@babel/template@^7.3.3": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" + integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== dependencies: "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.18.10" - "@babel/types" "^7.18.10" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" -"@babel/traverse@^7.1.6", "@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.7.2": - version "7.20.1" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.1.tgz#9b15ccbf882f6d107eeeecf263fbcdd208777ec8" - integrity sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA== +"@babel/traverse@^7.1.6", "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.7.2": + version "7.20.10" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.10.tgz#2bf98239597fcec12f842756f186a9dde6d09230" + integrity sha512-oSf1juCgymrSez8NI4A2sr4+uB/mFd9MXplYGPEBnfAuWmmyeVcHa6xLPiaRBcXkcb/28bgxmQLTVwFKE1yfsg== dependencies: "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.1" + "@babel/generator" "^7.20.7" "@babel/helper-environment-visitor" "^7.18.9" "@babel/helper-function-name" "^7.19.0" "@babel/helper-hoist-variables" "^7.18.6" "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.20.1" - "@babel/types" "^7.20.0" + "@babel/parser" "^7.20.7" + "@babel/types" "^7.20.7" debug "^4.1.0" globals "^11.1.0" -"@babel/traverse@^7.20.1", "@babel/traverse@^7.20.5": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.5.tgz#78eb244bea8270fdda1ef9af22a5d5e5b7e57133" - integrity sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.20.5" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.19.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.20.5" - "@babel/types" "^7.20.5" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.18.9", "@babel/types@^7.2.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.2.tgz#67ac09266606190f496322dbaff360fdaa5e7842" - integrity sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog== - dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" - to-fast-properties "^2.0.0" - -"@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.5.tgz#e206ae370b5393d94dfd1d04cd687cace53efa84" - integrity sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg== +"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.2.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4": + version "7.20.7" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f" + integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg== dependencies: "@babel/helper-string-parser" "^7.19.4" "@babel/helper-validator-identifier" "^7.19.1" @@ -1085,9 +1035,9 @@ integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== "@casualbot/jest-sonar-reporter@^2.2.5": - version "2.2.5" - resolved "https://registry.yarnpkg.com/@casualbot/jest-sonar-reporter/-/jest-sonar-reporter-2.2.5.tgz#23d187ddb8d65129a3c8d8239b0540a52c4dc82a" - integrity sha512-Pmb4aEtJudz9G0VsmEUzuDm5iWGOCDsmulzi6AP/RgAXEcmsSxVdxjcgA+2SHC005diU4mXnPLiQyiiMIAtUjA== + version "2.2.7" + resolved "https://registry.yarnpkg.com/@casualbot/jest-sonar-reporter/-/jest-sonar-reporter-2.2.7.tgz#3cc14c64f5d8ab5e9163b03b9cd2e07456432ed0" + integrity sha512-iswhPNodtcOQzfXR3TkD0A/8yHr5fnC86Ryt5UAqrJWfMI8mPZ9mpjykHnibbf91SjNtELv7ApZtha0bdWOmoQ== dependencies: mkdirp "1.0.4" uuid "8.3.2" @@ -1110,14 +1060,14 @@ eslint-visitor-keys "^3.3.0" "@eslint/eslintrc@^1.3.3": - version "1.3.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.3.3.tgz#2b044ab39fdfa75b4688184f9e573ce3c5b0ff95" - integrity sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg== + version "1.4.1" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.4.1.tgz#af58772019a2d271b7e2d4c23ff4ddcba3ccfb3e" + integrity sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA== dependencies: ajv "^6.12.4" debug "^4.3.2" espree "^9.4.0" - globals "^13.15.0" + globals "^13.19.0" ignore "^5.2.0" import-fresh "^3.2.1" js-yaml "^4.1.0" @@ -1125,9 +1075,9 @@ strip-json-comments "^3.1.1" "@humanwhocodes/config-array@^0.11.6": - version "0.11.7" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.7.tgz#38aec044c6c828f6ed51d5d7ae3d9b9faf6dbb0f" - integrity sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw== + version "0.11.8" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" + integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== dependencies: "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" @@ -1426,9 +1376,9 @@ "@jridgewell/sourcemap-codec" "1.4.14" "@jsdoc/salty@^0.2.1": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@jsdoc/salty/-/salty-0.2.1.tgz#815c487c859eca81ad3dfea540f830e1ff9d3392" - integrity sha512-JXwylDNSHa549N9uceDYu8D4GMXwSo3H8CCPYEQqxhhHpxD28+lRl2b3bS/caaPj5w1YD3SWtrficJNTnUjGpg== + version "0.2.2" + resolved "https://registry.yarnpkg.com/@jsdoc/salty/-/salty-0.2.2.tgz#567017ddda2048c5ff921aeffd38564a0578fdca" + integrity sha512-A1FrVnc7L9qI2gUGsfN0trTiJNK72Y0CL/VAyrmYEmeKI3pnHDawP64CEev31XLyAAOx2xmDo3tbadPxC0CSbw== dependencies: lodash "^4.17.21" @@ -1439,6 +1389,7 @@ "@matrix-org/olm@https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.14.tgz": version "3.2.14" + uid acd96c00a881d0f462e1f97a56c73742c8dbc984 resolved "https://gitlab.matrix.org/api/v4/projects/27/packages/npm/@matrix-org/olm/-/@matrix-org/olm-3.2.14.tgz#acd96c00a881d0f462e1f97a56c73742c8dbc984" "@microsoft/tsdoc-config@0.16.2": @@ -1608,9 +1559,9 @@ integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA== "@sinonjs/commons@^1.7.0": - version "1.8.5" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.5.tgz#e280c94c95f206dcfd5aca00a43f2156b758c764" - integrity sha512-rTpCA0wG1wUxglBSFdMMY0oTrKYvgf4fNgv/sXbfCVAdf+FnPBdKJR/7XbpTCwbCrvCbdPYnlWaUUYz4V2fPDA== + version "1.8.6" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" + integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== dependencies: type-detect "4.0.8" @@ -1658,9 +1609,9 @@ "@babel/types" "^7.0.0" "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.18.2" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.2.tgz#235bf339d17185bdec25e024ca19cce257cc7309" - integrity sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg== + version "7.18.3" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.3.tgz#dfc508a85781e5698d5b33443416b6268c4b3e8d" + integrity sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w== dependencies: "@babel/types" "^7.3.0" @@ -1722,9 +1673,9 @@ "@types/istanbul-lib-report" "*" "@types/jest@^29.0.0": - version "29.2.4" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.2.4.tgz#9c155c4b81c9570dbd183eb8604aa0ae80ba5a5b" - integrity sha512-PipFB04k2qTRPePduVLTRiPzQfvMeLwUN3Z21hsAKaB/W9IIzgB2pizCL466ftJlcyZqnHoC9ZHpxLGl3fS86A== + version "29.2.5" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.2.5.tgz#c27f41a9d6253f288d1910d3c5f09484a56b73c0" + integrity sha512-H2cSxkKgVmqNHXP7TC2L/WUorrZu8ZigyRywfVzv6EyBlxj39n4C00hjXYQWsbwqgElaj/CiAeSRmk5GoaKTgw== dependencies: expect "^29.0.0" pretty-format "^29.0.0" @@ -1748,15 +1699,10 @@ resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== -"@types/node@*": - version "18.11.15" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.15.tgz#de0e1fbd2b22b962d45971431e2ae696643d3f5d" - integrity sha512-VkhBbVo2+2oozlkdHXLrb3zjsRkpdnaU2bXmX8Wgle3PUi569eLRaHGlgETQHR7lLL1w7GiG3h9SnePhxNDecw== - -"@types/node@18": - version "18.11.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.9.tgz#02d013de7058cea16d36168ef2fc653464cfbad4" - integrity sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg== +"@types/node@*", "@types/node@18": + version "18.11.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f" + integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== "@types/normalize-package-data@^2.4.0": version "2.4.1" @@ -1764,9 +1710,9 @@ integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== "@types/prettier@^2.1.5": - version "2.7.1" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.1.tgz#dfd20e2dc35f027cdd6c1908e80a5ddc7499670e" - integrity sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow== + version "2.7.2" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0" + integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg== "@types/retry@0.12.0": version "0.12.0" @@ -1809,20 +1755,20 @@ integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== "@types/yargs@^17.0.8": - version "17.0.17" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.17.tgz#5672e5621f8e0fca13f433a8017aae4b7a2a03e7" - integrity sha512-72bWxFKTK6uwWJAVT+3rF6Jo6RTojiJ27FQo8Rf60AL+VZbzoVPnMFhKsUnbjR8A3BTCYQ7Mv3hnl8T0A+CX9g== + version "17.0.19" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.19.tgz#8dbecdc9ab48bee0cb74f6e3327de3fa0d0c98ae" + integrity sha512-cAx3qamwaYX9R0fzOIZAlFpo4A+1uBVCxqpKz9D26uTF4srRXaGTTsikQmaotCtNdbhzyUH7ft6p9ktz9s6UNQ== dependencies: "@types/yargs-parser" "*" "@typescript-eslint/eslint-plugin@^5.45.0": - version "5.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.46.1.tgz#098abb4c9354e19f460d57ab18bff1f676a6cff0" - integrity sha512-YpzNv3aayRBwjs4J3oz65eVLXc9xx0PDbIRisHj+dYhvBn02MjYOD96P8YGiWEIFBrojaUjxvkaUpakD82phsA== + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.0.tgz#54f8368d080eb384a455f60c2ee044e948a8ce67" + integrity sha512-SVLafp0NXpoJY7ut6VFVUU9I+YeFsDzeQwtK0WZ+xbRN3mtxJ08je+6Oi2N89qDn087COdO0u3blKZNv9VetRQ== dependencies: - "@typescript-eslint/scope-manager" "5.46.1" - "@typescript-eslint/type-utils" "5.46.1" - "@typescript-eslint/utils" "5.46.1" + "@typescript-eslint/scope-manager" "5.48.0" + "@typescript-eslint/type-utils" "5.48.0" + "@typescript-eslint/utils" "5.48.0" debug "^4.3.4" ignore "^5.2.0" natural-compare-lite "^1.4.0" @@ -1831,71 +1777,71 @@ tsutils "^3.21.0" "@typescript-eslint/parser@^5.45.0": - version "5.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.46.1.tgz#1fc8e7102c1141eb64276c3b89d70da8c0ba5699" - integrity sha512-RelQ5cGypPh4ySAtfIMBzBGyrNerQcmfA1oJvPj5f+H4jI59rl9xxpn4bonC0tQvUKOEN7eGBFWxFLK3Xepneg== + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.48.0.tgz#02803355b23884a83e543755349809a50b7ed9ba" + integrity sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg== dependencies: - "@typescript-eslint/scope-manager" "5.46.1" - "@typescript-eslint/types" "5.46.1" - "@typescript-eslint/typescript-estree" "5.46.1" + "@typescript-eslint/scope-manager" "5.48.0" + "@typescript-eslint/types" "5.48.0" + "@typescript-eslint/typescript-estree" "5.48.0" debug "^4.3.4" -"@typescript-eslint/scope-manager@5.46.1": - version "5.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.46.1.tgz#70af8425c79bbc1178b5a63fb51102ddf48e104a" - integrity sha512-iOChVivo4jpwUdrJZyXSMrEIM/PvsbbDOX1y3UCKjSgWn+W89skxWaYXACQfxmIGhPVpRWK/VWPYc+bad6smIA== +"@typescript-eslint/scope-manager@5.48.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.48.0.tgz#607731cb0957fbc52fd754fd79507d1b6659cecf" + integrity sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow== dependencies: - "@typescript-eslint/types" "5.46.1" - "@typescript-eslint/visitor-keys" "5.46.1" + "@typescript-eslint/types" "5.48.0" + "@typescript-eslint/visitor-keys" "5.48.0" -"@typescript-eslint/type-utils@5.46.1": - version "5.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.46.1.tgz#195033e4b30b51b870dfcf2828e88d57b04a11cc" - integrity sha512-V/zMyfI+jDmL1ADxfDxjZ0EMbtiVqj8LUGPAGyBkXXStWmCUErMpW873zEHsyguWCuq2iN4BrlWUkmuVj84yng== +"@typescript-eslint/type-utils@5.48.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.48.0.tgz#40496dccfdc2daa14a565f8be80ad1ae3882d6d6" + integrity sha512-vbtPO5sJyFjtHkGlGK4Sthmta0Bbls4Onv0bEqOGm7hP9h8UpRsHJwsrCiWtCUndTRNQO/qe6Ijz9rnT/DB+7g== dependencies: - "@typescript-eslint/typescript-estree" "5.46.1" - "@typescript-eslint/utils" "5.46.1" + "@typescript-eslint/typescript-estree" "5.48.0" + "@typescript-eslint/utils" "5.48.0" debug "^4.3.4" tsutils "^3.21.0" -"@typescript-eslint/types@5.46.1": - version "5.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.46.1.tgz#4e9db2107b9a88441c4d5ecacde3bb7a5ebbd47e" - integrity sha512-Z5pvlCaZgU+93ryiYUwGwLl9AQVB/PQ1TsJ9NZ/gHzZjN7g9IAn6RSDkpCV8hqTwAiaj6fmCcKSQeBPlIpW28w== +"@typescript-eslint/types@5.48.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.48.0.tgz#d725da8dfcff320aab2ac6f65c97b0df30058449" + integrity sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw== -"@typescript-eslint/typescript-estree@5.46.1": - version "5.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.46.1.tgz#5358088f98a8f9939355e0996f9c8f41c25eced2" - integrity sha512-j9W4t67QiNp90kh5Nbr1w92wzt+toiIsaVPnEblB2Ih2U9fqBTyqV9T3pYWZBRt6QoMh/zVWP59EpuCjc4VRBg== +"@typescript-eslint/typescript-estree@5.48.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.0.tgz#a7f04bccb001003405bb5452d43953a382c2fac2" + integrity sha512-7pjd94vvIjI1zTz6aq/5wwE/YrfIyEPLtGJmRfyNR9NYIW+rOvzzUv3Cmq2hRKpvt6e9vpvPUQ7puzX7VSmsEw== dependencies: - "@typescript-eslint/types" "5.46.1" - "@typescript-eslint/visitor-keys" "5.46.1" + "@typescript-eslint/types" "5.48.0" + "@typescript-eslint/visitor-keys" "5.48.0" debug "^4.3.4" globby "^11.1.0" is-glob "^4.0.3" semver "^7.3.7" tsutils "^3.21.0" -"@typescript-eslint/utils@5.46.1": - version "5.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.46.1.tgz#7da3c934d9fd0eb4002a6bb3429f33298b469b4a" - integrity sha512-RBdBAGv3oEpFojaCYT4Ghn4775pdjvwfDOfQ2P6qzNVgQOVrnSPe5/Pb88kv7xzYQjoio0eKHKB9GJ16ieSxvA== +"@typescript-eslint/utils@5.48.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.48.0.tgz#eee926af2733f7156ad8d15e51791e42ce300273" + integrity sha512-x2jrMcPaMfsHRRIkL+x96++xdzvrdBCnYRd5QiW5Wgo1OB4kDYPbC1XjWP/TNqlfK93K/lUL92erq5zPLgFScQ== dependencies: "@types/json-schema" "^7.0.9" "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.46.1" - "@typescript-eslint/types" "5.46.1" - "@typescript-eslint/typescript-estree" "5.46.1" + "@typescript-eslint/scope-manager" "5.48.0" + "@typescript-eslint/types" "5.48.0" + "@typescript-eslint/typescript-estree" "5.48.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" semver "^7.3.7" -"@typescript-eslint/visitor-keys@5.46.1": - version "5.46.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.46.1.tgz#126cc6fe3c0f83608b2b125c5d9daced61394242" - integrity sha512-jczZ9noovXwy59KjRTk1OftT78pwygdcmCuBf8yMoWt/8O8l+6x2LSEze0E4TeepXK4MezW3zGSyoDRZK7Y9cg== +"@typescript-eslint/visitor-keys@5.48.0": + version "5.48.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.0.tgz#4446d5e7f6cadde7140390c0e284c8702d944904" + integrity sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q== dependencies: - "@typescript-eslint/types" "5.46.1" + "@typescript-eslint/types" "5.48.0" eslint-visitor-keys "^3.3.0" JSONStream@^1.0.3: @@ -1912,9 +1858,9 @@ abab@^2.0.6: integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== ace-builds@^1.4.13: - version "1.12.5" - resolved "https://registry.yarnpkg.com/ace-builds/-/ace-builds-1.12.5.tgz#e037069148507b4b32c21f56b52a830e9a0759d3" - integrity sha512-2OTOZZdXVqWHfsV63n/bWLJ4uGnGNm9uwEQSECbEzMpKF2RKxD04lWu7s+eRBTZoEbqPXziyI1qamJH2OAwdwA== + version "1.14.0" + resolved "https://registry.yarnpkg.com/ace-builds/-/ace-builds-1.14.0.tgz#85a6733b4fa17b0abc3dbfe38cd8d823cad79716" + integrity sha512-3q8LvawomApRCt4cC0OzxVjDsZ609lDbm8l0Xl9uqG06dKEq4RT0YXLUyk7J2SxmqIp5YXzZNw767Dr8GKUruw== acorn-globals@^3.0.0: version "3.1.0" @@ -1970,7 +1916,7 @@ acorn@^7.0.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.1.0, acorn@^8.5.0, acorn@^8.8.0: +acorn@^8.1.0, acorn@^8.5.0, acorn@^8.8.0, acorn@^8.8.1: version "8.8.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73" integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA== @@ -2057,9 +2003,9 @@ any-promise@^1.3.0: integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== anymatch@^3.0.3, anymatch@~3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== dependencies: normalize-path "^3.0.0" picomatch "^2.0.4" @@ -2590,9 +2536,9 @@ camelcase@^6.2.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001400: - version "1.0.30001435" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001435.tgz#502c93dbd2f493bee73a408fe98e98fb1dad10b2" - integrity sha512-kdCkUTjR+v4YAJelyiDTqiu82BDr4W4CP5sgTA0ZBmqn30XfS2ZghPLMowik9TPhS+psWJiUNxsqLyurDbmutA== + version "1.0.30001441" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001441.tgz#987437b266260b640a23cd18fbddb509d7f69f3e" + integrity sha512-OyxRR4Vof59I3yGWXws6i908EtGbMzVUi3ganaZQHmydk1iwDhRnvaPG2WaR0KcqrDFKrxVZHULT396LEPhXfg== center-align@^0.1.1: version "0.1.3" @@ -2647,9 +2593,9 @@ chokidar@^3.4.0: fsevents "~2.3.2" ci-info@^3.2.0, ci-info@^3.6.1: - version "3.7.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.7.0.tgz#6d01b3696c59915b6ce057e4aa4adfc2fa25f5ef" - integrity sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog== + version "3.7.1" + resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.7.1.tgz#708a6cdae38915d597afdf3b145f2f8e1ff55f3f" + integrity sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w== cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: version "1.0.4" @@ -2852,9 +2798,9 @@ convert-source-map@~1.1.0: integrity sha512-Y8L5rp6jo+g9VEPgvqNfEopjTR4OTYct8lXlS8iVQdmnjDvbdbzYe9rjtFCB9egC86JoNCU61WRY+ScjkZpnIg== core-js-compat@^3.25.1: - version "3.26.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.26.0.tgz#94e2cf8ba3e63800c4956ea298a6473bc9d62b44" - integrity sha512-piOX9Go+Z4f9ZiBFLnZ5VrOpBl0h7IGCkiFUN11QTe6LjAvOT3ifL/5TdoizMh99hcGy5SoLyWbapIY/PIb/3A== + version "3.27.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.27.1.tgz#b5695eb25c602d72b1d30cbfba3cb7e5e4cf0a67" + integrity sha512-Dg91JFeCDA17FKnneN7oCMz4BkQ4TcffkgHP4OWwp9yx3pi7ubqMDXXSacfNak1PQqjc95skyt+YBLHQJnkJwA== dependencies: browserslist "^4.21.4" @@ -2995,10 +2941,10 @@ decamelize@^1.0.0: resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== -decimal.js@^10.4.1: - version "10.4.2" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.2.tgz#0341651d1d997d86065a2ce3a441fbd0d8e8b98e" - integrity sha512-ic1yEvwT6GuvaYwBLLY6/aFFgjZdySKTE8en/fkU3QICTmRtgtSlFn0u0BXN06InZwtfCelR7j8LRiDI/02iGA== +decimal.js@^10.4.2: + version "10.4.3" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" + integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== dedent@^0.7.0: version "0.7.0" @@ -3187,9 +3133,9 @@ emoji-regex@^8.0.0: integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== enhanced-resolve@^5.10.0: - version "5.10.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz#0dc579c3bb2a1032e357ac45b8f3a6f3ad4fb1e6" - integrity sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ== + version "5.12.0" + resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634" + integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ== dependencies: graceful-fs "^4.2.4" tapable "^2.2.0" @@ -3207,9 +3153,9 @@ error-ex@^1.2.0, error-ex@^1.3.1: is-arrayish "^0.2.1" es-abstract@^1.19.0, es-abstract@^1.20.4: - version "1.20.4" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.4.tgz#1d103f9f8d78d4cf0713edcd6d0ed1a46eed5861" - integrity sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA== + version "1.20.5" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.20.5.tgz#e6dc99177be37cacda5988e692c3fa8b218e95d2" + integrity sha512-7h8MM2EQhsCA7pU/Nv78qOXFpD8Rhqd12gYiSJVkrH9+e8VuA8JlPJK/hQjjlLv6pJvx/z1iRFKzYb0XT/RuAQ== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" @@ -3217,6 +3163,7 @@ es-abstract@^1.19.0, es-abstract@^1.20.4: function.prototype.name "^1.1.5" get-intrinsic "^1.1.3" get-symbol-description "^1.0.0" + gopd "^1.0.1" has "^1.0.3" has-property-descriptors "^1.0.0" has-symbols "^1.0.3" @@ -3232,8 +3179,8 @@ es-abstract@^1.19.0, es-abstract@^1.20.4: object.assign "^4.1.4" regexp.prototype.flags "^1.4.3" safe-regex-test "^1.0.0" - string.prototype.trimend "^1.0.5" - string.prototype.trimstart "^1.0.5" + string.prototype.trimend "^1.0.6" + string.prototype.trimstart "^1.0.6" unbox-primitive "^1.0.2" es-shim-unscopables@^1.0.0: @@ -3326,9 +3273,9 @@ eslint-config-google@^0.14.0: integrity sha512-WsbX4WbjuMvTdeVL6+J3rK1RGhCTqjsFjX7UMSMgZiyxxaNLkoJENbrGExzERFeoTpGw3F3FypTiWAP9ZXzkEw== eslint-config-prettier@^8.5.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz#5a81680ec934beca02c7b1a61cf8ca34b66feab1" - integrity sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q== + version "8.6.0" + resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz#dec1d29ab728f4fa63061774e1672ac4e363d207" + integrity sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA== eslint-import-resolver-node@^0.3.6: version "0.3.6" @@ -3679,9 +3626,9 @@ fast-safe-stringify@^2.0.7: integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== fastq@^1.6.0: - version "1.14.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.14.0.tgz#107f69d7295b11e0fccc264e1fc6389f623731ce" - integrity sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg== + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== dependencies: reusify "^1.0.4" @@ -3825,7 +3772,7 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3: +get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.3.tgz#063c84329ad93e83893c7f4f243ef63ffa351385" integrity sha512-QJVz1Tj7MS099PevUG5jvnt9tSkXN8K14dxQlikJuPt4uD9hHAHjLyLBiLR5zELelBdD9QNRAXZzsJx0WaDL9A== @@ -3853,9 +3800,9 @@ get-symbol-description@^1.0.0: get-intrinsic "^1.1.1" get-tsconfig@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.2.0.tgz#ff368dd7104dab47bf923404eb93838245c66543" - integrity sha512-X8u8fREiYOE6S8hLbq99PeykTDoLVnxvF4DjWKJmz9xy2nNRdUcV8ZN9tniJFeKyTU3qnC9lL8n4Chd6LmVKHg== + version "4.3.0" + resolved "https://registry.yarnpkg.com/get-tsconfig/-/get-tsconfig-4.3.0.tgz#4c26fae115d1050e836aea65d6fe56b507ee249b" + integrity sha512-YCcF28IqSay3fqpIu5y3Krg/utCBHBeoflkZyHj/QcqI2nrLPC3ZegS9CmIo+hJb8K7aiGsuUl7PwWVjNG2HQQ== glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" @@ -3888,10 +3835,10 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^13.15.0: - version "13.17.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.17.0.tgz#902eb1e680a41da93945adbdcb5a9f361ba69bd4" - integrity sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw== +globals@^13.15.0, globals@^13.19.0: + version "13.19.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.19.0.tgz#7a42de8e6ad4f7242fbcca27ea5b23aca367b5c8" + integrity sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ== dependencies: type-fest "^0.20.2" @@ -3913,9 +3860,9 @@ globby@^11.1.0: slash "^3.0.0" globby@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.2.tgz#29047105582427ab6eca4f905200667b056da515" - integrity sha512-LKSDZXToac40u8Q1PQtZihbNdTYSNMuWe+K5l+oa6KgDzSvVrHXlJy40hUP522RjAIoNLJYBJi7ow+rbFpIhHQ== + version "13.1.3" + resolved "https://registry.yarnpkg.com/globby/-/globby-13.1.3.tgz#f62baf5720bcb2c1330c8d4ef222ee12318563ff" + integrity sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw== dependencies: dir-glob "^3.0.1" fast-glob "^3.2.11" @@ -4084,9 +4031,9 @@ ieee754@^1.1.4: integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== ignore@^5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.1.tgz#c2b1f76cb999ede1502f3a226a9310fdfe88d46c" - integrity sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA== + version "5.2.4" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" + integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" @@ -4156,11 +4103,11 @@ insert-module-globals@^7.2.1: xtend "^4.0.0" internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.4.tgz#8551e7baf74a7a6ba5f749cfb16aa60722f0d6f3" + integrity sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ== dependencies: - get-intrinsic "^1.1.0" + get-intrinsic "^1.1.3" has "^1.0.3" side-channel "^1.0.4" @@ -4618,9 +4565,9 @@ jest-leak-detector@^29.3.1: pretty-format "^29.3.1" jest-localstorage-mock@^2.4.6: - version "2.4.22" - resolved "https://registry.yarnpkg.com/jest-localstorage-mock/-/jest-localstorage-mock-2.4.22.tgz#9d70be92bfc591c0be289ee2f71de1b4b2a5ca9b" - integrity sha512-60PWSDFQOS5v7JzSmYLM3dPLg0JLl+2Vc4lIEz/rj2yrXJzegsFLn7anwc5IL0WzJbBa/Las064CHbFg491/DQ== + version "2.4.25" + resolved "https://registry.yarnpkg.com/jest-localstorage-mock/-/jest-localstorage-mock-2.4.25.tgz#9be525ebcd4eb791a445dbeba8474ceb2abeb434" + integrity sha512-VdQ8PTpNzUJDx/KY3hBrTwxqVMzMS+LccngC15EZSFdxJ+VeeCYmyW7BSzubk9FUKCVeXPjYPibzXe6swXYA+g== jest-matcher-utils@^28.1.3: version "28.1.3" @@ -4875,9 +4822,9 @@ jju@~1.4.0: integrity sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA== js-sdsl@^4.1.4: - version "4.1.5" - resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.1.5.tgz#1ff1645e6b4d1b028cd3f862db88c9d887f26e2a" - integrity sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q== + version "4.2.0" + resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.2.0.tgz#278e98b7bea589b8baaf048c20aeb19eb7ad09d0" + integrity sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ== js-stringify@^1.0.1: version "1.0.2" @@ -4910,17 +4857,17 @@ jsdoc-type-pratt-parser@~3.1.0: integrity sha512-MgtD0ZiCDk9B+eI73BextfRrVQl0oyzRG8B2BjORts6jbunj4ScKPcyXGTbB6eXL4y9TzxCm6hyeLq/2ASzNdw== jsdom@^20.0.0: - version "20.0.2" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.2.tgz#65ccbed81d5e877c433f353c58bb91ff374127db" - integrity sha512-AHWa+QO/cgRg4N+DsmHg1Y7xnz+8KU3EflM0LVDTdmrYOc1WWTSkOjtpUveQH+1Bqd5rtcVnb/DuxV/UjDO4rA== + version "20.0.3" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db" + integrity sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ== dependencies: abab "^2.0.6" - acorn "^8.8.0" + acorn "^8.8.1" acorn-globals "^7.0.0" cssom "^0.5.0" cssstyle "^2.3.0" data-urls "^3.0.2" - decimal.js "^10.4.1" + decimal.js "^10.4.2" domexception "^4.0.0" escodegen "^2.0.0" form-data "^4.0.0" @@ -4933,12 +4880,12 @@ jsdom@^20.0.0: saxes "^6.0.0" symbol-tree "^3.2.4" tough-cookie "^4.1.2" - w3c-xmlserializer "^3.0.0" + w3c-xmlserializer "^4.0.0" webidl-conversions "^7.0.0" whatwg-encoding "^2.0.0" whatwg-mimetype "^3.0.0" whatwg-url "^11.0.0" - ws "^8.9.0" + ws "^8.11.0" xml-name-validator "^4.0.0" jsesc@^2.5.1: @@ -4972,16 +4919,16 @@ json-stable-stringify-without-jsonify@^1.0.1: integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== json5@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + version "1.0.2" + resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== dependencies: minimist "^1.2.0" json5@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" - integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== jsonc-parser@^3.0.0: version "3.2.0" @@ -5134,6 +5081,13 @@ lru-cache@^4.1.5: pseudomap "^1.0.2" yallist "^2.1.2" +lru-cache@^5.1.1: + version "5.1.1" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" + integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + dependencies: + yallist "^3.0.2" + lru-cache@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" @@ -5175,10 +5129,10 @@ makeerror@1.0.12: dependencies: tmpl "1.0.5" -marked@^4.0.19: - version "4.2.4" - resolved "https://registry.yarnpkg.com/marked/-/marked-4.2.4.tgz#5a4ce6c7a1ae0c952601fce46376ee4cf1797e1c" - integrity sha512-Wcc9ikX7Q5E4BYDPvh1C6QNSxrjC9tBgz+A/vAhp59KXUgachw++uMvMKiSW8oA85nopmPZcEvBoex/YLMsiyA== +marked@^4.2.4: + version "4.2.5" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.2.5.tgz#979813dfc1252cc123a79b71b095759a32f42a5d" + integrity sha512-jPueVhumq7idETHkb203WDD4fMA3yV9emQ5vLwop58lu8bTclMghBWcYAavlDqIEMaisADinV1TooIFCfqOsYQ== matrix-events-sdk@0.0.1: version "0.0.1" @@ -5288,10 +5242,10 @@ minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatc dependencies: brace-expansion "^1.1.7" -minimatch@^5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.1.tgz#6c9dffcf9927ff2a31e74b5af11adf8b9604b022" - integrity sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g== +minimatch@^5.1.1: + version "5.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.2.tgz#0939d7d6f0898acbd1508abe534d1929368a8fff" + integrity sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg== dependencies: brace-expansion "^2.0.1" @@ -5332,9 +5286,9 @@ module-deps@^6.2.3: xtend "^4.0.0" mold-source-map@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/mold-source-map/-/mold-source-map-0.4.0.tgz#cf67e0b31c47ab9badb5c9c25651862127bb8317" - integrity sha512-Y0uA/sDKVuPgLd7BmaJOai+fqzjrOlR6vZgx5cJIvturI/xOPQPgbf3X7ZbzJd6MvqQ6ucIfK8dSteFyc2Mw2w== + version "0.4.1" + resolved "https://registry.yarnpkg.com/mold-source-map/-/mold-source-map-0.4.1.tgz#92e206393f9a3a7af0eb0c330493062f19dfe511" + integrity sha512-oPowVpTm8p3jsK2AKI+NzoS6TBKv7gWY/Hj4ZNh5YWiB3S4eP54y8vSEEgVUdrqgTbjwEzIunNAVQJGRW0bakQ== dependencies: convert-source-map "^1.1.0" through "~2.2.7" @@ -5394,9 +5348,9 @@ node-int64@^0.4.0: integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== node-releases@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" - integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== + version "2.0.8" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.8.tgz#0f349cdc8fcfa39a92ac0be9bc48b7706292b9ae" + integrity sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A== normalize-package-data@^2.5.0: version "2.5.0" @@ -5607,9 +5561,9 @@ parse-json@^5.0.0, parse-json@^5.2.0: lines-and-columns "^1.1.6" parse5@^7.0.0, parse5@^7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.1.tgz#4649f940ccfb95d8754f37f73078ea20afe0c746" - integrity sha512-kwpuwzB+px5WUg9pyK0IcK/shltJN5/OVhQagxhCQNtT9Y9QRZqNY2e1cmbu/paRh5LMnz/oVTVLBpjFmMZhSg== + version "7.1.2" + resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" + integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== dependencies: entities "^4.4.0" @@ -5988,9 +5942,9 @@ react-docgen@^5.4.0: strip-indent "^3.0.0" react-frame-component@^5.2.1: - version "5.2.3" - resolved "https://registry.yarnpkg.com/react-frame-component/-/react-frame-component-5.2.3.tgz#2d5d1e29b23d5b915c839b44980d03bb9cafc453" - integrity sha512-r+h0o3r/uqOLNT724z4CRVkxQouKJvoi3OPfjqWACD30Y87rtEmeJrNZf1WYPGknn1Y8200HAjx7hY/dPUGgmA== + version "5.2.5" + resolved "https://registry.yarnpkg.com/react-frame-component/-/react-frame-component-5.2.5.tgz#c16b12d9d0069f31a959a43ebef125440dfc201f" + integrity sha512-7PKQb/7r7o0fdKyHi47g09PfXcJf21BO+i6Z4h59KDaDu1nv6HIG+yLuPiLid0N6CAvmbHhHP8pdP+3WZuIIgg== react-is@^16.13.1: version "16.13.1" @@ -6098,10 +6052,10 @@ regenerator-runtime@^0.13.11: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== -regenerator-transform@^0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.0.tgz#cbd9ead5d77fae1a48d957cf889ad0586adb6537" - integrity sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg== +regenerator-transform@^0.15.1: + version "0.15.1" + resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56" + integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg== dependencies: "@babel/runtime" "^7.8.4" @@ -6124,17 +6078,17 @@ regexpp@^3.2.0: resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== -regexpu-core@^5.1.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.2.1.tgz#a69c26f324c1e962e9ffd0b88b055caba8089139" - integrity sha512-HrnlNtpvqP1Xkb28tMhBUO2EbyUHdQlsnlAhzWcwHy8WJR53UWr7/MAvqrsQKMbV4qdpv03oTMG8iIhfsPFktQ== +regexpu-core@^5.2.1: + version "5.2.2" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.2.2.tgz#3e4e5d12103b64748711c3aad69934d7718e75fc" + integrity sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw== dependencies: regenerate "^1.4.2" regenerate-unicode-properties "^10.1.0" regjsgen "^0.7.1" regjsparser "^0.9.1" unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.1.0" regjsgen@^0.7.1: version "0.7.1" @@ -6503,7 +6457,7 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" -string.prototype.trimend@^1.0.5: +string.prototype.trimend@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== @@ -6512,7 +6466,7 @@ string.prototype.trimend@^1.0.5: define-properties "^1.1.4" es-abstract "^1.20.4" -string.prototype.trimstart@^1.0.5: +string.prototype.trimstart@^1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== @@ -6884,13 +6838,13 @@ typedoc-plugin-missing-exports@^1.0.0: integrity sha512-7s6znXnuAj1eD9KYPyzVzR1lBF5nwAY8IKccP5sdoO9crG4lpd16RoFpLsh2PccJM+I2NASpr0+/NMka6ThwVA== typedoc@^0.23.20: - version "0.23.22" - resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.23.22.tgz#e25281ca816cd92ecfdaf3ec336d27e7bebb69ac" - integrity sha512-5sJkjK60xp8A7YpcYniu3+Wf0QcgojEnhzHuCN+CkdpQkKRhOspon/9+sGTkGI8kjVkZs3KHrhltpQyVhRMVfw== + version "0.23.23" + resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.23.23.tgz#9cf95b03d2d40031d8978b55e88b0b968d69f512" + integrity sha512-cg1YQWj+/BU6wq74iott513U16fbrPCbyYs04PHZgvoKJIc6EY4xNobyDZh4KMfRGW8Yjv6wwIzQyoqopKOUGw== dependencies: lunr "^2.3.9" - marked "^4.0.19" - minimatch "^5.1.0" + marked "^4.2.4" + minimatch "^5.1.1" shiki "^0.11.1" typescript@^3.2.2: @@ -6981,10 +6935,10 @@ unicode-match-property-ecmascript@^2.0.0: unicode-canonical-property-names-ecmascript "^2.0.0" unicode-property-aliases-ecmascript "^2.0.0" -unicode-match-property-value-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" - integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== +unicode-match-property-value-ecmascript@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" + integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== unicode-property-aliases-ecmascript@^2.0.0: version "2.1.0" @@ -7119,9 +7073,9 @@ vue-docgen-api@^3.26.0: vue-template-compiler "^2.0.0" vue-template-compiler@^2.0.0: - version "2.7.13" - resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.7.13.tgz#1520a5aa6d1af51dd0622824e79814f6e8cb7058" - integrity sha512-jYM6TClwDS9YqP48gYrtAtaOhRKkbYmbzE+Q51gX5YDr777n7tNI/IZk4QV4l/PjQPNh/FVa/E92sh/RqKMrog== + version "2.7.14" + resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz#4545b7dfb88090744c1577ae5ac3f964e61634b1" + integrity sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ== dependencies: de-indent "^1.0.2" he "^1.2.0" @@ -7133,10 +7087,10 @@ vue2-ace-editor@^0.0.15: dependencies: brace "^0.11.0" -w3c-xmlserializer@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-3.0.0.tgz#06cdc3eefb7e4d0b20a560a5a3aeb0d2d9a65923" - integrity sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg== +w3c-xmlserializer@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073" + integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw== dependencies: xml-name-validator "^4.0.0" @@ -7279,7 +7233,7 @@ write-file-atomic@^4.0.1: imurmurhash "^0.1.4" signal-exit "^3.0.7" -ws@^8.9.0: +ws@^8.11.0: version "8.11.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== @@ -7314,6 +7268,11 @@ yallist@^2.1.2: resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== +yallist@^3.0.2: + version "3.1.1" + resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" + integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + yallist@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"