Skip to content

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, and concealmentEvents. Each metric is reported as null when 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 peerConnectionCreated event, providing access to the underlying RTCPeerConnection the 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. callId is available for inbound calls and null for outbound calls (JS)
  • Voice: Added documentation for recovering pending call invites on session reconnect — pass the previous session ID to createSession and onCallInvite fires 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 preserves session_version in the reconnect query params, preventing Conversation Service from defaulting the session to version 0.0.1 which blocks leg creation (Android, JS)
  • Voice: processPushCallInvite now correctly parses push payloads when FCM appends extra metadata entries (e.g. provider.sent_time, provider.message_id) after the nexmo key in the data map, which previously caused silent null returns (Android)
  • Voice: parsePushCallInvite now logs an error with the full exception details when the push payload cannot be parsed, instead of failing silently (Android, iOS)
  • Voice: getLeg now correctly propagates an async version (iOS)

Internal

  • Common: Pinned ws to ^8.20.1 via overrides in vonagesdk_js, testapp_js, and docs-site to fix GHSA-58qx-3vcg-4xpx (uninitialized memory disclosure) (JS)
  • Common: Pinned webpack-dev-server to ^5.2.4 via overrides in docs-site to fix GHSA-79cf-xcqc-c78w (cross-origin source code exposure) (JS)

2.3.1 - 2026-04-27

Fixed

  • Voice: getCallLegs no longer returns NoCallFound when 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-client from 4.7.2 to 4.8.3 to fix CVE-2026-33151 (JS)
  • Common: Bumped typedoc-plugin-missing-exports from 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 setIsUsingCallkit on VGRTCAudioSession as 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 methods didActivateAudioSession / 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 raw option to sendTextMessage method

Fixed

  • Chat: Fixed bug where custom events did not trigger the onConversationEvent callback 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 callInviteCancel delegate was not called when reject or answer failed

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 VonageErrorType enum to use PascalCase for the enum keys (JS)
  • Common: Updated the SessionErrorReason enum to use PascalCase for the enum keys (JS)
  • Voice: Updated the HangupReason enum to used PascalCase for the enum keys (JS)
  • Voice: Updated the LegStatus enum to use PascalCase for the enum keys (JS)
  • Voice: Updated the CallDisconnectReason enum to use PascalCase for the enum keys (JS)
  • Voice: Updated the CancelReason enum to use PascalCase for the enum keys (JS)
  • Voice: Updated the VoiceChannelType enum to use PascalCase for the enum keys (JS)
  • Common: Changed the CSErrorCodes object to be exported as an enum object to match the rest of the SDK (JS)
  • Common: Changed the SessionErrorCodes object to be exported as an enum object to match the rest of the SDK (JS)
  • Chat: Renameed the type of MemberChannel.type from ChannelType to MemberChannelType (JS)
  • Chat: Updated the MemberChannelType enum to use PascalCase for the enum keys (JS)

Fixed

  • Common: Fixed Managled VonageErrorType on the VonageError class by changeing the type to a JS friendly union with a matching enum object (JS)
  • Common: Fixed Managled SessionErrorReason on on('sessionError') by changeing the type to a JS friendly union with a matching enum object (JS)

Removed

  • Common: Removed the deprecated setDefaultLoggingLevel function. Set the logging level on Client intialization instead.
  • Common: Removed the deprecated setVonageClientLoggingLevel function. Set the logging level on Client intialization instead. (JS)
  • Common: Removed the deprecated registerDevicePushToken function. Use registerDeviceVoipToken instead. (iOS)
  • Chat: Removed the deprecated versions of createConversation, getConversations, getConversationMembers and getConversationEvents accepting 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 channel in MemberEventBody. It will have a null id if 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 string inplace of a kotlin enum object (JS)

Fixed

  • Chat: fixed missing startId in getConversationEvents

1.5.1 - 2024-03-01

Changed

  • Voice: Increase minimum Android SDK version to 23 (Android)

