Releases
This timeline reads published releases directly from GitHub for the NotificationCompass repository.
v1.0.1
✨ Highlights
🛠️ MySQL-compatible preference migrations
This patch fixes notification preference migrations failing on MySQL because of an automatically generated index name exceeding MySQL’s identifier length limit.
🐛 Bug Fixes
- Migrations: Use a MySQL-safe explicit index name for notifiable preferences (
9c9164f)
❤️ Contributors
- @EvanSchleret
Full Changelog: https://github.com/EvanSchleret/NotificationCompass/compare/v1.0.0...v1.0.1
v1.0.0
✨ Highlights
🌟 Context-aware notification preferences
NotificationCompass introduces contextual preferences, policies, authorization, canonical context identifiers, and required contexts for reliable multi-tenant notification decisions.
🌟 Centralized notification resolution
The package resolves global, contextual, default, enforced, and mandatory preferences while exposing explicit decision reasons and inspection APIs.
🌟 Extensible and observable architecture
Applications can configure caching, authorization, unknown-notification handling, preference events, delivery decision events, and custom decision logic.
🌟 Laravel-first integration
NotificationCompass integrates directly with Laravel notifications, native channels, queues, migrations, and application-defined notification registries.
🚀 Features
- Core: Initialize the Laravel package core (
83ef106) - Delivery: Integrate with Laravel notification sending (
e6805dd) - Preferences: Persist user notification preferences (
6996b31) - Definitions: Register notification definitions (
91d6e01) - Resolution: Centralize notification decisions (
a3de5e7) - Inspection: Expose preference inspection APIs (
7f364df) - Validation: Validate preference writes against registered definitions (
db485ca) - Contexts: Resolve notification contexts by convention (
cdfd04e) - Channels: Support channel metadata and rules (
675e160) - Inspection: Inspect effective notification preferences (
85a5ef2) - Authorization: Add the context authorizer contract (
d743590) - Policies: Add context-level notification preferences (
44a5fd5) - Policies: Support default and enforced context policies (
22a988d) - Events: Emit preference change events (
84a919d) - Inspection: Add dedicated preference inspection methods (
11c4d6d) - Metadata: Add structured definition and channel metadata (
ee09ab7) - Contexts: Enforce canonical and queue-safe notification contexts (
bb8582c) - Decisions: Add explicit notification decision reasons (
93484e6) - Contexts: Require notification contexts before resolving preferences (
5a107bd) - Management: Add a manager for context notification policies (
c3da7cf) - Authorization: Separate recipient and policy administrator authorization (
d73091c) - Configuration: Configure handling of unknown notifications (
9df5d07) - Delivery: Add decision events and customization hooks (
401844b)
🐛 Bug Fixes
- Events: Dispatch preference change events after database commit (
0f1ed9c)
🔥 Performances
- Caching: Add configurable caching for resolved notification preferences (
b587dc8)
❤️ Contributors
- @EvanSchleret
Full Changelog: https://github.com/EvanSchleret/NotificationCompass/commits/v1.0.0