vonage-java v6.4.0

  • Adding Random From Number Feature for the Voice API, if set to true, the from number will be randomly selected from the pool of numbers available to the application making the call.
  • adjusting operator used to check json payloads
  • Adding extra parsing for top level Roaming Status in Advanced Number Insights

vonage-dotnet v5.9.0

  • Added From Random Number feature. Set FromRandomNumber to true, to pull a random available to your application. If FromRandomNumber is set to true, the From endpoint must not be set.

vonage-java v6.3.0

Added

  • Adding Inbound SMS message validation for JSON based POST requests

vonage-php-sdk-core v2.9.2

Fixed

  • JWTs with sub should now generate properly under newer PHP versions

vonage-dotnet v5.8.0

Added

  • Added support for the new Number Insights response format

vonage-php-sdk-core v2.9.1

Fixed

  • SMS Throttling response is now handled as milliseconds instead of seconds
  • Fixed regex to not consume API rate limiting error and basically time out PHP scripts

vonage-php-sdk-core v2.9.0

Changed

  • Landline Toll Free numbers can be searched for

vonage-php-sdk-core v2.8.1

Fixed

  • Fixed issue retrieving Conversations and Users clients where the service locator didn't know what to do

Changed

  • Moved auth logic to individual handlers, to better prepare for a fix where Containers do not allow Signature and Token auth

vonage-ruby v7.4.0

Added

  • Adds a new NCCO builder into the SDK to construct Voice API instructions

nexmo-dotnet v5.7.0

Added

  • Adding EntityId and ContentId fields to SMS Requests to compile with India's DLT
  • Adding Detail field to call status webhooks to provide more granular detail of certain inbound webhooks.

nexmo-dotnet v5.6.5

Fixed

  • Fixing an issue where Channels parameter would serialize to 0 when not initialized in RecordAction - the parameter is now properly ignored.

nexmo-dotnet v5.6.4

Fixed

  • Fixing deadlock issue with synchronous methods in Blazor Server

nexmo-dotnet v5.6.3

Fixed

  • Fixing issue with the serialization of delivery receipts when using a non-standard JSON serializer.

nexmo-dotnet v5.6.2

Added

New, simplified method for sending SMS messages.

To send an SMS simply use the Sms client's SendAnSms function

var smsResponse = smsClient.SendAnSms(FROM_NUMBER, TO_NUMBER, TEXT);

nexmo-dotnet v5.6.1

Added

New, simplified method for sending SMS messages.

To send an SMS simply use the Sms client's SendAnSms function

var smsResponse = smsClient.SendAnSms(FROM_NUMBER, TO_NUMBER, TEXT);

nexmo-node URL Override Fix

Fixed

  • Fix new issue with host override.

vonage-python-sdk v2.5.5

