Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
2.5.1 - 2026-07-02
Fixed
- Voice: Expose the full RTCStats field set on iOS (networkMos, audioLevel, totalAudioEnergy, totalSamplesSent, concealedSamples, concealmentEvents, echoReturnLoss/echoReturnLossEnhancement) and populate echoReturnLoss/echoReturnLossEnhancement on Android (Android, iOS)
2.5.0 - 2026-06-24
Added
- Voice: Extended RTC stats telemetry with additional audio quality and AEC metrics:
echoReturnLoss,echoReturnLossEnhancement,audioLevel,totalAudioEnergy,totalSamplesSent,concealedSamples, andconcealmentEvents. Each metric is reported asnullwhen the underlying WebRTC stats report does not provide it, so consumers can distinguish "not reported" from a measured zero (JS)
Internal
- Common: Validated CI release pipeline end-to-end (Android, iOS, JS)
2.4.0 - 2026-06-12
Added
- Common: Added circuit breaker for Conversation Service HTTP requests to prevent overloading the platform during 5xx errors (Android, iOS, JS)
- Voice: Added media constraints support — enable/disable noise suppression, auto gain control, and echo cancellation on active calls (JS)
- Voice: Exposed
peerConnectionCreatedevent, providing access to the underlyingRTCPeerConnectionthe moment it is instantiated — before ICE gathering begins — so developers can subscribe to WebRTC lifecycle events such as connection state, ICE connection state and ICE gathering state changes.callIdis available for inbound calls andnullfor outbound calls (JS) - Voice: Added documentation for recovering pending call invites on session reconnect — pass the previous session ID to
createSessionandonCallInvitefires automatically for any unanswered invite still pending on the server (Android, iOS, JS)
Fixed
- Voice: Inbound calls no longer silently fail after a socket.io reconnect —
setSocketSessionId()now preservessession_versionin the reconnect query params, preventing Conversation Service from defaulting the session to version0.0.1which blocks leg creation (Android, JS) - Voice:
processPushCallInvitenow correctly parses push payloads when FCM appends extra metadata entries (e.g.provider.sent_time,provider.message_id) after thenexmokey in the data map, which previously caused silentnullreturns (Android) - Voice:
parsePushCallInvitenow logs an error with the full exception details when the push payload cannot be parsed, instead of failing silently (Android, iOS) - Voice:
getLegnow correctly propagates an async version (iOS)
Internal
- Common: Pinned
wsto^8.20.1via overrides invonagesdk_js,testapp_js, anddocs-siteto fix GHSA-58qx-3vcg-4xpx (uninitialized memory disclosure) (JS) - Common: Pinned
webpack-dev-serverto^5.2.4via overrides indocs-siteto fix GHSA-79cf-xcqc-c78w (cross-origin source code exposure) (JS)
2.3.1 - 2026-04-27
Fixed
- Voice:
getCallLegsno longer returnsNoCallFoundwhen the user has a pending invite for the call but has not joined yet (Android, iOS, JS)
Changed
- Common: Bumped Swift Package Manager tools version from 5.3 to 5.9 to support iOS 15 as a deployment target (iOS)
Internal
- Common: Upgraded Node.js from 20.20.2 to 24.14.1 and actions/setup-node from v3.6.0 to v4 (JS)
- Common: Bumped
socket.io-clientfrom 4.7.2 to 4.8.3 to fix CVE-2026-33151 (JS) - Common: Bumped
typedoc-plugin-missing-exportsfrom 2.1.0 to 2.3.0 to fix minimatch ReDoS vulnerabilities CVE-2026-27904, CVE-2026-27903, CVE-2026-26996 (JS)
2.3.0 - 2026-01-23
Added
- Emergency: Exposed new SDK to support emergency call flow (Android, JS, iOS)
- Emergency: Added main functionalities
- Emergency: Added Failover logic
- Emergency: Added Mute, Unmute, Enable Earmuff, Disable Earmuff functionalities
- Emergency: Added configurable RTCStatsTelemetry
2.2.0 - 2025-12-18
Internal
- Voice: Parse WebRTC stats report values to Number and convert them back to expected types to avoid runtime crash (Android)
- Common: Improved HTTP Middleware to be more readable and robust
- Voice: Improved MockMedia to enhance unit tests
- Common: Reduced logging for verbose events
- Common: Fixed some Gradle warnings in the build process
- Voice, Emergency: Created setTrackMedia helper functions for mute and earmuff
- Voice: Removed usage of
setIsUsingCallkitonVGRTCAudioSessionas it's been dropped in WebRTC M121 (iOS)
Changed
- Voice: Updated WebRTC to 121.1.100 (Android, iOS)
- Voice: Bumped minimum deployment target to iOS 15.0 due to WebRTC dependency (iOS)
- Voice: Removed multiple audio session activations. When using CallKit, the session is now activated/deactivated ONLY via
enableAudio/disableAudio, which must be called from CallKit delegate methodsdidActivateAudioSession/didDeactivateAudioSession(iOS)
Fixed
- Voice: Fixed logic to dispatch RTC Stats only when call data is actually available
- Voice: Clean up dangling peer connections when call can't be set up
2.1.3 - 2025-11-05
Added
- Chat: Added
rawoption tosendTextMessagemethod
Fixed
- Chat: Fixed bug where custom events did not trigger the
onConversationEventcallback after sending a custom event
2.1.2 - 2025-10-24
Internal
- Common: Improved MockHTTP adding deferred stub to test async HTTP responses
- Common: Fixed internal dependency vulnerabilities (JS)
- Common: Updated internal GitHub workflows to use latest versions of gradle-related actions
Fixed
- Voice: Fixed bug introduced in previous version (2.1.1) with Push Notification Invites not getting delivered while app is in the background (iOS)
2.1.1 - 2025-10-21
Internal
- Common: Added from user query parameter in Delete Member API request
- Common: Added from user query parameter in Join Member API request
Fixed
- Voice: Fixed missing obfuscation for Utils class (Android)
- Voice: Unified behaviour for processPushCallInvite, check for active session first (iOS)
- Voice: Fixed an issue where the
callInviteCanceldelegate was not called whenrejectoranswerfailed
2.1.0 - 2025-09-05
Changed
- Common: Updated AGP to 8.9.3 (Android)
- Voice: Added support for 16kb page size (Android)
- Voice: Updated vonageMLTransformersAudioNoiseSuppressionVersion to 1.1.11 (Android)
- Voice: Updated ndkVersion to 27.3.13750724 (Android)
- Voice: Updated WebRTC to 99.14.95 (Android, iOS)
2.0.0 - 2025-02-07
Changed
- Common: Updated to Kotlin 2.0.0 with 1.9.21 compatibility
- Common: Updated the
VonageErrorTypeenum to use PascalCase for the enum keys (JS) - Common: Updated the
SessionErrorReasonenum to use PascalCase for the enum keys (JS) - Voice: Updated the
HangupReasonenum to used PascalCase for the enum keys (JS) - Voice: Updated the
LegStatusenum to use PascalCase for the enum keys (JS) - Voice: Updated the
CallDisconnectReasonenum to use PascalCase for the enum keys (JS) - Voice: Updated the
CancelReasonenum to use PascalCase for the enum keys (JS) - Voice: Updated the
VoiceChannelTypeenum to use PascalCase for the enum keys (JS) - Common: Changed the
CSErrorCodesobject to be exported as an enum object to match the rest of the SDK (JS) - Common: Changed the
SessionErrorCodesobject to be exported as an enum object to match the rest of the SDK (JS) - Chat: Renameed the type of
MemberChannel.typefromChannelTypetoMemberChannelType(JS) - Chat: Updated the
MemberChannelTypeenum to use PascalCase for the enum keys (JS)
Fixed
- Common: Fixed Managled
VonageErrorTypeon theVonageErrorclass by changeing the type to a JS friendly union with a matching enum object (JS) - Common: Fixed Managled
SessionErrorReasononon('sessionError')by changeing the type to a JS friendly union with a matching enum object (JS)
Removed
- Common: Removed the deprecated
setDefaultLoggingLevelfunction. Set the logging level on Client intialization instead. - Common: Removed the deprecated
setVonageClientLoggingLevelfunction. Set the logging level on Client intialization instead. (JS) - Common: Removed the deprecated
registerDevicePushTokenfunction. UseregisterDeviceVoipTokeninstead. (iOS) - Chat: Removed the deprecated versions of
createConversation,getConversations,getConversationMembersandgetConversationEventsaccepting multiple parameters.
1.7.2 - 2024-08-08
Changed
- Common: Clear HTTP Connection Pool on Session SessionSuccessEvent (Android)
1.7.1 - 2024-08-06
Fixed
- Common: Moved internal resources to resource bundle to avoid conflicts when exporting via Cocoapod (iOS)
1.7.0 - 2024-07-30
Changed
- Voice: Updated WebRTC to 99.13.76 (Android, iOS)
Fixed
- Common: Patched a bug in the regex (JS)
1.6.2 - 2024-07-10
Fixed
- Common: Checks for Unsanitized user input on create and update actions
- Common: Fixed session reconnect failure for android
1.6.1 - 2024-06-12
Changed
- Voice: call-related Audio Element can now be retrieved via
client.getAudioOutputElement()(JS) - Voice: Updated WebRTC to 99.13.58 and MLTransformersAudioNoiseSuppression to 1.0.8 (Android, iOS)
- Common: Updated okhttp to 4.12.0 and AGP to 8.1.0 (Android)
Fixed
- Voice: Fixed Noise Suppression Warning Message formatting (Android, iOS)
1.6.0 - 2024-05-14
Added
- Voice: Added Privacy manifest to comply with new App Store guidelines (iOS)
- Chat: Added field
channelinMemberEventBody. It will have a nullidif the event is not related to a call.
Changed
- Voice: Updated WebRTC to 99.13.54 and MLTransformersAudioNoiseSuppression to 1.0.7 (Android, iOS)
1.5.2 - 2024-04-29
Changed
- Voice: updated a number of enums to be more consistent with the rest of the SDK in using
stringinplace of a kotlinenumobject (JS)
Fixed
- Chat: fixed missing
startIdingetConversationEvents
1.5.1 - 2024-03-01
Changed
- Voice: Increase minimum Android SDK version to 23 (Android)
Fixed
- Voice: Fixed error returned from
answerCalldue to race condition in inbound call creation
1.5.0 - 2024-02-19
Changed
- Voice: improve the error handling of call setup (JS)
- Common: Replace Axios with Fetch API (JS)
- Common: Update Kotlin Serialization Plugin
Added
- Chat: SDK will internally send a
message:deliveredevent upon receiving a message event - Chat: Message Events now include a
membersStatusesmap, indicating the status of the event for each member - Voice: Call Media Errors are surfaced via the
onCallMediaErrordelegate - Chat: Introduced socket events for message status
message:delivered,message:seen,message:rejected,message:undeliverable,message:submitted - Chat: Exposed method
sendMessageSeenEventto send amessage:seenevent for a certain message.
Fixed
- Voice: Audio Session is now activated on call initialization (iOS)
- Chat: body is now an Object on Ephemeral events instead of a JSON string (JS)
- Common: Fixed methods to accept both enum parameters and corresponding string representations (JS)
1.4.2 - 2024-01-25
Changed
- Common: Updated Kotlin to 1.9.22
Security
- Common: Patch follow-redirects vulnerability in 'axios' dependency (JS)
1.4.1 - 2024-01-23
Changed
- Common: Default logging level now will be
Error
1.4.0 - 2024-01-15
Added
- Voice: Noise Suppression for reduction of background noise for calls on mobile (Android, iOS)
- Common: Support the use of js string enums
'asc' == PresentingOrder.ASC(js) - Voice: Boolean flag
enableNoiseSuppressioncan be set onClientConfigto make noise suppression for reducing background during calls optional. Default is false. - Voice: New method
enableNoiseSuppression(callId)to enable noise suppression for reducing background during an ongoing call - Voice: New method
disableNoiseSuppression(callId)to disable noise suppression if enabled during an ongoing call - Voice: Exposed method
getCallLegsand modelLegsPageto fetch info about the legs of a call such as the media state of the leg as well as other legs in the same call.
Changed
- Common: JS SDK will now return CustomData as JSON instead of string.
1.3.1 - 2024-01-08
Security
- Common: Patch vulnerability in 'axios' dependency, CVE-2023-45857 (JS)
1.3.0 - 2023-12-07
Added
- Common: Introduced
VonageLoggerinterface for custom logger implementations - Common: Exposed a
createVonageLoggerfactory function to create aVonageLoggerinstance. For iOS in Objective-C, this functionality is represented by theVGCustomLoggerclass - Common: Enhanced
ClientInitConfigby adding support fordisableInternalLoggerto turn off the internal logger andcustomLoggersto provide a set of custom loggers - Voice: Introduced
onRtcStatsUpdatefor the users to listen on RTC stats changes - Chat: Send additional types of messages to conversation:
video,audio,file,vcard,locationandtemplate - Chat: Introduced parameter
startIdingetConversationEvents - Chat: Introduced
eventDeletein the list of events to be returned bygetConversationEvents - Chat: Introduced
eventDeleteincenversationEventlistener - Voice: Support pending events on reconnect to guarantee
member:inviteddelivery - Chat: Send Custom events to a conversation via
sendCustomEvent(cid, eventType, customData)method. - Chat: Update a conversation using
updateConversation(parameters:), to easily modify specific parameters by usingsome(value/null)for those, while maintaining the integrity of the rest of the conversation by usingnone()for the unaffected parameters.
Changed
- Common: The getConversation(conversationIdOrName) function now accepts both conversation IDs and names for retrieving conversations.
- Chat: Instead of many parameters,
createConversation(),getConversations(),getConversationEvents()andgetConversationMembers()will now accept a single optional configuration object grouping all the options for the request - Common: Boolean flag
rtcStatsTelemetrycan be set onClientConfigto make RTC stats collection optional - Common: Boolean flag
autoReconnectMediacan be set onClientConfigto enable/disable automatic call reconnection on network change. - Common: Client initializer can now throw a fatal error if the provided
ClientInitConfigobject contains more than 10 custom loggers. - Common: Enhance parsing of logs
Fixed
- Common: Enhanced logging mechanism now directs all messages to dedicated loggers, eliminating the use of
NSLog,print, andconsole.log - Common: Adjusted logging to debug level for socket events that are not internally deserialized
- Common: Improve exception handling by ensuring that all methods returning an exception now consistently provide a
VonageError/VGError. - Common: Fixed config issue with websocket path (Android)
- Voice: Crash when creating multiple
VGVoiceClient/VGVonageClientinstances (iOS) - Voice: Resolved occurrences of unintended or erroneous calls to the
onCallMediaDisconnectdelegate. - Voice: Sporadic crashes on Client init due to WebRTC Logger (iOS)
Deprecated
- Chat: Earlier versions of
createConversation(),getConversations(),getConversationEvents()andgetConversationMembers()accepting multiple parameters in favour of newer overloads accepting a single optional configuration object.
1.2.1 - 2023-10-04
Added
- Chat: Missing overloads for
getConversationandgetConversationEvents(iOS) - Chat: User can now send Image messages in a conversation via
sendMessageImageEvent()
Changed
- Voice: Updated WebRTC to 99.9.26 to address camera permission issue (Android, iOS)
- Common: Client constructor now accepts
loggingLevelandregionas strings likenew VonageClient({loggingLevel: 'Info', region: 'EU'}). Makeing it more JS friendly (JS) - Common:
setConfignow acceptsregionas a string likesetConfig({region: 'EU'}). Makeing it more JS friendly (JS) - Chat:
ConversationStateis now a string Union type instead of an Kotlin enum Class (JS) - Chat:
MemberStateis now a string Union type instead of an Kotlin enum Class (JS)
Fixed
- Common: Console logs now use proper names instead of Mangled names (JS)
1.2.0 - 2023-09-28
Added
- Chat: Support for Custom Events, now sdk can receive custom events via delegate
onConversationEventandgetConversationEvents() - Chat: Support for Ephemeral Events. Now SDK can receive them via delegate
onConversationEventand send them viasendEphemeralEvent - Voice: Support automatic call reconnect when network change occurs
- Chat: Support for deleting Message events using
deleteEvent()in a conversation - Chat: Introducing the ability to specify the conversation order in the
getConversations()API by passing an enum:OrderBy.CREATEDorOrderBy.CUSTOM_SORT_KEY. Now you can retrieve conversations in your preferred order. - Chat: In the
ConversationObject, a new key,custom_sort_key, has been added to thepropertiesobject. Users can set this key, and when it's passed asorderByingetConversations(), it will be used to sort conversations on the backend, providing greater flexibility in conversation sorting. - Common: Introduced
ClientInitConfig, an extension ofClientConfig, which offers flexible logging options. You can use it withsetConfigor during client initialization for enhanced control over logging settings. - Common: Made
setConfigandVonageClientconstructor js-friendly by accepting a config object in addition toClientConfigandClientInitConfigrespectively. (js) - Common: Added new method
registerVoipToken(_:withDeviceToken:isSandbox:callback)andregisterVoipToken(_:withDeviceToken:callback)to register for VoIP push and push notifications (iOS) - Voice: Added
registerVoipToken(_:isSandbox:callback)andregisterVoipToken(_:callback)to only register for VoIP push (iOS) to only register for VoIP push (iOS) - Chat: Added
registerDeviceToken(_:isSandbox:callback)andregisterDeviceToken(_:callback)to only register for push notifications (iOS)
Changed
- Chat: Restructured Message Events to adhere to the following naming convention:
TextMessageEventhas been renamed toMessageTextEventand so on. - Chat: Ensured consistency by renaming
sendTextMessagetosendMessageTextEventandsendCustomMessagetosendMessageCustomEvent. - Chat: Made the
memberIdproperty inEmbeddedInfooptional, this enables modeling events initiated by users who are not members of the conversation. - Chat: Push parsing helper method, it will now be one single method
parsePushConversationEventwhich will returnConversationEvent - Chat : Removed
CSUnknownConversationEventfrom data model - Chat: added
includeCustomData= true/falseargument togetConversations(), giving conversation the optionalcustomData - Common: set User-Agent header on all requests (Android, iOS)
- Voice: Enabling
VerboseLogging now includes WebRTC logs for enhanced debugging. (Android, iOS) - Chat: Simplified the naming for event timestamps. The
EventTimestamp(a String typealias) has been renamed toTimestamp. - Chat: Introducing the
includeDeletedEventsboolean parameter ingetConversationEvents(). When set totrue, the Events list will include deleted events along with non-deleted events; by default, it is set tofalse. - Chat: Deleted message events now include an optional
deletedfield in their body, indicating the time they were deleted.
Fixed
- Common:
setConfig()is now optional
Deprecated
- Common:
setDefaultLoggingLevelandsetVonageClientLoggingLevelin favour ofClientInitConfig.loggingLevel. - Common:
registerDevicePushToken(_:userNotificationToken:isSandbox:callback)in favour ofregisterVoipToken(_:withDeviceToken:isSandbox:callback)(ios) - Common:
registerDevicePushToken(_:userNotificationToken:callback)in favour ofregisterVoipToken(_:withDeviceToken:callback)(ios)
1.1.5 - 2023-09-08
Changed
- Voice: Added additional logging for webrtc (android)
1.1.4 - 2023-09-07
Changed
- Voice: Dropped support for iOS 12 (iOS)
Fixed
- Voice: WebRTC dependency incompatible with iOS 12 (iOS)
1.1.3 - 2023-09-05
Added
- Voice: Support automatic call reconnect when network change occurs
Changed
- Voice: Update webrtc to 99.7.23
1.1.2 - 2023-08-24
Changed
- Common: Bumped Kotlin version to 1.9
- Common: Android clients now use a invoke operator methods instead of top-level functions, no change for the Kotlin API, but the Java API now uses
VonageClient.createClient(ctx)instead ofVonageClientKt.VonageClient(ctx)(Android)
1.1.1 - 2023-08-03
Changed
- Chat: Exhaustive conversation events types (JS)
- Chat: Introduced a sealed interface
Fromto model system-initiated events in Conversation Events. It can be eitherEmbeddedInfo(with info aboutuserandmemberId) orSystem. - Chat: Eliminated redundant
senderfield from Message Event. Information can now be obtained from thefromfield. - Chat: Unified Member Event Models' Body, now containing
userandmemberIdinfo. - Voice: Renamed
client.answerCall()andclient.rejectCall()toclient.answer()andclient.reject()in JS SDK to align with mobile SDKs (JS) - Common: Added support for distribution via Swift Package Manager (iOS)
Added
- Voice: Added WebRTC polyfill (JS)
- Common: Added SDK type (voice, chat or combined) on the session creation
- Common: Added two new PushType cases -
CONVERSATION_INVITEandNEW_MESSAGE(Android) - Chat: Added two new methods to parse push notification data -
parsePushConversationInviteandparsePushConversationMessage(Android)
1.1.0 - 2023-06-25
Changed
- Common:
PushAPIhas been moved to commonandroid-core, hence exposing it also for Chat SDK (Android) - Common: suspended version of
createSessionis now overloaded to accept just a token parameter (Android) - Chat: Methods will now return
commoncoremodel classes instead of android-specific one, in order to foster code re-usability (Android) - Chat: Conversation Events will now expose a
Userobject rather than just aUsername - Voice:
createSession,serverCallandsaynow have a more JS-friendly API, with nullable parameters now being optional (JS) - Common: Event listeners (
on) now supports multiple registrations for the same event and returns a symbol that can be used to unregister the listener (JS) - Chat: Made all chat methods JS friendly and added some TSDocs comments (JS)
Added
- Voice: Audio Output Device Selection Docs
- Common: Sending ACKs for CAPI WS Events
- Chat: Users can now send/receive custom message events
- Common: Added
offmethod to remove event listeners with event name and listener symbol returned byon(JS) - Common: WS reconnection metrics
- Chat:
VGConversationEventwill haveeventTypeas property to switch over - Voice: added WebRTC polyfill
- Common: Added SDK type (voice, chat or combined) on the session creation
- Chat: Added
IMAGEVIDEOAUDIOFILEVCARDTEMPLATELOCATIONMessages Events
Fixed
- Common: Fixed
VonageErrorserialization (JS) - Common: Multiple consecutive attempts to create a session will now all succeed
- Common: Fixed error on invoking
createSessionafter a session error has been received - Common: Fixed error on
createSessionalways failing a second time after it had returned an error on the first attempt - Common: Fixed hangup reason for PSTN Rejected and unanswered calls, which will be
remoteReject
1.0.3 - 2023-07-07
Added
- Voice: Add Support for RTC Hangup Reasons for callee ring timeout and call rejection
1.0.2 - 2023-07-03
Fixed
- Voice: Reconcile Call Cancellation after session reconnection
- Voice: Fixed Crash on unauthorised error when rejecting/answering call
1.0.1 - 2023-06-01
Fixed
- Voice: Cleaning up
CallReducerandInviteReducerfor bothonCreateSessionandonRTCHangupevents - Voice:
onCallHangupdelegate no longer fires on invite if it doesn't transition to active call state - Voice: Increased timeout limit for MediaTimeOut error for Outbound calls
- Voice: Fixed loudspeaker audio issues on iOS with CallKit.
- Voice: Exposed
HangupReasonenum (js) - Voice: Fixed type error on
VonageError(js) - Voice: Fixed naming of inviteCancelReason (js)
- Voice: Fixed event listeners not being invoked for Reconnected Calls
- Voice: Fixed active call invites getting cleaned up on session creation
- Voice:
serverCallcallback listens for ice+dtls connection state locally - Voice: Fix multiple call answer error reporting
- Voice:
answercallback invoked after ice+dtls connection state becomes connected - Voice: Fixed PeerConnection not getting correctly closed for Reconnected Calls
- Voice: Ensure
hangupcloses local media when signaling fails
1.0.0 - 2023-04-26
Changed
- Common: Remove Call and Invite Objects and move methods to Client object
- Voice: Errors now return a
VonageErrorshaped object - Common: Logs now include the SDK version
- Common: Push TTL default set to 0
- Voice:
didReceiveLegStatusUpdateForCallstatus param convertedVGLegStatusenum - Voice:
didReceiveInviteForCallchannelType param converted toVGVoiceChannelTypeenum - Voice:
didReceiveHangupForCallwill return a reason for the hangupVGHangupReasonenum - Voice: Move
vonagePushTypetoVGBaseClient(iOS) - Voice: Trim
VGPushTypecases for GA (all) and prefix cases (iOS)
Added
- Chat: Added delegate method
onConversationEventfor Conversation Events updates(member:invited,member:joined,member:left,message) - Chat: Added method
getConversationEventsto retrieve Conversation Events (includedUnknownEvent) - Chat: Added method
sendTextMessageto send text messages in a Conversation - Chat: Added
getConversationMembermethod to get details of specific Member in a conversation - Voice: Added
enableWebsocketInvitesflag onClientConfigto enable/disable websocket/in app invites, default is false (Android, iOS), default is true (JS) - Common: Namespace ObjectiveC Enums
Fixed
- Voice: Rename Internal UUID typedefs and make them ptr types to fix swift bridge
- Voice: Fix missing
hangupmethod on client (JS)
0.2.1 - 2023-04-13
Fixed
- Voice:
onLegStatusUpdatewill be triggered for out of order leg status updates - Voice: Fixed VonageError(JS)/VGError(Android & iOS) throwing in certain call scenarios
- Voice: ServerCall Callbacks invoked multiple times
0.2.0 - 2023-03-23
Changed
- Common: Changed reducer log level to debug insted of info
- Voice:
onRtcHangupdelegate now calledonCallHangupand returnscallIdandcallQuality
Added
- Voice:
onCallInviteCanceldelegate to inform client of when the call invite is cancelled and for what reasonremote timeout,remote cancel,remote answer,remote reject(Android, iOS, JS) - Common: New methods getConversation and getUser in Client
- Voice: New method getLegs exposed in Client
- Voice: RTCStatsReport, from each platform, will now be registered at Voice inspector
- Chat: Added methods to create, join, invite, leave & delete a Conversation
- Chat: Added methods to retrieve Conversations and Conversation Members
- Chat: All methods will throw a cross-platform unified exception named VonageError(JS)/VGError(Android & iOS)
Fixed
- Voice:
serverCallwill be able to hangup whenmember:joinedbefore app knocking - Voice:
serverCallwill no longer silently error on nomember:media - Voice:
onLegStatusUpdateis triggered for leg status updates and transfers of other legs - Voice:
onRTCTransferis triggered only for your leg when it transfers from one call to another - Voice:
onRtcHangupis now only triggered for own leg in a call - Voice: better cleanup of calls after Hangup and call errors
- Voice:
VGClient.isUsingCallKitwill not disable audio session if false (iOS)
0.1.5 - 2023-02-21
Changed
- Added improvements related to create session.
- Improved handling user callbacks (iOS)
- Changed reason from string to enum for onSessionError Listener
- Improvements in call rejection, and its user callbacks.
- Improved Docs
- Improvements in call rejection, and its user callbacks
VoiceCallPushInviteandVoiceCallAppInvitenow share aVoiceCallInviteVGVoicePushInviteandVGVoiceInvitewill be now one single typeVGVoiceInvite- PushInvite sent over push service and VoiceCallInvite sent via websocket after session created, now share a
VoiceCallInviteinterface VoiceCallPushInvite.answer()now returnscom.vonage.voice.api.VoiceCall(android)
Fixed
- Handle RTCTransfer to fix out of order member events for transfer
- Error on media disable in certain call transfer flows
- Error on token for user that does not exist
- Error on token without subject
- Error on member events that not invovled in call flows
- Android Session Listeners not being called on VoiceClient
0.1.4 - 2023-01-13
Added
- CHANGELOG
- JS bundling to support CDN and vanilla JavaScript usage (js)
- Expose Peer Connection on JS SDK (js)
- Reconnect Call
Changed
- Voice listener now return a CallId insted of a call object
- Made push token and user notification token not optional (ios)
- Better Logging
- New Enable Media Flow
Fixed
- JS bundle import bug with nextJS/webpack (js)
- You now receive RTC Hangeup events for call invites aka call cancel events
- Blank token Error
- Optional delegate methodes on
baseClient(ios) - Optional delegate methodes on
voiceClient(ios) - Media disabled on Call transfer
- Close tracks after hangup
- Moved all delegate methods to correct thread (ios, android)
- Call kit Patch (ios)
- Expose from user info (android)
0.1.3 - 2022-12-09
Added
- initial release