Vonage Python SDK


4.0.0

14 Nov 2024

A complete, ground-up rewrite of the SDK. Key changes:

  • Monorepo structure, with each API under separate packages
  • Support for Python 3.9+
  • Feature parity with v3
  • Add support for the new network APIs - the Vonage Sim Swap Network API and the Vonage Number Verification Network API
  • Usage of data models throughout
  • Many new custom errors, improved error data models and error messages
  • Docstrings for methods and data models across the whole SDK to increase quality-of-life developer experience and make in-IDE development easier
  • Use of Pydantic to enforce correct typing throughout
  • Add support for all Vonage Video API features
  • Add http_client property to each module that has an HTTP Client, e.g. Voice, Sms, Verify
  • Add last_request and last_response properties to the HTTP Client for easier debugging
  • Migrated the Vonage JWT package into the monorepo
  • Renamed Verify -> Verify Legacy and Verify v2 -> Verify

3.17.4

30 Oct 2024

  • Drop support for Python 3.8, add support for 3.13

3.17.3

30 Oct 2024

  • Fix bug in JWT generator

3.17.2

30 Oct 2024

  • Update vonage-jwt dependency version to fix JWT timeout issue

3.17.1

20 Aug 2024

  • Add "mark WhatsApp message as read" option for Messages API

3.17.0

19 Aug 2024

  • Add RCS message type option for Messages API
  • Add "revoke RCS message" option

3.16.1

6 Aug 2024

  • Fix video client token option
  • Fix typos in README
  • Bump minimum versions for dependencies with fixed vulnerabilities

3.16.0

7 Jun 2024

3.15.0

3 Jun 2024

3.14.0

13 May 2024

  • Add publisher-only as a valid Video API client token role

3.13.1

30 Apr 2024

  • Fix content-type incorrect serialization

3.13.0

22 Dec 2023

  • Migrating to use Pydantic V2 as a dependency

3.12.0

11 Dec 2023

3.11.1

29 Nov 2023

  • Add checks for silent auth workflow optional parameters redirect_url and sandbox

3.11.0

19 Oct 2023

  • Add method to check JWT signatures of Voice API webhooks: vonage.Voice.verify_signature

3.10.0

4 Oct 2023

  • Indicating support for Python 3.12

3.9.1

30 Aug 2023

  • Updating Meetings API URL to a /v1 endpoint

3.9.0

21 Aug 2023

  • Dropping support for Python 3.7 as it's end-of-life and no longer receiving security updates

3.8.0

14 Aug 2023

3.7.1

6 Jul 2023

  • Pinning Pydantic version range to 1.x to avoid breaking changes

3.7.0

22 Jun 2023

  • Adding support for the Vonage Meetings API
  • Adding partial support for the Vonage Proactive Connect API - supporting API methods relating to lists, items and events
  • Returning a more descriptive (non-internal) error message if invalid values are provided for application_id and/or private_key when instantiating a Vonage client object

3.6.0

14 Jun 2023

3.5.2

6 Jun 2023

  • Using the Vonage JWT Generator instead of PyJWT for generating JWTs.
  • Other internal refactoring and enhancements

3.5.1

23 May 2023

  • Updating the internal use of the fraud_check parameter in the Vonage Verify V2 API

3.5.0

16 May 2023

  • Adding support for V2 of the Vonage Verify API
    • Multiple authentication channels are supported (SMS, Voice, Email, WhatsApp, WhatsApp Interactive Messages and Silent Authentication)
    • Using fallback channels is now possible in case verification methods fail
    • You can now customize the verification code that is sent, or even specify your own custom code
  • Adding advancedMachineDetection functionality to the NCCO builder for the Vonage Voice API

3.4.0

14 Apr 2023

  • Internal refactoring changes
  • Using header authentication for the Numbers API

3.3.0

3 Mar 2023

  • Updated Messages API:
    • Added new messaging channels for Viber Service Messages (video, file)
    • Added new WhatsApp sticker message channel
    • Increased client_ref max value to 100 characters
  • Deprecated pay action in the NCCO builder as it is being removed by Vonage

