Releases: matrix-org/matrix-ios-sdk
Releases · matrix-org/matrix-ios-sdk
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.
v0.10.12
Improvements:
- MXCrypto: Add reRequestRoomKeyForEvent to re-request encryption keys to decrypt an event (element-hq/element-ios/issues/1879).
- Matrix filters: Create or update models for them: MXFilter, MXRoomFilter & MXRoomEventFilter.
- MXRestClient: Factorise processing and completion blocks handling.
- Read Receipts: Notify the app for implicit read receipts.
- Replace all current
__weak typeof(self) weakSelf = self;...
dances by MXWeakify / MXStrongifyAndReturnIfNil. - Doc: Update instructions to install Synapse used in SDK integration tests
Bug fix:
- MXRoomSummary: Fix a memory leak
- MXRoom: A message (or a media) can be sent whereas the user cancelled it. This can make the app crash.
- MXCrypto: Fix code that went into a dead-end.
- MXMegolmDecryption: Fix unused overridden var.
- Analytics: Do not report rooms count on every sync.
API break:
- Analytics: Rename all kMXGoogleAnalyticsXxx constant values to kMXAnalyticsXxx.
v0.10.9
v0.10.8
Improvements:
- Pod: Update realm version (#483)
- Render stickers in the timeline (element-hq/element-ios#1819).
Bug fixes:
- MatrixSDK/JingleCallStack: Upgrade the minimal iOS version to 9.0 because the WebRTC framework requires it (element-hq/element-ios#1821).
- App fails to logout on unknown token (element-hq/element-ios#1839).
- All rooms showing the same avatar (element-hq/element-ios#1673).
v0.10.7
Improvements:
- Make state event redaction handling gentler with homeserver (element-hq/element-ios#1823).
Bug fixes:
- Room summary is not updated after redaction of the room display name (element-hq/element-ios#1822).
v0.10.6
Improvements:
- SwiftMatrixSDK is now compatible with Swift 4, thanks to @johnflanagan-spok (PR #463).
- Crypto: Make sure we request keys for only valid matrix user ids.
- MXRoom: We should retry messages with same txn id when hitting 'resend' (element-hq/element-ios#1731).
- MXTools: Make isMatrixUserIdentifier support historical user ids (element-hq/element-ios#1743).
- MXRestClient: Add [MXRestClient eventWithEventId:] and [MXRestClient eventWithEventId:inRoom:].
- Improve server load on event redaction (element-hq/element-ios#1730).
- Make tests pass again.
Bug fixes:
- Push: Missing push notifications after answering a call (element-hq/element-ios#1757).
- Direct Chat: a room was marked as direct by mistake when I joined it.
- MXRoom: Canceled message can be sent if there is only one in the message sending queue.
- MXTools: Fix the regex part for the HS domain part in all isMatrixXxxxIdentifier methods.
- MXFileStore: commits can stay pending after [MXFileStore close].
- MXFileStore: Make sure data is flushed to files on [MXFileStore close].
- MXFileStore: The metadata (containing eventStremToken) can be not stored in files.
- MXOutgoingRoomKeyRequestManager: Fix crash reported by app store.
- MXCallKitAdapter: Clean better when releasing an instance.
API breaks:
- MXCrypto: Remove deviceWithDeviceId and devicesForUser methods because they return local values that may be out of sync. Use downloadKeys instead (element-hq/element-ios#1782).
- MXRestClient: Add a txnId parameter to the sendEventToRoom method to better follow the matrix spec.
v0.10.5
Improvements:
- Groups: Handle the user's groups and their data (element-hq/riot-meta#114).
- Groups: Add methods to accept group invite and leave it (element-hq/riot-meta#114).
- MXSession - Groups Flair: Handle the publicised groups for the matrix users (element-hq/riot-meta#118).
- MXRoomState - Groups Flair: Support the new state event type
m.room.related_groups
(element-hq/riot-meta#118). - Create SDK extensions: JingleCallStack and Google Analytics are now separated from the core sdk code (PR #432).
- MXFileStore: Run only one background task for [MXFileStore commit] (PR #436).
- MXTools - Groups: add
isMatrixGroupIdentifier
method. - Bumped SwiftMatrixSDK.podspec dependency to GZIP 1.2.1, thanks to @nrakochy.
- MXSDKOptions: Remove enableGoogleAnalytics. It is no more used (PR #448).
- Crypto: The crypto is now built by default in matrix-ios-sdk (PR #449).
Bug fixes:
- Room Summary Notification Count is not computed correctly until entering a room with at least one message (#409).
- Crypto: Fix crash when we try to generate a negative number of one time keys (PR #445).
- Medias not loading with an optional client certificate (#446), thanks to @r2d2leboss.
- Crypto: Fix crash when sharing keys on broken network (PR #451).
v0.10.4
Improvements:
- Crypto: Support the room key sharing (element-hq/riot-meta#113).
- Crypto: Store permanently incoming room key requests (element-hq/riot-meta#121).
- Crypto: use device_one_time_keys_count transmitted by /sync.
- MXCrypto: Add a proper onSyncCompleted method (PR #410).
- MXCrypto: Start it before syncing with the HS.
- MXCrypto: Add deviceWithDeviceId.
- MXCrypto: add ignoreKeyRequest & ignoreAllPendingKeyRequestsFromUser methods.
- Remove the support of the new_device event (PR #421).
- Remove AssetsLibrary framework use (deprecated since iOS 9).
- MXSession: kMXSessionDidSyncNotification now comes with MXSyncResponse object result returned by the homeserver.
Bug fixes:
- Fix many warnings regarding strict prototypes, thanks to @beatrupp.
API breaks:
- Remove CoreData implementation of MXStore (It was not used).
- MXCrypto: Make
decryptEvent
return decryption results (PR #426).
v0.10.3
v0.10.1
Improvements:
- Notifications: implement @room notifications (element-hq/riot-meta#119).
- MXTools: Add a reusable generateTransactionId method.
- MXRoom: Prevent multiple occurrences of the room id in the direct chats dictionary of the account data.
Bug fixes:
- CallKit - When I reject or answer a call on one device, it should stop ringing on all other iOS devices (element-hq/element-ios#1618).
API breaks:
- Crypto: Remove MXFileCryptoStore (We stopped to maintain it one year ago).