Releases: jazzband/django-two-factor-auth
Releases · jazzband/django-two-factor-auth
1.18.1
1.18.0
1.18.0
Fixed
- Documentation for setting yubikey support forgot to inform users they would
need to add our yubikey plugin toINSTALLED_APPS - Remove reference to release-notes that had been missed, docs now build
without warnings - WebAuthn: avoid submitting the wrong form
- Email gateway: tell user to use correct django-otp plugin
- Fix infinite redirect on admin site with AdminSiteOTPRequiredMixin
Changed
- Allow qrcode 8.x.
phonenumbersis no longer a hard requirement for users who don't require it.- Change
EmailDevice.confirmeddefault toFalse - Any
StaticDevicecan be used as backup tokens, not just those labelled
"backup"
Added
- Support for Django 5.2
- Support for Python 3.13
- Django check for
INSTALLED_APPSto make suretwo_factoris present and
comes before its plugins
Removed
- Drop support for Python 3.8
1.17.0
1.17.0
Fixed
- Fixed the XML syntax of the Twilio token.xml file.
- The Yubikey token field is now receiving autofocus.
- Avoid crashes for devices with no
throttle_*methods (#699). - Fixed format of the hash for the OTP device cookie key.
Changed
- Allow django-phonenumber-field 8.x.x.
- Project build is now using a more modern toolbox based on
pyproject.toml(no
more setup.*). - The plugins method registry can now return a new
MethodNotFoundError
exception when some method is not found in the plugins registry.
Added
- Support confirmation for Django 5.1.
- The login view is also decorated with the
login_not_requireddecorator for
projects using the newLoginRequiredMiddlewareavailable with Django 5.1+.
Removed
- Dropped support for Django <4.2.
- Removed custom
utils.class_view_decorator()in favor of Django's
method_decorator().
1.16.0
1.16.0
Fixed
- Avoid potentially empty
<ul>on the profile page.
Changed
- Upgraded minimal webauthn dependency to 2.0 (which also removes a deprecation
warning) (#634, #701). Note thepydanticdependency was removed in
webauthn 2. - Checking phone method availability uses now the method registry (#665).
- Logout example uses POST method to match recent Django behavior.
- Updated translations.
Added
- Support confirmation for Django 5.0 and Python 3.12.
- A new
main_form_contenttemplate block on login template allows for easier
overridability.
1.15.1
1.15.0
Added
- Enforcing a redirect to setup of otp device when none available for user (#499)
- Confirmed Django 4.1 support
- WebAuthn support (thanks to Javier Paniagua)
- Confirmed Python 3.11 support
Changed
- Display the TOTP secret key alongside the QR code to streamline setup for
password managers without QR support. - Moved phonenumber migrations under the plugins directory.
- Avoid crash with email devices without email (#530).
Removed
- Django 2.2, 3.0, and 3.1 support
two_factor.utils.get_available_methods()is replaced by
MethodRegistry.get_methods().
1.14.0
Added
- Python 3.10 support
- The setup view got a new
secret_keycontext variable to be able to display
that key elsewhere than in the QR code. - The token/device forms have now an
idempotentclass variable to tell if the
form can validate more than once with the same input data. - A new email plugin (based on django_otp
EmailDevice) can now be activated
and used to communicate the second factor token by email.
Changed
- BREAKING: The phone capability moved to a plugins folder, so if you use that
capability and want to keep it, you should addtwo_factor.plugins.phonenumber
line in yourINSTALLED_APPSsetting. Additionally, as thetwo_factor
templatetags library was only containing phone-related filters, the library
was renamed tophonenumber. - default_device utility function now caches the found device on the given user
object. - The
otp_tokenform field forAuthenticationTokenFormis now a Django
RegexFieldinstead of anIntegerField. - The Twilio gateway content for phone interaction is now template-based, and
the pause between digits is now using the<Pause>tag. - The QR code now always uses a white background to support pages displayed
with a dark theme.
Removed
- Python 3.5 and 3.6 support
1.13.2
Added
- Translations for new languages: Hausa, Japanese, Vietnamese
- Django 4.0 support
Changed
- Suppressed default_app_config warning on Django 3.2+
- qrcode dependency limit upped to 7.99 and django-phonenumber-field to 7
- When validating a TOTP after scanning the QR code, allow a time drift of +/-1 instead of just -1
1.13.1
1.13
Added
- User can request that two-factor authentication be skipped the next time they
log in on that particular device - Django 3.1 support
- SMS message can now be customised by using a template
Changed
- Simplified
re_path()topath()in URLConf - Templates are now based on Bootstrap 4.
DisableViewnow checks user has verified before disabling two-factor on
their account- Inline CSS has been replaced to allow stricter Content Security Policies.
Removed
- Upper limit on django-otp dependency
- Obsolete IE<9 workarounds
- Workarounds for older versions of django-otp