Release Notes
Product deprecation notice
Effective April 30th, 2026, Vonage In-App Messaging will no longer be available. Access for new users will be closed, and the service will be discontinued for all existing users.
If you have any questions regarding this product’s discontinuation, please contact your account manager or our support team.
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