Release Notes
5.0.1 - 2022-09-29
Fixed
- Socket handshake config cleared on logout
5.0.0 - 2022-09-01
Added
- Support for XCFrameworks for M1
4.3.2 - 2022-07-01
Fix
- Fix transition from mute to unmute on media object
- Fix event parsing for
NXMCustomEvent.customType
4.3.1 - 2022-05-09
Fix
- Fix
[NXMConversation sendMessage:message completionHandler:handler]forNXMMessageTypeImage,NXMMessageTypeAudio,NXMMessageTypeVideoandNXMMessageTypeFilemessage types.
4.3.0 - 2022-04-28
Added
pushNotificationTTLproperty added toNXMClientConfigto set TTL for push notifications.[NXMConversation sendMarkDeliveredMessage:message completionHandler:handler]method added to send delivery receipts.[NXMConversation sendMarkSeenMessage]now supports seen status for all messages.NXMMessageStatusTypeSubmitted,NXMMessageStatusTypeRejected,NXMMessageStatusTypeUndeliverablestates added toNXMMessageStatusEvent
4.2.1 - 2022-04-06
Fixed
[NXMClient uploadAttachmentWithType:name:data:completionHandler:]method to upload attachments returns with image data
4.2.0 - 2022-03-24
Added
- Support for
call:transferwithinNXMCall [NXMCallDelegate call:didTransfer:event:]to receive new call transfer event when call transferred to a new conversation.
Enhancements
- WebRTC dependency upgraded to version
84.0.22.
4.1.0 - 2022-02-25
Added
[NXMClient getDeviceId]to retrieve device identifier.
4.0.6 - 2022-02-15
Fixed
- Fix DSYM Warnings
4.0.5 - 2022-02-15
Added
- Bitcode Support
4.0.4 - 2022-01-14
Fixed
- Inbound call event processing queue defaults to non suspended
4.0.3 - 2021-12-13
Fixed
- Umbrella header.
4.0.2 - 2021-12-07
Fixed
- CocoaPods dependencies.
4.0.0 - 2021-12-06
Added
[NXMConversation sendMessage:completionHandler:]method to sendNXMMessage.[NXMClient uploadAttachmentWithType:name:data:completionHandler:]method to upload attachments.NXMMessagerepresents a message to send.NXMMessageTypefor messages of typetext,image,audio,video,file,template,vcardandcustom.NXMEventTypeMemberMessageStatus, a newNXMEventTypecase, represents a member message status event that can be received on anNXMConversation.
Enhancements
- WebRTC dependency upgraded to version
84.0.0. - Enforce direction for
NXMCallMemberStatusduring calls.
Changed
NXMDirectionTyperenamed toNXMChannelType.
Deprecated
[NXMConversation sendText:completionHandler:]method.[NXMConversation sendAttachmentWithType:name:data:completionHandler:]method.
3.3.0 - 2021-11-22
Added
NXMClientConfig'sapiPinningandwebsocketPinningoptional fields to enable HTTP and web-socket SSL pinning.[NXMPinningConfig fromPublicKeys:]method to create a public-key-based pinning configuration.NXMConnectionStatusReasonSSLPinningErrordescribing a client connection update due to an SSL pinning error.
Changed
- Minimum supported iOS version (
IPHONEOS_DEPLOYMENT_TARGET) bumped to10.3.
3.2.1 - 2021-11-08
Fixed
- Stash events while conversation is downloading to avoid missed events
3.2.0 - 2021-10-19
Added
NXMClientConfig.autoMediaReofferto allow to automatically reconnect media when network interfaces changes.[NXMClientConfig description]for a quickNXMClientConfig's instance description.NXMMediaConnectionStatusenumerate.[NXMConversationDelegate conversation:onMediaConnectionStateChange:legId:]to receive media connection state changed notification.[NXMConversation reconnectMedia]to trigger a media reconnection.[NXMClient reconnectCallWithConversationId:andLegId:completionHandler:]to reconnect a call given a conversation id and a leg id.NXMCall.conversationto get the conversation associated to a call.
Deprecated
[NXMClientConfig initWithApiUrl:websocketUrl:ipsUrl:].[NXMClientConfig initWithApiUrl:websocketUrl:ipsUrl:iceServerUrls:].[NXMClientConfig initWithApiUrl:websocketUrl:ipsUrl:useFirstIceCandidate:].[NXMClientConfig initWithApiUrl:websocketUrl:ipsUrl:iceServerUrls:useFirstIceCandidate].
3.1.0 - 2021-09-06
Added
[NXMClient inAppCallWithCallee:completionHandler:]method to perform in-app calls.[NXMClient serverCallWithCallee:customData:completionHandler:]method to perform server calls, optionally specifyingcustomData.
Enhancements
- Internal API calls optimized for conversation creation.
Deprecated
[NXMClient call:callHandler:completionHandler:]method.NXMCallHandlerenumerate.[NXMLogger getLogFileNames]method.
3.0.1 - 2021-07-12
Fixed
- Sending DTMF during calls.
- Prewarmed media termination.
Changed
NXMMemberEvent'smembersubstituted withmemberId.
3.0.0 - 2021-07-01
Added
- Added
NXMMemberSummaryreturned by[NXMConversation getMembersPageWithPageSize:order:completion:](paginated), representing a subset of member's information. - Added
NXMMemberEvent'sinvitedBythat represents the inviter name, if exists. - Added
NXMEventEmbeddedInfoto all events returned byNXMEvent'sembeddedInfoand containing theNXMUserlinked to the event. - Added
[NXMConversation getMemberWithMemberUuid:completion:]returning the member given its identifier.
Enhancements
- Allow 1K members on a conversation.
- Improved
callServersetup time by pre-warming leg. - Disabled media after RTC hangup event.
- Fixed text typing events handling.
Breaking changes
- Removed
NXMCallMember, replaced withNXMMember. - Removed
NXMCallMember'sstatus, moved to[NXMCall callStatusForMember:member:]. - Removed
[NXMCallMember mute:]converted into[NXMMember enableMute]and[NXMMember disableMute]. - Removed
NXMConversation'sallMembers(replaced with[NXMConversation getMembersPageWithPageSize:order:completion:](paginated)). - Removed
[NXMConversationUpdateDelegate conversation:didUpdateMember:withType:], replaced with[NXMConversationDelegate conversation:didReceiveMemberEvent:]with the following possible states:NXMMemberStateInvited,NXMMemberStateJoinedandNXMMemberStateLeft. Can be subscribed to usingNXMConversation'sdelegate. - Renamed
NXMCall'sotherCallMemberstoallMembers. - Renamed
NXMCall'smyCallMembertomyMember. - The
legsendpoint should be included inaclpaths onJWTtoken creation.
2.5.0 - 2020-11-23
Changed
- Renamed
NXMCallMemberStatusCanceledtoNXMCallMemberStatusCancelled. - Renamed
NXMLegStatusCanceledtoNXMLegStatusCancelled.
Enhancements
- Notified with
NXMCallMemberStatusCancelledonNXMCallDelegatefor call hang up.
2.4.0 - 2020-09-24
Added
- Expose the reason
NXMConnectionStatusReasonTokenExpiredon connection statusNXMConnectionStatusDisconnectedfor theNXMClientDelegate.
2.3.0 - 2020-08-17
Added
[NXMClientConfig AMS]static method.
Fixed
- Custom events parsing.
2.2.2 - 2020-07-20
Fixed
- Event syncing after socket disconnection.
2.2.1 - 2020-07-06
Fixed
- Server-call error reported by
NXMCallDelegateon call completion.
Enhancements
- Improved call events handling.
- Improved conversation expiration handling.
2.2.0 - 2020-04-22
Added
- Added
isConnectedmethod toNXMClientto show current connection state.
Fixed
- API Event
client_refhandling.
2.1.10 - 2020-04-16
Enhancements
- Improved single ICE candidate gathering implementation.
2.1.9 - 2020-04-14
Fixed
NXMClientConfigconvenience initializer implementations.
2.1.8 - 2020-04-02
Added
- Add
useFirstIceCandidateparameters toNXMClientConfig
2.1.5 - 2020-03-18
Enhancements
- Updated Device Registration format for production environments.
2.1.1 - 2020-03-05
Added
NXMClient'sgetConversationsPageWithSize:order:filter:completionHandler:method to get conversations with paging.
Deprecated
NXMClient'sgetConversationsPageWithSize:order:completionHandler:method to get conversations with paging.
Enhancements
- The Client SDK is now built with Xcode 11.
2.1.0 - 2020-01-31
Added
NXMPushPayloadfor custom push notifications.
2.0.0 - 2020-01-15
Added
NXMHelperwithdescriptionForEventType:method.NXMConversation'sgetEvents:method replaced bygetEventsPage:,getEventsPageWithSize:order:completionHandler:,getEventsPageWithSize:order:eventType:completionHandler:.
NXMConversationsPage'snextPage:andpreviousPage:completion handlers are now non-null.
Fixed
- Calling
conversation.getEventsreturned aNXMMemberEventwith the fieldmemberset tonil.
1.2.3 - 2019-12-17
Fixed
conversation.getEventsreturned someNXMEvents containing a nilfromMember- Added descriptive
userInfoforNXMErrors.
1.2.2 - 2019-12-12
Fixed
- Added support for DTLS in WebRTC.
didReceiveCallanddidReceiveConversationbeing called only once for the same call or conversation.- Added option to enable push notification with only one
pushKitoruserNotificationtoken. - Fix for
NXMClientConfigregion URLs. - On login with invalid user, return
NXMConnectionStatusReasonUserNotFound. - Added build architectures:
armv7andarmv7s.
1.2.1 - 2019-12-05
Added
Configuration for ICE server:
This configuration is optional and a default will be set if not specified.
Note: setConfiguration should be used before accessing NXMClient.shared.
Fixed
Corrected nil values for fromMember for NXMConversation events.
1.2.0 - 2019-12-03
Added
NXMClient's getConversationsPageWithSize:order:completionHandler: method to get conversations with paging.
NXMConversationsPage, which represents the retrieved page, provides the following instance methods:
hasNextPage/hasPreviousPageto check if forward/backward page retrieval is possible andnextPage:/previousPage:to asynchronously retrieve the next/previous page.
Changed
NXMClient's getConversationWithUUid:completionHandler: method's name typo (now called getConversationWithUuid:completionHandler:).
1.1.1 - 2019-11-21
Added
NXMClientConfig object in order to change data center configuration. How to use:
NXMClient setConfiguration is optional, configuration will set to a default value.
Note: you must call setConfiguration method before using NXMClient.shared.
1.1.0 - 2019-11-14
Fixed
- iOS 13 push notifications support.
- Start server call stability.
- Receiving a DTMF event in call and conversation.
Added
NXMConversationDelegate did receive DTMF event method:
Changed
NXMClient - client enable push notifications method changed.
param pushKitToken - only for VoIP push (incoming calls).
param userNotificationToken - all push types:
1.0.0 - 2019-09-05
Fixed
NexmoClientwhen disconnected returns error callback for all function.CallMemberstatus calculated by the current leg status.CallMembersupports failed, busy, timeout and canceled statuses.- Supports member invited.
Conversationhas media methods.NexmoClientis now singleton.- Call method changed to string instead of array.
NexmoClientdelegate methods renamed.
Added
- Added conversation media:
- Added invite member:
- Added the member state initiator:
- Added
NXMConversationUpdateDelegateto notify on member updates like media,leg, and state. - Added
updatesDelegateproperty toNXMConversation:
Example:
Changed
NXMClientis now a singleton:
- Renamed:
NXMClientDelegaterenamed:
NXMConversationotherMembersproperty renamed toallMembers:
NXMConversationDelegaterenamed methods:
Use
usernameinstead ofuserId.NXMCallDelegaterenamed:
NXMEventandNXMMemberEventadd member object instead ofmemberId:
NXMImageInforenamed properties:
NXMMessageStatusEventrenamed property:
NexmoClientlogger exposed -NXMLoggerobject:
Removed
NXMLoggerDelegate
0.3.0 - 2019-06-03
Added
- Interoperability with the JS and Android SDKs - Calls can now be placed between apps using the iOS, JS or Android SDKs.
Changed
NXMCallMember- added member channel with direction data:
Removed
NXMCallMember'sphoneNumberandchannelTypewere removed.
0.2.56 - 2019-01-24
Added
- Change log file.
Changed
- Memory management improvements.
- Fetch missing and new events on network changes.
- Returning User objects instead of Ids.
- Bug fixes.
- Add
non-nullornullableto properties. - Rename
call.declinetocall.reject.
0.1.52 - 2019-01-01
Initial beta release with basic call and chat features.
Please refer to list of features and usage: https://developer.nexmo.com/
Cocoapods: https://cocoapods.org/pods/nexmoclient