Migration Plan
:::info Source
Sourced from services/notification-service/MIGRATION_PLAN.md in the documentation repo.
:::
1. Rules
- Template schema versioned; old sends use template-at-time-of-send.
- Channel enum additive (new channels OK).
- Provider ACL abstracts providers; swap possible without event changes.
2. Database
Additive. Partition notifications by month for retention.
3. API
URL major on breaking.
4. Event Evolution
All v1 additive.
5. Template Migration
- Template has SemVer; changes create new version.
- In-flight sends use template-at-queue-time.
6. Provider Migration
- ACL-backed: change provider by updating config.
- Multi-provider for failover during migration.
- Reputation transfers supported where possible.
7. Preferences Migration
- User prefs tolerant of new channels (default opt-out).
- Existing prefs unchanged.
8. Data Residency
Notifications + templates pinned to tenant homeRegion.
9. GDPR
- Subscription data erased on request.
- Historical delivery records anonymized.
10. Changelog
New channels, templates, AI features, provider migrations.