Skip to main content

v2.4 — Async Webhooks, Dead-Letter Queues, and New SDK Methods

· 2 min read
Meridian Engineering
Platform Team

Meridian v2.4 is now available. This release focuses on webhook reliability and adds long-requested SDK improvements.

Async webhook delivery​

Webhook processing is now fully asynchronous. Previously, slow endpoints could cause delivery delays across your account. With async delivery, each webhook is dispatched independently — a slow endpoint doesn't affect others.

What changed:

  • Delivery is decoupled from the triggering API call
  • Latency is reduced by ~40ms on average for high-volume accounts
  • Delivery status is visible in the Dashboard in real time

No changes required to your endpoint or integration.

Dead-letter queues​

Failed webhooks (after all retry attempts) are now placed in a dead-letter queue instead of being silently dropped.

You can inspect and replay dead-lettered events from the Dashboard under Developers → Webhooks → Dead Letter Queue, or via the new API endpoint:

# List dead-lettered events
curl https://api.meridian.dev/v1/webhook_endpoints/we_123/dead_letter \
-u sk_test_4eC39HqL...:

# Replay a specific event
curl -X POST https://api.meridian.dev/v1/webhook_endpoints/we_123/dead_letter/evt_456/replay \
-u sk_test_4eC39HqL...:

New SDK methods​

Node.js / Python / Ruby​

  • meridian.webhooks.constructEventAsync() — async-compatible version of constructEvent
  • meridian.customers.search() — search customers by email, name, or metadata
  • meridian.paymentIntents.incrementAuthorization() — increase an authorized amount before capture

Go​

  • client.PaymentIntents.IncrementAuthorization() added
  • Context propagation is now consistent across all methods

Breaking changes​

None. This release is fully backwards-compatible.

Deprecations​

  • webhook_endpoint.secret is now returned only on creation, not on subsequent retrieves. Store your secret at creation time.

View the full API changelog →