Skip to content

Releases: matrix-org/matrix-ios-sdk

v0.12.2

15 Feb 16:42
Compare
Choose a tag to compare

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

04 Jan 14:22
Compare
Choose a tag to compare

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:

v0.12.0

06 Dec 15:59
Compare
Choose a tag to compare
v0.12.0 Pre-release
Pre-release

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

31 Oct 13:56
Compare
Choose a tag to compare
v0.11.6 Pre-release
Pre-release

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:

v0.11.5

05 Oct 15:21
Compare
Choose a tag to compare

Changes in Matrix iOS SDK in 0.11.5 (2018-10-05)

Improvements:

  • MXSession: Add eventWithEventId:inRoom: method.
  • MXRoomState: Add pinnedEvents to list pinned events ids.
  • MXServerNotices: Add this class to get notices from the user homeserver.

v0.11.4

26 Sep 13:53
Compare
Choose a tag to compare
v0.11.4 Pre-release
Pre-release

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:

v0.11.3

27 Aug 18:50
Compare
Choose a tag to compare
v0.11.3 Pre-release
Pre-release

Bug fix:

  • MXJSONModel: Manage m.server_notice empty tag sent due to a bug server side (PR #556).

v0.11.2

27 Aug 18:49
Compare
Choose a tag to compare
v0.11.2 Pre-release
Pre-release

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:

v0.11.1

17 Aug 16:15
Compare
Choose a tag to compare
v0.11.1 Pre-release
Pre-release

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

10 Aug 15:27
Compare
Choose a tag to compare
v0.11.0 Pre-release
Pre-release

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:

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.