Skip to content

Releases: matrix-org/matrix-ios-sdk

v0.7.9

16 Mar 16:21
Compare
Choose a tag to compare

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:

v0.7.8

10 Mar 14:51
Compare
Choose a tag to compare

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:

API breaks:

  • MXPublicRoom: numJoinedMembers is now a signed integer.
  • Rename [MXHTTPClient jitterTimeForRetry] into [MXHTTPClient timeForRetry:]

v0.7.7

08 Feb 13:39
Compare
Choose a tag to compare

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:

v0.7.6

24 Jan 14:15
Compare
Choose a tag to compare

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

19 Jan 10:54
Compare
Choose a tag to compare

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:

v0.7.4

23 Dec 09:30
Compare
Choose a tag to compare

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

23 Nov 17:04
Compare
Choose a tag to compare

Improvements:

  • Crypto: Ignore reshares of known megolm sessions.

Bug fixes:

  • MXRestClient: Fix Delete Device API.

v0.7.2

22 Nov 15:14
Compare
Choose a tag to compare

Improvements:

  • MXRestClient: Add API to get information about user's devices.

Bug fixes:

v0.7.1

18 Nov 16:34
Compare
Choose a tag to compare

Bug fixes:

v0.7.0

17 Nov 17:03
Compare
Choose a tag to compare

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 in account_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 (see MXRoomEventFilter object). The contains_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 and preset 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 and loginWithUser methods which worked only with old CS auth API.
  • MXSession: Remove privateOneToOneRoomWithUserId: and privateOneToOneUsers (the developer must use the directRooms property instead).