Skip to content

Conversation

kevinrenskers
Copy link
Member

This is a complete rewrite of django-generic-notifications. It keeps the same generic idea but much more flexible and modern. The last release was before Django even had migrations - it still used South!

  • The NotificationEngine has been renamed to NotificationRegistry but behaves mostly the same.
  • Backends have been renamed to channels, and we now ship with 2: website and email.
  • Notification types work in much the same way, except for allowed_backends we now have required_channels.

New features:

  • The website channel means it's now very easy to show notifications on the website.
  • Email digest with custom frequencies (daily, weekly).
  • Notification grouping.
  • Cleaned up and simplified. For example there's no more built-in queue, as it's not needed for the built-in channels. This allows people building custom channels to write their own processing functions that behave however they want.
  • Unit tests 🎉
  • Example project

@kevinrenskers kevinrenskers merged commit aac3b3e into main Aug 1, 2025
2 checks passed
@kevinrenskers kevinrenskers deleted the v1 branch August 1, 2025 19:48
kevinrenskers added a commit that referenced this pull request Aug 1, 2025
This is a complete rewrite of django-generic-notifications. It keeps the same generic idea but much more flexible and modern. The last release was before Django even had migrations - it still used South!

- The NotificationEngine has been renamed to NotificationRegistry but behaves mostly the same.
- Backends have been renamed to channels, and we now ship with 2: website and email.
- Notification types work in much the same way, except for `allowed_backends` we now have `required_channels`.

New features:

- The website channel means it's now very easy to show notifications on the website.
- Email digest with custom frequencies (daily, weekly).
- Notification grouping.
- Cleaned up and simplified. For example there's no more built-in queue, as it's not needed for the built-in channels. This allows people building custom channels to write their own processing functions that behave however they want.
- Unit tests 🎉
- Example project
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant