Skip to content

v2.0.0 — standalone package

Choose a tag to compare

@rodrigocoliveira rodrigocoliveira released this 29 Jul 13:56
f43ea0f

laravel-onesignal is now fully standalone — the multek/laravel-customer-engagement dependency is gone, and the package owns the complete OneSignal lifecycle: profiles (identity + native properties + Email/SMS subscriptions), segmentation tags, custom events, and push notifications.

Breaking changes

  • Removed multek/laravel-customer-engagement dependency, OneSignalDriver, and driver auto-registration — consumers needing the driver architecture stay on ^1.1
  • Identity fields (email/phone/name) are no longer copied into data tags; email/phone become native Email/SMS subscriptions instead
  • Manager methods return null/[] when the package is disabled (ONESIGNAL_ENABLED=false or empty app_id)
  • syncToOneSignalAsync() dispatches nothing when disabled

Added

  • Enabled/disabled gate (zero keys, zero HTTP calls in local/test)
  • ONESIGNAL_TRACK_EVENTS guard (Free plan rejects custom events with 403)
  • Single-call createUser upsert sync — proven against the live API (no subscription duplication on re-sync)
  • HasOneSignal v2 trait: email/phone (E.164-validated), language/timezone/country getters
  • php artisan onesignal:backfill {--dry-run} {--chunk=250}
  • Env-gated live smoke suite (tests/Live/)

See UPGRADE.md for the full v1 → v2 migration guide.

🤖 Generated with Claude Code