Fixed

  • Patched issues with PyJWT >1.8 (TypeError: can't concat str to bytes)
  • This patch ensures all versions of PyJWT are supported.

nexmo-java v6.1.0

  • Adds new language and style parameters for choosing how voices will sound over TTS
  • Marks old voiceName parameter as deprecated

vonage-php-sdk-core v2.7.1

Changed

  • #270 - Use the actual Guzzle package version to determine of 6 or 7 is in the project

vonage-php-sdk-core v2.7.0 - PHP 8 Support!

Added

  • #269 - Added PHP 8 Support

nexmo-dotnet v5.5.0

New

  • Voice Talk Command and Talk NCCO now allow you to use the language and style parameters for text-to-speech. E.g.
var talkAction = new TalkAction() { Text = "Hei dette er en tekst-til-tale-samtale fra vonage " + extraText, Language="no-NO" };

Deprecations

  • The VoiceName parameter has been deprecated.

vonage-php-sdk-core v2.6.0

2.6.0

Don't be scared off by this large release! Most of it is under-the-hood syntax cleanup. Thank you to everyone during Hacktoberfest for the cleanup and help with the SDK!

The big addition was we added support for VAPI Language and Style (https://developer.nexmo.com/voice/voice-api/guides/text-to-speech), and fixed a bug when manually setting the Verify code length.

Added

  • #265 - Added support for Language and Style for NCCO Talk action

Changed

  • #257 Dropped support for PHPUnit 7
  • #257 Added missing PHPDoc blocks
  • #257 Added missing return type hints
  • #257 Replaced qualifiers with imports
  • #257 Updated and optimized examples
  • #257 Applied multiple code optimizations (especially for PHP 7.2+) and simplified some logic
  • #257 Updated code styling to match PSR standards
  • #257 Re-ordered imports where necessary
  • #257 Updated tests to get rid of deprecation messages
  • #257 Fixed namespace declarations in tests
  • #257 Updated code style to PSR-12
  • #257 Updated phpunit.xml.dist
  • #257 Added Roave Security Advisories as dev-requirement to prevent usage of packages with known security vulnerabilities
  • #257 Replaced estahn/phpunit-json-assertions with martin-helmich/phpunit-json-assert due do compatibility issues with PHPUnit
  • #257 Removed test build for PHP 7.1 in .travis.yml
  • #257 Added missing punctuation in CONTRIBUTING.md
  • #257 Updated contact email address in CODE_OF_CONDUCT.md

Deprecated

  • #265 - Deprecated use of VoiceName for NCCO Talk action

Fixed

  • #257 Fixed namespaces (Zend => Laminas, Nexmo => Vonage)
  • #257 Fixed condition in Verify\Request::setCodeLength
  • #257 Fixed typos and some wording in README.md

Removed

  • Removed examples/ directory as the code snippets repo is much more up-to-date

nexmo-java 6.0.0

[6.0.0]

Added

  • ASR (Automatic Speech Recognition)

Changed

  • Refactored Application v2 requests to remove duplicated code
  • Deprecated Product.MESSAGE from RedactRequest. Use Product.MESSAGES instead
  • Deprecated InsightClient#getStandardNumberInsight(number, country, cnam). Use InsightClient#getStandardNumberInsight(StandardInsightRequest) instead
  • Deprecated InsightClient.getAdvancedNumberInsight(number, country, ipAddress, cnam). Use InsightClient#getAdvancedNumberInsight(AdvancedInsightRequest) instead
  • Deprecated InsightClient.getAdvancedNumberInsight(number, country, ipAddress). Use InsightClient#getAdvancedNumberInsight(AdvancedInsightRequest) instead
  • Deprecated public constructors and setters in VerifyRequest use VerifyRequest.Builder instead
  • Deprecated MD5Util use HashUtil instead
  • Removed setters from BaseRequest. Set fields in the builders of Psd2Request or VerifyRequest instead.

nexmo-dotnet v5.4.0

New

  • Adds the Async Pattern to the Vonage SDK. All methods that were synchronous have both a sync and async flavor. To use the async method simply add Async to the end of the old method name - e.g. SendAnSmsAsync
  • Adds new APIs for making Phone calls with the Voice API, specifically CreateCall has two new overloads which support either two phone numbers (to and from) and an NCCO, or a to endpoint and from number and NCCO

Fixes

  • Fix enumeration issue for Verify workflows
  • Some minor null checking.

nexmo-java 5.6.0

Added

  • NotifyEvent structure for Notify Actions
  • SHA256 hashing option

Changed

  • Create application request use basic auth for authentication

Fixed

  • Fixed error throw when trying to log No Content responses

nexmo-node v2.10.4

Fixed

  • #400 - Fix issue with host override

nexmo-node v2.10.3

A special thanks to all of the Hacktoberfest contributions. Your work is appreciated!

Added

  • #400 - Added Yarn example in README.md
  • #380 - Added Number typings
  • #379 - Added Voice typings
  • #376 - Added Media typings
  • #373 - Added Number Insight typings

Updated

  • #389 - Discriminating unions support for different message responses
  • #387 - Bump @babel/register from 7.11.5 to 7.12.0
  • #385 - Bump @babel/core from 7.11.6 to 7.12.0
  • #384 - Bump @babel/preset-env from 7.11.5 to 7.12.0
  • #378 - Allow for Full URL Overrides in Constructor
  • #375 - Updated uuid-dependency for performance improvement

nexmo-php v2.5.0

Changed

  • #260 - Swapped out ocramius/package-versions for composer/package-versions-deprecated to work with Composer 2

vonage-ruby v7.2.1 Release

  • Bump version of nexmo-jwt gem dependency to v0.1.2. Fixes the ACL path parameter formation in JWT creation.

nexmo-node v2.10.2

Updated

  • #350 - Bump eslint-config-prettier from 6.11.0 to 6.12.0

Fixed

  • #370 - Fixed typos
  • #369 - Fixed typos
  • #358 - Fixed typos
  • #357 - Fixed typos
  • #355 - Fixed types module name
  • #352 - Fixed typos

nexmo-php v2.4.1

2.4.1

Changed

  • #256 - Added support for PHPUnit 8

Fixed

  • #253, #254 - Fixed some typos in the README
  • #255 - \Vonage\Numbers\Client::searchAvailable() now correctly handles filters using FilterInterface

vonage-python-sdk v2.5.3

  • Minor patches to reflect Vonage namespace changes

nexmo-php v2.4.0

This release includes a minimum version bump to PHP 7.2, as 7.1 is nearing full EOL. This also better allows us to support Guzzle 7 out of the box.

Changed

  • #250 - Bumped minimum PHP version to 7.0
  • #250 - Now supports Guzzle 7 automatically, and swaps to Guzzle 7 as a dev dependency

nexmo-node v2.10.0

This version serves as the change from the Nexmo namespace to the Vonage namespace. The module now resides on NPM as @vonage/server-sdk. Prior versions under the Nexmo namespace will remain in maintenance mode for the next 12 months and recieve bug and security fixes. All new functionality will only be added to the @vonage namespace.

Updated

  • #321 - Bump jsonwebtoken from 8.4.0 to 8.5.1
  • #322 - Bump body-parser from 1.18.3 to 1.19.0
  • #324 - Bump cross-env from 5.2.0 to 7.0.2
  • #325 - Migrated SDK module from nexmo to @vonage/server-sdk
  • #326 - Bump bluebird from 3.5.3 to 3.7.2
  • #327 - Bump @babel/plugin-proposal-object-rest-spread from 7.10.4 to 7.11.0
  • #328 - Bump @babel/register from 7.10.5 to 7.11.5
  • #329 - Bump @babel/core from 7.11.5 to 7.11.6
  • #330 - Bump @babel/preset-env from 7.10.4 to 7.11.5
  • #333 - Bump nyc from 14.1.1 to 15.1.0
  • #334 - Bump eslint-config-prettier from 6.2.0 to 6.11.0
  • #336 - Bump @babel/cli from 7.10.5 to 7.11.6
  • #339 - Bump dotenv from 2.0.0 to 8.2.0
  • #340 - Bump babel-plugin-istanbul from 4.1.6 to 6.0.0
  • #343 - Bump babel-plugin-add-module-exports from 1.0.2 to 1.0.4
  • #344 - Bump request from 2.88.0 to 2.88.2

nexmo-php v2.3.3

Fixed

  • #252 - Connect action's eventUrl was being set as a string, changed to single element array of strings

nexmo-php v2.3.2

Added

  • #248 - Added \Vonage\Client\MapFactory::make() to always instantiate new objects

Fixed

  • #248 - Fixed type in URL for Account Client Factory

nexmo-java 5.5.0

Added

  • Added support for PSD2 verification

nexmo-dotnet v5.3.0

5.3.0 switches all naming in the SDK from Nexmo -> Vonage. And marks the first release of the new Vonage nuget package.

The Nexmo namespace is preserved but all classes within it are marked as deprecated as they will be removed in the next major release (6.0).

nexmo-php v2.3.1

Added

  • #247 - Fixed missing fields on Standard/Advanced number insight getters

Fixed

  • #246 - Fixed badge URLs in README

nexmo-php v2.3.0

This release contains a major milestone where all the code is now under the \Vonage namespace! Do not worry though, any existing code using the \Nexmo namespace will still continue to work thanks to a new vonage/nexmo-bridge package which will translate between the two namespaces. The next time you update your Nexmo client to this or any subsequent 2.x releases, your code will continue to work with no changes.

It is recommended to start using the \Vonage namespace in any new code you create, but even new features added (like our PSD2 feature in this release) will work under either namespace. Developers will be able to update at their own pace.

Added

  • Support for the PSD2 Verify endpoints for EU customers
  • vonage/nexmo-bridge as a dependency so \Nexmo namespaced code works with the new \Vonage namespace
  • Calls using \Vonage\Client\APIResource can now specify headers for individual requests

Changed

  • Namespace changed from \Nexmo to \Vonage for all classes, interfaces, and traits

Fixed

  • Base URL overrides were not being pushed up properly
  • JSON payload for transferring via NCCO or URL was malformed

nexmo-python v2.5.2

  • Support for Independent SMS, Voice and Verify APIs with tests as well as current client methods
  • Getters/Setters to extract/rewrite custom attributes
  • PSD2 Verification support
  • Dropping support for Python 2.7
  • Roadmap to better error handling
  • Supporting Python 3.8

nexmo-php v2.2.3

Added

  • Added country as a search option for Nexmo\Numbers\Client::searchOwned()

nexmo-java v5.4.0

  • Added AppEndpoint support for ConnectAction.
  • Added the ability to log the API response in when logger is set to debug mode.
  • Added ability to override base url for:
    • Modify Call
    • Send DTMF
    • Stop Talk

nexmo-node 2.9.1

  • FIXED: #317 - TypeError: Nexmo is not a constructor

nexmo-node v2.9.0

  • FIXED: #295 - Nexmo constructor changes of given options object
  • ADDED: Optional target_api_key parameter for the number.buy() and number.cancel() methods.
  • ADDED: Typings for Messages API
  • UPDATED: Private Key strings now replaces \n with newlines for easier usage in environment variables.

nexmo-php v2.2.2

Fixed

  • #235 - Adds a fix for calling the calls() API client

nexmo-dotnet v5.2.0

Adds new utility methods for parsing inbound webhooks from Vonage Fixes bug with parsing multi-input event webhooks.

nexmo-php v2.2.1

Minor bugfix release based on feedback:

Added

  • Allow Conversations NCCO to set event URL information
  • Added missing Notify webhook and new ASR code

Changed

  • NCCOs now set let default options

Removed

  • Redundant comments in client for sms() and verify() clients

nexmo-php v2.2.0

2.2.0

This release focuses on deprecation of dead and old code, and preps many internal changes in regards to v3.0.0. Where possible upcoming v3.0.0 changes were backported where backward-compatibility could be maintained.

Added

  • New Voice and SMS interfaces, accessible through $client->voice() and $client->sms(), respectively
  • Added user deprecation warnings, which can be turned on and off via the Nexmo\Client "show_deprecations" config option. This can help devs update in preparation in v3.0.0, and will be utilized in the future as things are deprecated.
  • Many objects now have a toArray() serialization method, to discourage direct use of jsonSerialize()
  • Many objects now support a fromArray() hydration method
  • Better incoming webhook support for SMS and Voice events
  • NCCO builder for Voice

Changed

  • API handling code has been conglomerated in Nexmo\Client\APIResource and Nexmo\Entity\IterableAPICollection
  • All APIs ported over to the new API handling layer
  • Internal Service Locator Nexmo\Client\Factory\MapFactory is now PSR-11 compliant, and can use factories
  • Most Verify methods in the client now prefer string Request IDs
  • Verify now prefers Nexmo\Verify\Request for starting new Verification requests

Deprecated

For a detailed list of things that may impact an application, enable the show_deprecations Nexmo\Client option to see deprecation notices for specific code flows.

  • Most forms of array access are now deprecated
  • Using service layers like $client->messages($filter) to search has been deprecated in favor of bespoke search methods
  • Requests/Responses on exceptions and entities are deprecated, and now exist in the service layer or collection
  • Most methods that took raw arrays now prefer objects
  • Nexmo\Verify\Verification objects full functionality has been deprecated, and will be used only as a value object for search requests in the future
  • Nexmo\Conversations and Nexmo\User have been deprecated and will be removed in the future as the feature is in Beta status and has diverged from this implementation
  • Nexmo\Voice\Call and Nexmo\Voice\Message have been deprecated and will be removed in the future as the TTS API is deprecated
  • SMS searching has been deprecated and will be removed in a future update

Removed

  • No features or classes have been removed in this update, it is functionally compatible with v2.1.0 other than deprecation notices and new features.

Fixed

  • No direct bugs have been fixed as this release was designed to be as compatible with v2.1.0 as possible, however:
    • #177 should be better handled by a centralized Nexmo\Client\Exception\ThrottleException and has been implemented in SMS and the Numbers API
    • #219 is implicitly fixed in Nexmo\SMS\Client::send() as it now returns a fully hydrated collection object as a response, however this needs to be updated in Laravel itself via an update to nexmo/laravel and laravel/nexmo-notification-channel
    • #221 is implicitly fixed in Nexmo\SMS\Client::send() as it now returns a fully hydrated collection object that is much more up-front it is not a single object
    • #227 is implicitly fixed in Nexmo\SMS\Webhook\InboundSMS

Security

  • There were no known security vulnerabilities reported

nexmo-java v5.3.0

  • Added support for new voice names added to the Voice API for Text to Speech
  • Improved error handling when there are apparent networking issues

nexmo-ruby v7.2.0 Release

  • Replaced JWT generation with the nexmo-jwt gem.
  • Bug fix: Restored ability to update app_id in the Numbers API with the SDK.

nexmo-dotnet v5.1.0

New

This new version of the .NET Nexmo SDK Introduces the new PSD2 feature for the Vonage Verify API.

For more details about using this feature see its code snippets. And its API Reference

nexmo-dotnet v5.0.0

New Features

We've added a few new features to the .NET SDK, here's an enumeration of them.

Rebuilt SDK Around .NET Conventions

Older iterations of the SDK didn't feel very ".NET", this release fixes that.

  • We've abstracted all API Calls behind interfaces allowing easy substitution via dependency injection for your testing. For example, the Legacy SDKs SMS class is replaced by the ISmsClient interface, which you can speak through or replace on your own.

  • All of the new structures and APIs are now compliant with .NET naming conventions. Additionally, we've introduced many new enums to remove some open string fields. We preserved the legacy structures but marked them as obsolete as a gentle reminder to update the latest version as this will make upgrading easier.

New Logging Methodology

A new means of logging has been added to the SDK built around Microsoft.Extensions.Logging. Thus you can configure the logging of the SDK to use whatever logging format you want; you can make it as compliant to your own logs as you'd like, and there's no need to log our SDKs outputs to your log files. See my explainer about how this is structured and how you can get up and logging with your own logs!

Added Summary Documentation File

The SDK now comes with a summary docs file to make it easier for you to determine how to go about building your applications.

New Error Handling Methodology

All API calls will throw an exception containing a best-effort description of what went wrong if they encounter an error. This includes all 4xx, 5xx responses, and errors from the SMS, Numbers, Number Insight, and Verify APIs that might respond with a 200 OK response and an error code. All of these exceptions will be of the type NexmoException (SubTypes NexmoSmsResponseException, NexmoNumberInsightResponseException, NexmoNumberResponseException, NexmoVerifyResponseException) or NexmoHttpRequestException.

There are similar errors that will be thrown for the legacy APIs as well.

Under the Hood

We've also made some significant enhancements under the hood that will be less relevant to interacting with the API but might still be interesting.

Refactored Internal Request Methods

We've refactored all of the internal ApiRequest methods to make them more user friendly and generic. You can have a look here.

Note: These methods are not considered part of the public API of the SDK and are subject to change without notice.

Unit Tests

We've added a whole new suite of unit tests to prevent things from breaking on their way out the door. Unit test coverage went from 33% in 4.4.0 to 87% in 5.0. Virtually everything that is not tested is either legacy or a third party file previously incorporated into the SDK.

Breaking Changes

We've done our best to ensure that the upgrade path to 5.0 will be as seamless as possible. The new structures should not affect current users of the SDK though I would encourage everyone to heed the obsolescence warnings. That said, there are a couple of breaking changes between 4.x and 5.x that you should be aware of.

  • We've removed LibLog, thus without action on the developer's part logs will cease to be intermingled with developer's logs.

  • New exceptions will be thrown in the case of any error being encountered on an API call, this includes 200 responses with error codes.

If anyone encounters any issues please open an issue in the Github repo

nexmo-dotnet v4.4.1

Fixes

  • Changes the encoding of JSON payloads from ASCII to UTF8

nexmo-node v2.7.0

  • ADDED: Made apiKey and apiSecret optional when applicationId and privateKey are present in Nexmo constructor.

nexmo-dotnet v4.4.0

Adding new Automatic Speech Recognition (ASR) action to NCCO Action set. To start an asr input you will construct a MultiInputAction and return it from your answer webhook:

[HttpGet("/webhooks/answer")]
public string Answer([FromQuery]Answer request)
{
        var host = Request.Host.ToString();
        //Uncomment the next line if using ngrok with --host-header option
        //host = Request.Headers["X-Original-Host"];

        var eventUrl = $"{Request.Scheme}://{host}/webhooks/asr";
        var speechSettings = new SpeechSettings {Language="en-US", EndOnSilence=1, Uuid = new[] { request.Uuid } };
        var inputAction = new MultiInputAction { Speech = speechSettings, EventUrl = new[] { eventUrl } };

        var talkAction = new TalkAction { Text = "Please speak now" };

        var ncco = new Ncco(talkAction, inputAction);
        return ncco.ToString();
}

This will allow a user to perform inputs with speech. After the end conditions are met for the voice input you will then get a webhook returned to you containing an ordered list of guesses for what speech your user said on the EventUrl that you passed through the MultiInputAction. That can be handled like so:

[HttpPost("/webhooks/asr")]
public string OnInput()
{
        MultiInput input;
        using (StreamReader reader = new StreamReader(Request.Body, Encoding.UTF8))
        {
            var result = reader.ReadToEndAsync().Result;
            input = JsonConvert.DeserializeObject<MultiInput>(result);
        }
        var talkAction = new TalkAction();
        talkAction.Text = input.Speech.SpeechResults[0].Text;
        var ncco = new Ncco(talkAction);
        return ncco.ToString();
}

nexmo-dotnet v4.3.2

Fixed

  • Fixed bug where streamUrl in where the StreamAction was set to a string rather than an array of strings
  • Changed websocket endpoints headers type from a string to an object - the string type was injecting escape charecters into the headers object payload.

nexmo-dotnet V4.3.1

Fixes

  • Fixed bug where loop parameter would be truncated if set to 0
  • Fixed bug that would cause certain User Agent's to throw errors on certain Operating Systems

nexmo-dotnet v4.3.0

New

  • Adding ListOwnNumbers API
  • Making basic JWT generation public

nexmo-node v2.6.0

New

  • Change host via the config object, using apiHost & restHost

nexmo-java v5.2.1

Adding workflows 6, SMS, and 7, TTS to the SDK's enumerated values.

nexmo-node v2.5.2

New

  • Pricing API support

Fixes

  • TypeScript typings don't require applicationId anymore.

nexmo-dotnet v4.2.1

  • Fixing NCCO serialization bug
  • Setting Microsoft.Extensions.Configuration.* to version 1.1.2

nexmo-dotnet V4.2.0

  • The NCCO component within the CallCommand object can now be a strongly typed Ncco rather than a JArray, for the sake of backwards compatibility Ncco is left as a JArray but there is now an option to set a strongly typed Ncco object NccoObj instead see https://developer.nexmo.com/voice/voice-api/code-snippets/make-an-outbound-call-with-ncco for a sample
  • Adding type safety for NCCOs and webhook events
  • Adding application_id and has_application to Numbers API

nexmo-php 2.1.0

This release contains a few quality of life changes for the SDK. We have added support for sending a Workflow ID to our Verify API, as well as the ability to search your existing numbers for ones that are attached to an application or not, or for all the numbers attached to a specific application.

Added

  • Added support for Workflow ID for Verify
  • Added support for searching for numbers via has_application and application_id

nexmo-java 5.2.0

Added support for verification workflow id add transfer to NCCO support Remove unnecessary declarations of throwing of IOExceptions.

nexmo-dotnet 4.12

Release 4.1.2 Fixes hash / HMAC signing and validation of signed messages for an example of how to manage signing / validation of signed messages visit https://developer.nexmo.com/concepts/guides/signing-messages/dotnet

nexmo-node v2.5.1

  • ADDED: typings for Verify API
  • ADDED: Applications API V2 support

nexmo-dotnet 4.1.1

Fixes

  • Fixed some dependencies in the nuget package

nexmo-php 2.0.0

This release contains a few under-the-hood changes. The largest is the bump to PHP 7.1, which may affect some customers. If you are on an older version of PHP, you will be limited to SDK v1.8.1 or lower.

We have also renamed this package into nexmo/client-core and added a new wrapper package to replace nexmo/client. For most customers this process should be seamless, and composer should automatically handle the change. This change is made to remove a collision between our package and others that may supply Guzzle themselves.

If you use the SDK to search for numbers, please be advised that we did change the response for when no numbers are found. It will now return an empty array instead of throwing an exception. Other searches are not affected and will continue to throw their original exceptions.

Exceptions will now support an additional getEntity() method that returns additional information about what happened. In many cases this is the response from the server, to make it easier to understand the API error message. Exceptions continue to return error codes and messages like before, but the getEntity() method can be used for better context during error handling.

Please check the rest of the changelog for a full list of changes.

Added

  • Now grab the version of the SDK from composer.json for the User Agent
  • Exceptions now support a getEntity() method to get more information during errors

Changed

  • Changed minimum version to PHP 7.1
  • Renamed package to nexmo/client-core
  • Bumped to PHPUnit 7.4
  • Now return an empty array when searching for numbers and none are found. This no longer throws an exception.

Deprecated

  • No new deprecations were added

Fixed

  • Improved error handling for Number Insights

Removed

  • Removed direct Guzzle dependency, and moved it to nexmo/client

Security

  • No new security fixes were added

nexmo-dotnet 4.1.0

v4.1 Fixes the structure of the application update API. This changed structure may require some code changes as the previous implementation created an erroneous structure for performing the update and start request. Use something along the lines of the following to create the request for the update / create:

var request = new AppRequest()
            {                
                Name = name,
                Capabilities = new Capabilities()
                {
                    Messages = new MessagesWebhook(
                        new Webhook() { Address = "https://example.com/webhooks/inbound", HttpMethod = "POST" },
                        new Webhook() { Address = "https://example.com/webhooks/status", HttpMethod = "POST" }),
                    Rtc = new RtcWebhook(
                        new Webhook() { Address = "https://example.com/webhooks/event", HttpMethod = "POST" }),
                    Voice = new VoiceWebhook(
                        new Webhook() { Address = "https://example.com/webhooks/answer", HttpMethod = "GET" },
                        new Webhook() { Address = "https://example.com/webhooks/event", HttpMethod = "POST" }),
                    Vbc = new VbcWebhook()
                }
            };

v4.1 Fixes the Redact API, this can be invoked like so:

var result = client.Redact.RedactTransaction(redactRequest: new Redact.RedactRequest(NEXMO_REDACT_ID, NEXMO_REDACT_PRODUCT));

v4.1 Adds support for retrieving voice recordings using the GetRecording API invoke like so:

var response = client.Call.GetRecording(recordingUrl);

nexmo-dotnet 4.0.1

Added workflow_id to verify_request

nexmo-php 2.0.0

[2.0.0] - 2019-09-10

This release contains a few under-the-hood changes. The largest is the bump to PHP 7.1, which may affect some customers. If you are on an older version of PHP, you will be limited to SDK v1.8.1 or lower.

We have also renamed this package into nexmo/client-core and added a new wrapper package to replace nexmo/client. For most customers this process should be seamless, and composer should automatically handle the change. This change is made to remove a collision between our package and others that may supply Guzzle themselves.

If you use the SDK to search for numbers, please be advised that we did change the response for when no numbers are found. It will now return an empty array instead of throwing an exception. Other searches are not affected and will continue to throw their original exceptions.

Exceptions will now support an additional getEntity() method that returns additional information about what happened. In many cases this is the response from the server, to make it easier to understand the API error message. Exceptions continue to return error codes and messages like before, but the getEntity() method can be used for better context during error handling.

Please check the rest of the changelog for a full list of changes.

Added

  • Now grab the version of the SDK from composer.json for the User Agent
  • Exceptions now support a getEntity() method to get more information during errors

Changed

  • Changed minimum version to PHP 7.1
  • Renamed package to nexmo/client-core
  • Bumped to PHPUnit 7.4
  • Now return an empty array when searching for numbers and none are found. This no longer throws an exception.

Deprecated

  • No new deprecations were added

Fixed

  • Improved error handling for Number Insights

Removed

  • Removed direct Guzzle dependency, and moved it to nexmo/client

Security

  • No new security fixes were added

nexmo-node v2.4.2

Added

  • Added message signing for for sending SMS
  • Added Nexmo.generateSignature to verify signed messages

nexmo-java v5.1.0

Added

  • Added support for setting an application id as a messages callback value in updating a number.
  • Added support for specifying a number type when searching for a number to purchase.

nexmo-java v5.0.0

Added

  • Added support for updating account settings (delivery receipt URL and inbound SMS URL)
  • Added support for Async Number Insights by setting the property async and callback on the AdvancedInsightRequest object.
  • Add ringback support to the onAnswer part of the PhoneEndpoint.

Changed

  • Changed from Auth0 to the Nexmo JWT Library.
  • Renamed the com.nexmo.client.applications package to com.nexmo.client.application
  • ApplicationClient now supports the Applications v2 API. This change has resulted in some backwards incompatibility.
  • NexmoClientException is now a RuntimeException. The various sub client methods will still declare that it is being thrown, but it is no longer a requirement to catch the exception. Additionally, the IOException that was being thrown in each method has been converted to a NexmoResponseParseException to more accurately reflect when it is thrown. This is also an unchecked exception and catching is no longer required.
  • The NexmoUnacceptableAuthException will now add which parameters are missing instead of which internal auth methods.