Fixed

  • Voice: Fixed error returned from answerCall due 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:delivered event upon receiving a message event
  • Chat: Message Events now include a membersStatuses map, indicating the status of the event for each member
  • Voice: Call Media Errors are surfaced via the onCallMediaError delegate
  • Chat: Introduced socket events for message status message:delivered, message:seen, message:rejected, message:undeliverable, message:submitted
  • Chat: Exposed method sendMessageSeenEvent to send a message:seen event 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 enableNoiseSuppression can be set on ClientConfig to 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 getCallLegs and model LegsPage to 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 VonageLogger interface for custom logger implementations
  • Common: Exposed a createVonageLogger factory function to create a VonageLogger instance. For iOS in Objective-C, this functionality is represented by the VGCustomLogger class
  • Common: Enhanced ClientInitConfig by adding support for disableInternalLogger to turn off the internal logger and customLoggers to provide a set of custom loggers
  • Voice: Introduced onRtcStatsUpdate for the users to listen on RTC stats changes
  • Chat: Send additional types of messages to conversation: video, audio, file, vcard, location and template
  • Chat: Introduced parameter startId in getConversationEvents
  • Chat: Introduced eventDelete in the list of events to be returned by getConversationEvents
  • Chat: Introduced eventDelete in cenversationEvent listener
  • Voice: Support pending events on reconnect to guarantee member:invited delivery
  • 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 using some(value/null) for those, while maintaining the integrity of the rest of the conversation by using none() 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() and getConversationMembers() will now accept a single optional configuration object grouping all the options for the request
  • Common: Boolean flag rtcStatsTelemetry can be set on ClientConfig to make RTC stats collection optional
  • Common: Boolean flag autoReconnectMedia can be set on ClientConfig to enable/disable automatic call reconnection on network change.
  • Common: Client initializer can now throw a fatal error if the provided ClientInitConfig object 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, and console.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/VGVonageClient instances (iOS)
  • Voice: Resolved occurrences of unintended or erroneous calls to the onCallMediaDisconnect delegate.
  • Voice: Sporadic crashes on Client init due to WebRTC Logger (iOS)

