Django-phone-verify

Latest version: v3.1.0

Safety actively analyzes 722491 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 2

3.1.0

^^^^^^^

Added
"""""
- Allow custom backends to override `generate_message(security_code, context=None)` for dynamic message generation at runtime.
- `context` parameter support added to `send_verification()` for passing additional formatting data dynamically.

Changed
"""""""
- `PhoneVerificationService` now delegates message generation to the backend if `generate_message()` is implemented.
- Moved `phone_settings` inside `__init__` for better error handling when `PHONE_VERIFICATION` is missing from settings.

3.0.1

^^^^^^^

Added
"""""
- Optional dependencies (``twilio``, ``nexmo``) are now only required if explicitly used in the ``PHONE_VERIFICATION["BACKEND"]`` setting.
- Improved error messaging to guide users to install the required backend package (e.g., ``twilio``, ``nexmo``) only when needed.
- Custom backends now raise a clear ``RuntimeError`` if the import fails, instead of misleading dependency errors.
- Support for Python 3.11, 3.12, 3.13
- CI tests for Py{311,312,313}-Django{2x,3x,4x,5x}.

Changed
"""""""

- ``phonenumbers`` dependency is replaced with ``phonenumberslite`` to reduce the package size.

3.0.0

^^^^^^^

Added
"""""
- Support for Django 4.x.
- Support for Django 3.2.

Changed
"""""""
- Method ``phone_verify.backends.nexmo.NexmoBackend.send_sms`` changes parameter name from ``numbers`` to ``number`` to be consistent with rest of the inherited classes.

2.0.1

^^^^^^^

Added
"""""
- Support for Python 3.8 & Python 3.9.
- CI tests for Py{36,37,38,39}-Django{20,21,22,30,31}.

Changed
"""""""
- Fixed issue ``generate_session_token`` to handle cases in Py38, Py39 when the ``session_token`` is already ``string`` instead of ``bytes``.

2.0.0

^^^^^^^

**NOTE**: The previous version of this library provided the ``security_code`` in the JWT ``session_token``. You would have to re-verify ``phone_numbers`` in *this* version to ensure they are authentically verified.

Added
"""""

- Tests added to provide 100% coverage on the package.
- Add ``nexmo.errors.ClientError`` as exception class in ``phone_verify.backends.nexmo.NexmoBackend`` & ``phone_verify.backends.nexmo.NexmoSandboxBackend``.

Changed
"""""""

- Method signature changed for ``phone_verify.backends.BaseBackend.generate_session_token``. It now accepts only ``phone_number`` instead of combination of ``phone_number`` and ``security_code``.
- Remove the ``security_code`` from JWT ``session_token`` to avoid leaking information.
- Add nonce in ``session_token`` to generate unique tokens for each ``phone_number``.
- Fixes call to ``phone_verify.backends.nexmo.NexmoBackend.send_sms`` method.

1.1.0

^^^^^^^

Added
"""""

- Support ``Nexmo`` as a backend service along with ``Twilio``.
- Add docs for writing a custom backend.

Changed
"""""""

- Update ``backends.base.BaseBackend.validate_security_code`` to use ``save()`` instead of ``update()`` to allow Django to emit its ``post_save()`` signal.

Page 1 of 2

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.