Releases: matrix-org/matrix-ios-sdk
Releases · matrix-org/matrix-ios-sdk
v0.16.1
Improvements:
- MXHTTPClient: Log HTTP requests methods.
- MXCrypto: Make trustLevelSummaryForUserIds async (element-hq/element-ios/issues/3126).
- MXJingleCallAudioSessionConfigurator: Remove workaround since it is no longer needed (PR #815).
Bug fix:
- Fix race condition in MXSecretShareManager (element-hq/element-ios/issues/3123).
- Too much MXDeviceInfoTrustLevelDidChangeNotification and MXCrossSigningInfoTrustLevelDidChangeNotification (element-hq/element-ios/issues/3121).
- VoiP: Fix remote ice candidates being added before remote description is setup (element-hq/element-ios/issues/1784).
- MXDeviceListOperationsPool: Post MXDeviceListDidUpdateUsersDevicesNotification notification only for new changes never seen before (element-hq/element-ios/issues/3120).
- MXIdentityService: Fix registration by email and all IS services by fixing Open Id token.
API break:
- MXCrypto: trustLevelSummaryForUserIds: is now async.
v0.16.0
Changes in Matrix iOS SDK in 0.16.0 (2020-04-17)
Improvements:
- Cross-Signing: Add a new module, MXCrossSigning, to handle device cross-signing (element-hq/element-ios/issues/2890).
- Verification by DM: Support QR code (element-hq/element-ios/issues/2921).
- MXCrypto: Change the threading model to make [MXCrypto decryptEvent:] less blocking.
- MXCrypto: Restart broken Olm sessions (MSC1719) (element-hq/element-ios/issues/2129).
- MXCrypto: Expose devicesForUser.
- MXCrypto: the
setDeviceVerification
method now downloads all user's devices if the device is not yet known. - MXCrypto: Add the option to disable sending key share requests (
[MXCrypto setOutgoingKeyRequestsEnabled:]
). - MXRestClient: Use r0 APIs for crypto endpoints (PR #826).
- MXDeviceList: Post
MXDeviceListDidUpdateUsersDevicesNotification
notification when users devices list are updated. - MXSession: Add credentials, myUserId and myDeviceId shorcuts.
- MXSession: Add createRoomWithParameters with a MXRoomCreationParameters model class.
- MXRoom: Add a method to retrieve trusted members count in an encrypted room.
- MXRoomCreationParameters: Support the initial_state parameter and allow e2e on room creation (element-hq/element-ios/issues/2943).
- MXRoomSummary: Add the trust property to indicate trust in other users and devices in the room (element-hq/element-ios/issues/2906).
- Aggregations: Implement m.reference aggregations, aka thread (MSC1849).
- MXStore: Add a method to get related events for a specific event.
- MXPublicRoom: Add canonical alias property.
- MXLogger: Add a parameter to indicate the number of log files.
- MXThrottler: Add this tool class to throttle actions.
- Make enums conform to
Equatable
/Hashable
where applicable.
Bug fix:
- MXEventType: Fix Swift refinement.
- MXCrypto: Fix users keys download that can fail in some condition
- MXCryptoStore does not store device.algorithm (element-hq/element-ios#2896).
API break:
- MXCrypto: Rename MXDeviceVerificationManager to MXKeyVerificationManager.
- MXCrypto: the
downloadKeys
method now returns users cross-signing keys. - MXDeviceInfo: the
verified
property has been replaced bytrustLevel
. - MXSession & MXRestClient: the
createRoom
method with a long list of parameters
has been replaced bycreateRoomWithParameters
.
v0.15.2
Improvements:
- Add macOS target with unit tests.
Bug fix:
- MXCallAudioSessionConfigurator: Fix compilation issue with macOS.
- MXRoomSummary: Fix potential crash when
_lastMessageOthers
is null.
API break:
- MXCallAudioSessionConfigurator: Now unavailable for macOS.
v0.15.1
Improvements:
- Well-known: Expose "m.integrations" according to MSC1957 (element-hq/element-ios#2815).
- MXSession: Expose and store homeserverWellknown.
- SwiftMatrixSDK: Add missing start(withSyncFilter:) refinement to MXSession.swift.
Bug fix:
- MXIdentityServerRestClient: Match registration endpoint to the IS r0.3.0 spec (element-hq/element-ios#2824).
v0.15.0
Improvements:
- MX3PidAddManager: Add User-Interactive Auth to /account/3pid/add (element-hq/element-ios#2744).
- MXSession: On resume, make the first /sync request trigger earlier (element-hq/element-ios#2793).
- MXCrypto: Do not fail to decrypt when there is nothing to decrypt (redacted events).
- MXBackgroundModeHandler: Update interface and now return a MXBackgroundTask, a protocol describing a background task regardless of the platform used.
Bug fix:
- Room members who left are listed with the actual members (element-hq/element-ios#2737).
- MX3PidAddManager: Add User-Interactive Auth to /account/3pid/add (element-hq/element-ios#2744).
- MXHTTPOperation: Make urlResponseFromError return the url response in case of MXError.
- MXHTTPOperation: Fix a crash in
-mutateTo:
method when operation parameter is nil. - VoIP: Fix regression when using a TURN server (element-hq/element-ios#2796).
API break:
- MXBackgroundModeHandler: Update interface and now use a single method that return a MXBackgroundTask.
v0.14.0
Improvements:
- MXServiceTerms: A class to support MSC2140 (Terms of Service API) (element-hq/element-ios#2600).
- MXRestClient: Remove identity server URL fallback to homeserver one's when there is no identity server configured.
- MXRestClient: Add new APIs from MSC2290 (matrix-org/matrix-spec-proposals/pull/2290).
- MXHTTPClient: Improve M_LIMIT_EXCEEDED error handling: Do not wait to try again if the mentioned delay is too long.
- MXEventTimeline: The roomEventFilter property is now writable (element-hq/element-ios#2615).
- VoIP: Make call start if there is no STUN server.
- MXMatrixVersions: Add doesServerRequireIdentityServerParam and doesServerAcceptIdentityAccessToken properties.
- MXMatrixVersions: Support r0.6.0. Add doesServerSupportSeparateAddAndBind (element-hq/element-ios#2718).
- Create MXIdentityServerRestClient and MXIdentityService to manage identity server requests (element-hq/element-ios#2647).
- MXIdentityService: Support identity server v2 API. Handle identity server v2 API authentification and use the hashed v2 lookup API for 3PIDs (element-hq/element-ios#2603 and /element-hq/element-ios#2652).
- MXHTTPClient: Add access token renewal plus request retry mechanism.
- MXHTTPClient: Do not retry requests if the host is not valid.
- MXAutoDiscovery: Add initWithUrl contructor.
- MX3PidAddManager: New class to handle add 3pids to HS and to bind to IS.
- Privacy: Store Identity Server in Account Data (MSC2230)(element-hq/element-ios#2665).
- Privacy: Lowercase emails during IS lookup calls (element-hq/element-ios#2696).
- Privacy: MXRestClient: Use
id_access_token
in CS API when required (element-hq/element-ios#2704). - Privacy: Sending Third-Party Request Tokens via the Homeserver (MSC2078).
API break:
- MXRestClient: Remove identity server requests. Now MXIdentityService is used to perform identity server requests.
- MXRestClient: requestTokenForPhoneNumber returns an additional optional parameter (
submitUrl
).
Bug Fix:
- Send kMXSessionCryptoDidCorruptDataNotification from the main thread.
v0.13.1
Improvements:
- MXError: Expose httpResponse.
- Soft logout: Handle new CS API error code (element-hq/element-ios/issues/2584).
- MXRoomCreateContent: Add missing fields
room_version
andm.federate
(Note:creator
field becomes optional (because of MSC2175)). - Logs: Remove MXJSONModelSet warnings for MXRoomMemberEventContent and MXGroupProfile.
- Aggregations: Expose reaction history API.
Bug Fix:
- Crypto: Fix a race condition that prevented message from being sent (element-hq/element-ios/issues/2541).
- MXRoom: storeLocalReceipt: Add a sanity check to avoid crash.
v0.13.0
Improvements:
- MXHTTPClient: support multiple SSL pinning modes (none/public key/certificate)
- MXHTTPClient: Enable the certificate pinning mode by default as soon as some certificates are present in the application bundle.
- MXHTTPClient: Add a new notification name
kMXHTTPClientMatrixErrorNotification
posted on each Matrix error. - Join Room: Support via parameters to better handle federation (element-hq/element-ios/issues/2547).
- MXEvent: Create a MXEventUnsignedData model for
MXEvent.unsignedData
. - MXEvent: Add relatesTo property.
- Aggregations: Create MXSession.MXAggregations to manage Matrix aggregations API.
- Add the Matrix errors related to the password policy.
- SwiftMatrixSDK: Migrate to Swift 5.0.
- VoIP: Stop falling back to Google for STUN (element-hq/element-ios/issues/2532).
- Storage: Isolate our realm DBs to avoid migration due to change in another realm.
- MXRoom: sendFile: Use the original file name by default.
- Push: MXRestClient: Add a method to get all pushers.
- MXRoomSummary: Send an update when the event id of a local echo changes.
- MXRoomSummary: Manage edits (element-hq/element-ios/issues/2583).
Bug Fix:
- MXMediaLoader: Disable trusting the built-in anchors certificates when the certificate pinning is enabled.
- Crypto: Device Verification: Name for 🔒 is "Lock" (element-hq/element-ios/issues/2526).
API break:
- MXEvent: unsignedData is now of type MXEventUnsignedData.
- MXRestClient: Remove the joinRoom method with least parameters.
- MXSession, MXRestClient: Add viaServers parameters to all joinRoom methods.
v0.12.5
Improvements:
- Crypto: Handle partially-shared sessions better (element-hq/element-ios/issues/2320).
- Crypto: Support Interaction Device Verification (element-hq/element-ios/issues/2322).
- MXSession: add a global notification posted when the account data are updated from the homeserver.
- VoIP: Use WebRTC framework included in Jitsi Meet SDK (element-hq/element-ios/issues/1483).
Bug Fix:
- MXRoomSummaryUpdater: Fix
MXRoomSummary.hiddenFromUser
property not being saved when associated room become tombstoned (element-hq/element-ios/issues/2148). - MXFileStore not loaded with 0 rooms, thanks to @asydorov (PR #647).