Releases: matrix-org/matrix-js-sdk
v35.1.0
v35.0.0
🚨 BREAKING CHANGES
This release contains several breaking changes which will need code changes in your app. Most notably, initCrypto()
no longer exists and has been moved to initLegacyCrypto()
in preparation for the eventual removal of libolm. You can continue to use legacy libolm for now by calling initLegacyCrypto()
instead, but this will be removed soon.
You may also need to make further changes if you use more advanced APIs. See the individual PRs (listed in order of size of change) for specific APIs changed and how to migrate.
- Rename
MatrixClient.initCrypto
intoMatrixClient.initLegacyCrypto
(#4567). Contributed by @florianduros. - Support MSC4222
state_after
(#4487). Contributed by @dbkr. - Avoid use of Buffer as it does not exist in the Web natively (#4569). Contributed by @t3chguy.
🦖 Deprecations
- Deprecate remaining legacy functions and move
CryptoEvent.LegacyCryptoStoreMigrationProgress
handler (#4560). Contributed by @florianduros.
✨ Features
- Rename
MatrixClient.initCrypto
intoMatrixClient.initLegacyCrypto
(#4567). Contributed by @florianduros. - Avoid use of Buffer as it does not exist in the Web natively (#4569). Contributed by @t3chguy.
- Re-send MatrixRTC media encryption keys for a new joiner even if a rotation is in progress (#4561). Contributed by @hughns.
- Support MSC4222
state_after
(#4487). Contributed by @dbkr. - Revert "Fix room state being updated with old (now overwritten) state and emitting for those updates. (#4242)" (#4532). Contributed by @toger5.
🐛 Bug Fixes
- Fix age field check in event echo processing (#3635). Contributed by @stas-demydiuk.
v35.0.0-rc.0
🚨 BREAKING CHANGES
This release contains several breaking changes which will need code changes in your app. Most notably, initCrypto()
no longer exists and has been moved to initLegacyCrypto()
in preparation for the eventual removal of Olm. You can
continue to use legacy Olm crypto for now by calling initLegacyCrypto()
instead.
You may also need to make further changes if you use more advanced APIs. See the individual PRs (listed in order of size of change) for specific APIs changed and how to migrate.
- Rename
MatrixClient.initCrypto
intoMatrixClient.initLegacyCrypto
(#4567). Contributed by @florianduros. - Support MSC4222
state_after
(#4487). Contributed by @dbkr. - Avoid use of Buffer as it does not exist in the Web natively (#4569). Contributed by @t3chguy.
🦖 Deprecations
- Deprecate remaining legacy functions and move
CryptoEvent.LegacyCryptoStoreMigrationProgress
handler (#4560). Contributed by @florianduros.
✨ Features
- Rename
MatrixClient.initCrypto
intoMatrixClient.initLegacyCrypto
(#4567). Contributed by @florianduros. - Avoid use of Buffer as it does not exist in the Web natively (#4569). Contributed by @t3chguy.
- Re-send MatrixRTC media encryption keys for a new joiner even if a rotation is in progress (#4561). Contributed by @hughns.
- Support MSC4222
state_after
(#4487). Contributed by @dbkr. - Revert "Fix room state being updated with old (now overwritten) state and emitting for those updates. (#4242)" (#4532). Contributed by @toger5.
🐛 Bug Fixes
- Fix age field check in event echo processing (#3635). Contributed by @stas-demydiuk.
v34.13.0
🦖 Deprecations
- Deprecate
MatrixClient.isEventSenderVerified
(#4527). Contributed by @florianduros. - Add
restoreKeybackup
toCryptoApi
. (#4476). Contributed by @florianduros.
✨ Features
- Ensure we disambiguate display names which look like MXIDs (#4540). Contributed by @t3chguy.
- Add
CryptoApi.getBackupInfo
(#4512). Contributed by @florianduros. - Fix local echo in embedded mode (#4498). Contributed by @toger5.
- Add
restoreKeybackup
toCryptoApi
. (#4476). Contributed by @florianduros.
🐛 Bug Fixes
- Fix
RustBackupManager
remaining values after current backup removal (#4537). Contributed by @florianduros.
v34.13.0-rc.0
🦖 Deprecations
- Deprecate
MatrixClient.isEventSenderVerified
(#4527). Contributed by @florianduros. - Add
restoreKeybackup
toCryptoApi
. (#4476). Contributed by @florianduros.
✨ Features
- Ensure we disambiguate display names which look like MXIDs (#4540). Contributed by @t3chguy.
- Add
CryptoApi.getBackupInfo
(#4512). Contributed by @florianduros. - Fix local echo in embedded mode (#4498). Contributed by @toger5.
- Add
restoreKeybackup
toCryptoApi
. (#4476). Contributed by @florianduros.
🐛 Bug Fixes
- Fix
RustBackupManager
remaining values after current backup removal (#4537). Contributed by @florianduros.
v34.12.0
🦖 Deprecations
- Deprecate
MatrixClient.getKeyBackupVersion
(#4505). Contributed by @florianduros. - Deprecate unused callbacks in
CryptoCallbacks
(#4501). Contributed by @florianduros.
✨ Features
- Handle M_MAX_DELAY_EXCEEDED errors (#4511). Contributed by @AndrewFerr.
- Allow configuration of MatrixRTC timers when calling joinRoomSession() (#4510). Contributed by @hughns.
- When state says you've left ongoing call, rejoin (#4342). Contributed by @AndrewFerr.
- Remove redundant type arguments in function call (#4507). Contributed by @AndrewFerr.
- MatrixRTCSession: handle rate limit errors (#4494). Contributed by @AndrewFerr.
- Send/receive error details with widgets (#4492). Contributed by @AndrewFerr.
- Capture HTTP error response headers & handle Retry-After header (MSC4041) (#4471). Contributed by @AndrewFerr.
- Add RoomWidgetClient.sendToDeviceViaWidgetApi() (#4475). Contributed by @hughns.
v34.12.0-rc.0
🦖 Deprecations
- Deprecate
MatrixClient.getKeyBackupVersion
(#4505). Contributed by @florianduros. - Deprecate unused callbacks in
CryptoCallbacks
(#4501). Contributed by @florianduros.
✨ Features
- Handle M_MAX_DELAY_EXCEEDED errors (#4511). Contributed by @AndrewFerr.
- Allow configuration of MatrixRTC timers when calling joinRoomSession() (#4510). Contributed by @hughns.
- When state says you've left ongoing call, rejoin (#4342). Contributed by @AndrewFerr.
- Remove redundant type arguments in function call (#4507). Contributed by @AndrewFerr.
- MatrixRTCSession: handle rate limit errors (#4494). Contributed by @AndrewFerr.
- Send/receive error details with widgets (#4492). Contributed by @AndrewFerr.
- Capture HTTP error response headers & handle Retry-After header (MSC4041) (#4471). Contributed by @AndrewFerr.
- Add RoomWidgetClient.sendToDeviceViaWidgetApi() (#4475). Contributed by @hughns.
v34.11.1
Security
- Fixes for CVE-2024-50336 / GHSA-xvg8-m4x3-w6xr.
v34.10.0
🦖 Deprecations
- Deprecate
CreateSecretStorageOpts.keyBackupInfo
used inCryptoApi.bootstrapSecretStorage.
(#4474). Contributed by @florianduros. - Add CryptoApi.encryptToDeviceMessages() and deprecate Crypto.encryptAndSendToDevices() (#4380). Contributed by @hughns.
- Remove abandoned MSC3886, MSC3903, MSC3906 experimental implementations (#4469). Contributed by @t3chguy.
- Deprecate
MatrixClient.getDehydratedDevice
(#4467). Contributed by @florianduros. - Deprecate top level crypto events re-export (#4444). Contributed by @florianduros.
✨ Features
- Add CryptoApi.encryptToDeviceMessages() and deprecate Crypto.encryptAndSendToDevices() (#4380). Contributed by @hughns.
- Do not rotate MatrixRTC media encryption key when a new member joins a session (#4472). Contributed by @hughns.
- Avoid
<sender>|<session>
notation in log messages (#4473). Contributed by @richvdh. - Refactor/simplify Promises in MatrixRTCSession (#4466). Contributed by @AndrewFerr.
- Prepare delayed call leave events more reliably (#4447). Contributed by @AndrewFerr.
🐛 Bug Fixes
- Fix DelayedEventInfo type (#4446). Contributed by @AndrewFerr.
v34.10.0-rc.0
🦖 Deprecations
- Deprecate
CreateSecretStorageOpts.keyBackupInfo
used inCryptoApi.bootstrapSecretStorage.
(#4474). Contributed by @florianduros. - Add CryptoApi.encryptToDeviceMessages() and deprecate Crypto.encryptAndSendToDevices() (#4380). Contributed by @hughns.
- Remove abandoned MSC3886, MSC3903, MSC3906 experimental implementations (#4469). Contributed by @t3chguy.
- Deprecate
MatrixClient.getDehydratedDevice
(#4467). Contributed by @florianduros. - Deprecate top level crypto events re-export (#4444). Contributed by @florianduros.
✨ Features
- Add CryptoApi.encryptToDeviceMessages() and deprecate Crypto.encryptAndSendToDevices() (#4380). Contributed by @hughns.
- Do not rotate MatrixRTC media encryption key when a new member joins a session (#4472). Contributed by @hughns.
- Avoid
<sender>|<session>
notation in log messages (#4473). Contributed by @richvdh. - Refactor/simplify Promises in MatrixRTCSession (#4466). Contributed by @AndrewFerr.
- Prepare delayed call leave events more reliably (#4447). Contributed by @AndrewFerr.
🐛 Bug Fixes
- Fix DelayedEventInfo type (#4446). Contributed by @AndrewFerr.