Releases: matrix-org/matrix-ios-sdk
Releases · matrix-org/matrix-ios-sdk
v0.12.2
Changes in Matrix iOS SDK in 0.12.2 (2019-02-15)
Improvements:
- MXRestClient: Update CS API call to support event ids hashes in room version 3 (element-hq/element-ios#2194).
- MXRoom: Add a sendAudioFile API to send file using msgType "m.audio", thanks to N-Pex (PR #616).
- MXCrypto: Add key backup passphrase support (element-hq/element-ios#2127).
- MXCrypto: Key backup: Ignore all whitespaces in recovery key (element-hq/element-ios#2194).
- MXJSONModel: Use instancetype as return type of
modelFromJSON
initializer. - MXKeyBackup: Add MXKeyBackupStateNotTrusted state.
- MXKeyBackup: Do not reset MXKeyBackup.keyBackupVersion in error states.
- MXKeyBackup: Implement the true deleteKeyBackupVersion Client-Server API.
- MXKeyBackup: Declare backup trust using new
PUT /room_keys/version/{version}
API (element-hq/element-ios/issues/2223). - Crypto: Cancel share request on restore/import (vector-im/riot-ios/issues/#2232).
- Crypto: Improve key import performance (vector-im/riot-ios/issues/#2248).
Bug Fix:
- Crypto: Device deduplication method sometimes crashes (vector-im/riot-ios/issues/#2167).
- MXSession: A new invite to a direct chat that I left is not displayed as direct.
- MXSession/Swift: fix expected return type from createRoom.
- MXRealmCryptoStore: fix outgoingRoomKeyRequestWithRequestBody that was sometimes not able to find existing request.
API break:
- MXKeyBackup: Rename isKeyBackupTrusted to trustForKeyBackupVersion.
v0.12.1
Changes in Matrix iOS SDK in 0.12.1 (2019-01-04)
Improvements:
- MXCrypto: Use the last olm session that got a message (element-hq/element-ios/issues/2128).
- MXScanManager: Support the encrypted body (the request body is now encrypted by default using the server public key).
- MXMediaManager: Support the encrypted body.
Bug Fix:
- MXCryptoStore: Stop duplicating devices in the store (element-hq/element-ios/issues/2132).
- MXPeekingRoom: the room preview is broken (element-hq/element-ios/issues/2126).
v0.12.0
Improvements:
- MXCrypto: Add the MXKeyBackup module to manage e2e keys backup (element-hq/element-ios#2070).
- MXMediaManager/MXMediaLoader: Do not allow non-mxc content URLs.
- MXMediaManager: Add a constructor based on a homeserver URL, to handle directly the Matrix Content URI (mxc://...).
- MXSession: Add a MediaManager instance to handle the media stored on the Matrix Content repository.
- MXMediaManager: Support the media download from a Matrix Content Scanner (Antivirus Server).
- MXJSONModels: Add data models for Terms of service / privacy policy API (https://github.com/matrix-org/matrix-doc/blob/travis/msc/terms-api/proposals/1692-terms-api.md).
- Swift: Add explicit public initializer to MX3PID struct, thanks to @tladesignz (PR #594).
- Tests: Make MXRealmCryptoStore work the first time tests are launched on simulators for iOS 11 and higher.
- Add MXScanManager a media antivirus scanner (PR#600).
Bug Fix:
- MXRestClient: [avatarUrlForUser:success:failure]: the returned url is always nil, thanks to @asydorov (PR #580) and @giomfo.
- MXRoomSummary: fix null Direct Chat displayname / avatar issue caused by limited syncs.
- MXRoom: members methods don't respond after a failure.
- MXRealmCryptoStore: Make queries inside transactionWithBlock.
API break:
- MXMediaManager: [downloadMediaFromURL:andSaveAtFilePath:success:failure:] is removed, use [downloadMediaFromMatrixContentURI:withType:inFolder:success:failure] or [downloadThumbnailFromMatrixContentURI:withType:inFolder:toFitViewSize:withMethod:success:failure] instead.
- MXMediaManager: [downloadMediaFromURL:andSaveAtFilePath:] is removed, use [downloadMediaFromMatrixContentURI:withType:inFolder:] instead.
- MXMediaManager: [existingDownloaderWithOutputFilePath:] is removed, use [existingDownloaderWithIdentifier:] instead.
- MXMediaManager: [cachePathForMediaWithURL:andType:inFolder:] is removed, use [cachePathForMatrixContentURI:andType:inFolder:] instead.
- MXMediaLoader: the notification names "kMXMediaDownloadxxx" and "kMXMediaUploadxxx" are removed, use kMXMediaLoaderStateDidChangeNotification instead.
- MXMediaLoader: [downloadMediaFromURL:andSaveAtFilePath:success:failure] is removed, use [downloadMediaFromURL:withIdentifier:andSaveAtFilePath:success:failure] instead.
- MXRestClient: [urlOfContent:] and [urlOfContentThumbnail:toFitViewSize:withMethod:] are removed.
- The Matrix Content repository contants are moved to MXEnumConstants.h
- [urlOfIdenticon:] is moved from MXRestClient to MXMediaManager.
v0.11.6
Improvements:
- Upgrade OLMKit version (3.0.0).
- MXHTTPClient: Send Access-Token as header instead of query param (element-hq/element-ios/issues/2071).
- MXCrypto: Encrypt the messages for invited members according to the history visibility (#559)
- MXSession: When create a room as direct wait for room being tagged as direct chat before calling success block.
- CallKit is now disabled in China (PR #578).
- Add MXEncryptedContentFile and MXEncryptedContentKey classes.
- MXRestClient: Handle GET /_matrix/client/r0/profile/{userId} request.
Bug fix:
- MXEvent: Move
invite_room_state
to the correct place in the client-server API (element-hq/element-ios/issues/2010). - MXRoomSummaryUpdater: Fix minor issue in updateSummaryAvatar method.
- Left room is still displayed as "Empty room" in rooms list (element-hq/element-ios/issues/2082).
- Reply of reply with unexpected newlines renders badly (element-hq/element-ios/issues/2086).
v0.11.5
v0.11.4
Changes in Matrix iOS SDK in 0.11.4 (2018-09-26)
Improvements:
- MXRoom: Expose room members access in Swift (PR #562).
- MXPeekingRoom: Create a MXPeekingRoomSummary class to represent their summary data.
- MXRoomSummary: If no avatar, try to compute it from heroes.
- MXRoomSummary: If no avatar for an invited room, try to compute it from available state events.
- MXRoomSummary: Internationalise the room name computation for rooms with no name.
- MXRoomMember: Add Swift refinement for membership properties.
Bug fix:
- Lazy-Loading: Fix regression on peeking (element-hq/element-ios/issues/2035).
- MXRestClient: Fix get public rooms list Swift refinement.
- MXTools: Allow '@' in room alias (element-hq/element-ios/issues/1977).
v0.11.3
v0.11.2
Improvements:
- MXSession: Add the supportedMatrixVersions method getting versions of the specification supported by the homeserver.
- MXRestClient: Add testUserRegistration to check earlier if a username can be registered.
- MXSession: Add MXSessionStateSyncError state and MXSession.syncError to manage homeserver resource quota on /sync requests (element-hq/element-ios/issues/1937).
- MXError: Add kMXErrCodeStringResourceLimitExceeded to manage homeserver resource quota (element-hq/element-ios/issues/1937).
- MXError: Define constant strings for keys and values that can be found in a Matrix JSON dictionary error.
- Tests: MXHTTPClient_Private.h: Add method to set fake delay in HTTP requests.
Bug fix:
- People tab is empty in the share extension (element-hq/element-ios/issues/1988).
- MXError: MXError lost NSError.userInfo information.
v0.11.1
Improvements:
- Tests: Add DirectRoomTests to test direct rooms management.
Bug fix:
- Direct rooms can be lost on an initial /sync (element-hq/element-ios/issues/1983).
- Fix possible race conditions in direct rooms management.
- Avoid to create an empty filter on each [MXSession start:]
v0.11.0
Changes in Matrix iOS SDK in 0.11.0 (2018-08-10)
Improvements:
- MXSession: Add the option to use a Matrix filter in /sync requests ([MXSession startWithSyncFilter:]).
- MXSession: Add API to manage Matrix filters.
- MXRestClient: Add Matrix filter API.
- MXRoom: Add send reply with text message (element-hq/element-ios#1911).
- MXRoom: Add an asynchronous methods for liveTimeline, state and members.
- MXRoom: Add methods to manage the room liveTimeline listeners synchronously.
- MXRoomState: Add a membersCount property to store members stats independently from MXRoomMember objects.
- MXRoomSummary: Add a membersCount property to cache MXRoomState one.
- MXRoomSummary: Add a membership property to cache MXRoomState one.
- MXRoomSummary: add isConferenceUserRoom.
- MXStore: Add Obj-C annotations.
- MXFileStore: Add a setting to set which data to preload ([MXFileStore setPreloadOptions:]).
- Manage the new summary API from the homeserver( MSC: https://docs.google.com/document/d/11i14UI1cUz-OJ0knD5BFu7fmT6Fo327zvMYqfSAR7xs/edit#).
- MXRoom: Add send reply with text message (element-hq/element-ios#1911).
- Support room versioning (element-hq/element-ios#1938).
Bug fix:
- MXRestClient: Fix filter parameter in messagesForRoom. It must be sent as an inline JSON string.
- Sends read receipts on login (element-hq/element-ios/issues/1918).
API break:
- MXSession: [MXSession startWithMessagesLimit] has been removed. Use the more generic [MXSession startWithSyncFilter:].
- MXRoom: liveTimeline and state accesses are now asynchronous.
- MXCall: callee access is now asynchronous.
- MXRoomState: Remove displayName property. Use MXRoomSummary.displayName instead.
- MXRoomState: Create a MXRoomMembers property. All members getter methods has been to the new class.
- MXStore: Make the stateOfRoom method asynchronous.
- MXRestClient: contextOfEvent: Add a filter parameter.