Upgrading django-celery-results 1 to 2
Breaking1.2.1 → 2.6.0Security1Platform3New8Changed34Fixed23Other77
Securitydjango-celery-results through 1.2.1 stores task results in the database. Among the data it stores are the variables passed into the tasks. The variables may contain sensitive cleartext information that does not belong unencrypted in the database.GHSA-fvx8-v524-8579 · CVE-2020-17495 ↗
BreakingUpgrade verdict
3 platform requirement changes and a security fix.
In plain terms
- Adds support for Django 5.1 and Python 3.13.
- The package now requires newer versions of Python and PyPy to install and run.
- You must use Python 3.6 or newer.
- django-celery-results through 1.2.1 stores task results in the database. Among the data it stores are the variables passed into the tasks. The variables may contain sensitive cleartext information that does not belong unencrypted in the database.
Must act 4 items need code or config changes
What you must change
Security1
django-celery-results through 1.2.1 stores task results in the database. Among the data it stores are the variables passed into the tasks. The variables may contain sensitive cleartext information that does not belong unencrypted in the database.
Platform3
Adds support for Django 5.1 and Python 3.13.
Updates the minimum supported Python and PyPy versions.
Drops support for Python versions below 3.6.
API changes
Generated by DepDelta from published Python source. Not mixed with prose notes.
- added:
class GroupResultAdmin(admin.ModelAdmin) - added:
field GroupResultAdmin.date_hierarchy - added:
field GroupResultAdmin.list_display - added:
field GroupResultAdmin.list_filter - added:
field GroupResultAdmin.model - added:
field GroupResultAdmin.readonly_fields - added:
field GroupResultAdmin.search_fields
- added:
field CeleryResultConfig.default_auto_field
- added:
field DatabaseBackend.GroupModel - added:
function trigger_callback(app, callback, group_result) - added:
method DatabaseBackend.apply_chord(header_result_args, body, **kwargs) - added:
method DatabaseBackend.exception_safe_to_retry(exc) - added:
method DatabaseBackend.on_chord_part_return(request, state, result, **kwargs) - added:
variable EXCEPTIONS_TO_CATCH - added:
variable logger
- removed:
method TaskResultManager.connection_for_read() - removed:
method TaskResultManager.connection_for_write() - removed:
method TaskResultManager.current_engine() - removed:
method TaskResultManager.delete_expired(expires) - removed:
method TaskResultManager.get_all_expired(expires) - removed:
method TaskResultManager.warn_if_repeatable_read() - changed:
class TaskResultManager(models.Manager) → class TaskResultManager(ResultManager) - changed:
method TaskResultManager.store_result(content_type, content_encoding, task_id, result, status, traceback=…, meta=…, task_name=…, task_args=…, task_kwargs=…, worker=…, using=…) → method TaskResultManager.store_result(content_type, content_encoding, task_id, result, status, traceback=…, meta=…, periodic_task_name=…, task_name=…, task_args=…, task_kwargs=…, worker=…, using=…, **kwargs) - added:
class GroupResultManager(ResultManager) - added:
class ResultManager(models.Manager) - added:
method GroupResultManager.get_group(group_id) - added:
method GroupResultManager.store_group_result(content_type, content_encoding, group_id, result, using=…) - added:
method ResultManager.connection_for_read() - added:
method ResultManager.connection_for_write() - added:
method ResultManager.current_engine() - added:
method ResultManager.delete_expired(expires) - added:
method ResultManager.get_all_expired(expires) - added:
method ResultManager.warn_if_repeatable_read()
- added:
class ChordCounter(models.Model) - added:
class GroupResult(models.Model) - added:
class GroupResult.Meta - added:
field ChordCounter.count - added:
field ChordCounter.group_id - added:
field ChordCounter.sub_tasks - added:
field GroupResult.Meta.indexes - added:
field GroupResult.Meta.ordering - added:
field GroupResult.Meta.verbose_name - added:
field GroupResult.Meta.verbose_name_plural - added:
field GroupResult.content_encoding - added:
field GroupResult.content_type - added:
field GroupResult.date_created - added:
field GroupResult.date_done - added:
field GroupResult.group_id - added:
field GroupResult.objects - added:
field GroupResult.result - added:
field TaskResult.Meta.indexes - added:
field TaskResult.date_started - added:
field TaskResult.periodic_task_name - added:
method ChordCounter.group_result(app=…) - added:
method GroupResult.as_dict()
- removed:
variable task_pattern - added:
class TaskPatternConverter - added:
field TaskPatternConverter.regex - added:
method TaskPatternConverter.to_python(value) - added:
method TaskPatternConverter.to_url(value)
- added:
function group_status(request, group_id) - added:
function is_group_successful(request, group_id)