v2.4 — Async Webhooks, Dead-Letter Queues, and New SDK Methods
· 2 min read
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 ofconstructEventmeridian.customers.search()— search customers by email, name, or metadatameridian.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.secretis now returned only on creation, not on subsequent retrieves. Store your secret at creation time.