Update dependency matrix-js-sdk to v34
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
matrix-js-sdk | dependencies | major | ^12.0.0 -> ^34.0.0 |
Release Notes
matrix-org/matrix-js-sdk
v34.4.0
==================================================================================================
✨ Features
- Use non-legacy calls if any are found (#4337). Contributed by @AndrewFerr.
🐛 Bug Fixes
- Retry event decryption failures on first failure (#4346). Contributed by @hughns.
- Ensure "type" = "module" ES declaration in pre-release.sh (#4350). Contributed by @BLCK-B.
- Handle MatrixRTC encryption keys arriving out of order (#4345). Contributed by @hughns.
- Resend MatrixRTC encryption keys if a membership has changed (#4343). Contributed by @hughns.
v34.3.1
==================================================================================================
v34.3.0
==================================================================================================
✨ Features
- Bump matrix-widget-api (#4336). Contributed by @AndrewFerr.
- Also check for MSC3757 for session state keys (#4334). Contributed by @AndrewFerr.
- Support Futures via widgets (#4311). Contributed by @AndrewFerr.
- Support MSC4140: Delayed events (Futures) (#4294). Contributed by @AndrewFerr.
- Handle late-arriving
m.room_key.withheld
messages (#4310). Contributed by @richvdh. - Be specific about what is considered a MSC4143 call member event. (#4328). Contributed by @toger5.
- Add index.ts for matrixrtc module (#4314). Contributed by @toger5.
🐛 Bug Fixes
v34.2.0
==================================================================================================
🐛 Bug Fixes
- Element-R: detect "withheld key" UTD errors, and mark them as such (#4302). Contributed by @richvdh.
v34.1.0
==================================================================================================
✨ Features
- Add ability to choose how many timeline events to sync when peeking (#4300). Contributed by @jgarplind.
- Remove redundant hack for using the old pickle key in rust crypto (#4282). Contributed by @richvdh.
- Add fetching the well known in embedded mode. (#4259). Contributed by @toger5.
🐛 Bug Fixes
- Fix room state being updated with old (now overwritten) state and emitting for those updates. (#4242). Contributed by @toger5.
- Fix incorrect "Olm is not available" errors (#4301). Contributed by @richvdh.
- Fix build for example script (#4286). Contributed by @richvdh.
- Declare matrix-js-sdk as an ES module (#4285). Contributed by @richvdh.
v34.0.0
==================================================================================================
🚨 BREAKING CHANGES
✨ Features
- Prefix the user+device state key if needed (#4262). Contributed by @AndrewFerr.
- Use legacy call membership if anyone else is (#4260). Contributed by @AndrewFerr.
- Fetch capabilities in the background (#4246). Contributed by @dbkr.
- Use server name instead of homeserver url to allow well-known lookups during QR OIDC reciprocation (#4233). Contributed by @t3chguy.
- Add via parameter for MSC4156 (#4247). Contributed by @Johennes.
- Make the js-sdk compatible with MSC preferred foci and active focus. (#4195). Contributed by @toger5.
- Replace usages of setImmediate with setTimeout for wider compatibility (#4240). Contributed by @t3chguy.
🐛 Bug Fixes
- [Backport staging] Fix "Unable to restore session" error (#4299). Contributed by @RiotRobot.
- [Backport staging] Fix error when sending encrypted messages in large rooms (#4297). Contributed by @RiotRobot.
- Element-R: Fix resource leaks in verification logic (#4263). Contributed by @richvdh.
- Upgrade Rust Crypto SDK to 6.1.0 (#4261). Contributed by @richvdh.
- Correctly transform base64 with multiple instances of + or / (#4252). Contributed by @robintown.
- Work around spec bug for m.room.avatar state event content type (#4245). Contributed by @t3chguy.
v33.1.0
==================================================================================================
✨ Features
- MSC4108 support OIDC QR code login (#4134). Contributed by @t3chguy.
- Add crypto methods for export and import of secrets bundle (#4227). Contributed by @t3chguy.
🐛 Bug Fixes
- Fix screen sharing in recent Chrome (#4243). Contributed by @RiotRobot.
- Fix incorrect assumptions about required fields in /search response (#4228). Contributed by @t3chguy.
- Fix the queueToDevice tests for the new fakeindexeddb (#4225). Contributed by @dbkr.
v33.0.0
==================================================================================================
🚨 BREAKING CHANGES
- Remove more deprecated methods, fields, and exports (#4217). Contributed by @t3chguy.
- Remove deprecated methods and fields (#4201). Contributed by @t3chguy.
🦖 Deprecations
- Remove more deprecated methods, fields, and exports (#4217). Contributed by @t3chguy.
- Remove deprecated methods and fields (#4201). Contributed by @t3chguy.
✨ Features
-
initRustCrypto
: allow app to pass in the store key directly (#4210). Contributed by @richvdh. - Preserve ESM for async imports to work correctly (#4187). Contributed by @ms-dosx86.
🐛 Bug Fixes
- Don't run migration for Rust crypto if the legacy store is empty (#4218). Contributed by @andybalaam.
- Bump matrix-sdk-crypto-wasm to 5.0.0 (#4216). Contributed by @richvdh.
- Wire up verification cancel & mismatch for rust crypto (#4202). Contributed by @t3chguy.
- Only pass id_server if we had one to begin with (#4200). Contributed by @t3chguy.
v32.4.0
==================================================================================================
- No changes
v32.3.0
==================================================================================================
✨ Features
- Simplify OIDC types & export
decodeIdToken
(#4193). Contributed by @t3chguy. - Add helpers for authenticated media, and associated documentation (#4185). Contributed by @turt2live.
🐛 Bug Fixes
- Fix state_events.ts types (#4196). Contributed by @t3chguy.
- Fix sendEventHttpRequest for
m.room.redaction
events withoutredacts
(#4192). Contributed by @t3chguy.
v32.2.0
==================================================================================================
✨ Features
- Use a different error code for UTDs when user was not in the room (#4172). Contributed by @uhoreg.
- Modernize window.crypto access constants (#4169). Contributed by @turt2live.
- Improve compliance with MSC3266 (#4155). Contributed by @AndrewFerr.
- Add comment to make clear that RoomStateEvent.Events does not update related objects in the js-sdk (#4152). Contributed by @toger5.
- Crypto: use a new error code for UTDs from device-relative historical events (#4139). Contributed by @richvdh.
🐛 Bug Fixes
- Element-R: Fix rust migration when ssss secret are stored not encryted in cache (old legacy behavior) (#4168). Contributed by @BillCarsonFr.
v32.1.0
==================================================================================================
✨ Features
- Add support for device dehydration v2 (Element R) (#4062). Contributed by @uhoreg.
- OIDC improvements in prep of OIDC-QR reciprocation (#4149). Contributed by @t3chguy.
🐛 Bug Fixes
- Validate backup private key before migrating it (#4114). Contributed by @BillCarsonFr.
- ElementR| Retry query backup until it works during migration to avoid spurious correption error popup (#4113). Contributed by @BillCarsonFr.
v32.0.0
==================================================================================================
🚨 BREAKING CHANGES
- Remove various deprecated methods & re-exports (#4125). Contributed by @t3chguy.
- Remove the logic that throws when the lazy loading options has changed. (#4124). Contributed by @langleyd.
- Fix highlights from threads disappearing on new messages (#4106). Contributed by @dbkr.
✨ Features
- Add new
decryptExistingEvent
test helper (#4133). Contributed by @richvdh. - Improve types for
sendEvent
(#4108). Contributed by @t3chguy. - Remove various deprecated methods & re-exports (#4125). Contributed by @t3chguy.
- Add new enum for verification methods. (#4129). Contributed by @richvdh.
- Add some test utils in a new entrypoint (#4127). Contributed by @richvdh.
- Improve types for
sendStateEvent
(#4105). Contributed by @t3chguy.
🐛 Bug Fixes
- Improve types for
IPowerLevelsContent
andhasSufficientPowerLevelFor
(#4128). Contributed by @galash13. - Remove the logic that throws when the lazy loading options has changed. (#4124). Contributed by @langleyd.
- Fix highlights from threads disappearing on new messages (#4106). Contributed by @dbkr.
- Extend logic for local notification processing to threads (#4111). Contributed by @dbkr.
- Fix public rooms post request search params and body (#4110). Contributed by @ajbura.
- Fix bugs with the first reply to a thread (#4104). Contributed by @dbkr.
v31.6.1
==================================================================================================
🐛 Bug Fixes
- Fix merging of default push rules (#4136).
v31.6.0
==================================================================================================
✨ Features
- Introduce Membership TS type (take 2) (#4107). Contributed by @andybalaam.
- fix automatic DM avatar with functional members (#4017). Contributed by @HarHarLinks.
- Export types describing all specced media event formats (#4092). Contributed by @t3chguy.
- Add
.m.rule.is_room_mention
push rule to DEFAULT_OVERRIDE_RULES (#4100). Contributed by @t3chguy. - Make sending ContentLoaded optional for a widgetClient (#4086). Contributed by @toger5.
🐛 Bug Fixes
- Migrate own identity local trust to rust crypto (#4090). Contributed by @BillCarsonFr.
- Fix race condition with sliding sync extensions (#4089). Contributed by @zzorba.
v31.5.0
==================================================================================================
✨ Features
🐛 Bug Fixes
- Add basic retry for rust crypto outgoing requests (#4061). Contributed by @BillCarsonFr.
v31.4.0
==================================================================================================
✨ Features
- Validate
account_management_uri
andaccount_management_actions_supported
from OIDC Issuer well-known (#4074). Contributed by @t3chguy. - Allow specifying OIDC url state parameter for passing data to callback (#4068). Contributed by @t3chguy.
- Add getAuthIssuer method for MSC2965 (#4071). Contributed by @t3chguy.
- Allow specifying more OIDC client metadata for dynamic registration (#4070). Contributed by @t3chguy.
- Add unread marker event type (#4069). Contributed by @dbkr.
- Add "AsJson" forms of the key import/export methods (#4057). Contributed by @andybalaam.
🐛 Bug Fixes
- Ignore memberships of users that are not in the call (#4065). Contributed by @toger5.
- Await encrypted messages (#4063). Contributed by @toger5.
- ElementR | Ensure own user and device trust are updated after migration before giving back control to the app. (#4059). Contributed by @BillCarsonFr.
- Bump matrix-sdk-crypto-wasm to 4.5.0 (#4060). Contributed by @andybalaam.
v31.3.0
==================================================================================================
✨ Features
- Add expire_ts compatibility to matrixRTC (#4032). Contributed by @toger5.
- Element-R: support for migration of the room list from legacy crypto (#4036). Contributed by @richvdh.
- Element-R: check persistent room list for encryption config (#4035). Contributed by @richvdh.
- Support optional MSC3860 redirects (#4007). Contributed by @turt2live.
🐛 Bug Fixes
- WebR: migrate the megolm session imported flag (#4037). Contributed by @BillCarsonFr.
- ElementR: fix emoji verification stalling when both ends hit start at the same time (#4004). Contributed by @uhoreg.
- Dependencies: Bump wasm bindings version to 4.3.0 (#4042). Contributed by @BillCarsonFr.
- Element R: emit events when devices have changed (#4019). Contributed by @uhoreg.
- ElementR: report invalid keys rather than failing to restore from backup (#4006). Contributed by @uhoreg.
- Make
timeline
a getter (#4022). Contributed by @florianduros. - Implement getting verification cancellation info in Rust crypto (#3947). Contributed by @uhoreg.
- Fix crypto migration for megolm sessions with no sender key (#4024). Contributed by @richvdh.
v31.2.0
==================================================================================================
✨ Features
- Emit events during migration from libolm (#3982). Contributed by @richvdh.
- Support for migration from from libolm (#3978). Contributed by @richvdh.
🐛 Bug Fixes
- ElementR | backup: call expensive
roomKeyCounts
less often (#4015). Contributed by @BillCarsonFr. - Decrypt and Import full backups in chunk with progress (#4005). Contributed by @BillCarsonFr.
- Fix new threads not appearing. (#4009). Contributed by @dbkr.
v31.1.0
==================================================================================================
✨ Features
- Broaden spec version support (#4016). Contributed by @RiotRobot.
v31.0.0
==================================================================================================
🚨 BREAKING CHANGES
✨ Features
- Bump minimum spec version to v1.5 (#3970). Contributed by @richvdh.
- Send authenticated /versions request (#3968). Contributed by @dbkr.
🐛 Bug Fixes
- Revert "Bump matrix-sdk-crypto-wasm to 3.6.0" (#3991). Contributed by @andybalaam.
- #22606 Fix "Remove" button to users without "m.room.redaction" (#3981). Contributed by @rashmitpankhania.
- ElementR: Ensure Encryption order per room (#3973). Contributed by @BillCarsonFr.
- Element-R: fix
bootstrapSecretStorage
not resetting key backup when requested (#3976). Contributed by @uhoreg.
v30.3.0
==================================================================================================
✨ Features
🐛 Bug Fixes
- Fix notifications appearing for old events (#3946). Contributed by @dbkr.
- Don't back up keys that we got from backup (#3934). Contributed by @uhoreg.
- Fix upload with empty Content-Type (#3918). Contributed by @JakubOnderka.
- Prevent phantom notifications from events not in a room's timeline (#3942). Contributed by @dbkr.
v30.2.0
==================================================================================================
✨ Features
- Only await key query after lazy members resolved (#3902). Contributed by @BillCarsonFr.
🐛 Bug Fixes
- Rewrite receipt-handling code (#3901). Contributed by @andybalaam.
- Explicitly free some Rust-side objects (#3911). Contributed by @richvdh.
- Fix type for TimestampToEventResponse.origin_server_ts (#3906). Contributed by @Half-Shot.
v30.1.0
==================================================================================================
✨ Features
- Rotate per-participant keys when a member leaves (#3833). Contributed by @dbkr.
- Add E2EE for embedded mode of Element Call (#3667). Contributed by @SimonBrandner.
🐛 Bug Fixes
- Shorten TimelineWindow when an event is removed (#3862). Contributed by @andybalaam.
- Ignore receipts pointing at missing or invalid events (#3817). Contributed by @andybalaam.
- Fix members being loaded from server on initial sync (defeating lazy loading) (#3830). Contributed by @BillCarsonFr.
v30.0.1
==================================================================================================
🐛 Bug Fixes
- Ensure
setUserCreator
is called when a store is assigned (#3867). Fixes vector-im/element-web#26520. Contributed by @MidhunSureshR.
v30.0.0
==================================================================================================
🚨 BREAKING CHANGES
- Refactor & make base64 functions browser-safe (#3818).
-
IndexedDBStore.startup()
must be called after using it onsdk.createClient
now.
🦖 Deprecations
- Deprecate
MatrixEvent.toJSON
(#3801).
✨ Features
- Element-R: Add the git sha of the binding crate to
CryptoApi#getVersion
(#3838). Contributed by @florianduros. - Element-R: Wire up
globalBlacklistUnverifiedDevices
field to rust crypto encryption settings (#3790). Fixes vector-im/element-web#26315. Contributed by @florianduros. - Element-R: Wire up room rotation (#3807). Fixes vector-im/element-web#26318. Contributed by @florianduros.
- Element-R: Add current version of the rust-sdk and vodozemac (#3825). Contributed by @florianduros.
- Element-R: Wire up room history visibility (#3805). Fixes vector-im/element-web#26319. Contributed by @florianduros.
- Element-R: log when we send to-device messages (#3810).
🐛 Bug Fixes
- Fix reemitter not being correctly wired on user objects created in storage classes (#3796). Contributed by @MidhunSureshR.
- Element-R: silence log errors when viewing a pending event (#3824).
- Don't emit a closed event if the indexeddb is closed by Element (#3832). Fixes vector-im/element-web#25941. Contributed by @dhenneke.
- Element-R: silence log errors when viewing a decryption failure (#3821).
v29.1.0
==================================================================================================
✨ Features
- OIDC: refresh tokens (#3764). Contributed by @kerryarchibald.
- OIDC: add
prompt
param to auth url creation (#3794). Contributed by @kerryarchibald. - Allow applications to specify their own logger instance (#3792). Fixes #1899.
- Export AutoDiscoveryError and fix type of ALL_ERRORS (#3768).
🐛 Bug Fixes
- Fix sending call member events on leave (#3799). Fixes vector-im/element-call#1763.
- Don't use event.sender in CallMembership (#3793).
- Element-R: Don't mark QR code verification as done until it's done (#3791). Fixes vector-im/element-web#26293.
- Element-R: Connect device to key backup when crypto is created (#3784). Fixes vector-im/element-web#26316. Contributed by @florianduros.
- Element-R: Avoid errors in
VerificationRequest.generateQRCode
when QR code is unavailable (#3779). Fixes vector-im/element-web#26300. Contributed by @florianduros. - ElementR: Check key backup when user identity changes (#3760). Fixes vector-im/element-web#26244. Contributed by @florianduros.
- Element-R: emit
VerificationRequestReceived
on incoming request (#3762). Fixes vector-im/element-web#26245.
v29.0.0
==================================================================================================
🚨 BREAKING CHANGES
- Remove browserify builds (#3759).
✨ Features
- Export AutoDiscoveryError and fix type of ALL_ERRORS (#3768).
- Support for stable MSC3882 get_login_token (#3416). Contributed by @hughns.
- Remove IsUserMention and IsRoomMention from DEFAULT_OVERRIDE_RULES (#3752). Contributed by @kerryarchibald.
🐛 Bug Fixes
- Fix a case where joinRoom creates a duplicate Room object (#3747).
- Add membershipID to call memberships (#3745).
- Fix the warning for messages from unsigned devices (#3743).
- Stop keep alive, when sync was stoped (#3720). Contributed by @finsterwalder.
v28.2.0
==================================================================================================
🦖 Deprecations
- Implement
getEncryptionInfoForEvent
and deprecategetEventEncryptionInfo
(#3693). - The Browserify artifact is being deprecated, scheduled for removal in the October 10th release cycle. (#3189)
✨ Features
- Delete knocked room when knock membership changes (#3729). Contributed by @maheichyk.
- Introduce MatrixRTCSession lower level group call primitive (#3663).
- Sync knock rooms (#3703). Contributed by @maheichyk.
🐛 Bug Fixes
- Dont access indexed db when undefined (#3707). Contributed by @finsterwalder.
- Don't reset unread count when adding a synthetic receipt (#3706). Fixes #3684. Contributed by @andybalaam.
v28.1.0
============================================================================================================
🦖 Deprecations
- Deprecate
MatrixClient.checkUserTrust
(#3691). - Deprecate
MatrixClient.{prepare,create}KeyBackupVersion
in favour of newCryptoApi.resetKeyBackup
API (#3689). - The Browserify artifact is being deprecated, scheduled for removal in the October 10th release cycle. (#3189)
✨ Features
- Allow calls without ICE/TURN/STUN servers (#3695).
- Emit summary update event (#3687). Fixes vector-im/element-web#26033.
- ElementR: Update
CryptoApi.userHasCrossSigningKeys
(#3646). Contributed by @florianduros. - Add
join_rule
field to /publicRooms response (#3673). Contributed by @charlynguyen. - Use sender instead of content.creator field on m.room.create events (#3675).
🐛 Bug Fixes
- Provide better error for ICE Server SyntaxError (#3694). Fixes vector-im/element-web#21804.
- Legacy crypto: re-check key backup after
bootstrapSecretStorage
(#3692). Fixes vector-im/element-web#26115.
v28.0.0
==================================================================================================
🚨 BREAKING CHANGES
- Set minimum supported Matrix 1.1 version (drop legacy r0 versions) (#3007). Fixes vector-im/element-web#16876.
🦖 Deprecations
- The Browserify artifact is being deprecated, scheduled for removal in the October 10th release cycle. (#3189)
✨ Features
- ElementR: Add
CryptoApi.requestVerificationDM
(#3643). Contributed by @florianduros. - Implement
CryptoApi.checkKeyBackupAndEnable
(#3633). Fixes vector-im/crypto-internal#111 and vector-im/crypto-internal#112.
🐛 Bug Fixes
- ElementR: Process all verification events, not just requests (#3650). Contributed by @florianduros.
v27.2.0
==================================================================================================
🦖 Deprecations
- The Browserify artifact is being deprecated, scheduled for removal in the October 10th release cycle. (#3189)
✨ Features
- Allow knocking rooms (#3647). Contributed by @charlynguyen.
- Bump pagination limit to account for threaded events (#3638).
- ElementR: Add
CryptoApi.findVerificationRequestDMInProgress
(#3601). Contributed by @florianduros. - Export more into the public interface (#3614).
🐛 Bug Fixes
- Fix wrong handling of encrypted rooms when loading them from sync accumulator (#3640). Fixes vector-im/element-web#25803.
- Skip processing thread roots and fetching threads list when support is disabled (#3642).
- Ensure we don't overinflate the total notification count (#3634). Fixes vector-im/element-web#25803.
v27.1.0
==================================================================================================
🦖 Deprecations
- The Browserify artifact is being deprecated, scheduled for removal in the October 10th release cycle. (#3189)
✨ Features
- ElementR: Add
CryptoApi.getCrossSigningKeyId
(#3619). Contributed by @florianduros. - ElementR: Stub
CheckOwnCrossSigningTrust
, import cross signing keys and verify local device inbootstrapCrossSigning
(#3608). Contributed by @florianduros. - Specify /preview_url requests as low priority (#3609). Fixes vector-im/element-web#7292.
- Element-R: support for displaying QR codes during verification (#3588). Fixes vector-im/crypto-internal#124.
- Add support for scanning QR codes during verification, with Rust crypto (#3565).
- Add methods to influence set_presence on /sync API calls (#3578).
🐛 Bug Fixes
- Fix threads ending up with chunks of their timelines missing (#3618). Fixes vector-im/element-web#24466.
- Ensure we do not clobber a newer RR with an older unthreaded one (#3617). Fixes vector-im/element-web#25806.
- Fix registration check your emails stage regression (#3616).
- Fix how
Room::eventShouldLiveIn
handles replies to unknown parents (#3615). Fixes vector-im/element-web#22603. - Only send threaded read receipts if threads support is enabled (#3612).
- ElementR: Fix
userId
parameter usage inCryptoApi#getVerificationRequestsToDeviceInProgress
(#3611). Contributed by @florianduros. - Fix edge cases around non-thread relations to thread roots and read receipts (#3607).
- Fix read receipt sending behaviour around thread roots (#3600).
- Export typed event emitter key types (#3597). Fixes #3506.
- Element-R: ensure that
userHasCrossSigningKeys
uses up-to-date data (#3599). Fixes vector-im/element-web#25773. - Fix sending
auth: null
due to broken types around UIA (#3594).
v27.0.0
==================================================================================================
🚨 BREAKING CHANGES
- Drop support for Node 16 (#3533).
- Improve types around login, registration, UIA and identity servers (#3537).
🦖 Deprecations
- The Browserify artifact is being deprecated, scheduled for removal in the October 10th release cycle. (#3189)
- Simplify
MatrixClient::setPowerLevel
API (#3570). Fixes vector-im/element-web#13900 and #1844. - Deprecate
VerificationRequest.getQRCodeBytes
and replace it with the asynchronousgenerateQRCode
. (#3562). - Deprecate
VerificationRequest.beginKeyVerification()
in favour ofVerificationRequest.startVerification()
. (#3528). - Deprecate
Crypto.VerificationRequest
application event, replacing it withCrypto.VerificationRequestReceived
. (#3514).
✨ Features
- Throw saner error when peeking has its room pulled out from under it (#3577). Fixes vector-im/element-web#18679.
- OIDC: Log in (#3554). Contributed by @kerryarchibald.
- Prevent threads code from making identical simultaneous API hits (#3541). Fixes vector-im/element-web#25395.
- Update IUnsigned type to be extensible (#3547).
- add stop() api to BackupManager for clean shutdown (#3553).
- Log the message ID of any undecryptable to-device messages (#3543).
- Ignore thread relations on state events for consistency with edits (#3540).
- OIDC: validate id token (#3531). Contributed by @kerryarchibald.
🐛 Bug Fixes
- Fix read receipt sending behaviour around thread roots (#3600).
- Fix
TypedEventEmitter::removeAllListeners(void)
not working (#3561). - Don't allow Olm unwedging rate-limiting to race (#3549). Fixes vector-im/element-web#25716.
- Fix an instance of failed to decrypt error when an in flight
/keys/query
fails. (#3486). - Use the right anchor emoji for SAS verification (#3534).
- fix a bug which caused the wrong emoji to be shown during SAS device verification. (#3523).
v26.2.0
==================================================================================================
🦖 Deprecations
- The Browserify artifact is being deprecated, scheduled for removal in the October 10th release cycle. (#3189).
- ElementR: Add
CryptoApi#bootstrapSecretStorage
(#3483). Contributed by @florianduros. - Deprecate
MatrixClient.findVerificationRequestDMInProgress
,MatrixClient.getVerificationRequestsToDeviceInProgress
, andMatrixClient.requestVerification
, in favour of methods inCryptoApi
. (#3474). - Introduce a new
Crypto.VerificationRequest
interface, and deprecate direct access to the oldVerificationRequest
class. Also deprecate some related classes that were exported fromsrc/crypto/verification/request/VerificationRequest
(#3449).
✨ Features
- OIDC: navigate to authorization endpoint (#3499). Contributed by @kerryarchibald.
- Support for interactive device verification in Element-R. (#3505).
- Support for interactive device verification in Element-R. (#3508).
- Support for interactive device verification in Element-R. (#3490). Fixes vector-im/element-web#25316.
- Element-R: Store cross signing keys in secret storage (#3498). Contributed by @florianduros.
- OIDC: add dynamic client registration util function (#3481). Contributed by @kerryarchibald.
- Add getLastUnthreadedReceiptFor utility to Thread delegating to the underlying Room (#3493).
- ElementR: Add
rust-crypto#createRecoveryKeyFromPassphrase
implementation (#3472). Contributed by @florianduros.
🐛 Bug Fixes
- Aggregate relations regardless of whether event fits into the timeline (#3496). Fixes vector-im/element-web#25596.
- Fix bug where switching media caused media in subsequent calls to fail (#3489).
- Fix: remove polls from room state on redaction (#3475). Fixes vector-im/element-web#25573. Contributed by @kerryarchibald.
- Fix export type
GeneratedSecretStorageKey
(#3479). Contributed by @florianduros. - Close IDB database before deleting it to prevent spurious unexpected close errors (#3478). Fixes vector-im/element-web#25597.
v26.1.0
==================================================================================================
🦖 Deprecations
- Introduce a new
Crypto.Verifier
interface, and deprecate direct access toVerificationBase
,SAS
andReciprocateQRCode
(#3414).
✨ Features
- Add
rust-crypto#isCrossSigningReady
implementation (#3462). Contributed by @florianduros. - OIDC: Validate
m.authentication
configuration (#3419). Contributed by @kerryarchibald. - ElementR: Add
CryptoApi.getCrossSigningStatus
(#3452). Contributed by @florianduros. - Extend stats summary with call device and user count based on room state (#3424). Contributed by @toger5.
- Update MSC3912 implementation to use
with_rel_type
instead ofwith_relations
(#3420). - Export thread-related types from SDK (#3447). Contributed by @stas-demydiuk.
- Use correct /v3 prefix for /refresh (#3016). Contributed by @davidisaaclee.
🐛 Bug Fixes
- Fix thread list being ordered based on all updates (#3458). Fixes vector-im/element-web#25522.
- Fix: handle
baseUrl
with trailing slash infetch.getUrl
(#3455). Fixes vector-im/element-web#25526. Contributed by @kerryarchibald. - use cli.canSupport to determine intentional mentions support (#3445). Fixes vector-im/element-web#25497. Contributed by @kerryarchibald.
- Make sliding sync linearize processing of sync requests (#3442).
- Fix edge cases around 2nd order relations and threads (#3437).
v26.0.1
==================================================================================================
🐛 Bug Fixes
- Fix: handle
baseUrl
with trailing slash infetch.getUrl
(#3455). Fixes vector-im/element-web#25526. Contributed by @kerryarchibald.
v26.0.0
==================================================================================================
🚨 BREAKING CHANGES
- Ensure we do not add relations to the wrong timeline (#3427). Fixes vector-im/element-web#25450 and vector-im/element-web#25494.
- Deprecate
QrCodeEvent
,SasEvent
andVerificationEvent
(#3386).
🦖 Deprecations
- Move crypto classes into a separate namespace (#3385).
✨ Features
- Mention deno support in the README (#3417). Contributed by @sigmaSd.
- Mark room version 10 as safe (#3425).
- Prioritise entirely supported flows for UIA (#3402).
- Add methods to terminate idb worker (#3362).
- Total summary count (#3351). Contributed by @toger5.
- Audio concealment (#3349). Contributed by @toger5.
🐛 Bug Fixes
- Correctly accumulate sync summaries. (#3366). Fixes vector-im/element-web#23345.
- Keep measuring a call feed's volume after a stream replacement (#3361). Fixes vector-im/element-call#1051.
- Element-R: Avoid uploading a new fallback key at every
/sync
(#3338). Fixes vector-im/element-web#25215. - Accumulate receipts for the main thread and unthreaded separately (#3339). Fixes vector-im/element-web#24629.
- Remove spec non-compliant extended glob format (#3423). Fixes vector-im/element-web#25474.
- Fix bug where original event was inserted into timeline instead of the edit event (#3398). Contributed by @andybalaam.
- Only add a local receipt if it's after an existing receipt (#3399). Contributed by @andybalaam.
- Attempt a potential workaround for stuck notifs (#3384). Fixes vector-im/element-web#25406. Contributed by @andybalaam.
- Fix verification bug with
pendingEventOrdering: "chronological"
(#3382).
v25.1.1
==================================================================================================
🐛 Bug Fixes
- Rebuild to fix packaging glitch in 25.1.0. Fixes #3363
v25.1.0
==================================================================================================
🦖 Deprecations
- Deprecate MatrixClient::resolveRoomAlias (#3316).
✨ Features
- add client method to remove pusher (#3324). Contributed by @kerryarchibald.
- Implement MSC 3981 (#3248). Fixes vector-im/element-web#25021. Contributed by @justjanne.
- Added
Room.getLastLiveEvent
andRoom.getLastThread
. DeprecatedRoom.lastThread
in favour ofRoom.getLastThread
. (#3321). - Element-R: wire up device lists (#3272). Contributed by @florianduros.
- Node 20 support (#3302).
🐛 Bug Fixes
- Fix racing between one-time-keys processing and sync (#3327). Fixes vector-im/element-web#25214. Contributed by @florianduros.
- Fix lack of media when a user reconnects (#3318).
- Fix TimelineWindow getEvents exploding if no neigbouring timeline (#3285). Fixes vector-im/element-web#25104.
v25.0.0
==================================================================================================
🚨 BREAKING CHANGES
✨ Features
- Add typedoc-plugin-mdn-links (#3292).
- Annotate events with executed push rule (#3284). Contributed by @kerryarchibald.
- Element-R: pass device list change notifications into rust crypto-sdk (#3254). Fixes vector-im/element-web#24795. Contributed by @florianduros.
- Support for MSC3882 revision 1 (#3228). Contributed by @hughns.
🐛 Bug Fixes
- Fix screen sharing on Firefox 113 (#3282). Contributed by @tulir.
- Retry processing potential poll events after decryption (#3246). Fixes vector-im/element-web#24568.
- Element-R: handle events which arrive before their keys (#3230). Fixes vector-im/element-web#24489.
v24.1.0
==================================================================================================
✨ Features
- Allow via_servers property in findPredecessor (update to MSC3946) (#3240). Contributed by @andybalaam.
- Fire
closed
event when IndexedDB closes unexpectedly (#3218). - Implement MSC3952: intentional mentions (#3092). Fixes vector-im/element-web#24376.
- Send one time key count and unused fallback keys for rust-crypto (#3215). Fixes vector-im/element-web#24795. Contributed by @florianduros.
- Improve
processBeaconEvents
hotpath (#3200). - Implement MSC3966: a push rule condition to check if an array contains a value (#3180).
🐛 Bug Fixes
- indexddb-local-backend - return the current sync to database promise … (#3222). Contributed by @texuf.
- Revert "Add the call object to Call events" (#3236).
- Handle group call redaction (#3231). Fixes vector-im/voip-internal#128.
- Stop doing O(n^2) work to find event's home (
eventShouldLiveIn
) (#3227). Contributed by @jryans. - Fix bug where video would not unmute if it started muted (#3213). Fixes vector-im/element-call#925.
- Fixes to event encryption in the Rust Crypto implementation (#3202).
v24.0.0
==================================================================================================
🔒 Security
- Fixes for CVE-2023-28427 / GHSA-mwq8-fjpf-c2gr
v23.5.0
==================================================================================================
✨ Features
- Implement MSC3758: a push rule condition to match event properties exactly (#3179).
- Enable group calls without video and audio track by configuration of MatrixClient (#3162). Contributed by @EnricoSchw.
- Updates to protocol used for Sign in with QR code (#3155). Contributed by @hughns.
- Implement MSC3873 to handle escaped dots in push rule keys (#3134). Fixes undefined#1454.
🐛 Bug Fixes
- Fix spec compliance issue around encrypted
m.relates_to
(#3178). - Fix reactions in threads sometimes causing stuck notifications (#3146). Fixes vector-im/element-web#24000. Contributed by @justjanne.
v23.4.0
==================================================================================================
✨ Features
- Add easy way to determine if the decryption failure is due to "DecryptionError: The sender has disabled encrypting to unverified devices." (#3167). Contributed by @florianduros.
- Polls: expose end event id on poll model (#3160). Contributed by @kerryarchibald.
- Polls: count undecryptable poll relations (#3163). Contributed by @kerryarchibald.
🐛 Bug Fixes
- Better type guard parseTopicContent (#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). Fixes vector-im/element-web#24448. Contributed by @Half-Shot.
- Stop the ICE disconnected timer on call terminate (#3147).
- Clear notifications when we can infer read status from receipts (#3139). Fixes vector-im/element-web#23991.
- Messages sent out of order after one message fails (#3131). Fixes vector-im/element-web#22885 and vector-im/element-web#18942. Contributed by @justjanne.
v23.3.0
==================================================================================================
✨ Features
- Element-R: implement encryption of outgoing events (#3122).
- Poll model - page /relations results (#3073). Contributed by @kerryarchibald.
- Poll model - validate end events (#3072). Contributed by @kerryarchibald.
- Handle optional last_known_event_id property in m.predecessor (#3119). Contributed by @andybalaam.
- Add support for stable identifier for fixed MAC in SAS verification (#3101).
- Provide eventId as well as roomId from Room.findPredecessor (#3095). Contributed by @andybalaam.
- MSC3946 Dynamic room predecessors (#3042). Contributed by @andybalaam.
- Poll model (#3036). Contributed by @kerryarchibald.
- Remove video tracks on video mute without renegotiating (#3091).
- Introduces a backwards-compatible API change.
MegolmEncrypter#prepareToEncrypt
's return type has changed fromvoid
to() => void
. (#3035). Contributed by @clarkf.
🐛 Bug Fixes
- Stop the ICE disconnected timer on call terminate (#3147).
- Clear notifications when we can infer read status from receipts (#3139). Fixes vector-im/element-web#23991.
- Messages sent out of order after one message fails (#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).
- Element-R: Fix invite processing (#3121).
- Don't throw with no
opponentDeviceInfo
(#3107). - Remove flaky megolm test (#3098). Contributed by @clarkf.
- Fix "verifyLinks" functionality of getRoomUpgradeHistory (#3089). Contributed by @andybalaam.
v23.2.0
==================================================================================================
✨ Features
- Implement decryption via the rust sdk (#3074).
- Handle edits which are bundled with an event, per MSC3925 (#3045).
🐛 Bug Fixes
- Add null check for our own member event (#3082).
- Handle group call getting initialised twice in quick succession (#3078). Fixes vector-im/element-call#847.
- Correctly handle limited sync responses by resetting the thread timeline (#3056). Fixes vector-im/element-web#23952. Contributed by @justjanne.
- Fix failure to start in firefox private browser (#3058). Fixes vector-im/element-web#24216.
- Fix spurious "Decryption key withheld" messages (#3061). Fixes vector-im/element-web#23803.
- Fix browser entrypoint (#3051). Fixes #3013.
v23.1.1
==================================================================================================
🐛 Bug Fixes
- Fix backwards compability for environment not support Array.prototype.at (#3080).
v23.1.0
==================================================================================================
🦖 Deprecations
- Remove extensible events v1 field population on legacy events (#3040).
✨ Features
- Improve hasUserReadEvent and getUserReadUpTo realibility with threads (#3031). Fixes vector-im/element-web#24164.
- Remove video track when muting video (#3028). Fixes vector-im/element-call#209.
- Make poll start event type available (PSG-962) (#3034).
- Add alt event type matching in Relations model (#3018).
- Remove usage of v1 Identity Server API (#3003).
- Add
device_id
to/account/whoami
types (#3005). - Implement MSC3912: Relation-based redactions (#2954).
- Introduce a mechanism for using the rust-crypto-sdk (#2969).
- Support MSC3391: Account data deletion (#2967).
🐛 Bug Fixes
- Fix threaded cache receipt when event holds multiple receipts (#3026).
- Fix false key requests after verifying new device (#3029). Fixes vector-im/element-web#24167 and vector-im/element-web#23333.
- Avoid triggering decryption errors when decrypting redacted events (#3004). Fixes vector-im/element-web#24084.
- bugfix: upload OTKs in sliding sync mode (#3008).
- Apply edits discovered from sync after thread is initialised (#3002). Fixes vector-im/element-web#23921.
- Sliding sync: Fix issue where no unsubs are sent when switching rooms (#2991).
- Threads are missing from the timeline (#2996). Fixes vector-im/element-web#24036.
- Close all streams when a call ends (#2992). Fixes vector-im/element-call#742.
- Resume to-device message queue after resumed sync (#2920). Fixes matrix-org/element-web-rageshakes#17170.
- Fix browser entrypoint (#3051). Fixes #3013.
- Fix failure to start in firefox private browser (#3058). Fixes vector-im/element-web#24216.
- Correctly handle limited sync responses by resetting the thread timeline (#3056). Fixes vector-im/element-web#23952.
v23.0.0
==================================================================================================
🚨 BREAKING CHANGES
- Process
m.room.encryption
events before emittingRoomMember
events (#2914). Fixes vector-im/element-web#23819. - Don't expose
calls
onGroupCall
(#2941).
✨ Features
- Support MSC3391: Account data deletion (#2967).
- Add a message ID on each to-device message (#2938).
- Enable multiple users' power levels to be set at once (#2892). Contributed by @GoodGuyMarco.
- Include pending events in thread summary and count again (#2922). Fixes vector-im/element-web#23642.
- Make GroupCall work better with widgets (#2935).
- Add method to get outgoing room key requests for a given event (#2930).
🐛 Bug Fixes
- Fix messages loaded during initial fetch ending up out of order (#2971). Fixes vector-im/element-web#23972.
- Fix #23919: Root message for new thread loaded from network (#2965). Fixes vector-im/element-web#23919.
- Fix #23916: Prevent edits of the last message in a thread getting lost (#2951). Fixes vector-im/element-web#23916 and vector-im/element-web#23942.
- Fix infinite loop when restoring cached read receipts (#2963). Fixes vector-im/element-web#23951.
- Don't swallow errors coming from the shareSession call (#2962). Fixes vector-im/element-web#23792.
- Make sure that MegolmEncryption.setupPromise always resolves (#2960).
- Do not calculate highlight notifs for threads unknown to the room (#2957).
- Cache read receipts for unknown threads (#2953).
- bugfix: sliding sync initial room timelines shouldn't notify (#2933).
- Redo key sharing after own device verification (#2921). Fixes vector-im/element-web#23333.
- Move updated threads to the end of the thread list (#2923). Fixes vector-im/element-web#23876.
- Fix highlight notifications increasing when total notification is zero (#2937). Fixes vector-im/element-web#23885.
- Fix synthesizeReceipt (#2916). Fixes vector-im/element-web#23827 vector-im/element-web#23754 and vector-im/element-web#23847.
v22.0.0
==================================================================================================
🚨 BREAKING CHANGES
- Enable users to join group calls from multiple devices (#2902).
🦖 Deprecations
- Deprecate a function containing a typo (#2904).
✨ Features
- sliding sync: add receipts extension (#2912).
- Define a spec support policy for the js-sdk (#2882).
- Further improvements to e2ee logging (#2900).
- sliding sync: add support for typing extension (#2893).
- Improve logging on Olm session errors (#2885).
- Improve logging of e2ee messages (#2884).
🐛 Bug Fixes
- Fix 3pid invite acceptance not working due to mxid being sent in body (#2907). Fixes vector-im/element-web#23823.
- Don't hang up calls that haven't started yet (#2898).
- Read receipt accumulation for threads (#2881).
- Make GroupCall work better with widgets (#2935).
- Fix highlight notifications increasing when total notification is zero (#2937). Fixes vector-im/element-web#23885.
- Fix synthesizeReceipt (#2916). Fixes vector-im/element-web#23827 vector-im/element-web#23754 and vector-im/element-web#23847.
v21.2.0
==================================================================================================
✨ Features
- Make calls go back to 'connecting' state when media lost (#2880).
- Add ability to send unthreaded receipt (#2878).
- Add way to abort search requests (#2877).
- sliding sync: add custom room subscriptions support (#2834).
- webrtc: add advanced audio settings (#2434). Contributed by @MrAnno.
- Add support for group calls using MSC3401 (#2553).
- Make the js-sdk conform to tsc --strict (#2835). Fixes #2112 #2116 and #2124.
- Let leave requests outlive the window (#2815). Fixes vector-im/element-call#639.
- Add event and message capabilities to RoomWidgetClient (#2797).
- Misc fixes for group call widgets (#2657).
- Support nested Matrix clients via the widget API (#2473).
- Set max average bitrate on PTT calls (#2499). Fixes vector-im/element-call#440.
- Add config option for e2e group call signalling (#2492).
- Enable DTX on audio tracks in calls (#2482).
- Don't ignore call member events with a distant future expiration date (#2466).
- Expire call member state events after 1 hour (#2446).
- Emit unknown device errors for group call participants without e2e (#2447).
- Mute disconnected peers in PTT mode (#2421).
- Add support for sending encrypted to-device events with OLM (#2322). Contributed by @robertlong.
- Support for PTT group call mode (#2338).
🐛 Bug Fixes
- Fix registration add phone number not working (#2876). Contributed by @bagvand.
- Use an underride rule for Element Call notifications (#2873). Fixes vector-im/element-web#23691.
- Fixes unwanted highlight notifications with encrypted threads (#2862).
- Extra insurance that we don't mix events in the wrong timelines - v2 (#2856). Contributed by @MadLittleMods.
- Hide pending events in thread timelines (#2843). Fixes vector-im/element-web#23684.
- Fix pagination token tracking for mixed room timelines (#2855). Fixes vector-im/element-web#23695.
- Extra insurance that we don't mix events in the wrong timelines (#2848). Contributed by @MadLittleMods.
- Do not freeze state in
initialiseState()
(#2846). - Don't remove our own member for a split second when entering a call (#2844).
- Resolve races between
initLocalCallFeed
andleave
(#2826). - Add throwOnFail to groupCall.setScreensharingEnabled (#2787).
- Fix connectivity regressions (#2780).
- Fix screenshare failing after several attempts (#2771). Fixes vector-im/element-call#625.
- Don't block muting/unmuting on network requests (#2754). Fixes vector-im/element-call#592.
- Fix ICE restarts (#2702).
- Target widget actions at a specific room (#2670).
- Add tests for ice candidate sending (#2674).
- Prevent exception when muting (#2667). Fixes vector-im/element-call#578.
- Fix race in creating calls (#2662).
- Add client.waitUntilRoomReadyForGroupCalls() (#2641).
- Wait for client to start syncing before making group calls (#2632). Fixes #2589.
- Add GroupCallEventHandlerEvent.Room (#2631).
- Add missing events from reemitter to GroupCall (#2527). Contributed by @toger5.
- Prevent double mute status changed events (#2502).
- Don't mute the remote side immediately in PTT calls (#2487). Fixes vector-im/element-call#425.
- Fix some MatrixCall leaks and use a shared AudioContext (#2484). Fixes vector-im/element-call#412.
- Don't block muting on determining whether the device exists (#2461).
- Only clone streams on Safari (#2450). Fixes vector-im/element-call#267.
- Set PTT mode on call correctly (#2445). Fixes vector-im/element-call#382.
- Wait for mute event to send in PTT mode (#2401).
- Handle other members having no e2e keys (#2383). Fixes vector-im/element-call#338.
- Fix races when muting/unmuting (#2370).
v21.1.0
==================================================================================================
✨ Features
- Loading threads with server-side assistance (#2735). Contributed by @justjanne.
- Support sign in + E2EE set up using QR code implementing MSC3886, MSC3903 and MSC3906 (#2747). Contributed by @hughns.
🐛 Bug Fixes
- Replace
instanceof Array
withArray.isArray
(#2812). Fixes #2811. - Emit UnreadNotification event on notifications reset (#2804). Fixes vector-im/element-web#23590.
- Fix incorrect prevEv being sent in ClientEvent.AccountData events (#2794).
- Fix build error caused by wrong ts-strict improvements (#2783). Contributed by @justjanne.
- Encryption should not hinder verification (#2734).
v21.0.1
==================================================================================================
🐛 Bug Fixes
- Fix default behavior of Room.getBlacklistUnverifiedDevices (#2830). Contributed by @duxovni.
- Catch server versions API call exception when starting the client (#2828). Fixes vector-im/element-web#23634.
- Fix authedRequest including
Authorization: Bearer undefined
for password resets (#2822). Fixes vector-im/element-web#23655.
v21.0.0
==================================================================================================
🚨 BREAKING CHANGES
- Changes the
uploadContent
API, kills offrequest
andbrowser-request
in favour offetch
, removed callback support on a lot of the methods, adds a lot of tests. (#2719). Fixes #2415 and #801. - Remove deprecated
m.room.aliases
references (#2759). Fixes vector-im/element-web#12680.
✨ Features
- Remove node-specific crypto bits, use Node 16's WebCrypto (#2762). Fixes #2760.
- Export types for MatrixEvent and Room emitted events, and make event handler map types stricter (#2750). Contributed by @stas-demydiuk.
- Use even more stable calls to
/room_keys
(#2746). - Upgrade to Olm 3.2.13 which has been repackaged to support Node 18 (#2744).
- Fix
power_level_content_override
type (#2741). - Add custom notification handling for MSC3401 call events (#2720).
- Add support for unread thread notifications (#2726).
- Load Thread List with server-side assistance (MSC3856) (#2602).
- Use stable calls to
/room_keys
(#2729). Fixes vector-im/element-web#22839.
🐛 Bug Fixes
- Fix POST data not being passed for registerWithIdentityServer (#2769). Fixes matrix-org/element-web-rageshakes#16206.
- Fix IdentityPrefix.V2 containing spurious
/api
(#2761). Fixes vector-im/element-web#23505. - Always send back an httpStatus property if one is known (#2753).
- Check for AbortError, not any generic connection error, to avoid tightlooping (#2752).
- Correct the dir parameter of MSC3715 (#2745). Contributed by @dhenneke.
- Fix sync init when thread unread notif is not supported (#2739). Fixes vector-im/element-web#23435.
- Use the correct sender key when checking shared secret (#2730). Fixes vector-im/element-web#23374.
v20.1.0
============================================================================================================
✨ Features
- Add local notification settings capability (#2700).
- Implementation of MSC3882 login token request (#2687). Contributed by @hughns.
- Typings for MSC2965 OIDC provider discovery (#2424). Contributed by @hughns.
- Support to remotely toggle push notifications (#2686).
- Read receipts for threads (#2635).
🐛 Bug Fixes
- Use the correct sender key when checking shared secret (#2730). Fixes vector-im/element-web#23374.
- Unexpected ignored self key request when it's not shared history (#2724). Contributed by @mcalinghee.
- Fix IDB initial migration handling causing spurious lazy loading upgrade loops (#2718). Fixes vector-im/element-web#23377.
- Fix backpagination at end logic being spec non-conforming (#2680). Fixes vector-im/element-web#22784.
v20.0.2
==================================================================================================
🐛 Bug Fixes
- Fix issue in sync when crypto is not supported by client (#2715). Contributed by @stas-demydiuk.
v20.0.1
==================================================================================================
🐛 Bug Fixes
- Fix missing return when receiving an invitation without shared history (#2710).
v20.0.0
==================================================================================================
🚨 BREAKING CHANGES
- Bump IDB crypto store version (#2705).
v19.7.0
==================================================================================================
🔒 Security
- Fix for CVE-2022-39249
- Fix for CVE-2022-39250
- Fix for CVE-2022-39251
- Fix for CVE-2022-39236
v19.6.0
==================================================================================================
✨ Features
- Add a property aggregating all names of a NamespacedValue (#2656).
- Implementation of MSC3824 to add action= param on SSO login (#2398). Contributed by @hughns.
- Add invited_count and joined_count to sliding sync room responses. (#2628).
- Base support for MSC3847: Ignore invites with policy rooms (#2626). Contributed by @Yoric.
🐛 Bug Fixes
v19.5.0
==================================================================================================
🐛 Bug Fixes
- Fix bug in deepCompare which would incorrectly return objects with disjoint keys as equal (#2586). Contributed by @3nprob.
- Refactor Sync and fix
initialSyncLimit
(#2587). - Use deep equality comparisons when searching for outgoing key requests by target (#2623). Contributed by @duxovni.
- Fix room membership race with MREPARED event (#2613). Contributed by @jotto.
v19.4.0
==================================================================================================
🔒 Security
- Fix for CVE-2022-36059
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).
- Add ability to override built in room name generator for an i18n'able one (#2609).
- Add txn_id support to sliding sync (#2567).
🐛 Bug Fixes
- Refactor Sync and fix
initialSyncLimit
(#2587). - Use deep equality comparisons when searching for outgoing key requests by target (#2623). Contributed by @duxovni.
- Fix room membership race with MREPARED event (#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). - Fix: Handle parsing of a beacon info event without asset (#2591). Fixes vector-im/element-web#23078. Contributed by @kerryarchibald.
- Fix finding event read up to if stable private read receipts is missing (#2585). Fixes vector-im/element-web#23027.
- fixed a sliding sync issue where history could be interpreted as live events. (#2583).
v19.3.0
==================================================================================================
✨ Features
- Add txn_id support to sliding sync (#2567).
- Emit an event when the client receives TURN servers (#2529).
- Add support for stable prefixes for MSC2285 (#2524).
- Remove stream-replacement (#2551).
- Add support for sending user-defined encrypted to-device messages (#2528).
- Retry to-device messages (#2549). Fixes vector-im/element-web#12851.
- Sliding sync: add missing filters from latest MSC (#2555).
- Use stable prefixes for MSC3827 (#2537).
🐛 Bug Fixes
- Fix: Handle parsing of a beacon info event without asset (#2591). Fixes vector-im/element-web#23078.
- Fix finding event read up to if stable private read receipts is missing (#2585). Fixes vector-im/element-web#23027.
- Fixed a sliding sync issue where history could be interpreted as live events. (#2583).
- Don't load the sync accumulator if there's already a sync persist in flight (#2569).
v19.2.0
==================================================================================================
🦖 Deprecations
✨ Features
- Sliding sync: add missing filters from latest MSC (#2555).
- Use stable prefixes for MSC3827 (#2537).
- Add support for MSC3575: Sliding Sync (#2242).
🐛 Bug Fixes
- Correct the units in TURN servers expiry documentation (#2520).
- Re-insert room IDs when decrypting bundled redaction events returned by
/sync
(#2531). Contributed by @duxovni.
v19.1.0
==================================================================================================
🦖 Deprecations
- Remove MSC3244 support (#2504).
✨ Features
-
room
now exportsKNOWN_SAFE_ROOM_VERSION
(#2474).
🐛 Bug Fixes
- Don't crash with undefined room in
processBeaconEvents()
(#2500). Fixes #2494. - Properly re-insert room ID in bundled thread relation messages from sync (#2505). Fixes vector-im/element-web#22094. Contributed by @duxovni.
- Actually store the identity server in the client when given as an option (#2503). Fixes vector-im/element-web#22757.
- Fix call.collectCallStats() (#2480).
v19.0.0
==================================================================================================
🚨 BREAKING CHANGES
- Remove unused sessionStore (#2455).
✨ Features
- Implement MSC3827: Filtering of
/publicRooms
by room type (#2469). - expose latestLocationEvent on beacon model (#2467). Contributed by @kerryarchibald.
- Live location share - add start time leniency (#2465). Contributed by @kerryarchibald.
- Log real errors and not just their messages, traces are useful (#2464).
- Various changes to
src/crypto
files for correctness (#2137). Contributed by @ShadowJonathan. - Update MSC3786 implementation: Check the
state_key
(#2429). - Timeline needs to refresh when we see a MSC2716 marker event (#2299). Contributed by @MadLittleMods.
- Try to load keys from key backup when a message fails to decrypt (#2373). Fixes vector-im/element-web#21026. Contributed by @duxovni.
🐛 Bug Fixes
- Send call version
1
as a string (#2471). Fixes vector-im/element-web#22629. - Fix issue with
getEventTimeline
returning undefined for thread roots in main timeline (#2454). Fixes vector-im/element-web#22539. - Add missing
type
property onIAuthData
(#2463). - Clearly indicate that
lastReply
on a Thread can return falsy (#2462). - Fix issues with getEventTimeline and thread roots (#2444). Fixes vector-im/element-web#21613.
- Live location sharing - monitor liveness of beacons yet to start (#2437). Contributed by @kerryarchibald.
- Refactor Relations to not be per-EventTimelineSet (#2412). Fixes #2399 and vector-im/element-web#22298.
- Add tests for sendEvent threadId handling (#2435). Fixes vector-im/element-web#22433.
- Make sure
encryptAndSendKeysToDevices
assumes devices are unique per-user. (#2136). Fixes #2135. Contributed by @ShadowJonathan. - Don't bug the user while re-checking key backups after decryption failures (#2430). Fixes vector-im/element-web#22416. Contributed by @duxovni.
v18.1.0
==================================================================================================
✨ Features
- Convert
getLocalAliases
to a stable API call (#2402).
🐛 Bug Fixes
- Fix request, crypto, and bs58 imports (#2414). Fixes #2415.
- Update relations after every decryption attempt (#2387). Fixes vector-im/element-web#22258. Contributed by @weeman1337.
- Fix degraded mode for the IDBStore and test it (#2400). Fixes matrix-org/element-web-rageshakes#13170.
- Don't cancel SAS verifications if
ready
is received afterstart
(#2250). - Prevent overlapping sync accumulator persists (#2392). Fixes vector-im/element-web#21541.
- Fix behaviour of isRelation with relation m.replace for state events (#2389). Fixes vector-im/element-web#22280.
- Fixes #2384 (#2385). Fixes undefined#2384. Contributed by @schmop.
- Ensure rooms are recalculated on re-invites (#2374). Fixes vector-im/element-web#22106.
v18.0.0
==================================================================================================
🚨 BREAKING CHANGES (to experimental methods)
- Implement changes to MSC2285 (private read receipts) (#2221).
✨ Features
- Add support for HTML renderings of room topics (#2272).
- Add stopClient parameter to MatrixClient::logout (#2367).
- registration: add function to re-request email token (#2357).
- Remove hacky custom status feature (#2350).
🐛 Bug Fixes
- Remove default push rule override for MSC1930 (#2376). Fixes vector-im/element-web#15439.
- Tweak thread creation & event adding to fix bugs around relations (#2369). Fixes vector-im/element-web#22162 and vector-im/element-web#22180.
- Prune both clear & wire content on redaction (#2346). Fixes vector-im/element-web#21929.
- MSC3786: Add a default push rule to ignore
m.room.server_acl
events (#2333). Fixes vector-im/element-web#20788.
v17.2.0
==================================================================================================
✨ Features
- Live location sharing: handle encrypted messages in processBeaconEvents (#2327).
🐛 Bug Fixes
- Fix race conditions around threads (#2331). Fixes vector-im/element-web#21627.
- Ignore m.replace relations on state events, they're invalid (#2306). Fixes vector-im/element-web#21851.
- fix example in readme (#2315).
- Don't decrement the length count of a thread when root redacted (#2314).
- Prevent attempt to create thread with id "undefined" (#2308).
- Update threads handling for replies-to-thread-responses as per MSC update (#2305). Fixes vector-im/element-web#19678.
v17.1.0
==================================================================================================
✨ Features
- Add MatrixClient.doesServerSupportLogoutDevices() for MSC2457 (#2297).
- Live location sharing - expose room liveBeaconIds (#2296).
- Support for MSC2457 logout_devices param for setPassword() (#2285).
- Stabilise token authenticated registration support (#2181). Contributed by @govynnus.
- Live location sharing - Aggregate beacon locations on beacons (#2268).
🐛 Bug Fixes
- Prevent duplicated re-emitter setups in event-mapper (#2293).
- Make self membership less prone to races (#2277). Fixes vector-im/element-web#21661.
v17.0.0
==================================================================================================
🚨 BREAKING CHANGES
- Remove groups and groups-related APIs (#2234).
✨ Features
🐛 Bug Fixes
- Fix getSessionsNeedingBackup() limit support (#2270). Contributed by @adamvy.
- Fix issues with /search and /context API handling for threads (#2261). Fixes vector-im/element-web#21543.
- Prevent exception 'Unable to set up secret storage' (#2260).
v16.0.1
==================================================================================================
✨ Features
- emit aggregate room beacon liveness (#2241).
- Live location sharing - create m.beacon_info events (#2238).
- Beacon event types from MSC3489 (#2230).
🐛 Bug Fixes
- Fix incorrect usage of unstable variant of
is_falling_back
(#2227).
v16.0.0
==================================================================================================
🚨 BREAKING CHANGES
- Improve typing around event emitter handlers (#2180).
✨ Features
- Fix defer not supporting resolving with a Promise (#2216).
- add LocationAssetType enum (#2214).
- Support for mid-call devices changes (#2154). Contributed by @SimonBrandner.
- Add new room state emit RoomStateEvent.Update for lower-frequency hits (#2192).
🐛 Bug Fixes
- Fix wrong event_id being sent for m.in_reply_to of threads (#2213).
- Fix wrongly asserting that PushRule::conditions is non-null (#2217).
- Make createThread more resilient when missing rootEvent (#2207). Fixes vector-im/element-web#21130.
- Fix bug with the /hierarchy API sending invalid requests (#2201). Fixes vector-im/element-web#21170.
- fix relation sender filter (#2196). Fixes vector-im/element-web#20877.
- Fix bug with one-way audio after a transfer (#2193).
v15.6.0
==================================================================================================
✨ Features
- Return send event response from MSC3089Branch.createNewVersion() (#2186).
- Add functions to support refresh tokens (#2178).
🐛 Bug Fixes
- [Release] Fix bug with the /hierarchy API sending invalid requests (#2202).
- Fix bug where calls could break if rejected from somewhere else (#2189).
- Fix camera stuck on after call transfer (#2188).
- Fix synthetic read receipt handling (#2174). Fixes vector-im/element-web#21016.
- Revert "Sign backup with cross-signing key when we reset it." (#2175).
- Sign backup with cross-signing key when we reset it. (#2170).
- Fix error in uploadContent() when file is empty under Node.js (#2155).
- Check the backup info against the stored private key when determining trust. (#2167).
- Back up keys before logging out (#2158). Fixes vector-im/element-web#13151.
v15.5.2
==================================================================================================
🐛 Bug Fixes
- Fix synthetic read receipt handling
v15.5.1
==================================================================================================
🐛 Bug Fixes
- Fix issue with rooms not getting marked as unread (#2163). Fixes vector-im/element-web#20971.
- Don't store streams that are only used once (#2157). Fixes vector-im/element-web#20932. Contributed by @SimonBrandner.
- Fix edge cases around RR calculations (#2160). Fixes vector-im/element-web#20922.
- Account for encryption in
maySendMessage()
(#2159). Contributed by @SimonBrandner. - Send references to thread root to threads, even out of order (#2156).
- Fix initial sync fail when event fetching unsuccessful (#2150). Fixes vector-im/element-web#20862.
- Don't decrypt redacted messages (#2143). Contributed by @SimonBrandner.
v15.5.0
==================================================================================================
✨ Features
- Support m.asset in m.location event content (#2109).
- Send extensible events structure and support on-demand parsing (#2091).
- Support cancelling events whilst they are in status = ENCRYPTING (#2095).
🐛 Bug Fixes
- Fix http-api butchering idServer requests (#2134). Fixes vector-im/element-web#20680.
- Don't remove streams that still have tracks (#2104).
v15.4.0
==================================================================================================
✨ Features
- Don't consider alt_aliases when calculating room name (#2094). Fixes vector-im/element-web#13887.
- Load room history if necessary when searching for MSC3089 getFileEvent() (#2066).
- Add support for MSC3030
/timestamp_to_event
(#2072).
🐛 Bug Fixes
- Stop encrypting redactions as it isn't spec compliant (#2098). Fixes vector-im/element-web#20460.
- Fix more function typings relating to key backup (#2086).
- Fix timeline search in MSC3089 getFileEvent() (#2085).
- Set a
deviceId
for VoIP example and useconst
/let
(#2090). Fixes #2083. Contributed by @SimonBrandner. - Fix incorrect TS return type for secret storage and key backup functions (#2082).
v15.3.0
==================================================================================================
✨ Features
- Improve fallback key behaviour (#2037).
- Add new room event filter fields (#2051).
- Add method to fetch /account/whoami (#2046).
🐛 Bug Fixes
- Filter out falsey opts in /relations API hits (#2059). Fixes vector-im/element-web#20137.
- Fix paginateEventTimeline resolve to boolean (#2054).
- Fix incorrect MSC3089 typings and add null checks (#2049).
v15.2.1
==================================================================================================
- 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
v15.2.0
==================================================================================================
✨ Features
- Remove support for
ArrayBuffer
in unstable MSC3089createFile()
andcreateNewVersion()
and instead use same content types as handled byMatrixClient.uploadContent()
. This enables support for Node.js. (#2014). - Support for password-based backup on Node.js (#2021).
- Add optional force parameter when ensuring Olm sessions (#2027).
🐛 Bug Fixes
- Fix call upgrades (#2024). Contributed by @SimonBrandner.
v15.1.1
==================================================================================================
🐛 Bug Fixes
- Fix edit history being broken after editing an unencrypted event with an encrypted event (#2013). Fixes vector-im/element-web#19651 and vector-im/element-web#19651. Contributed by @aaronraimist.
- Make events pagination responses parse threads (#2011). Fixes vector-im/element-web#19587 and vector-im/element-web#19587.
v15.1.0
==================================================================================================
🦖 Deprecations
- Mark old verification methods as deprecated (#1994).
✨ Features
- Try to set a sender on search result events if possible (#2004).
- Port some changes from group calls branch to develop (#2001). Contributed by @SimonBrandner.
- Fetch room membership from server rather than relying on stored data (#1998).
- Add method to fetch the MSC3266 Room Summary of a Room (#1988).
🐛 Bug Fixes
- Don't show
Unable to access microphone
when cancelling screensharing dialog (#2005). Fixes vector-im/element-web#19533 and vector-im/element-web#19533. Contributed by @SimonBrandner. - Strip direction override characters from display names (#1992). Fixes vector-im/element-web#1712 and vector-im/element-web#1712.
v15.0.0
===================================================================================================
🚨 BREAKING CHANGES
- Use
ICallFeedOpts
in theCallFeed
constructor. To construct a newCallFeed
object you have to passICallFeedOpts
e.g. `const callFeed = new CallFeed({client (#1964). Contributed by SimonBrandner.
✨ Features
- Make threads use 'm.thread' relation (#1980).
- Try to answer a call without video if we can't access the camera (#1972). Fixes vector-im/element-web#17975 and vector-im/element-web#17975. Contributed by SimonBrandner.
- Make
opts
inimportRoomKeys()
optional (#1974). Contributed by SimonBrandner. - Enable TypeScript declaration maps (#1966). Contributed by Alexendoo.
🐛 Bug Fixes
- Fix
requestVerificationDM
with chronologicalpendingEventOrdering
(#1943). Contributed by freaktechnik.
v14.0.1
===================================================================================================
🚨 BREAKING CHANGES
- Support for call upgrades.
setLocalVideoMuted()
andsetMicrophoneMuted()
are nowasync
and return the new mute state (#1827). Contributed by SimonBrandner.
✨ Features
- Implement file versioning for tree spaces (#1952).
- Allow answering calls without audio/video (#1950). Contributed by SimonBrandner.
- Add
bound
toIThreepid
(#1941). Contributed by SimonBrandner. - Add
trusted_locally
toTrustInfo
(#1942). Contributed by SimonBrandner.
🐛 Bug Fixes
- Fix incorrect return value type in getJoinedRooms() (#1959). Contributed by psrpinto.
- Make sure to set
callLengthInterval
only once (#1958). Fixes vector-im/element-web#19221 and vector-im/element-web#19221. Contributed by SimonBrandner. - Fix event partitioning from non threading ready clients (#1948).
- Ensure unencrypted fields get exposed by getEffectiveEvent() (#1938). Fixes vector-im/element-web#19062 and vector-im/element-web#19062.
v14.0.0
=============================================================================================================
🚨 BREAKING CHANGES
- Support for call upgrades.
setLocalVideoMuted()
andsetMicrophoneMuted()
are nowasync
and return the new mute state (#1827). Contributed by SimonBrandner.
✨ Features
- Implement file versioning for tree spaces (#1952).
- Allow answering calls without audio/video (#1950). Contributed by SimonBrandner.
- Add
bound
toIThreepid
(#1941). Contributed by SimonBrandner. - Add
trusted_locally
toTrustInfo
(#1942). Contributed by SimonBrandner.
🐛 Bug Fixes
- Fix incorrect return value type in getJoinedRooms() (#1959). Contributed by psrpinto.
- Make sure to set
callLengthInterval
only once (#1958). Fixes vector-im/element-web#19221 and vector-im/element-web#19221. Contributed by SimonBrandner. - Fix event partitioning from non threading ready clients (#1948).
- Ensure unencrypted fields get exposed by getEffectiveEvent() (#1938). Fixes vector-im/element-web#19062 and vector-im/element-web#19062.
v13.0.0
===================================================================================================
✨ Features
- Add
getHistoryVisibility()
andgetGuestAccess()
(#1940). Contributed by SimonBrandner. - Add
getBuffer()
toQRCodeData
(#1927). Contributed by SimonBrandner. - Added
createDataChannel()
andCallEvent.DataChannel
toMatrixCall
for creating and listening for WebRTC datachannels. (#1929). Contributed by robertlong. - Add file locking to MSC3089 branches (#1909).
- Add
hasBeenCancelled
toVerificationBase
(#1915). Contributed by SimonBrandner. - Add
ISasEvent
(#1908). Contributed by SimonBrandner. - Count notifications in encrypted rooms client-side (#1872). Fixes vector-im/element-web#15393 and vector-im/element-web#15393. Contributed by SimonBrandner.
- Exclude opt-in Element performance metrics from encryption (#1897).
🐛 Bug Fixes
- Fix race on automatic backup restore (#1936). Fixes vector-im/element-web#17781 and vector-im/element-web#17781.
v12.5.0
===================================================================================================
✨ Features
- [Release] Exclude opt-in Element performance metrics from encryption (#1901).
- Give
MatrixCall
the capability to emitLengthChanged
events (#1873). Contributed by SimonBrandner. - Improve browser example (#1875). Contributed by psrpinto.
- Give
CallFeed
the capability to emit on volume changes (#1865). Contributed by SimonBrandner.
🐛 Bug Fixes
- Fix verification request cancellation (#1871).
v12.4.1
===================================================================================================
🔒 SECURITY FIXES
- Fix a security issue with message key sharing. See https://matrix.org/blog/2021/09/13/vulnerability-disclosure-key-sharing for details.
v12.4.0
===================================================================================================
🦖 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).
✨ Features
- Add method for including extra fields when uploading to a tree space (#1850).
🐛 Bug Fixes
- Fix broken voice calls, no ringing and broken call notifications (#1858). Fixes vector-im/element-web#18578 vector-im/element-web#18538 and vector-im/element-web#18578. Contributed by SimonBrandner.
- Revert "Fix glare related regressions" (#1857).
- Fix glare related regressions (#1851). Fixes vector-im/element-web#18538 and vector-im/element-web#18538. Contributed by SimonBrandner.
- Fix temporary call messages being handled without call (#1834). Contributed by Palid.
- Fix conditional on returning file tree spaces (#1841).
v12.3.1
===================================================================================================
🐛 Bug Fixes
- Fix multiple VoIP regressions (#1860).
v12.3.0
===================================================================================================
✨ Features
- Support for MSC3291: Muting in VoIP calls (#1812). Contributed by SimonBrandner.
- Support for screen-sharing using multi-stream VoIP (MSC3077) (#1685). Contributed by SimonBrandner.
- Handle DTMF support (#1813). Contributed by SimonBrandner.
🐛 Bug Fixes
- [Release] Fix glare related regressions (#1854). Contributed by SimonBrandner.
- Fix the types in shipped package (#1842). Fixes vector-im/element-web#18503 and vector-im/element-web#18503.
- Fix error on turning off screensharing (#1833). Fixes vector-im/element-web#18449. Contributed by SimonBrandner.
- Fix blank profile in join events (#1837). Fixes vector-im/element-web#18321.
- fix TURN by fixing regression preventing multiple ICE candidates from sending. (#1838).
- Send
user_hangup
reason if the opponent supports it (#1820). Fixes vector-im/element-web#18219. Contributed by SimonBrandner. - Apply hidden char check to rawDisplayName too (#1816).
- Only clear bit 63 when we create the IV (#1819).
v12.2.0
===================================================================================================
✨ Features
- Improve calculateRoomName performances by using Intl.Collator #1801
- Switch callEventHandler from listening on
event
toRoom.timeline
#1789 - Expose MatrixEvent's internal clearEvent as a function #1784
🐛 Bug Fixes
- Clean up Event.clearEvent handling to fix a bug where malformed events with falsey content wouldn't be considered decrypted #1807
- Standardise spelling and casing of homeserver, identity server, and integration manager #1782
v12.1.0
================================================================================================== Full Changelog
- No changes from rc.1
Configuration
-
If you want to rebase/retry this MR, click this checkbox.
This MR has been generated by Renovate Bot.