summaryrefslogtreecommitdiff
path: root/includes/external/matrix/node_modules/matrix-js-sdk/CHANGELOG.md
diff options
context:
space:
mode:
Diffstat (limited to 'includes/external/matrix/node_modules/matrix-js-sdk/CHANGELOG.md')
-rw-r--r--includes/external/matrix/node_modules/matrix-js-sdk/CHANGELOG.md5136
1 files changed, 0 insertions, 5136 deletions
diff --git a/includes/external/matrix/node_modules/matrix-js-sdk/CHANGELOG.md b/includes/external/matrix/node_modules/matrix-js-sdk/CHANGELOG.md
deleted file mode 100644
index 58dff6e..0000000
--- a/includes/external/matrix/node_modules/matrix-js-sdk/CHANGELOG.md
+++ /dev/null
@@ -1,5136 +0,0 @@
-Changes in [24.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v24.1.0) (2023-04-11)
-==================================================================================================
-
-## ✨ Features
- * Allow via_servers property in findPredecessor (update to MSC3946) ([\#3240](https://github.com/matrix-org/matrix-js-sdk/pull/3240)). Contributed by @andybalaam.
- * Fire `closed` event when IndexedDB closes unexpectedly ([\#3218](https://github.com/matrix-org/matrix-js-sdk/pull/3218)).
- * Implement MSC3952: intentional mentions ([\#3092](https://github.com/matrix-org/matrix-js-sdk/pull/3092)). Fixes vector-im/element-web#24376.
- * Send one time key count and unused fallback keys for rust-crypto ([\#3215](https://github.com/matrix-org/matrix-js-sdk/pull/3215)). Fixes vector-im/element-web#24795. Contributed by @florianduros.
- * Improve `processBeaconEvents` hotpath ([\#3200](https://github.com/matrix-org/matrix-js-sdk/pull/3200)).
- * Implement MSC3966: a push rule condition to check if an array contains a value ([\#3180](https://github.com/matrix-org/matrix-js-sdk/pull/3180)).
-
-## 🐛 Bug Fixes
- * indexddb-local-backend - return the current sync to database promise … ([\#3222](https://github.com/matrix-org/matrix-js-sdk/pull/3222)). Contributed by @texuf.
- * Revert "Add the call object to Call events" ([\#3236](https://github.com/matrix-org/matrix-js-sdk/pull/3236)).
- * Handle group call redaction ([\#3231](https://github.com/matrix-org/matrix-js-sdk/pull/3231)). Fixes vector-im/voip-internal#128.
- * Stop doing O(n^2) work to find event's home (`eventShouldLiveIn`) ([\#3227](https://github.com/matrix-org/matrix-js-sdk/pull/3227)). Contributed by @jryans.
- * Fix bug where video would not unmute if it started muted ([\#3213](https://github.com/matrix-org/matrix-js-sdk/pull/3213)). Fixes vector-im/element-call#925.
- * Fixes to event encryption in the Rust Crypto implementation ([\#3202](https://github.com/matrix-org/matrix-js-sdk/pull/3202)).
-
-Changes in [24.0.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v24.0.0) (2023-03-28)
-==================================================================================================
-
-## 🔒 Security
- * Fixes for [CVE-2023-28427](https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=CVE-2023-28427) / GHSA-mwq8-fjpf-c2gr
-
-Changes in [23.5.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v23.5.0) (2023-03-15)
-==================================================================================================
-
-## ✨ Features
- * Implement MSC3758: a push rule condition to match event properties exactly ([\#3179](https://github.com/matrix-org/matrix-js-sdk/pull/3179)).
- * Enable group calls without video and audio track by configuration of MatrixClient ([\#3162](https://github.com/matrix-org/matrix-js-sdk/pull/3162)). Contributed by @EnricoSchw.
- * Updates to protocol used for Sign in with QR code ([\#3155](https://github.com/matrix-org/matrix-js-sdk/pull/3155)). Contributed by @hughns.
- * Implement MSC3873 to handle escaped dots in push rule keys ([\#3134](https://github.com/matrix-org/matrix-js-sdk/pull/3134)). Fixes undefined/matrix-js-sdk#1454.
-
-## 🐛 Bug Fixes
- * Fix spec compliance issue around encrypted `m.relates_to` ([\#3178](https://github.com/matrix-org/matrix-js-sdk/pull/3178)).
- * Fix reactions in threads sometimes causing stuck notifications ([\#3146](https://github.com/matrix-org/matrix-js-sdk/pull/3146)). Fixes vector-im/element-web#24000. Contributed by @justjanne.
-
-Changes in [23.4.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v23.4.0) (2023-02-28)
-==================================================================================================
-
-## ✨ Features
- * Add easy way to determine if the decryption failure is due to "DecryptionError: The sender has disabled encrypting to unverified devices." ([\#3167](https://github.com/matrix-org/matrix-js-sdk/pull/3167)). Contributed by @florianduros.
- * Polls: expose end event id on poll model ([\#3160](https://github.com/matrix-org/matrix-js-sdk/pull/3160)). Contributed by @kerryarchibald.
- * Polls: count undecryptable poll relations ([\#3163](https://github.com/matrix-org/matrix-js-sdk/pull/3163)). Contributed by @kerryarchibald.
-
-## 🐛 Bug Fixes
- * Better type guard parseTopicContent ([\#3165](https://github.com/matrix-org/matrix-js-sdk/pull/3165)). Fixes matrix-org/element-web-rageshakes#20177 and matrix-org/element-web-rageshakes#20178.
- * Fix a bug where events in encrypted rooms would sometimes erroneously increment the total unread counter after being processed locally. ([\#3130](https://github.com/matrix-org/matrix-js-sdk/pull/3130)). Fixes vector-im/element-web#24448. Contributed by @Half-Shot.
- * Stop the ICE disconnected timer on call terminate ([\#3147](https://github.com/matrix-org/matrix-js-sdk/pull/3147)).
- * Clear notifications when we can infer read status from receipts ([\#3139](https://github.com/matrix-org/matrix-js-sdk/pull/3139)). Fixes vector-im/element-web#23991.
- * Messages sent out of order after one message fails ([\#3131](https://github.com/matrix-org/matrix-js-sdk/pull/3131)). Fixes vector-im/element-web#22885 and vector-im/element-web#18942. Contributed by @justjanne.
-
-Changes in [23.3.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v23.3.0) (2023-02-14)
-==================================================================================================
-
-## ✨ Features
- * Element-R: implement encryption of outgoing events ([\#3122](https://github.com/matrix-org/matrix-js-sdk/pull/3122)).
- * Poll model - page /relations results ([\#3073](https://github.com/matrix-org/matrix-js-sdk/pull/3073)). Contributed by @kerryarchibald.
- * Poll model - validate end events ([\#3072](https://github.com/matrix-org/matrix-js-sdk/pull/3072)). Contributed by @kerryarchibald.
- * Handle optional last_known_event_id property in m.predecessor ([\#3119](https://github.com/matrix-org/matrix-js-sdk/pull/3119)). Contributed by @andybalaam.
- * Add support for stable identifier for fixed MAC in SAS verification ([\#3101](https://github.com/matrix-org/matrix-js-sdk/pull/3101)).
- * Provide eventId as well as roomId from Room.findPredecessor ([\#3095](https://github.com/matrix-org/matrix-js-sdk/pull/3095)). Contributed by @andybalaam.
- * MSC3946 Dynamic room predecessors ([\#3042](https://github.com/matrix-org/matrix-js-sdk/pull/3042)). Contributed by @andybalaam.
- * Poll model ([\#3036](https://github.com/matrix-org/matrix-js-sdk/pull/3036)). Contributed by @kerryarchibald.
- * Remove video tracks on video mute without renegotiating ([\#3091](https://github.com/matrix-org/matrix-js-sdk/pull/3091)).
- * Introduces a backwards-compatible API change. `MegolmEncrypter#prepareToEncrypt`'s return type has changed from `void` to `() => void`. ([\#3035](https://github.com/matrix-org/matrix-js-sdk/pull/3035)). Contributed by @clarkf.
-
-## 🐛 Bug Fixes
- * Stop the ICE disconnected timer on call terminate ([\#3147](https://github.com/matrix-org/matrix-js-sdk/pull/3147)).
- * Clear notifications when we can infer read status from receipts ([\#3139](https://github.com/matrix-org/matrix-js-sdk/pull/3139)). Fixes vector-im/element-web#23991.
- * Messages sent out of order after one message fails ([\#3131](https://github.com/matrix-org/matrix-js-sdk/pull/3131)). Fixes vector-im/element-web#22885 and vector-im/element-web#18942. Contributed by @justjanne.
- * Element-R: fix a bug which prevented encryption working after a reload ([\#3126](https://github.com/matrix-org/matrix-js-sdk/pull/3126)).
- * Element-R: Fix invite processing ([\#3121](https://github.com/matrix-org/matrix-js-sdk/pull/3121)).
- * Don't throw with no `opponentDeviceInfo` ([\#3107](https://github.com/matrix-org/matrix-js-sdk/pull/3107)).
- * Remove flaky megolm test ([\#3098](https://github.com/matrix-org/matrix-js-sdk/pull/3098)). Contributed by @clarkf.
- * Fix "verifyLinks" functionality of getRoomUpgradeHistory ([\#3089](https://github.com/matrix-org/matrix-js-sdk/pull/3089)). Contributed by @andybalaam.
-
-Changes in [23.2.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v23.2.0) (2023-01-31)
-==================================================================================================
-
-## ✨ Features
- * Implement decryption via the rust sdk ([\#3074](https://github.com/matrix-org/matrix-js-sdk/pull/3074)).
- * Handle edits which are bundled with an event, per MSC3925 ([\#3045](https://github.com/matrix-org/matrix-js-sdk/pull/3045)).
-
-## 🐛 Bug Fixes
- * Add null check for our own member event ([\#3082](https://github.com/matrix-org/matrix-js-sdk/pull/3082)).
- * Handle group call getting initialised twice in quick succession ([\#3078](https://github.com/matrix-org/matrix-js-sdk/pull/3078)). Fixes vector-im/element-call#847.
- * Correctly handle limited sync responses by resetting the thread timeline ([\#3056](https://github.com/matrix-org/matrix-js-sdk/pull/3056)). Fixes vector-im/element-web#23952. Contributed by @justjanne.
- * Fix failure to start in firefox private browser ([\#3058](https://github.com/matrix-org/matrix-js-sdk/pull/3058)). Fixes vector-im/element-web#24216.
- * Fix spurious "Decryption key withheld" messages ([\#3061](https://github.com/matrix-org/matrix-js-sdk/pull/3061)). Fixes vector-im/element-web#23803.
- * Fix browser entrypoint ([\#3051](https://github.com/matrix-org/matrix-js-sdk/pull/3051)). Fixes #3013.
-
-Changes in [23.1.1](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v23.1.1) (2023-01-20)
-==================================================================================================
-
-## 🐛 Bug Fixes
- * Fix backwards compability for environment not support Array.prototype.at ([\#3080](https://github.com/matrix-org/matrix-js-sdk/pull/3080)).
-
-Changes in [23.1.0](https://github.com/matrix-org/matrix-js-sdk/releases/tag/v23.1.0) (2023-01-18)
-==================================================================================================
-
-## 🦖 Deprecations
- * Remove extensible events v1 field population on legacy events ([\#3040](https://github.com/matrix-org/matrix-js-sdk/pull/3040)).
-
-## ✨ Features
- * Improve hasUserReadEvent and getUserReadUpTo realibility with threads ([\#3031](https://github.com/matrix-org/matrix-js-sdk/pull/3031)). Fixes vector-im/element-web#24164.
- * Remove video track when muting video ([\#3028](https://github.com/matrix-org/matrix-js-sdk/pull/3028)). Fixes vector-im/element-call#209.
- * Make poll start event type available (PSG-962) ([\#3034](https://github.com/matrix-org/matrix-js-sdk/pull/3034)).
- * Add alt event type matching in Relations model ([\#3018](https://github.com/matrix-org/matrix-js-sdk/pull/3018)).
- * Remove usage of v1 Identity Server API ([\#3003](https://github.com/matrix-org/matrix-js-sdk/pull/3003)).
- * Add `device_id` to `/account/whoami` types ([\#3005](https://github.com/matrix-org/matrix-js-sdk/pull/3005)).
- * Implement MSC3912: Relation-based redactions ([\#2954](https://github.com/matrix-org/matrix-js-sdk/pull/2954)).
- * Introduce a mechanism for using the rust-crypto-sdk ([\#2969](https://github.com/matrix-org/matrix-js-sdk/pull/2969)).
- * Support MSC3391: Account data deletion ([\#2967](https://github.com/matrix-org/matrix-js-sdk/pull/2967)).
-
-## 🐛 Bug Fixes
- * Fix threaded cache receipt when event holds multiple receipts ([\#3026](https://github.com/matrix-org/matrix-js-sdk/pull/3026)).
- * Fix false key requests after verifying new device ([\#3029](https://github.com/matrix-org/matrix-js-sdk/pull/3029)). Fixes vector-im/element-web#24167 and vector-im/element-web#23333.
- * Avoid triggering decryption errors when decrypting redacted events ([\#3004](https://github.com/matrix-org/matrix-js-sdk/pull/3004)). Fixes vector-im/element-web#24084.
- * bugfix: upload OTKs in sliding sync mode ([\#3008](https://github.com/matrix-org/matrix-js-sdk/pull/3008)).
- * Apply edits discovered from sync after thread is initialised ([\#3002](https://github.com/matrix-org/matrix-js-sdk/pull/3002)). Fixes vector-im/element-web#23921.
- * Sliding sync: Fix issue where no unsubs are sent when switching rooms ([\#2991](https://github.com/matrix-org/matrix-js-sdk/pull/2991)).
- * Threads are missing from the timeline ([\#2996](https://github.com/matrix-org/matrix-js-sdk/pull/2996)). Fixes vector-im/element-web#24036.
- * Close all streams when a call ends ([\#2992](https://github.com/matrix-org/matrix-js-sdk/pull/2992)). Fixes vector-im/element-call#742.
- * Resume to-device message queue after resumed sync ([\#2920](https://github.com/matrix-org/matrix-js-sdk/pull/2920)). Fixes matrix-org/element-web-rageshakes#17170.
- * Fix browser entrypoint ([\#3051](https://github.com/matrix-org/matrix-js-sdk/pull/3051)). Fixes #3013.
- * Fix failure to start in firefox private browser ([\#3058](https://github.com/matrix-org/matrix-js-sdk/pull/3058)). Fixes vector-im/element-web#24216.
- * Correctly handle limited sync responses by resetting the thread timeline ([\#3056](https://github.com/matrix-org/matrix-js-sdk/pull/3056)). Fixes vector-im/element-web#23952.
-
-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)).
-
-## ✨ 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)).
-
-## ✨ 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)).
-
-## 🐛 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.
-
-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)).
-
-## 🐛 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)).
-
-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.
-
-## 🐛 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)).
-
-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.
-
-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.
-
-## ✨ 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.
-
-## 🐛 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.
-
-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)).
-
-## 🐛 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.
-
-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.
-
-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)).
-
-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)).
-
-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)
-
-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.
-
-## 🐛 Bug Fixes
- * 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)
-==================================================================================================
-
-## 🐛 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.
-
-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)
-
-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)).
-
-## 🐛 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)).
-
-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)).
-
-## 🐛 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)).
-
-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.
-
-## ✨ 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)).
-
-## 🐛 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.
-
-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)).
-
-## ✨ Features
- * `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)).
-
-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)).
-
-## ✨ 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.
-
-## 🐛 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.
-
-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)).
-
-## 🐛 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.
-
-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)).
-
-## ✨ 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)).
-
-## 🐛 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.
-
-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)).
-
-## 🐛 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.
-
-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)).
-
-## 🐛 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.
-
-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)).
-
-## ✨ 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)).
-
-## 🐛 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)).
-
-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)).
-
-## ✨ 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)).
-
-## 🐛 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)).
-
-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)).
-
-## 🐛 Bug Fixes
- * 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.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)).
-
-## ✨ Features
- * Fix defer not supporting resolving with a Promise<T> ([\#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)).
-
-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)).
-
-## ✨ Features
- * Fix defer not supporting resolving with a Promise<T> ([\#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)).
-
-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)).
-
-## 🐛 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.
-
-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)).
-
-## 🐛 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.
-
-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
-
-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.
-
-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.
-
-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)).
-
-## 🐛 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)).
-
-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)).
-
-## 🐛 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)).
-
-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)).
-
-## 🐛 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)).
-
-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)).
-
-## 🐛 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)).
-
-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)).
-
-## 🐛 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)).
-
-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)).
-
-## 🐛 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)).
-
-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
-
-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)).
-
-## 🐛 Bug Fixes
- * 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)
-============================================================================================================
-
-## ✨ 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)).
-
-## 🐛 Bug Fixes
- * 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)
-==================================================================================================
-
-## 🐛 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.
-
-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.
-
-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)).
-
-## ✨ 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)).
-
-## 🐛 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.
-
-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)).
-
-## ✨ 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)).
-
-## 🐛 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.
-
-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).
-
-## ✨ 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).
-
-## 🐛 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).
-
-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).
-
-## ✨ 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).
-
-## 🐛 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).
-
-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).
-
-## ✨ 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).
-
-## 🐛 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.
-
-
-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).
-
-## ✨ 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).
-
-## 🐛 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.
-
-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)).
-
-## 🐛 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.
-
-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)).
-
-## 🐛 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.
-
-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).
-
-## 🐛 Bug Fixes
- * 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)
-===================================================================================================
-
-## 🔒 SECURITY FIXES
- * 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)
-===================================================================================================
-
-## 🦖 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)).
-
-## ✨ Features
- * 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)).
-
-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)).
-
-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).
-
-## 🐛 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)).
-
-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)
-
-## 🐛 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)
-
-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)
-============================================================================================================
-[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)
-==================================================================================================
-[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)
-============================================================================================================
-[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)
-==================================================================================================
-[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)
-============================================================================================================
-[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)
-==================================================================================================
-[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)
-============================================================================================================
-[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)
-==================================================================================================
-[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)
-============================================================================================================
-[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)
-==================================================================================================
-[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)
-============================================================================================================
-[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v10.1.0...v11.0.0-rc.1)
-
-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)
-
-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)
-==================================================================================================
-[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)
-============================================================================================================
-[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)
-==================================================================================================
-[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)
-============================================================================================================
-[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v9.11.0...v10.0.0-rc.1)
-
-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
-
-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)
-==================================================================================================
-[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)
-============================================================================================================
-[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)
-==================================================================================================
-[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)
-============================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v8.5.0...v9.0.0-rc.1)
-
-BREAKING CHANGES
----
-
- * `hasPendingEvent` now returns false instead of throwing when pending ordering mode is not `detached`
-
-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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v8.2.0-rc.1...v8.2.0)
-
-## Security notice
-
-JS SDK 8.2.0 fixes an issue where encrypted state events could break incoming call handling.
-Thanks to @awesome-michael from Awesome Technologies for responsibly disclosing this via Matrix's
-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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v7.1.0...v8.0.0)
-
-BREAKING CHANGES
----
-
-* `RoomState` events changed to use a Map instead of an object, which changes the collection APIs available to access them.
-
-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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v6.2.2...v7.0.0-rc.1)
-
-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`
-
-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)
-================================================================================================
-[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)
-================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-==========================================================================================================
-[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v5.3.1-rc.4...v6.0.0-rc.1)
-
-BREAKING CHANGES
----
-
- * client.getStoredDevicesForUser and client.getStoredDevices are no longer async
-
-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)
-==========================================================================================================
-[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)
-==========================================================================================================
-[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)
-==========================================================================================================
-[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)
-==========================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v4.0.0...v5.0.0-rc.1)
-
-BREAKING CHANGES
----
-
- * The verification methods API has removed an argument ([\#1206](https://github.com/matrix-org/matrix-js-sdk/pull/1206))
-
-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)
-================================================================================================
-[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)
-==========================================================================================================
-[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v3.0.0...v4.0.0-rc.1)
-
-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.
-
-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)
-============================================================================================================
-
-## 🐛 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.
-
-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)
-==========================================================================================================
-[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v2.4.6...v3.0.0-rc.1)
-
-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.
-
-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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v1.2.0...v2.0.0)
-
-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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-==========================================================================================================
-[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)
-==================================================================================================
-[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)
-============================================================================================================
-[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)
-==================================================================================================
-[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)
-============================================================================================================
-[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)
-==================================================================================================
-[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)
-==================================================================================================
-[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)
-============================================================================================================
-[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.13.1...v0.14.0-rc.1)
-
-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.
-
-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)
-==================================================================================================
-[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)
-==================================================================================================
-[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)
-==================================================================================================
-[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)
-============================================================================================================
-[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)
-==================================================================================================
-[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)
-============================================================================================================
-[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.11.1...v0.12.0-rc.1)
-
-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.
-
-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)
-==================================================================================================
-[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)
-============================================================================================================
-[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)
-==================================================================================================
-[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.
-
-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)
-============================================================================================================
-[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`.
-
-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.
-
-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)
-==================================================================================================
-[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)
-============================================================================================================
-[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)
-============================================================================================================
-[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)
-==================================================================================================
-[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)
-============================================================================================================
-[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)
-==================================================================================================
-[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)
-============================================================================================================
-[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)
-==================================================================================================
-[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)
-============================================================================================================
-[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)
-==================================================================================================
-[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)
-============================================================================================================
-[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)
-==================================================================================================
-[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)
-============================================================================================================
-[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)
-==================================================================================================
-[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)
-============================================================================================================
-[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.10.2...v0.10.3-rc.1)
-
-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)
-==================================================================================================
-[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)
-============================================================================================================
-[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)
-==================================================================================================
-[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)
-==================================================================================================
-[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)
-============================================================================================================
-[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)
-============================================================================================================
-[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)
-================================================================================================
-[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)
-================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.13...v0.8.0)
-
-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.
-
-This release of the JS-SDK includes the following changes which will affect
-applications which support end-to-end encryption:
-
-1. `MatrixClient` now provides a new (asynchronous) method,
- `initCrypto`. Applications which support end-to-end encryption must call
- this method (and wait for it to complete) before calling `startClient`, to
- give the crypto layer a chance to initialise.
-
-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`
-
- 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)
-==================================================================================================
-[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)
-==================================================================================================
-[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.12-rc.1...v0.7.12)
-
- * 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)
-============================================================================================================
-[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)
-==================================================================================================
-[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)
-============================================================================================================
-[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)
-==================================================================================================
-[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.
-
- * 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)
-================================================================================================
-[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.8-rc.1...v0.7.8)
-
- * 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)
-==========================================================================================================
-[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)
-================================================================================================
-[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.7.7-rc.1...v0.7.7)
-
- * 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)
-==========================================================================================================
-[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)
-
-
-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)
-==========================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-
-
-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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-================================================================================================
-[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)
-================================================================================================
-[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)
-==========================================================================================================
-[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)
-================================================================================================
-[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)
-================================================================================================
-[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
-
-
-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)
-==========================================================================================================
-[Full Changelog](https://github.com/matrix-org/matrix-js-sdk/compare/v0.6.3...v0.6.4-rc.1)
-
-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.
-
-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
-----------------
- * 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)
-================================================================================================
-[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)
-================================================================================================
-[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)
-================================================================================================
-[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)
-================================================================================================
-[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)
-================================================================================================
-[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`
-
- * 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
-
-
-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)
-================================================================================================
-[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)
-================================================================================================
-[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)
-================================================================================================
-[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)
-
-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)
-
-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)
-
-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).
-
-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)
-
-Changes in 0.4.0
-================
-
-**BREAKING CHANGES**:
- * `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()
-
-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
-
-
-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
-
-
-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()`.
-
- ```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()`.
-
- ```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`
-
-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)`.
-
-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.
-
-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`.
-
-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.
-
-Changes in 0.2.1
-================
-
-**BREAKING CHANGES**
- * `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.
-
-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.
-
-New methods:
- * `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`.
-
-
-Changes in 0.2.0
-================
-
-**BREAKING CHANGES**:
- * `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.
-
-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()`
-
-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*
-
-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.
-
-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.
-
-New properties:
- * `User.events`
- * `RoomMember.events`
-
-New methods:
- * `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)`.
-
-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.