django-allauth 0.62.0 released

Posted by Raymond Penners on 2024-04-22

Note worthy changes

  • Added a dummy provider, useful for testing purposes: allauth.socialaccount.providers.dummy.
  • Added a new provider, Atlassian
  • Next URL handling been streamlined to be consistently applied. Previously, the password reset, change and email confirmation views only supported the success_url class-level property.
  • Added support for logging in by email using a special code, also known as "Magic Code Login"
  • Email addresses are now always stored as lower case. For rationale, see the note about email case sensitivity in the documentation.
  • You can now alter the state parameter that is typically passed to the provider by overriding the new generate_state_param() adapter method.
  • The URLs were not "hackable". For example, while /accounts/login/ is valid /accounts/ was not. Similarly, /accounts/social/connections/ was valid, but /accounts/social/ resulted in a 404. This has been addressed. Now, /accounts/ redirects to the login or email management page, depending on whether or not the user is authenticated. All /accounts/social/* URLs are now below /accounts/3rdparty/*, where /accounts/social/connections is moved to the top-level /accounts/3rdparty/. The old endpoints still work as redirects are in place.
  • Added a new setting, SOCIALACCOUNT_ONLY, which when set to True, disables all functionality with respect to local accounts.
  • The OAuth2 handshake was not working properly in case of SESSION_COOKIE_SAMESITE = "Strict", fixed.
  • Facebook: the default Graph API version is now v19.0.

Backwards incompatible changes

  • The django-allauth required dependencies are now more fine grained. If you do not use any of the social account functionality, a pip install django-allauth will, e.g., no longer pull in dependencies for handling JWT. If you are using social account functionality, install using pip install django-allauth[socialaccount]. That will install the dependencies covering most common providers. If you are using the Steam provider, install using pip install django-allauth[socialaccount,steam].

Next: django-allauth 0.62.1 released Previous: Website Redesign