All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project attempts to adhere to Semantic Versioning.
- Support for Django 5.1 and 5.2.
- Dropped support for Python 3.8.
- Support for Python 3.13.
- Bumped
django-twc-packagetemplate version to 2024.24. - Refactored how app settings are accessed within library to use a frozen
dataclass.
- Added a
py.typedfile for static type checkers.
- Correctly JSON serialize
Taskkwargs when going from the in-memory representation contained in the task registry to actual model instances in the database. First reported by @joshuadavidthomas in #30.
- Now using v2024.18 of
django-twc-package.
- Dropped support for Django 3.2.
- Added a
TaskRegistry.created_tasksattribute to store theTaskinstances created by theTaskRegistry.
- Now using v2024.12 of
django-twc-package.
- Fixed a bug in the
setup_periodic_tasksmanagement command where newly created tasks viaTask.objects.create_from_registrywere immediately deleted viaTask.objects.delete_dangling_objects. Newly created tasks are now added to theTaskRegistry.created_tasksattribute and are only deleted if they are not in theTaskRegistry.created_tasksattribute.
- Refactored the
django_q_registry.registry.Taskdataclass into adjango_q_registry.models.TaskDjango model. This should make it more flexible and robust for registering tasks and the associateddjango_q.models.Scheduleinstances.
- Now using
django-twc-packagetemplate for repository and package structure. - The default for the
Q_REGISTRY["PERIOIDIC_TASK_SUFFIX"]app setting has been changed from"- CRON"to"- QREGISTRY". - All database logic has been moved from the
TaskRegistryto thesetup_periodic_tasksmanagement command. - GitHub Actions
testworkflow now uses the output ofnox -l --jsonto dynamically generate the test matrix.
- Fixed a bug in the hashing of a
Taskwhere thehashfunction was passed unhashable values (e.g. adict). Thanks to @Tobi-De for the bug report (#6).
Initial release!
- Initial documentation.
- Initial tests.
- Initial CI/CD (GitHub Actions).
- A registry for Django Q2 periodic tasks.
registry.registerfunction for registering periodic tasks with a convenience decoratorregister_task.- A
TASKSsetting for registering periodic tasks from Django settings.
- Autodiscovery of periodic tasks from a Django project's
tasks.pyfiles. - A
setup_periodic_tasksmanagement command for setting up periodic tasks in the Django Q2 broker.
- Josh Thomas josh@joshthomas.dev (maintainer)