Features
- Added target URL suffix support to the
notifysignal.
Changes
Backward-incompatible changes
- Changed notification types to be mandatory.
Notification.typecan no longer be null andnotify.send()now requires thetypeargument.
Other changes
- Updated notification preference colors to use OpenWISP theme colors, improving compatibility with customized themes.
- Updated notification preferences to respect Django permissions, allowing users to modify other users' preferences only when they have the required permissions.
- Replaced the third-party JSONField with Django's built-in JSONField.
Dependencies
- Bumped
openwisp-usersfrom~=1.2.0to ~=1.3.0. - Bumped
openwisp-utils[rest,celery,channels]from~=1.2.0to ~=1.3.0. - Bumped
django-redisfrom~=6.0.0to ~=7.0.0. - Bumped
markdownfrom~=3.9to ~=3.10. - Dropped support for Django
4.2. - Dropped support for Python
3.9.
Bugfixes
- Fixed global notification setting integrity by ensuring that each user can have only one global notification setting and resolving existing duplicates.
- Fixed web notifications being received when disabled globally.
- Fixed fragment notifications remaining open when already on their target page.
- Fixed support for swappable user models by removing a hardcoded dependency on
openwisp-users. - Fixed database migration from the third-party JSONField to Django's JSONField so PostgreSQL columns are correctly converted from text to
jsonbduring upgrades. - Fixed handling of lazy translated notification messages.
- Fixed notification admin object ID extraction.
- Fixed an invalid escape sequence warning in
setup.py.