- What Laravel versions does mvdnbrk/laravel-postmark-webhooks support?
- The v1.7.0 release details confirm Laravel 9 support and keep Laravel 8 in scope for the package's supported line. Before upgrading, check the package's composer.json and CI matrix for the exact Laravel and PHP version constraints. Do not assume support for newer Laravel majors without verifying the current release.
- Does mvdnbrk/laravel-postmark-webhooks work with Laravel 10 or Laravel 11?
- The provided context only confirms Laravel 9 compatibility in v1.7.0, so Laravel 10 and Laravel 11 support should not be assumed. Review the latest composer.json constraints and release notes on GitHub before installing on those versions. If you need a newer Laravel major, test in a non-production branch first.
- How do I install mvdnbrk/laravel-postmark-webhooks in a Laravel app?
- Install it with Composer using composer require mvdnbrk/laravel-postmark-webhooks. Laravel package discovery should register the service provider, then you can publish the package configuration and any migrations. Run the migrations and confirm the generated webhook route before pointing Postmark at it.
- How do I configure Postmark to send webhooks to my Laravel application?
- Publish the package configuration and use the provided route as the Postmark webhook URL. In Postmark, add that URL to the webhook settings for the message events you want to receive. Keep the route reachable from Postmark and verify the configured event list matches your listeners.
- Which Postmark webhook events are dispatched by this package?
- The package maps Postmark webhook calls to typed event classes for deliveries, bounces, opens, clicks, and spam complaints. Those event objects are dispatched through Laravel's event system so listeners can handle them. Check the package source for the exact class names and payload properties.
- How do I listen for a Postmark bounce event in Laravel?
- Register a listener for the package's bounce event class in your application's event listener configuration or with Event::listen. In the listener, read the typed event payload and apply your bounce-handling logic, such as suppressing future sends. Confirm the exact event class name in the package source for your installed version.
- What does the nullable message_id change in v1.7.0 mean for existing installs?
- The v1.7.0 release relaxes message_id to nullable, which is usually safe for new installs but needs review for existing databases. Check whether the package ships an ALTER migration for existing columns, and inspect any NOT NULL constraint, index, or unique constraint on message_id. Update application code, validation, joins, and dashboards to tolerate null values before deploying.
- How should I test mvdnbrk/laravel-postmark-webhooks in a Laravel application?
- Start in staging with a fresh database to validate package discovery, config publishing, migrations, and the ready-made route. Simulate Postmark webhook payloads and assert that the expected typed event is dispatched and your listener runs. Also test on each Laravel version and database engine you support, especially if you rely on message_id.
- Is mvdnbrk/laravel-postmark-webhooks safe to use in production?
- It is a conventional Laravel package with a focused webhook-handling job, but the nullable message_id change raises moderate operational risk. Verify migrations against a copy of production data, add monitoring for null message_id rates, and update any code that assumes message_id is always present. Deploy through staging with a rollback plan and avoid combining the upgrade with unrelated Laravel major-version changes.
- What are alternatives to mvdnbrk/laravel-postmark-webhooks, and how is it maintained?
- Alternatives include writing a custom Postmark webhook controller or using a general Laravel webhook receiver package and mapping Postmark payloads yourself. This package is maintained by mvdnbrk, and v1.7.0 adds Laravel 9 compatibility plus the nullable message_id change. Review the GitHub release notes, issue activity, and test matrix before choosing it for long-term maintenance.