Skip to content

Latest commit

 

History

History
99 lines (63 loc) · 3.86 KB

CHANGELOG.md

File metadata and controls

99 lines (63 loc) · 3.86 KB

Changelog

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.

Added

  • Added a py.typed file for static type checkers.

Fixed

  • 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.

Changed

  • Now using v2024.18 of django-twc-package.

Removed

  • Dropped support for Django 3.2.

Added

  • Added a TaskRegistry.created_tasks attribute to store the Task instances created by the TaskRegistry.

Changed

  • Now using v2024.12 of django-twc-package.

Fixed

  • Fixed a bug in the setup_periodic_tasks management command where newly created tasks via Task.objects.create_from_registry were immediately deleted via Task.objects.delete_dangling_objects. Newly created tasks are now added to the TaskRegistry.created_tasks attribute and are only deleted if they are not in the TaskRegistry.created_tasks attribute.

Added

  • Refactored the django_q_registry.registry.Task dataclass into a django_q_registry.models.Task Django model. This should make it more flexible and robust for registering tasks and the associated django_q.models.Schedule instances.

Changed

  • 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 the setup_periodic_tasks management command.
  • GitHub Actions test workflow now uses the output of nox -l --json to dynamically generate the test matrix.

Fixed

  • Fixed a bug in the hashing of a Task where the hash function was passed unhashable values (e.g. a dict). Thanks to @Tobi-De for the bug report (#6).

Initial release!

Added

  • 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 decorator register_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.

New Contributors