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-package
template version to 2024.24. - Refactored how app settings are accessed within library to use a frozen
dataclass
.
- Added a
py.typed
file for static type checkers.
- Correctly JSON serialize
Task
kwargs 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_tasks
attribute to store theTask
instances created by theTaskRegistry
.
- Now using v2024.12 of
django-twc-package
.
- Fixed a bug in the
setup_periodic_tasks
management command where newly created tasks viaTask.objects.create_from_registry
were immediately deleted viaTask.objects.delete_dangling_objects
. Newly created tasks are now added to theTaskRegistry.created_tasks
attribute and are only deleted if they are not in theTaskRegistry.created_tasks
attribute.
- Refactored the
django_q_registry.registry.Task
dataclass into adjango_q_registry.models.Task
Django model. This should make it more flexible and robust for registering tasks and the associateddjango_q.models.Schedule
instances.
- Now using
django-twc-package
template 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
TaskRegistry
to thesetup_periodic_tasks
management command. - GitHub Actions
test
workflow now uses the output ofnox -l --json
to dynamically generate the test matrix.
- Fixed a bug in the hashing of a
Task
where thehash
function 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.register
function for registering periodic tasks with a convenience decoratorregister_task
.- A
TASKS
setting for registering periodic tasks from Django settings.
- Autodiscovery of periodic tasks from a Django project's
tasks.py
files. - A
setup_periodic_tasks
management command for setting up periodic tasks in the Django Q2 broker.
- Josh Thomas [email protected] (maintainer)