-
Expose new methods
OlmMachine::set_room_settings
andOlmMachine::get_room_settings
. (#3042) -
Add new properties
session_rotation_period
andsession_rotation_period_msgs
tostore::RoomSettings
. (#3042) -
Fix bug which caused
SecretStorageKey
to incorrectly reject secret storage keys whose metadata lacked check fields. (#3046) -
Add new API
Device::encrypt_event_raw
that allows to encrypt an event to a specific device. (#3091)
-
Add method to mark a list of inbound group sessions as backed up:
CryptoStore::mark_inbound_group_sessions_as_backed_up
-
OlmMachine::toggle_room_key_forwarding
is replaced by two separate methods:-
OlmMachine::set_room_key_requests_enabled
, which controls whether outgoing room key requests are enabled, and: -
OlmMachine::set_room_key_forwarding_enabled
, which controls whether we automatically reply to incoming room key requests.
OlmMachine::is_room_key_forwarding_enabled
is updated to return the setting ofOlmMachine::set_room_key_forwarding_enabled
, whileOlmMachine::are_room_key_requests_enabled
is added to return the setting ofOlmMachine::set_room_key_requests_enabled
.(#2902)
-
-
Improve performance of
share_room_key
. (#2862) -
get_missing_sessions
: Don't block waiting for/keys/query
requests on blacklisted servers, and improve performance. (#2845) -
Generalize
olm::Session::encrypt
to accept any value implementingSerialize
for thevalue
parameter, instead of specificallyserde_json::Value
. Note that references toSerialize
-implementing types themselves implementSerialize
. -
Change the argument to
OlmMachine::receive_sync_changes
to be anEncryptionSyncChanges
struct packing all the arguments instead of many single arguments. The newnext_batch_token
field there should be thenext_batch
value read from the latest sync response. -
Handle missing devices in
/keys/claim
responses. (#2805) -
Add the higher level decryption method
decrypt_session_data
to theBackupDecryptionKey
type. -
Add a higher level method to create signatures for the backup info. The
OlmMachine::backup_machine()::sign_backup()
method can be used to add signatures to aRoomKeyBackupInfo
. -
Remove the
backups_v1
feature, backups support is now enabled by default. -
Use the
Signatures
type as the return value for theMegolmV1BackupKey::signatures()
method. -
Add two new methods to import room keys,
OlmMachine::store()::import_exported_room_keys()
for file exports andOlmMachine::backup_machine()::import_backed_up_room_keys()
for backups. TheOlmMachine::import_room_keys()
method is now deprecated. -
The parameter order of
OlmMachine::encrypt_room_event_raw
andOutboundGroupSession::encrypt
has changed,content
is now last- The parameter type of
content
has also changed, fromserde_json::Value
to&Raw<AnyMessageLikeEventContent>
- The parameter type of
-
Change the return value of
bootstrap_cross_signing
so it returns an extra keys upload request. The three requests must be sent in the order they appear in the return tuple. -
Stop logging large quantities of data about the
Store
during olm decryption. -
Remove spurious "Unknown outgoing secret request" warning which was logged for every outgoing secret request.
-
Clean up the logging of to-device messages in
share_room_key
. -
Expose new
OlmMachine::get_room_event_encryption_info
method. -
Add support for secret storage.
-
Add initial support for MSC3814 - dehydrated devices.
-
Mark our
OwnUserIdentity
as verified if we successfully import the matching private keys. -
The
OlmMachine::export_cross_signing_keys()
method now returns aResult
. This removes anunwrap()
from the codebase. -
Add support for the
hkdf-hmac-sha256.v2
SAS message authentication code. -
Ensure that the correct short authentication strings are used when accepting a SAS verification with the
Sas::accept()
method. -
Add a new optional
message-ids
feature which adds a unique ID to the content ofm.room.encrypted
event contents which get sent out. -
Disable the automatic-key-forwarding feature by default.
-
Add a new variant to the
VerificationRequestState
enum calledTransitioned
. This enum variant is used when aVerificationRequest
transitions into a concreteVerification
object. The concreteVerification
object is given as associated data in theTransitioned
enum variant. -
Replace the libolm backup encryption code with a native Rust version. This adds WASM support to the backups_v1 feature.
-
Add new API
store::Store::room_keys_received_stream
to provide updates of room keys being received. -
Add new method
identities::device::Device::first_time_seen_ts
that allows to get a local timestamp of when the device was first seen by the sdk (in seconds since epoch). -
When rejecting a key-verification request over to-device messages, send the
m.key.verification.cancel
to the device that made the request, rather than broadcasting to all devices. -
Expose
VerificationRequest::time_remaining
. -
For verification-via-emojis, return the word "Aeroplane" rather than "Airplane", for consistency with the Matrix spec.
-
Fix handling of SAS verification start events once we have shown a QR code.
-
Fix a bug which could cause generated one-time-keys not to be persisted.
-
Fix parsing error for
POST /_matrix/client/v3/keys/signatures/upload
responses generated by Synapse. -
Add new API
OlmMachine::query_keys_for_users
for generating out-of-band key queries. -
Rename "recovery key" to "backup decryption key" to avoid confusion with the secret-storage key which is also known as a recovery key.
This affects the
matrix_sdk_crypto::store::RecoveryKey
struct itself (now renamed toBackupDecryptionKey
, as well asBackupMachine::save_recovery_key
(nowsave_decryption_key
). -
Change the returned success value type of
BackupMachine::backup
fromOutgoingRequest
to(OwnedTransactionId, KeysBackupRequest)
.