Skip to content

Update dependency getbrevo/brevo-php to v5 - #23

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/getbrevo-brevo-php-5.x
Open

Update dependency getbrevo/brevo-php to v5#23
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/getbrevo-brevo-php-5.x

Conversation

@renovate

@renovate renovate Bot commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
getbrevo/brevo-php ^4.0^5.0 age confidence

Release Notes

getbrevo/brevo-php (getbrevo/brevo-php)

v5.0.1: - Empty Object Serialization Fix

Compare Source

PHP SDK v5.0.1

What's New
🔧 Bug Fix: Empty Object Serialization
  • Fix: JsonSerializableType now correctly serializes empty objects to {} instead of []
  • Resolves backend validation errors when sending empty optional/nested objects
✨ New Features: Consent Groups Management
  • List consent groups — GET /contacts/consent-groups
  • Create a consent group — POST /contacts/consent-groups
  • Get consent group details — GET /contacts/consent-groups/{id}
  • Update consent group — PUT /contacts/consent-groups/{id} (name, description, signup mode)
  • Delete consent group — DELETE /contacts/consent-groups/{id}
📲 Extended Operations
  • Import contacts — POST /contacts/import now accepts optional consentGroupIds field to add imported contacts to specified consent groups
  • Get contact details — GET /contacts/{identifier} now returns consentGroups array showing subscription status (when feature enabled)
💳 New Wallet Feature
  • Get pass installation URL — GET /wallet/passes/{passId}/installUrl/{contactId}
    • Generates per-contact wallet installation URLs
    • Enables sharing via email, SMS, or QR code for Apple Wallet/Google Wallet integration
Bug Fixes
  • Fixed serialization of empty JsonSerializableType instances at the top level
  • Fixed serialization of empty nested objects within parent objects
  • Resolves backend validation failures from strict type checkers
Compatibility
  • ✅ Backward compatible — no breaking changes
  • ✅ No method removals or signature changes
  • ✅ Public API unchanged
Installation
composer require getbrevo/brevo-php:^5.0.1

v4.0.16

Compare Source

Fixed
  • CreateBatchOrderResponse::$batchId now deserializes correctly. The createBatchOrder endpoint returns the batch id as batch_id (snake_case), but the SDK looked for batchId, leaving it unset and throwing Cannot assign null to property ...::$batchId of type float on every call. The wire mapping is corrected to batch_id and the property is now nullable (?float). The $response->batchId accessor is unchanged.

Backward-compatible patch release. No breaking changes.

v4.0.15

Compare Source

Fixed
  • GetCampaignStats count fields are now nullable (?int): clickers, complaints, delivered, hardBounces, sent, softBounces, trackableViews, uniqueClicks, uniqueViews, unsubscriptions, viewed. This model is reused for statsByDomain on getEmailCampaign(s), where per-domain rows are sparse and the API returns null/absent for some counts. The previous non-nullable typing threw a TypeError while deserializing statsByDomain (globalStats was unaffected). (#​138)

Backward-compatible patch release. No breaking changes.

v4.0.14

Compare Source

Fixed
  • senderEmail is now nullable (?string) on GetTransacBlockedContactsResponseContactsItem; the API returns null for some blocked or unsubscribed contacts (#​137)
  • campaignId is now nullable (?int) on both UserUnsubscription item classes; form based unsubscriptions return null (#​136)
  • Guzzle timeout support now works: interface_exists replaces class_exists for GuzzleHttp\ClientInterface, so the timeout option is honored (#​133)

Backward compatible patch release. No breaking changes.

v4.0.13

Compare Source

v4.0.13

Bug fixes

getProcess / getProcesses — deserialization failure on completed processes (#​121)

  • $duplicateEmailId was typed as ?int, but the API returns a URL string pointing to a CSV file of duplicate IDs.
  • It is now typed as ?string.

getProcess / getProcesses — unknown status in_process (#​122)

  • The API still returns the legacy in_process value (v3 name for processing).
  • GetProcessResponseStatus and GetProcessesResponseProcessesItemStatus now include InProcess = "in_process", so deserialization no longer throws on active processes.

createEvent / createBatchEvents — boolean values rejected in contactProperties (#​123)

  • contactProperties and eventProperties only accepted string|int.
  • Boolean values (e.g. 'MY_FLAG' => true) now serialize correctly.

createContact / updateContact — integer values rejected in attributes (#​124)

  • attributes values were typed as float|string|bool|array.
  • Passing a plain PHP int (e.g. 'OFFICE_ID' => 1234) now works without casting to (float).

v4.0.12

Compare Source

  • fix: improve JSON serialization and test configuration
  • Fix boolean type handling in JSON serialization and deserialization by adding explicit checks for bool values, since PHP's gettype() returns "boolean" instead of "bool". Also improve property default value detection using hasDefaultValue() check to avoid potential warnings. Update test configuration to support external WireMock orchestration via WIREMOCK_URL environment variable.
  • Key changes:
  • Add special case handling for bool types in JsonSerializer and JsonDeserializer
  • Use hasDefaultValue() check before calling getDefaultValue() in JsonSerializableType
  • Make test suite configurable with WIREMOCK_URL environment variable
  • Support dynamic port discovery for WireMock container in bootstrap
  • 🌿 Generated with Fern

v4.0.11

Compare Source

  • SDK regeneration
  • Unable to analyze changes with AI, incrementing PATCH version.

v4.0.10

Compare Source

v4.0.10

Added
  • Batch events endpoint$client->event->createBatchEvents() to track multiple contact interactions in a single request
  • Email campaign excludeHtmlContent parametergetEmailCampaign() accepts a new optional flag to omit the HTML body from the response, reducing payload size
Fixed
  • Boolean attributes serializationUpdateContactRequest and CreateContactRequest now correctly serialize boolean values in union-typed attribute maps (float | string | bool | array). Previously threw JsonException: Cannot serialize value of type boolean
  • Order::products item typeOrderProductsItem now correctly exposes all product fields: price, productId, variantId, quantity, quantityFloat. Previously only quantity was accessible
  • GetCampaignStats nullable fieldsappleMppOpens and opensRate are now correctly typed as nullable (?int, ?float), preventing TypeError when the API returns null
Deprecated
  • sendTransacSms() — Use sendAsyncTransactionalSms() instead. The synchronous method is deprecated. Note: remainingCredits is intentionally not returned by the async endpoint; use the account endpoints to retrieve credit balance
Internal
  • Generator updated from 2.1.42.1.10
  • Fern CLI updated from 3.91.24.22.0

v4.0.9

Compare Source

v4.0.7

Compare Source

What's Changed

Full Changelog: getbrevo/brevo-php@v4.0.6...v4.0.7

v4.0.6

Compare Source

  • chore: update Fern CLI version to 3.85.3
  • Update the Fern CLI version from 3.82.0 to 3.85.3 to incorporate latest tooling improvements and bug fixes.
  • Key changes:
  • Update cliVersion in .fern/metadata.json from 3.82.0 to 3.85.3
  • Maintain existing generator configuration settings
  • 🌿 Generated with Fern

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • Between 12:00 AM and 03:59 AM, on day 1 of the month (* 0-3 1 * *)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the dependencies label Aug 1, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants