Releases: matrix-org/matrix-ios-sdk
Releases · matrix-org/matrix-ios-sdk
v0.20.0
Changes in 0.20.0 (2021-09-09)
✨ Features
- MXRestClient: Add previewForURL method which fetches an MXURLPreview. (#888)
🙌 Improvements
- MXStore: Introduce loadRoomMessages async method to lazy load room messages. (#4382)
- MXStore: Introduce loadReceiptsForRoom async method to lazy load room receipts. (#4383)
- MXTools: Add fileSizeToString function that uses NSByteCountFormatter. (#4479)
- MXFileStore: Synchronize creation of room message, outgoing room messages and room receipts data. (#4788)
🐛 Bugfixes
- MXUser.m: Add a property
latestUpdateTS
to update the user's avatar and displayname only when event.originServerTs > latestUpdateTS. Contributed by Anna. (#1207) - MXSession: Revert state after processing background cache. (#4021)
- Prevent expired verification requests from showing when opening the app. (#4472)
- Don't show personal avatar in rooms when not explicitly set (#4766)
- MXMemoryStore: Fix unexpected room unread count zeroing. (#4796)
- MXCrossSigning.setupWithPassword failure block not called from the main thread. (#4804)
- MXStore:
getEventReceipts
method is now async.
MXRoom:getEventReceipts
method is now async. (#4383)
v0.19.8
Changes in 0.19.8 (2021-08-26)
✨ Features
- MxNotificationCenter: For new account notification settings and keywords support, added updatePushRuleActions and addContentRuleWithMatchingRuleIdAndPattern. Also fixed the url encoding on ruleId. (#4467)
🙌 Improvements
v0.19.7
Changes in 0.19.7 (2021-08-11)
🙌 Improvements
- MXRoomSummaryUpdater: Add variants of updateSummaryDisplayname and updateSummaryAvatar methods that can exclude specified user IDs. (#4609)
🐛 Bugfixes
- Tests: Fix a crash in various tests from a missing
storeMaxUploadSize
method. (#1175) - MXAggregations: Fixes reactions not being updated from bundled relationships. (#3884)
- MXSession: Fix
fixRoomsSummariesLastMessage
method for last messages and improve it to use a hash not to run every time (#4440) - VoIP: Fix detection of other party when joined the room. (#4664)
- MXRoomState: Fix a crash on
aliases
getter. (#4678) - MXOlmDevice: Fix a crash on
sessionIdsForDevice
method. (#4679)
- SSO: Stable ids for MSC 2858. (#4362)
- MXRestClient: Removed /send_relation to manage reactions as it was never implemented. (#4507)
🧱 Build
- CHANGES.md: Use towncrier to manage the change log. More info in CONTRIBUTING. (#1196, #4393)
📄 Documentation
- Convert CHANGES and CONTRIBUTING to MarkDown. (#4393)
v0.19.6
✨ Features
*
🙌 Improvements
*
🐛 Bugfix
- MXCryptoStore: Keep current store version after resetting data to avoid dead state on an initial sync (element-hq/element-ios/issues/4594).
- Prevent session pause until reject/hangup event is sent (element-hq/element-ios/issues/4612).
- Only post identity server changed notification if the server actually changed.
- Fix audio routing issues for Bluetooth devices (element-hq/element-ios/issues/4622).
*
🗣 Translations
*
🧱 Build
*
Others
- Separated CI jobs into individual actions
Improvements:
v0.19.5
✨ Features
*
🙌 Improvements
- MXRoomSummary: Cache local unread event count (element-hq/element-ios/issues/4585).
🐛 Bugfix
- MXCryptoStore: Use UI background task to make sure that write operations complete (element-hq/element-ios/issues/4579).
*
🗣 Translations
*
🧱 Build
*
Others
*
Improvements:
v0.19.4
✨ Features
*
🙌 Improvements
- MXTools: Default to 1080p when converting a video (element-hq/element-ios/issues/4478).
- MXEvent: add support for voice messages
- MXRoom: Add support for sending slow motion videos using AVAsset (element-hq/element-ios/issues/4483).
- MXSendReplyEventStringsLocalizable: Added senderSentAVoiceMessage property
🐛 Bugfix
- Fix QR self verification with QR code (#1147)
- VoIP: Check for virtual users on attended call transfers.
- MXBackgroundCryptoStore: Remove read-only Realm and try again if Olm account not found in crypto store (element-hq/element-ios/issues/4534).
- MXSDKOptions: Add videoConversionPresetName to customise video conversion quality.
- MXRoom: Added duration and sample parameters on the sendVoiceMessage method (element-hq/element-ios/issues/4090)
🗣 Translations
*
🧱 Build
*
Others
- Fixed a nullability warning and some header warnings.
Improvements:
v0.19.3
✨ Features
*
🙌 Improvements
- MXDehydrationService: Support full rehydration feature (element-hq/element-ios/issues/1117).
- MXSDKOptions: Add wellknownDomainUrl to customise the domain for wellknown (vector-im/element-ios/issues/#4489).
- MXSession: Refresh homeserverWellknown on every start.
- MXRoom: Added support for posting
m.image
s with BlurHash (MSC 2448). - VoIP: Implement bridged version for call transfers.
- VoIP: Implement MXiOSAudioOutputRouter.
🐛 Bugfix
*
- MXCall:
audioToSpeaker
property removed. UseaudioOutputRouter
instead. - MXCallStackCall:
audioToSpeaker
property removed. Audio routing should be handled high-level.
🗣 Translations
*
🧱 Build
*
Others
*
Improvements:
v0.19.2
v0.19.1
✨ Features
*
🙌 Improvements
- MXRoomLastMessage: Use MXKeyProvider methods to encrypt/decrypt last message dictionary.
- VoIP: Change hold direction to send-only.
- Encrypted Media: Remove redundant and undocumented mimetype fields from encrypted attachments (element-hq/element-ios/issues/4303).
- MXRecoveryService: Expose checkPrivateKey to validate a private key (element-hq/element-ios/issues/4430).
- VoIP: Use headphones and Bluetooth devices when available for calls.
🐛 Bugfix
- MXSession: Fix app that can fail to resume (element-hq/element-ios/issues/4417).
- MXRealmCryptoStore: Run migration once before opening read-only Realms (element-hq/element-ios/issues/4418).
- VoIP: Handle offers when peer connection is stable (element-hq/element-ios/issues/4421).
- MXEventTimeline: Fix regression on clear cache where the last message of an encrypted room is not encrypted.
- MXBackgroundSyncService: Make credentials public (element-hq/element-ios/issues/3695).
- MXCredentials: Implement equatable & hashable methods (element-hq/element-ios/issues/3695).
- MXRoomSummary:
lastMessageEvent
property removed for performance reasons (element-hq/element-ios/issues/4360). - MXRoomSummary: All properties about lastMessage are moved into
lastMessage
property. - MXSession: Does not compute anymore last events for every room summaries by default. Use -[MXSession eventWithEventId:inRoom:success:failure:] method to load the last event for a room summary.
- MXRoom: Added method for seding voice messages (element-hq/element-ios/issues/4090).
- MXMediaManager: Added
mimeType
param to download encrypted media methods (element-hq/element-ios/issues/4303). - MXEncryptedContentFile:
mimetype
parameter removed (element-hq/element-ios/issues/4303). - MXEncryptedAttachments:
mimetype
parameters removed from encrypt attachment methods (element-hq/element-ios/issues/4303).
🗣 Translations
*
🧱 Build
- build.sh: Include debug symbols when building XCFramework
Others
*
Improvements:
v0.19.0
✨ Features
- Spaces: Support Space room type (element-hq/element-ios/issues/4069).
🙌 Improvements
- MXSession: Cache initial sync response until it is fully handled (element-hq/element-ios/issues/4317).
- MXStore: New commit method accepting a completion block.
- MXCrypto: Decrypt events asynchronously and no more on the main thread )(element-hq/element-ios/issues/4306).
- MXSession: Add the decryptEvents method to decypt a bunch of events asynchronously.
- MXSession: Make the eventWithEventId method decrypt the event if needed.
- MXEventTimeline: Add NSCopying implementation so that another pagination can be done on the same set of data.
- MXCrypto: eventDeviceInfo: Do not synchronise anymore the operation with the decryption queue.
- MXRoomSummary: Improve reset resetLastMessage to avoid pagination loop and to limit number of decryptions.
- MXSession: Limit the number of decryptions when processing an initial sync (element-hq/element-ios/issues/4307).
- Adapt sync response models to new sync API (element-hq/element-ios/issues/4309).
- MXKeyBackup: Do not reset the backup if forceRefresh() is called too early.
- Pod: Update Realm to 10.7.6.
- Pod: Update Jitsi to 3.5.0.
- Pod: Update OLMKit to 3.2.4.
- MXRealmCryptoStore: Use Realm instances as read-only in background store (element-hq/element-ios/issues/4352).
- MXLog: centralised logging facility, use everywhere instead of NSLog (element-hq/element-ios/issues/4351).
🐛 Bugfix
- MXRoomSummary: Fix decryption of the last message when it is edited (element-hq/element-ios/issues/4322).
- MXCall: Check remote partyId for select_answer events (element-hq/element-ios/issues/4337).
- MXSession: Fix used initial sync cache.
- MXRoom: MXRoom.outgoingMessages does not decrypt messages anymore. Use MXSession.decryptEvents to get decrypted events.
- MXSession: [MXSession decryptEvent:inTimeline:] is deprecated, use [MXSession decryptEvents:inTimeline:onComplete:] instead.
- MXCrypto: [MXCrypto decryptEvent:inTimeline:] is deprecated, use [MXCrypto decryptEvents:inTimeline:onComplete:] instead.
- MXCrypto: [MXCrypto hasKeysToDecryptEvent:] is now asynchronous.
🗣 Translations
*
🧱 Build
*
Others
*
Improvements: