Skip to content

Releases: RealOrangeOne/django-tasks

0.12.0

06 Feb 16:11
caaf809

Choose a tag to compare

Breaking changes

DB and RQ backends have been extracted into their own packages

From this version onwards, django-tasks will aim to mirror the upstream django.tasks package as much as possible. Therefore, the database and RQ backends have been extracted into their own packages. If you previously used either the DB or RQ backends, you can install them from their new homes:

They are available starting at 0.12.0 on PyPI, with the features which they would have received in this version. See their release notes for more information.

Ideas and suggestions can still be made to this repository, but changes will go through Django's feature development processes.

This change is done with the aim of making the ecosystem much simpler to explain. See #241 for more details.

Task metadata is no more

After a single release, metadata has been removed. This keeps the package in line with upstream django.tasks features. In future, notable feature improvements will be made upstream first, and then ported into django-tasks.

What's Changed

New Contributors

Full Changelog: 0.11.0...0.12.0

0.11.0

09 Jan 17:30
a5aecc8

Choose a tag to compare

What's Changed

  • Add task metadata by @RealOrangeOne in #212. Useful for building additional functionality on top of tasks
  • fix small typo by @psadil in #221
  • Cancelled previous runs and run only latest one in CI by @p-r-a-v-i-n in #217
  • Fix runtime instantiation of TaskResult[T] on Python 3.11 by @andre-fuchs in #222. Also affected older versions of Python 3.12
  • Format traceback field to preserve indentation for readability by @p-r-a-v-i-n in #216
  • migrate development optional- dependencies to PEP 735 dependency groups by @p-r-a-v-i-n in #215
  • Upgrade GitHub Actions to latest major versions by @p-r-a-v-i-n in #213
  • Support passing kwargs into task decorator by @RealOrangeOne in #227. Improves support for custom Task classes
  • Support specifying a custom id function for the database backend by @RealOrangeOne in #228. Adds support for other UUID versions (eg UUID7) or database expressions (expressions is only supported on Django 6.0+)

New Contributors

Full Changelog: 0.10.0...0.11.0

0.10.0

03 Dec 20:34
cfc1316

Choose a tag to compare

Breaking changes

What's Changed

New Contributors

Full Changelog: 0.9.0...0.10.0

0.9.0

17 Oct 16:10
37dfb4c

Choose a tag to compare

What's Changed

  • fix: prevent IndexError: pop from empty list in RQ backend by @crgwbr in #183
  • Add support for Django 6.0 by @RealOrangeOne in #193
  • Add supports_priority feature
  • Access RQ worker name from result, rather than smuggling through meta (requires RQ 2.5+)
  • Correctly handle unserializable return values in RQ backend
  • Optimise job fetching in RQ backend

Breaking API changes

  • Raise TaskResultMismatch if calling Task.get_result with the task id of a different task
  • Rename ResultDoesNotExist to TaskResultDoesNotExist
  • Rename task backend handler from tasks to task_backends
  • Rename ResultStatus -> TaskResultStatus
  • Drop support for Python 3.9

New Contributors

Full Changelog: 0.8.1...0.9.0

0.8.1

04 Jul 15:39
4c2c614

Choose a tag to compare

What's Changed

Full Changelog: 0.8.0...0.8.1

If you haven't yet updated to 0.8.0, it's recommended to upgrade straight to 0.8.1.

0.8.0

24 Jun 07:53
bc801e8

Choose a tag to compare

Breaking changes

  • The task status NEW has been renamed to READY, to better support future retry functionality. Existing tasks are automatically migrated
  • Exceptions and tracebacks are moved to a .errors list, rather than being on the TaskResult directly. This allows multiple errors to be tracked

Notable changes

Other changes

  • Fix outdated type annotation by @mportesdev in #173
  • Terminate worker a little harder by @RealOrangeOne in #159
  • Allow disabling auto-reload for db_worker when settings.DEBUG is True by @janheini in #176
  • Disable autoreload when using --batch

New Contributors

Full Changelog: 0.7.0...0.8.0

0.7.0

27 Apr 16:55
a4cb083

Choose a tag to compare

What's Changed

  • Don't require exclusive transactions for entire SQLite DB by @RealOrangeOne in #132 - Users can now remove the TRANSACTION_MODE = "EXCLUSIVE" for the entire database connection.
  • Support auto-reloading of database worker by @RealOrangeOne in #152
  • Add RQ backend by @RealOrangeOne in #151
  • Add support for Django 5.2 by @RealOrangeOne in #153
  • Correctly order run_after tasks by @RealOrangeOne in #154
  • Improve test coverage in a few places
  • Correctly raise an error when accessing the return value of an unsuccessful task

Full Changelog: 0.6.1...0.7.0

0.6.1

27 Dec 21:55
8b0ac5f

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: 0.6.0...0.6.1

0.6.0

29 Nov 17:08
e6d26ca

Choose a tag to compare

What's Changed

  • Add explicit support for Python 3.13 by @RealOrangeOne in #112
  • Don't enforce UUIDs for task ids by @RealOrangeOne in #120
  • (breaking) Rename "completed" tasks to "succeeded" by @RealOrangeOne in #119
  • (breaking) Simplify exception serialization to avoid issues with complex exceptions by @RealOrangeOne in #121
  • (breaking) Remove support for timedelta for run_after

Full Changelog: 0.5.0...0.6.0

0.5.0

19 Sep 07:34
6e70b9a

Choose a tag to compare

What's Changed

  • Update result to have separate attributes for return value and exception by @RealOrangeOne in #103
  • Prevent writing to task results by @RealOrangeOne in #106
  • Add additional test cases for process management by @RealOrangeOne in #88
  • Add Django 5.1+ support for CheckConstraint condition with backward compatibility by @saJaeHyukc in #108
  • Separate return value and exception attributes for task results
  • Add task enqueued and finished signals
  • Freeze Task class
  • Ensure enqueued_at is updated when the task is enqueued
  • Add --no-startup-delay option to worker to disable initial pause as process starts up
  • Don't mark tasks as failed when pressing ctrl-c using ImmediateBackend.

New Contributors

  • @saJaeHyukc made their first contribution in #108

Full Changelog: 0.4.0...0.5.0