diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 28c59bd..e299642 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,11 +1,12 @@ Release Notes ------------- -[Unreleased] -^^^^^^^^^^^^ +[3.3.0] - 2025-12-21 +^^^^^^^^^^^^^^^^^^^^ Added """"" +- **Django 6.0 Support**: Added official support for Django 6.0. Note that Django 6.0 requires Python 3.12+. - **Admin Interface Enhancements**: Added expiration status display in Django admin with ``is_valid`` column showing intuitive boolean indicators (green checkmark for valid codes, red X for expired codes). Added ``is_expired`` property to ``SMSVerification`` model for easy expiration checking. - **Database Cleanup**: Added ``cleanup_phone_verifications`` management command to automatically delete old verification records. Supports ``--days`` parameter to customize retention period and ``--dry-run`` mode for previewing deletions. New ``RECORD_RETENTION_DAYS`` setting (default: 30 days) for configuring default retention period. diff --git a/phone_verify/__init__.py b/phone_verify/__init__.py index 091e82a..7919d8b 100644 --- a/phone_verify/__init__.py +++ b/phone_verify/__init__.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- import django -__version__ = "3.2.0" +__version__ = "3.3.0" if django.VERSION < (3, 2): # pragma: no cover default_app_config = "phone_verify.apps.PhoneVerificationConfig" diff --git a/pyproject.toml b/pyproject.toml index e482a63..ce727a6 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "django-phone-verify" -version = "3.2.0" +version = "3.3.0" description = "A Django app to support phone number verification using security code sent via SMS." readme = "README.rst" requires-python = ">=3.8" @@ -40,6 +40,7 @@ classifiers = [ "Framework :: Django :: 5.0", "Framework :: Django :: 5.1", "Framework :: Django :: 5.2", + "Framework :: Django :: 6.0", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", diff --git a/requirements/development.txt b/requirements/development.txt index dce6f39..53f68be 100644 --- a/requirements/development.txt +++ b/requirements/development.txt @@ -3,7 +3,7 @@ # Core Stuff # ------------------------------------- -Django==5.2.8 +Django==6.0 djangorestframework==3.16.1 # Code quality diff --git a/setup.py b/setup.py index 70cb614..41e8050 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ setup( name="django-phone-verify", - version="3.2.0", + version="3.3.0", packages=find_packages(), include_package_data=True, license="GPLv3", @@ -55,6 +55,8 @@ "Framework :: Django :: 4.2", "Framework :: Django :: 5.0", "Framework :: Django :: 5.1", + "Framework :: Django :: 5.2", + "Framework :: Django :: 6.0", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", diff --git a/tox.ini b/tox.ini index 406deae..9f2a1ef 100644 --- a/tox.ini +++ b/tox.ini @@ -5,6 +5,7 @@ envlist = py{38,39,310,311,312,313}-django42 py{310,311,312,313}-django{50,51} py{310,311,312,313,314}-django52 + py{312,313,314}-django60 skip_missing_interpreters = True [gh-actions] @@ -29,5 +30,6 @@ deps = django50: Django>=5.0,<5.1 django51: Django>=5.1,<5.2 django52: Django>=5.2,<5.3 + django60: Django>=6.0,<6.1 commands = pytest --cov -v --tb=native