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.
4.1.3 - Sept 15, 2022
Fixed
- Fix
NexmoMessageseen and delivered queue processing
4.1.2 - Aug 10, 2022
Fixed
- Use client config logLevel for http logging
4.1.1 - May 25, 2022
Fixed
- Fix
NexmoMessageserialization - Fix error handling within
NexmoClient.getConversation()when not a member.
4.1.0 - May 11, 2022
Added
- Support for
call:transferwithinNexmoCall - Added
NexmoLegTransferEventcontaining details of previous and current conversation when a call is transferred - Added
CallEventListenerto receiveNexmoLegTransferEventwith new members when a call is transferred to a new conversation.
- Expose
pushNotificationTTLat theNexmoClient.Builder()level to set registered device Push TTL - New public events
NexmoSubmittedEvent,NexmoRejectedEventandNexmoUndeliverableEventfor messages states. - New Message state listeners added to
NexmoMessageEventListenerinterface.
4.0.4 - Apr 14, 2022
Fixed
- Changed timestamp default from local timezone to UTC
4.0.3 - Apr 4, 2022
Fixed
- Added check to ensure user logged in during setup of prewarm outbound call.
- Changed timestamp default to UTC without time zone.
4.0.2 - Mar 9, 2022
Enhancements
- WebRTC dependency upgraded to version
84.0.22.
4.0.1 - Jan 21, 2022
Fixed
- Added check to ensure user logged in before SDK tries to process push event.
4.0.0 - Dec 7, 2021
Added
NexmoConversation.sendMessage(message, listener)to sendNexmoMessageto a conversation.NexmoClient.uploadAttachment(attachment, listener)method to sendNexmoAttachmentType.NexmoMessagerepresents a message ofEMessageEventTypetype to send.EMessageEventTypefor messages of typetext,image,audio,video,file,template,vcard,customandlocation.NexmoChannelTypeadded channels of typesms,mms,whatsapp,viberandmessenger.NexmoAttachmentTypeto upload an attachment message to Vonage Media Service.NexmoMessageEventrepresents the member message status event dispatched into theNexmoMemberMessageStatusEventListener.
Enhancements
- WebRTC dependency upgraded to version
84.0.0.
Deprecated
NexmoConversation.sendText(text, listener)method. UseNexmoConversation.sendMessage(message, listener)method instead.NexmoConversation.sendAttachment(file, listener)method. UseNexmoClient.uploadAttachment(attachment, listener)andNexmoConversation.sendMessage(message, listener)method instead.
3.3.0 - Nov 22, 2022
Added
NexmoClient.Builder'srestEnvironmentHostPinningandenvironmentHostPinningmethods added to enable HTTP and web-socket SSL pinning.NexmoPinningConfig.fromPublicKeys(...)method to create a public-key-based pinning configuration.
- New
ConnectionStatusReasoncaseSSL_PINNING_ERRORwhenDisconnecteddue to invalid public key found backend connection.
3.2.0 - Oct 19, 2021
Added
NexmoClient.Builder.autoMediaReoffer(autoMediaReoffer)to allow to automatically reconnect media when network interfaces changes.EMediaConnectionStateenumerate.NexmoMediaStatusListenerto receive media connection state changed notification.NexmoConversation.reconnectMedia()to trigger a media reconnection.NexmoClient.reconnectCall(conversationId, legId, listener)to reconnect a call given a conversation id and a leg id.NexmoClient.getUserSessions(userId, pageSize, order, listener)to fetch a paginated list of active user sessions.
Version 3.1.1 - Oct 18, 2021
Added
- Change socket
connectionListenersfromHashSettoArraySet.
Version 3.1.0 - Sep 6, 2021
Added
NexmoClient.inAppCall(username, listener)method to perform in-app calls.NexmoClient.serverCall(callee, customData, listener)method to perform server calls, optionally specifyingcustomData.
Deprecated
NexmoClient.call(callee, callType, listener)method.NexmoCallHandlerenumerate.
Version 3.0.1 - Jun 16, 2021
Enhancements
- Fixed a bug on DTMF dispatch of a callback to
event_url - Fixed a bug of not receiving typing events from Web to Android
Version 3.0.0 - Jun 1, 2021
Added
- Added
NexmoMemberSummaryreturned byconversation.getMembers(pageSize, order, listener)(paginated), representing a subset member information. - Added
memberEvent.getInvitedBy()that represents the inviter name, if exists. - Added
NexmoEventEmbeddedInfoto all events returned byevent.getEmbeddedInfo()and containing theNexmoUserlinked to the event. - Added
conversation.getMember(memberId, listener)returning the member given its identifier.
Enhancements
- Improve the javadoc documentation.
- Improve
callServersetup time by pre-warming leg. - Disable media after RTC hangup event.
Breaking changes
- Removed
NexmoCallMember, replaced withNexmoMember. - Removed
callMember.getCallStatus(), moved tocall.getMemberCallStatus(member). - Removed
callMember.mute(boolean, listener)moved tomember.enableMute(listener)andmember.disableMute(listener). - Removed
callMember.earmuff(boolean, listener)moved tomember.enableEarmuff(listener)andmember.enableEarmuff(listener). - Removed
conversation.getAllMembers()moved toconversation.getMembers()(paginated). - Removed
NexmoConversationListener.onMemberUpdated, replaced withNexmoMemberEventListenerthat provideonMemberInvited,onMemberAdded,onMemberRemovedsubscribing byconversation.addMemberEventListener(). - Renamed
call.getCallMembers()tocall.getAllMembers(). - Renamed
call.getMyCallMember()tocall.getMyMember(). - The
legsendpoint should be included inaclpaths onJWTtoken creation.
Version 2.8.1 - Dec 14, 2020
Enhancements
- Fixed value inconsistency on attributes
displayNameandimageUrlforNexmoUserobject. - Improved outbound call and conversation stability.
Version 2.8.0 - Nov 19, 2020
Changed
- Renamed
NexmoCallMemberStatus.CANCELEDtoNexmoCallMemberStatus.CANCELLED.
Enhancements
- Notified with
NexmoCallMemberStatus.CANCELLEDon listeneronMemberStatusUpdated(NexmoCallMemberStatus memberStatus, NexmoCallMember callMember)for call hang up.
Version 2.7.1 - Oct 27, 2020
Enhancements
- Improved outbound call stability.
Version 2.7.0 - Sep 24, 2020
Added
- Expose the reason
NETWORK_ERRORon connection statusDISCONNECTEDfor the listeneronConnectionStatusChange(ConnectionStatus status, ConnectionStatusReason reason).
Version 2.6.5 - Aug 24, 2020
Enhancements
- Improved SDK logs implementation and socket connection stability.
Version 2.6.4 - May 19, 2020
New
- We have split our artifacts from this version, so custom maven repository has to be added to the project:
//Groovy - build.gradle
allprojects {
repositories {
…
maven {
url "https://artifactory.ess-dev.com/artifactory/gradle-dev-local"
}
}
}
Enhancements
- Improved user-agent SDK version reporting.
Version 2.6.3 - May 4, 2020
Fixed
- Changed visibility of
Nexmo.page.isPrevPageExist()topublic.
Version 2.6.2 - April 29, 2020
Fixed
- Potential
NullPointerExceptionwhen processing push notifications during client login.
Version 2.6.1 - April 22, 2020
Added
- Expose the interface
NexmoDTMFEventListenerto subscribe for DTMF events onNexmoConversation.
Version 2.6.0 - April 20, 2020
Added
- Expose connection status
isConnectedinNexmoClient.
Fixed
- Avoid invoking
loginmultiple times when the user is already connected.
Version 2.5.1 - April 20, 2020
Enhancements
- Improved single ICE candidate gathering implementation.
Version 2.5.0 - March 25, 2020
Added
- Add
useFirstIceCandidateparameters toNexmoClient.Builder
Version 2.4.0 - March 3 , 2020
Added
- Add filter by state to
getConversationsPageinNexmoClient.
Version 2.3.0 - February 11, 2020
Added
- Add
updateAsDeliveredandUpdateAsSeentoNexmoAttachmentEventandNexmoTextEventas helper method to update event locally aftermarkAsSeenormarkAsDeliveredhas been successful.
Fixed
- Fix
markAsSeenandmarkAsDeliveredforNexmoTextEventandNexmoAttachmentEvent
Changed
- Upgrade dependency libraries please add to your build Gradle
android {
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8.toString()
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
Version 2.2.0 - January 31, 2020
Added
- Add support for Custom Push Notifications, using
processNexmoPush(),processPushNotification()is deprecated
- Add
markAsDelivered()method toNexmoTextEventandNexmoAttachmentEvent
- Add
markAsSeen()method toNexmoTextEventandNexmoAttachmentEvent
Version 2.1.2 - January 12, 2020
Added
- Add annotation of
PermissionRequiredfor function that start media:NexmoClient.call,NexmoCall.answer,NexmoConvesation.enableMedia
Removed
- Remove require for permission
PROCESS_OUTGOING_CALLS - Remove require for permission
READ_PHONE_STATE
Version 2.1.0 - January 01, 2020
Added
- Add
clearNexmoEventsListenersmethod inNexmoConversationto clear all listeners
- Add
clearMemberEventListenersmethod inNexmoConversationto clear allNexmoMemberEventListenerlisteners
- Add
clearCustomEventListenersmethod inNexmoConversationto clear allNexmoCustomEventListenerlisteners
- Add
clearLegStatusEventListenersmethod inNexmoConversationto clear allNexmoLegStatusEventListenerlisteners
- Add
clearDTMFEventListenersmethod inNexmoConversationto clear allNexmoDTMFEventListenerlisteners
- Add
clearMessageEventListenersmethod inNexmoConversationto clear allNexmoMessageEventListenerlisteners
- Add
clearNexmoConversationListenersmethod inNexmoConversationto clear allNexmoConversationListenerlisteners
- Add
clearTypingEventListenersmethod inNexmoConversationto clear allNexmoTypingEventListenerlisteners
- Add
NexmoMemberparameter toNexmoMemberEventwith respect to theNexmoMemberacted on by:
Fixed
- dispatch
NexmoAttachmentEventwith respect toNexmoConversation
- dispatch
NexmoMediaEventwith respect toNexmoConveration - dispatch
NexmoMediaActionEventwith respect toNexmoConveration - make
NexmoDTMFEventinheritanceNexmoEvent NexmoTextEvent.equalsto usesuper.equalsNexmoConversation.getCreationDateto returnDatejava objectNexmoEvent.getCreationDatefixIllegalArgumentException
2.0.0 - 2019-12-22
Added
- Add filter by
EventTypeinNexmoConversation.getEvents
Changed
NexmoDeliveredEventremoveInitialEventparameter and addInitialEventIdNexmoSeenEventremoveInitialEventparameter and addInitialEventId
Fixed
- Support for DTLS in WebRTC
NexmoConversationsPage.getPrev()return the conversations from the right cursor
2.0.0 - 2019-12-22
Added
- Add filter by
EventTypeinNexmoConversation.getEvents
Changed
NexmoDeliveredEventremoveInitialEventparameter and addInitialEventIdNexmoSeenEventremoveInitialEventparameter and addInitialEventId
Fixed
- Support for DTLS in WebRTC
NexmoConversationsPage.getPrev()return the conversations from the right cursor
1.2.0 - 2019-12-16
Added
- Add filter by
EventTypeinNexmoConversation.getEvents
Fixed
- Support for DTLS in WebRTC
Version 1.1.0 - 2019-12-04
Changes
- Add
iceServerUrlsparameters toNexmoClient.Builder
Fixed
- fix Push Notification incoming call issue
Version 1.0.3 - 2019-11-20
###Changes
- change signature of
NexmoClient.login(), removeNexmoRequestListener<NexmoUser>parameter:
- change signature of
NexmoPushEventListener.onIncomingCall(), removeMemberEventparameter:
Fixed
- fix
NexmoConversation.sendAttachmentbug - fix
NexmoAttachmentEventreceived from backend - fix race condition bug cause drop calls
- fix bug in push notification
Version 1.0.2 - 2019-11-11
Changes
- Rename
GetConversationsPagetoGetConversations - Rename
GetEventsPagetoGetEvents NexmoClient.GetConversationsdefaultpageSizeis 10NexmoConversation.GetEventsdefaultpageSizeis 10
Version 1.0.1
New
- Add
getConversationsPageinNexmoClient
- Add
getEventsPageinNexmoConversation
Removed
- remove
conversation.getEvents()
Fixed
NexmoConversationParcelablefixed
Version 1.0.0 - 2019-09-05
Changed
NexmoClientis a singleton and get only the Context as a mandatory parameter. To initializeNexmoClient:
- In order to set
NexmoConnectionListener:
NexmoClientcall function receives a single username or phone number:
- Removed
NexmoCallMember.getMember(), and added getters:
New
- Android
minSDKis now 23. CustomEventssupport inNexmoConversation:
NexmoMediaadded toNexmoConversation, for audio features support within aNexmoConversationcontext:
getNemxoEventType()inNexmoEventis public
Fixed
NexmoCallMember.statusreflects the current leg status.- Added guard to
NexmoClientfunction to prevent calls while user is not connected. - Updated
NexmoUsermissing values after login.
Removed
- Removed
conversation.getUser(). The current user can be accessed with:NexmoClient.getUser().
Added
NexmoConversationsend and receiveCustomEventsNexmoCustomEvent:NexmoEvent:StringgetCustomType()HashMap<String, Object>getData()NexmoChannelObject toNexmoMember.
Version 0.3.0 - June 4, 2019
This version contains many small bug fixes and stability improvements. The major changes are:
Added
NexmoChannelwas added toNexmoMember, to exposes the channel data when exists. TheNexmoChannelobject includestoandfromfields with the data of the Channel destination and origin.
Breaking Changes
Removed
NexmoMember.ChannelType- should be replaced withNexmoMember.Channel.from.typeNexmoMember.ChannelData- should be replaced withNexmoMember.Channel.from.data
Changed
NexmoLoginListenerwas improved and updated its interface:onLoginStateChange()andonAvailabilityChange()were removedonConnectionStatusChange(ConnectionStatus status, ConnectionStatusReason reason)was added, as an aggregated and improved version of the above methods
Added
- Support for parsing the
MemberIdwho initiated a call.
Fixed
Improvements for cross platform in app calls
Crash on processing push notifications without SDK initialization
Crash on sending
markAsDeliveredevent
Version 0.3.0 - June 4, 2019
This version contains many small bug fixes and stability improvements. The major changes are:
Added
NexmoChannelwas added toNexmoMember, to exposes the channel data when exists. TheNexmoChannelobject includestoandfromfields with the data of the Channel destination and origin.
Breaking Changes
Removed
NexmoMember.ChannelType- should be replaced withNexmoMember.Channel.from.typeNexmoMember.ChannelData- should be replaced withNexmoMember.Channel.from.data
Changed
NexmoLoginListenerwas improved and updated its interface:onLoginStateChange()andonAvailabilityChange()were removedonConnectionStatusChange(ConnectionStatus status, ConnectionStatusReason reason)was added, as an aggregated and improved version of the above methods
Added
- Support for parsing the
MemberIdwho initiated a call.
Fixed
Improvements for cross platform in app calls
Crash on processing push notifications without SDK initialization
Crash on sending
markAsDeliveredevent
Version 0.2.67 - April 17, 2019
Added
Emulator support
Fixed
- Bugs on updating
CallMemberstatuses