--------------------------
Features
~~~~~~~~
- Introduced mechanism to `clear cache on specific signals
<https://github.com/openwisp/openwisp-notifications#cache-invalidation>`_
Changes
~~~~~~~
Backward incompatible changes
+++++++++++++++++++++++++++++
- Removed notification widget and toast template tags: the template tags
"notification_widget" and "notification_toast" have been removed and
their HTML is added directly to the admin/base_site.html template
- Changed the API URL prefix to make it consistent with other OpenWISP
modules
Dependencies
++++++++++++
- Dropped support for Python 3.6
- Added support for Python 3.8 and 3.9
- Dropped support for Django 2.2
- Added support for Django 3.2 and 4.0
- Updated django channels to 3.0.x
- Upgraded celery to 5.2.x
- Upgraded openwisp-utils to 1.0.x
Other changes
+++++++++++++
- Restyled widget to new OpenWISP theme plus various UI fixes and
improvements
- Restyled notification email template
- When clicking on the mark as read button, the notification widget now
instantaneously marks notification as read instead of waiting for the
API response
- Added ``models`` parameter to ``register_notification_type``
- Switch to openwisp-utils email template
- Optimized query for flagging all notification as read via API
- Added celery time limits to tasks except ``delete_old_notifications``
(which may take a long time to finish in big installations)
- Changed wording of "unsubscribe" button, which has been renamed to
"Silence notifications"
- Added dedicated channel layer group for each user to avoid generating
warnings like ``63 of 67 channels over capacity in group
ow_notification``
Bugfixes
~~~~~~~~
- Fixed a bug which caused to lose notification preferences of users
- Fixed extensibility of openwisp-users: removed openwisp-users as a
direct dependency from migrations file because it was creating issues
when extending openwisp-users
- Fixed multiple jquery inclusions in ``base_site.html``
- Fixed WSS connection error when running on http
- Fixed creation of notification settings for superuser
- Fixed unregistered notification type breaking API
- Fixed closing notification toast on slow connections
- Fixed notification storms: when many notifications are created due to
severe network outages, the UI is not flooded anymore
- Fixed browsable API view for NotificationReadAllView
- Added error handling for sending emails when notification settings for a
specific user are not present
- Fixed unsubscribe / silence notifications button alignment
- Fixed Swagger API doc issues
- Fixed ``create_notification`` command to honor organization notification
preferences