Repository navigation
Installation
- Laravel 12 or 13 with PHP 8.4.27+ or 8.5.12+.
- Persisted UUID recipient models. Laravel's standard
Notifiabletrait remains compatible. - A transactional default database connection shared by package records and recipient models. Do not split these models across databases or connections.
- A durable Laravel queue and a running worker; a scheduler for recovery and cleanup.
- PHP extensions required by Laravel, Kreait and Pushok, including cURL, OpenSSL, JSON and the selected database driver. Pest development additionally needs its usual XML/DOM/mbstring extensions.
This package deliberately has no Laravel application scaffold, artisan application, controllers or routes.
The package is registered on Packagist, and its GitHub repository is public. No custom VCS repository or GitHub credential is required for the public package.
The current source tag is 0.9.0 “Whisper.” Install it for a reproducible integration:
composer require moztopia/notifications:0.9.0Composer can also select the current tagged version normally:
composer require moztopia/notificationsThe immutable 0.9.0 Whisper release is published and available through Packagist. Main promotion PR #12 is merged and main is the default branch. Neither the tag nor automated tests establish real-device verification or production readiness. Use dev-develop only for deliberate evaluation of moving changes.
Confirm the installed version:
composer show moztopia/notificationsIf Composer reports the requested version unavailable, confirm that Packagist has indexed its Git tag and refresh the local Composer metadata cache if needed. Do not lower global stability settings to hide a missing release. For PHP/Laravel constraint conflicts, compare the host runtime and dependencies with package requirements rather than bypassing platform checks.
Upgrading from 0.0.2 introduces no schema or configuration-key change. Preserve the already applied initial migration and existing data. Read the canonical changelog and upgrade notes.
Laravel discovers Moztopia\Notifications\NotificationsServiceProvider automatically. If discovery is disabled, register that class in the consuming application's bootstrap/providers.php.
php artisan vendor:publish --tag=moztopia-notifications-config
php artisan vendor:publish --tag=moztopia-notifications-migrations
php artisan migrateThe single publishable migration creates five tables:
moztopia_notification_historymoztopia_notification_preferencesmoztopia_notification_devicesmoztopia_notification_messagesmoztopia_notification_deliveries
It leaves an existing application notifications table untouched. The package history model extends Laravel's DatabaseNotification; use NotificationHistoryService for package history rather than $user->notifications, which belongs to the host application's usual notification table.
The migration's rollback drops all five package tables and their data. Do not roll back a production installation as an uninstall shortcut. Future schema changes after a published version must use forward migrations.
Configure credentials, start the worker and recovery schedule, then register devices through your own authenticated routes.
Moztopia Notifications
One notification per recipient. Independent delivery to every device.
Documentation · Source · Report an issue · MIT License
© 2026 Moztopia. Distributed under the MIT License.
