We are thrilled to announce the general availability of all our v4.0 server SDKs. While our previous SDKs (a.k.a helpers) already enable you to use Plivo API in your applications, the new versions have consistent & guessable interfaces, better error handling, and excellent IDE support.
Note that all the new features would only be added to v4 of the SDKs going forward. The previous versions will receive only the critical bug fixes and security patches till deprecated. See the “Deprecation” section for more details about the deprecation plan for the previous SDKs.
What’s new in v4
- All the SDKs work with all latest versions of the programming language it was written for. For example, Python SDK works with 2.7.x and 3.3.x+, while .NET SDK works with .NET Framework 4.6+ and .NET Core 1.0+
- The JSON serialization and deserialization are now handled by the SDKs
- Automatic pagination is now available in the Python, Ruby and Java SDKs so you won’t have to keep track of limits and offsets while requesting paginated responses.
- All the SDKs have excellent IDE support so you don’t have to juggle between documentation and code
What has changed since Beta
Support for Timeouts and Proxies
The latest server SDKs provide for specifying timeouts and proxy settings that will be used while making API requests. These settings will be really useful to make your code resource-efficient as unused connections can be closed quickly without waiting for a long time.
Similarly, if you are behind a proxy, you can now set your proxy settings while initializing a client so that all the connections go through your proxy.
Visit the Plivo API Reference and select a programming language of your choice to see how you can use these settings in that language.
Methods to Verify X-Plivo-Signature-V2
To verify that the requests made to your server have really originated from Plivo, you can generate a nonce-based signature and compare with the
X-Plivo-Signature-V2 header. To know more about our new nonce-based signatures, visit our getting started with signature validation page on the Developers Portal.
All the latest SDKs have methods to verify the nonce-based V2 signature. Visit the XML Request section in the API Reference and select a programming language of your choice to see how you can use these methods in that language.
Language-specific SDK changes
We had to make a few minute breaking changes to ensure we provide better features and conform to the known best practices. Here are the changes we made since the last Beta launch:
- .NET SDK: The SDK has been modified to target .NET Standard 1.3 to use Cryptography package for signature validation. Since .NET Standard targets .NET Framework 4.6+ and .NET Core 1.0+, we had to drop support for .NET Framework 4.5
- Go SDK: The SDK has been restructured to conform to the known best practices. Starting now, you can use the SDK at
- Get started with the server SDKs on Plivo Developers Portal
- Check out the new Plivo API Reference portal for the server SDKs. The new SDKs are referred to as “latest” and the older SDKs are referred to as “legacy”.
- Check out our guide on how to set up the dev environment and start serving Plivo XML in under 5 minutes.
- Report any feedback or problems with these versions by opening an issue on Github.
- You can view the codebase of these versions on the master branch of their respective repositories. If you are an existing contributor, this means that you won’t be able to pull the latest code as the refs have been modified. The old SDK can be found under “stable/x.y.z” branches.
All the new features would only be added to v4 of the SDKs going forward. The previous versions will receive only the critical bug fixes and security patches till deprecated. The old SDKs will be supported till 30th June 2018. Starting from 1st July 2018, the old SDKs will not receive any fixes whatsoever. It is recommended that you plan on migrating to the new SDKs at the earliest.
Links to Beta Releases
- Python: https://www.plivo.com/blog/introducing-plivo-python-sdk-4-0-beta
- Ruby: https://www.plivo.com/blog/introducing-plivo-ruby-sdk-4-0-beta
- Node.js: https://www.plivo.com/blog/introducing-plivo-node-sdk-4-0-beta
- PHP: https://www.plivo.com/blog/introducing-plivo-php-sdk-4-0-beta
- Go: https://www.plivo.com/blog/introducing-plivo-go-sdk-4-0-beta
- Java: https://www.plivo.com/blog/introducing-plivo-Java-sdk-4-0-beta
- .NET (C#): https://www.plivo.com/blog/introducing-plivo-net-sdk-4-0-beta