What's New
🆕 Five new built-in providers
| Provider | Driver | Verification |
|---|---|---|
| Shopify | shopify |
HMAC-SHA256 |
| Twilio | twilio |
HMAC-SHA1 |
| Mailchimp | mailchimp |
URL secret param |
| SendGrid | sendgrid |
ECDSA SHA-256 (opt-in) |
| Paddle Billing | paddle |
HMAC-SHA256 + key rotation |
🆕 Multiple events per request
getEvent() can now return an array of ['event_name' => $eventData] pairs, and Receiver will dispatch a separate handler for each one. Enables providers that batch multiple events into a single payload (e.g. SendGrid). Resolves #13.
🆕 Community provider ecosystem
php artisan receiver:make MyProvider --provider generates both the provider class and a companion ServiceProvider for package auto-discovery. Makes it trivial to publish a Receiver provider as a standalone Composer package. Resolves #8.
🆕 Enhanced Postmark verification
The Postmark provider now supports three verification strategies: auth (HTTP Basic Auth), headers (custom request headers), and ips (Postmark's published webhook IPs). Multiple strategies can be combined. Resolves #7.
🐛 Bug fixes
- GitHub: event names no longer have a trailing
_when the payload has noactionfield (e.g.push,fork). Addresses #34. - Handler naming: event names are fully lowercased before class resolution, so
ALL_CAPSevent names (e.g. PayPal'sPAYMENT.AUTHORIZATION.CREATED) resolve correctly toPaymentAuthorizationCreated. Addresses #22.
📖 Documentation
Complete README rewrite with explicit config examples for every provider, a handler naming table, correct namespaces, and updated middleware/queue references. Resolves #32.
🔧 CI & tooling
- Laravel 10, 11, 12, 13 × PHP 8.2, 8.3, 8.4 tested in CI
- PHPStan level 5 + Laravel Pint added as CI jobs
composer run lint,composer run lint:check,composer run analysescripts
Upgrade Notes
No breaking changes. Add provider entries to config/services.php as shown in the README.