3.2.2

19 Jan 2023

  • Fixing a bug on Windows

3.2.1

16 Jan 2023

  • Fixing an import bug

3.2.0

14 Jan 2023

  • Adding an NCCO Builder to make it easier to work with NCCOs when using the Voice API
  • Individual NCCO Actions can be created as Pydantic models, which can be built into an NCCO via the Ncco.build_ncco method

4.0.0b0

2 Dec 2022

  • No functionality change from v3.2.0b0. Using a major version number to keep releases chronologically and numerically more synced up.
  • This is a beta version that can be installed with pip install --pre vonage

3.2.0b0

11 Nov 2022

  • Beta release including Vonage Video API support for sessions, signalling, moderation and archiving
  • This branch will be kept separately from the main codebase for now and can be installed with pip install --pre vonage

3.1.0

26 Oct 2022

  • Supporting Python 3.11
  • Upgrading some old dependencies

3.0.2

25 Oct 2022

  • Bugfix in messages.py where authentication method was not being checked for correctly, throwing an error when using header auth.

3.0.1

4 Oct 2022

  • Fixed bug where a JWT was created globally and could expire. Now a new JWT is generated when a request is made.
  • Fixed bug where timeout was not passed to session object.

3.0.0

27 Jul 2022

Breaking changes:

  • Removed deprecated methods from client.py that are now available in specific modules related to each of the available Vonage APIs. E.g. to call the number insight API, the methods are now called in this way: client.number_insight.get_basic_number_insight(...), or by instantiating the NumberInsight class directly: ni = vonage.NumberInsight(client), ni.get_basic_number_insight(...) etc.
  • Removed automatic client creation when instantiating an sms, voice or verify object. You can now use these APIs from a client instance you create (e.g. client.sms.send_message()) or pass in a client to the API class to create it (e.g. sms = vonage.Sms(client)), as has been the case since v2.7.0 of the SDK.
  • Removed methods to call the Message Search API, which has been retired by Vonage.
  • Removed deprecated voice and number insight methods from voice.py (initiate_call, initiate_tts_call and initiate_tts_prompt_call) and number_insight.py (request_number_insight).
  • Renamed the Account.delete_secret() method to revoke_secret() to bring it in line with what is described in our documentation.

Deprecations:

  • Deprecated the ApplicationV2 class and created an Application class with the same methods to bring the naming in line with other classes. This can be called from the client object with client.application.create_application(...) etc. or directly with application = vonage.Application(client), application.create_application(...) etc.
  • Deprecated old Pricing API methods get_sms_pricing and get_voice_pricing.
  • Deprecated Redact class as it's a dev preview product that's unsupported in the SDK and will be removed in a later release.

Enhancements:

  • Added get_all_countries_pricing method to Account object.
  • Added a type parameter for pricing calls, so sms or voice pricing can now be chosen.
  • Added max_retries, timeout, pool_connections and pool_maxsize optional keyword arguments to the Client class, which can now be specified on instantiation and used in the API calls made with the client.

2.8.0

30 Jun 2022

  • Added Messages API v1.0 support. Messages API can now be used by calling the client.messages.send_message() method.

2.7.0

26 May 2022

  • Moved some client methods into their own classes: account.py, application.py, message_search.py, number_insight.py, numbers.py, short_codes.py, ussd.py
  • Deprecated the corresponding client methods. These will be removed in a major release that's coming soon.
  • Client now instantiates a class object for each API when it is created, e.g. vonage.Client(key="mykey", secret="mysecret") instantiates instances of Account, Sms, NumberInsight etc. These instances can now be called directly from Client.

2.6.4

27 Apr 2022

  • Dropped support for Python 3.6 and below
  • Now supporting currently supported stable versions of Python, i.e. Python 3.7-3.10
  • Internal refactoring and enhancements
  • Adding default max_retries option to the BasicAuthenticationServer constructor, specifying optional parameters

2.5.5

5 Jan 2021

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

2.5.3

14 Sept 2020

  • Minor patches to reflect Vonage namespace changes

2.5.2

27 Aug 2020

  • 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