May 14, 2026

Major SDK releases: Node.js v6.0.0, PHP v5.0.0, Python v5.0.0

We’ve released the next major version of our three official SDKs. These are opt-in major releases with breaking changes — your existing v4.x/v5.x integrations are not affected unless you upgrade.

Why this release

Most of the breaking changes come from an internal effort at Brevo to make our API endpoints, parameters and models more self-descriptive. The goal is to make the public surface easier to read at a glance — both for developers and for AI agents working against the Brevo API — so that names, shapes and required fields convey intent without needing to cross-reference external docs.

Concretely:

  • Consistent parameter naming across languages
  • Payload wrappers that reflect what each endpoint actually does (e.g. { events: [...] })
  • Filter keys that match the wire format
  • Model fields renamed or removed where the previous names were ambiguous
  • Tightened types (DateTime/datetime instead of string for dates, typed unions instead of generic maps)

We’ve kept the previous major lines supported so you can adopt the new versions on your own timeline.

Releases

Node.js — @getbrevo/brevo v6.0.0

  • Full changelog: Node.js SDK changelog
  • New auth constructor option for custom AuthProvider injection (existing apiKey continues to work unchanged)
  • Breaking: getCompanies filter key, createBatchEvents payload shape, Balance endpoints, CRM types, model field removals/renames

PHP — getbrevo/brevo-php v5.0.0

  • Full changelog: PHP SDK changelog
  • Breaking: GetCompaniesRequest::filters renamed, Event::createBatchEvents wrapper, Balance/CRM/Email Campaigns model changes, date fields tightened to DateTime, associations union flattened

Python — brevo-python v5.0.0

  • Full changelog: Python SDK changelog
  • Breaking: get_companies keyword renamed, create_batch_events keyword change, Webhooks signature change, shape collapses (Union[str, List[str]], Dict[str, int]), 21 top-level imports removed
  • Every change applies symmetrically to both Brevo (sync) and AsyncBrevo

Holding on the previous major

If you’re not ready to migrate, pin to the previous major line — both lines will continue to receive wire-compatibility fixes.

$# Node.js
$npm install @getbrevo/brevo@^5.0
$
$# PHP
$composer require getbrevo/brevo-php:^4.0
$
$# Python
$pip install "brevo-python>=4,<5"

Each SDK README includes an “Upgrading from v4.x / v5.x” guide with the full list of breaking changes and code examples.