Features
-
Added user account expiration with automatic deactivation and reminder emails.
-
Allowed customizing the password reset form.
-
Added API key management to the user admin. Authorized administrators can create and delete API keys for users, while users can always delete their own API keys. API keys belonging to other users are masked.
-
Added extensible field serialization to the export_users command, including custom serializers, related object extraction and relation traversal.
This changes the structure of the generated CSV output and may require updates to scripts which parse it. -
Added
OPENWISP\_USERS\_SOCIALACCOUNT\_ADMIN\_NEEDEDto support custom allauth OAuth/SAML providers when automatic detection is not sufficient.
Changes
Other changes
- Improved password expiration handling with SSO and REST API authentication. Users authenticated through passwordless methods such as SAML, OAuth and sesame magic links are no longer prompted to update an expired local password. REST API clients now receive a JSON
403response instead of an HTML redirect. - Renamed the "Is admin" label to "Organization manager".
- Improved admin theme consistency by using shared theme colors provided by OpenWISP Utils.
Dependencies
- Added dj-rest-auth>=7.2.0,.
- Bumped
django-organizationsfrom>=2.5.0,<2.6.0to >=2.7.0,. - Bumped
django-extensionsfrom>=3.2,<4.2to >=4.1,. - Bumped
django-allauth[socialaccount]from>=65.12.0,<65.14.0to >=65.19.1,. - Bumped
django-phonenumber-fieldfrom>=8.1.0,<8.2.0to >=8.5.0,. - Bumped
phonenumbersfrom>=9.0.10,<9.1.0to >=9.0.38,. - Bumped
django-reversionfrom~=6.0.0to ~=6.3.0. - Bumped
django-redisfrom~=6.0.0to ~=7.0.0. - Bumped
openwisp-utils[rest,celery]from~=1.2.0to ~=1.3.0. - Dropped support for Django
4.2.0. - Dropped support for Python
3.9.
Bugfixes
- Fixed custom REST API view overrides so
get\_api\_urls()correctly uses callbacks from custom view modules while falling back to the default views when an override is not provided. - Fixed infinite recursion when custom API views subclass
ChangePasswordView. - Fixed template loader ordering and template extensibility.