Deprecated

  • Chat: Earlier versions of createConversation(), getConversations(), getConversationEvents() and getConversationMembers() 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 getConversation and getConversationEvents (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 loggingLevel and region as strings like new VonageClient({loggingLevel: 'Info', region: 'EU'}). Makeing it more JS friendly (JS)
  • Common: setConfig now accepts region as a string like setConfig({region: 'EU'}). Makeing it more JS friendly (JS)
  • Chat: ConversationState is now a string Union type instead of an Kotlin enum Class (JS)
  • Chat: MemberState is 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 onConversationEvent and getConversationEvents()
  • Chat: Support for Ephemeral Events. Now SDK can receive them via delegate onConversationEvent and send them via sendEphemeralEvent
  • 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.CREATED or OrderBy.CUSTOM_SORT_KEY. Now you can retrieve conversations in your preferred order.
  • Chat: In the Conversation Object, a new key, custom_sort_key, has been added to the properties object. Users can set this key, and when it's passed as orderBy in getConversations(), it will be used to sort conversations on the backend, providing greater flexibility in conversation sorting.
  • Common: Introduced ClientInitConfig, an extension of ClientConfig, which offers flexible logging options. You can use it with setConfig or during client initialization for enhanced control over logging settings.
  • Common: Made setConfig and VonageClient constructor js-friendly by accepting a config object in addition to ClientConfig and ClientInitConfig respectively. (js)
  • Common: Added new method registerVoipToken(_:withDeviceToken:isSandbox:callback) and registerVoipToken(_:withDeviceToken:callback) to register for VoIP push and push notifications (iOS)
  • Voice: Added registerVoipToken(_:isSandbox:callback) and registerVoipToken(_:callback) to only register for VoIP push (iOS) to only register for VoIP push (iOS)
  • Chat: Added registerDeviceToken(_:isSandbox:callback) and registerDeviceToken(_:callback) to only register for push notifications (iOS)

Changed

  • Chat: Restructured Message Events to adhere to the following naming convention: TextMessageEvent has been renamed to MessageTextEvent and so on.
  • Chat: Ensured consistency by renaming sendTextMessage to sendMessageTextEvent and sendCustomMessage to sendMessageCustomEvent.
  • Chat: Made the memberId property in EmbeddedInfo optional, 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 parsePushConversationEvent which will return ConversationEvent
  • Chat : Removed CSUnknownConversationEvent from data model
  • Chat: added includeCustomData= true/false argument to getConversations(), giving conversation the optional customData
  • Common: set User-Agent header on all requests (Android, iOS)
  • Voice: Enabling Verbose Logging now includes WebRTC logs for enhanced debugging. (Android, iOS)
  • Chat: Simplified the naming for event timestamps. The EventTimestamp (a String typealias) has been renamed to Timestamp.
  • Chat: Introducing the includeDeletedEvents boolean parameter in getConversationEvents(). When set to true, the Events list will include deleted events along with non-deleted events; by default, it is set to false.
  • Chat: Deleted message events now include an optional deleted field in their body, indicating the time they were deleted.

Fixed

  • Common: setConfig() is now optional

Deprecated

  • Common: setDefaultLoggingLevel and setVonageClientLoggingLevel in favour of ClientInitConfig.loggingLevel.
  • Common: registerDevicePushToken(_:userNotificationToken:isSandbox:callback) in favour of registerVoipToken(_:withDeviceToken:isSandbox:callback) (ios)
  • Common: registerDevicePushToken(_:userNotificationToken:callback) in favour of registerVoipToken(_: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 of VonageClientKt.VonageClient(ctx) (Android)

1.1.1 - 2023-08-03

Changed

  • Chat: Exhaustive conversation events types (JS)
  • Chat: Introduced a sealed interface From to model system-initiated events in Conversation Events. It can be either EmbeddedInfo (with info about user and memberId) or System.
  • Chat: Eliminated redundant sender field from Message Event. Information can now be obtained from the from field.
  • Chat: Unified Member Event Models' Body, now containing user and memberId info.
  • Voice: Renamed client.answerCall() and client.rejectCall() to client.answer() and client.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_INVITE and NEW_MESSAGE (Android)
  • Chat: Added two new methods to parse push notification data - parsePushConversationInvite and parsePushConversationMessage (Android)

1.1.0 - 2023-06-25

Changed

  • Common: PushAPI has been moved to common android-core, hence exposing it also for Chat SDK (Android)
  • Common: suspended version of createSession is now overloaded to accept just a token parameter (Android)
  • Chat: Methods will now return commoncore model classes instead of android-specific one, in order to foster code re-usability (Android)
  • Chat: Conversation Events will now expose a User object rather than just a Username
  • Voice: createSession, serverCall and say now 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 off method to remove event listeners with event name and listener symbol returned by on (JS)
  • Common: WS reconnection metrics
  • Chat: VGConversationEvent will have eventType as property to switch over
  • Voice: added WebRTC polyfill
  • Common: Added SDK type (voice, chat or combined) on the session creation
  • Chat: Added IMAGE VIDEO AUDIO FILE VCARD TEMPLATE LOCATION Messages Events

Fixed

  • Common: Fixed VonageError serialization (JS)
  • Common: Multiple consecutive attempts to create a session will now all succeed
  • Common: Fixed error on invoking createSession after a session error has been received
  • Common: Fixed error on createSession always 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 CallReducer and InviteReducer for both onCreateSession and onRTCHangup events
  • Voice: onCallHangup delegate 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 HangupReason enum (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: serverCall callback listens for ice+dtls connection state locally
  • Voice: Fix multiple call answer error reporting
  • Voice: answer callback invoked after ice+dtls connection state becomes connected
  • Voice: Fixed PeerConnection not getting correctly closed for Reconnected Calls
  • Voice: Ensure hangup closes 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 VonageError shaped object
  • Common: Logs now include the SDK version
  • Common: Push TTL default set to 0
  • Voice: didReceiveLegStatusUpdateForCall status param converted VGLegStatus enum
  • Voice: didReceiveInviteForCall channelType param converted to VGVoiceChannelType enum
  • Voice: didReceiveHangupForCall will return a reason for the hangup VGHangupReason enum
  • Voice: Move vonagePushType to VGBaseClient (iOS)
  • Voice: Trim VGPushType cases for GA (all) and prefix cases (iOS)

Added

  • Chat: Added delegate method onConversationEvent for Conversation Events updates(member:invited, member:joined, member:left, message)
  • Chat: Added method getConversationEvents to retrieve Conversation Events (included UnknownEvent)
  • Chat: Added method sendTextMessage to send text messages in a Conversation
  • Chat: Added getConversationMember method to get details of specific Member in a conversation
  • Voice: Added enableWebsocketInvites flag on ClientConfig to 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 hangup method on client (JS)

0.2.1 - 2023-04-13

Fixed

  • Voice: onLegStatusUpdate will 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: onRtcHangup delegate now called onCallHangup and returns callId and callQuality

Added

  • Voice: onCallInviteCancel delegate to inform client of when the call invite is cancelled and for what reason remote 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: serverCall will be able to hangup when member:joined before app knocking
  • Voice: serverCall will no longer silently error on no member:media
  • Voice: onLegStatusUpdate is triggered for leg status updates and transfers of other legs
  • Voice: onRTCTransfer is triggered only for your leg when it transfers from one call to another
  • Voice: onRtcHangup is now only triggered for own leg in a call
  • Voice: better cleanup of calls after Hangup and call errors
  • Voice: VGClient.isUsingCallKit will 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
  • VoiceCallPushInvite and VoiceCallAppInvite now share a VoiceCallInvite
  • VGVoicePushInvite and VGVoiceInvite will be now one single type VGVoiceInvite
  • PushInvite sent over push service and VoiceCallInvite sent via websocket after session created, now share a VoiceCallInvite interface
  • VoiceCallPushInvite.answer() now returns com.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

Built with VitePress.