Releases: matrix-org/matrix-ios-sdk
Releases · matrix-org/matrix-ios-sdk
v0.7.9
Improvements:
- MXRestClient: Tell the server we support the msisdn flow login (with x_show_msisdn parameter).
- MXRoomState: Make isEncrypted implementation more robust.
- MXCrypto: add ensureEncryptionInRoom method.
Bug fixes:
- MXCrypto: Fix a crash due to a signedness issue in the count of one-time keys to upload.
- MXCall: In case of encrypted room, make sure that encryption is fully set up before answering (https://github.com/vector-im/riot-ios#1058)
v0.7.8
Improvements:
- Add a Swift API to most of SDK classes, thanks to @aapierce0 (PR #241).
- MXEvent: Add sentError property
- MXSession: add catchingUp flag in to order to indicate we are restarting the events stream ASAP, ie /sync with serverTimeout = 0
- MXRestClient: Support phone number validation.
- MXRestClient: Add API to remove 3rd party identifiers from user's information
- Crypto: Upgrade OLMKit(2.2.2).
- Crypto: Support of the devices list CS API. It should fix a lot of Unknown Inbound Session Ids.
- Crypto: Warn on unknown devices: Generate an error when the user sends a message to a room where there is unknown devices.
- Crypto: Support for blacklisting unverified devices, both per-room and globally.
- Crypto: Upload one-time keys on /sync rather than a timer.
- Crypto: Add [MXCrypto resetDeviceKeys] to clear devices keys. This should fix unexpected UISIs from our user.
- MXMyUser: do not force store update in case of user profile change. Let the store be updated once at the end of the sync.
Bug fixes:
- Corrupted room state: some joined rooms appear in Invites section (https://github.com/vector-im/riot-ios#1029).
- MXRestClient: submit3PIDValidationToken: The invalid token was not correctly handled.
- MXRestClient: Update HTTP retry policy (#245).
- MXRestClient: Self-signed homeserver: Fix regression on media hosted by server with CA certificate.
- Crypto: app may crash on clear cache because of the periodic uploadKeys (#234).
- Crypto: Invalidate device lists when encryption is enabled in a room (https://github.com/vector-im/riot-web#2672).
- Crypto: Sometimes some events are not decrypted when importing keys (#261).
- Crypto: After importing keys, the newly decrypted msg have a forbidden icon (https://github.com/vector-im/riot-ios#1028).
- Crypto: Tight loop of /keys/query requests (#264).
API breaks:
- MXPublicRoom: numJoinedMembers is now a signed integer.
- Rename [MXHTTPClient jitterTimeForRetry] into [MXHTTPClient timeForRetry:]
v0.7.7
Improvements:
- MXFileStore: Do not store the access token. There is no reason for that.
- Improve disk usage: Do not use NSURLCache. The SDK does not need this cache. This may save hundreds of MB.
- Add E2E keys export & import. This is managed by the new MXMegolmExportEncryption class.
Bug fixes:
- Fix a few examples in the README file, thanks to @aapierce0 (PR #230).
- Duplicated msg when going into room details (https://github.com/vector-im/riot-ios#970).
- App crashes a few seconds after a successful login (https://github.com/vector-im/riot-ios#965).
- Got stuck syncing forever (https://github.com/vector-im/riot-ios#1008).
- Local echoes for typed messages stay (far) longer in grey (https://github.com/vector-im/riot-ios#1007).
- MXRealmCryptoStore: Prevent storeSession & storeInboundGroupSession from storing duplicates (#227).
- MXRealmCryptoStore: Force migration of the db to remove duplicate olm and megolm sessions (#227).
v0.7.6
Improvements:
- MXRestClient: Made apiPathPrefix fully relative (#213).
- MXRestClient: Add contentPathPrefix property to customise path to content repository (#213).
- MXRestClient: Support the bulk lookup API (/bulk_lookup) of the identity server.
- MXEvent: Add isLocalEvent property.
- Crypto store migration: The migration from MXFileCryptoStore to MXRealmCryptoStore have been improved to avoid user from relogging.
Bug fixes:
- MXCrypto: App crash on "setObjectForKey: key cannot be nil"
API breaks:
- MXDecryptingErrorUnkwnownInboundSessionIdCode has been renamed to MXDecryptingErrorUnknownInboundSessionIdCode.
- MXDecryptingErrorUnkwnownInboundSessionIdReason has been renamed to MXDecryptingErrorUnknownInboundSessionIdReason.
- kMXRoomLocalEventIdPrefix has been renamed to kMXEventLocalEventIdPrefix
v0.7.5
Improvements:
- Matrix iOS SDK in now compatible with macOS, thanks to @aapierce0 (PR #218).
- MXEvent.sentState: add MXEventSentStatePreparing state.
- Google Analytics: Add an option to send some speed stats to GA (It is currently focused on app startup).
Bug fixes:
- Resend now function doesn't work on canceled upload file (https://github.com/vector-im/riot-ios#890).
- Riot is picking up my name within words and highlighting them (https://github.com/vector-im/riot-ios#893).
- MXHTTPClient: Handle correctly the case where the homeserver url is a subdirectory (#213).
- Failure to decrypt megolm event despite receiving the keys (https://github.com/vector-im/riot-ios#913).
- Riot looks to me like I'm sending the same message twice (https://github.com/vector-im/riot-ios#894).
v0.7.4
Improvements:
- Crypto: all crypto processing is now done outside the main thread.
- Crypto: keys are now stored in a realm db.
- Crypto: variuos bug fixes and improvements including:
- Retry decryption after receiving keys
- Avoid a packetstorm of device queries on startup
- Detect store corruption and send kMXSessionCryptoDidCorruptDataNotification
- Move MXKMediaManager and MXKMediaLoader at SDK level.
- MXEvent: Add sentState property (was previously in the kit).
- MXEvent: There is now an encrypting state.
- MXRoom now manages outgoing messages (was done at the kit level).
API breaks:
- MXRoom:
sendMessageOfType
is deprecated. Replaced by sendMessageWithContent.
v0.7.3
v0.7.2
v0.7.1
Bug fixes:
- fix Signal detected: 11 at [MXRoomState memberName:] level.
- [Register flow] Register with a mail address fails (https://github.com/vector-im/vector-ios#799).
v0.7.0
Improvements:
- Support end-to-end encryption. It is experimental and may not be reliable. You should not yet trust it to secure data. File transfers are not yet encrypted. Devices will not yet be able to decrypt history from before they joined the room. Once encryption is enabled for a room it cannot be turned off again (for now). Encrypted messages will not be visible on clients that do not yet implement encryption.
- MXSession: support
m.direct
type inaccount_data
(#149). Required to convert existing rooms to/from DMs (https://github.com/vector-im/vector-ios#715). - MXRoom: Handle inbound invites to decide if they are DMs or not (https://github.com/vector-im/vector-ios#713).
- MXSDKOptions: Create a "Build time options" section.
API improvements:
- MXRestClient: Add registerWithLoginType and loginWithLoginType which do the job with new CS auth api for dummy and password flows.
- MXRestClient: Support /logout API to invalidate an existing access token.
- MXRestClient: Register/login: Fill the initial_device_display_name field with the device name by default.
- MXRestClient: Support the
filter
parameter during a messages request (seeMXRoomEventFilter
object). Thecontains_url
filter is now used for events search. - MXHTTPOperation: Add the
mutateTo
method to be able to cancel any current HTTP request in a requests chain. - MXSession/MXRestClient: Support
invite
array,isDirect
flag andpreset
during the room creation. Required to tag explicitly the invite as DM or not DM (https://github.com/vector-im/vector-ios#714). - MXRoomState: Add the stateEventWithType getter method.
- MXSession: Add
directJoinedRoomWithUserId
to get the first joined direct chat listed in account data for this user. - MXRoom: Add
setIsDirect
method to convert existing rooms to/from DMs (https://github.com/vector-im/vector-ios#715). - MXRoom: Add
eventDeviceInfo
to get the device information related to an encrypted event. - MXRoom: Add API to create a temporary message event. This temporary event is automatically defined as
encrypted
when the room is encrypted and the encryption is enabled.
API break:
- MXRestClient: Remove
registerWithUser
andloginWithUser
methods which worked only with old CS auth API. - MXSession: Remove
privateOneToOneRoomWithUserId:
andprivateOneToOneUsers
(the developer must use thedirectRooms
property instead).