What's Changed
- Fix Django worker recursion bug + defensive checks for pool_cls.module by @maycuatroi1 in #10048
- Update elasticsearch requirement from <=9.1.2 to <=9.2.1 by @dependabot[bot] in #10053
- Revert "Update elasticsearch requirement from <=9.1.2 to <=9.2.1" by @auvipy in #10054
- Docs: Update user_preload_options example to use click. by @jorsyk in #10056
- Fix invalid configuration key "bootstrap_servers" in Kafka demo by @jorsyk in #10060
- Fix broken images on PyPI page by @Timour-Ilyas in #10066
- Remove broken reference. in #10071
- Removed --dist=loadscope from smoke tests by @Nusnus in #10073
- Docs: Clarify task_retry signal args may be None by @GangEunzzang in #10076
- Update example for Django by @sbc-khacnha in #10081
- Update CI matrix to exclude Python 3.9 by @auvipy in #9980
- Update default Python versions in Integration test by @auvipy in #10088
- Update default Python versions in smoke-tests.yml by @auvipy in #10089
- Remove Python 3.9 from tox configuration by @auvipy in #10087
- Update Python and OS versions in Read the Docs config by @auvipy in #10090
- Make tests compatible with pymongo >= 4.16 by @cjwatson in #10074
- Remove Python 3.9 from Dockerfile by @auvipy in #10092
- Revise Python compatibility for Celery versions by @auvipy in #10093
- Update Python version requirement to 3.10 by @auvipy in #10091
- fix: source install of cassandra-driver by @Izzette in #10105
- fix: register task cross-reference role in Sphinx extension by @veeceey in #10100
- fix: avoid cycle detection in native delayed delivery by @Izzette in #10095
- fix(asynpool): avoid AttributeError when proc lacks _sentinel_poll by @mriddle in #10086
- Update elastic-transport requirement from <=9.1.0 to <=9.2.1 by @dependabot[bot] in #10052
- fix dusk_astronomical horizon sign (+18 -> -18) by @Mr-Neutr0n in #10121
- Bump pytest from 8.4.2 to 9.0.2 by @dependabot[bot] in #10055
- Fix#10106 onupdate col use lambda func by @ChickenBenny in #10108
- Fix warm shutdown RuntimeError with eventlet>=0.37.0 (#10083) by @ChickenBenny in #10123
- Fix 10109 db backend connection health by @ChickenBenny in #10124
- Bump grpcio from 1.75.1 to 1.76.0 by @dependabot[bot] in #9962
- Bump cryptography from 46.0.3 to 46.0.5 by @dependabot[bot] in #10132
- Database Backend filter unsupport sql engine arguments with nullpool #7355 by @ChickenBenny in #10134
- fix(beat): correct argument order in Service.reduce by @bysiber in #10137
- ci: declare explicit read-only token permissions in workflow jobs by @Rohan5commit in #10139
- chore: 'boto3to' to 'boto3 to' by @cuiweixie in #10133
- Database Backend: Add missing index on date_done (Fixes #10097) by @ChickenBenny in #10098
- docs: fix typo in CONTRIBUTING.rst by @Rohan5commit in #10141
- Refer to Flower / Prometheus for monitoring by @WilliamDEdwards in #10140
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #10143
- docs: remove duplicated words in broker and routing docs by @Rohan5commit in #10146
- docs: fix stale version reference and grammar in README by @kelsonbrito50 in #10145
- docs: fix wording in Celery 5.3 worker pool notes by @Rohan5commit in #10149
- docs: fix duplicated wording in 3.1 changelog entry by @Rohan5commit in #10152
- feat(task): decouple acks_on_failure and acks_on_timeout by @abdullahmujahidali in #10150
- docs: fix changelog typo in context manager wording by @Rohan5commit in #10144
- Fix/10096 worker fails to reconnect after redis failover by @ChickenBenny in #10151
- Add
__class_getitem__to generic classes by @brianhelba in #10038 - Improve on_after_finalize signal documentation by @Br1an67 in #10155
- Database Backend Should Support the retry config parameters #6540 by @ChickenBenny in #10130
- Add non-commutative example to clarify partial arg ordering in canvas docs by @Br1an67 in #10157
- Bump google-cloud-firestore from 2.22.0 to 2.23.0 by @dependabot[bot] in #10126
- Remove redundant test_isa_mapping test (fixes #10077) by @daniel7an in #10103
- Upgrade pytest-celery to >=1.3.0 and adopt PYTEST_CELERY_PKG build arg by @Nusnus in #10162
- Chore(deps): Update elasticsearch requirement from <=9.1.2 to <=9.3.0 by @dependabot[bot] in #10164
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #10161
- Bump isort from 6.1.0 to 7.0.0 by @dependabot[bot] in #10051
- Bump sphinx-click from 6.0.0 to 6.1.0 by @dependabot[bot] in #10050
- Add redis-py DriverInfo support to Redis backend by @vchomakov in #10040
- Remove deprecated args from redis get_connection call by @JaeHyuckSa in #10036
- Fix #6912 rpc backend reconnection error by @ChickenBenny in #10179
- Fix NameError with TYPE_CHECKING annotations on Python 3.14+ (PEP 649) by @drichardson in #10165
- docs: Add elaboration on prefetch multiplier settings (worker_prefetch_multiplier) and worker_eta_task_limit by @tsangwailam in #10181
- Fix O(K²) message bloat in a chain of chords by @Borzik in #10171
- Fix mock connection interfaces to prevent
TypeErrorduring exception handling by @ChickenBenny in #10178 - fix(trace): dispatch chain/callbacks on dedup fast-path for redelivered tasks by @aurangzaib048 in #10159
- Extract
reconnect_on_errortoBaseResultConsumerby @ChickenBenny in #10189 - pep 649 by @ericbuehl in #10187
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #10186
- Fix#9722 friendly status errors for CLI by @ChickenBenny in #10190
- docs: clarify after_return behavior for retried tasks by @KianAnbarestani in #10192
- Add exists() method to AsyncResult by @veeceey in #10142
- Add compression header to message protocol docs by @Br1an67 in #10156
- docs: fix duplicated word in bootsteps comment by @Rohan5commit in #10153
- Remove outdated autoreloader section from extending docs by @Br1an67 in #10154
- Fix: prioritize request ignore_result over task definition by @patri27826 in #10184
- Add Google Cloud PubSub dependency group by @dpgraham4401 in #10216
- Chore(deps): Bump nick-fields/retry from 3 to 4 by @dependabot[bot] in #10213
- fix: clear the timer while catch the exception by @ChickenBenny in #10218
- fix(worker): add hub.reset() to synloop on connection error by @antonio-mello-ai in #10204
- Replace remaining deprecated datetime.utcnow() calls by @as567-code in #10224
- Fix#10022 request time limits by @ChickenBenny in #10206
- fix: send the task failure in hard timeout by @ChickenBenny in #10226
- Add
engine_callbackto database backendSessionManagerby @avolant in #10135 - feat(redis): support configuring additional connection errors by @abdullahmujahidali in #10158
- fix: move dedup integration tests to smoke tests by @aurangzaib048 in #10232
- fix: move prefork shutdown test to smoke tests by @aurangzaib048 in #10236
- fix: move remaining start_worker() integration tests to smoke tests by @aurangzaib048 in #10239
- fix: prevent graceful shutdown regression in connection recovery (GH-9705) by @aurangzaib048 in #10242
- perf(examples): set a timeout on tasks HTTP calls by @EhteshamSid in #10244
- docs: document return value of AsyncResult.get() and ResultSet.join() by @antonio-mello-ai in #10240
- docs: clarify broker-specific semantics of task priority by @antonio-mello-ai in #10238
- fix(base): add timeout to broker pool acquisition to prevent indefinite blocking by @aurangzaib048 in #10174
- fix#4834 (canvas): fix chord error handling when body is a chain by @aurangzaib048 in #10247
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #10249
- Fix warm shutdown not cancelling prefetched tasks in thread pool by @Aamirofficiall in #10183
- chore: add Python 3.14 trove classifier by @sk- in #10176
- Replace archived blacksmith python action with upstream python action by @c32-4e3-844-41ed9dc5d in #10265
- Update apt-get install command in integration tests by @auvipy in #10267
- Adjust retry settings in integration-tests.yml by @auvipy in #10268
- Update apt-get install command in workflow by @auvipy in #10266
- Bump codecov actions 5 -> 6 by @c32-4e3-844-41ed9dc5d in #10264
- docs: clarify
.delay()usage with signatures in the user guide section by @kittywaresz in #10258 - [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #10261
- Add all integration tests to the CI matrix by @Izzette in #10259
- Add libev-dev to Dockerfile dependencies by @auvipy in #10270
- Using
patching.modulesaftermoduletest fixture leaks across test cases by @treszkai in #10256 - docs: clarify Django settings with the CELERY namespace by @angelojbgama in #10272
- fix(consumer): skip prefetch reduction when per-consumer QoS is in effect by @aurangzaib048 in #10253
- fix(events): skip publish when producer is None to stop memory leak after broker reconnect by @Song-Junho97 in #10277
- Bump grpcio from 1.76.0 to 1.78.0 by @dependabot[bot] in #10136
- chore(deps): update sphinx-autobuild requirement from !=2024.9.3,>=2021.3.14 to !=2024.9.3,>=2024.10.3 by @dependabot[bot] in #10279
- fix#8542: honour per-task serializer and execution options (send_task). by @Krishnachaitanyakc in #10217
- fix(events): stop leaking exceptions and cancel stale Heart timers by @Song-Junho97 in #10280
- Deferred ack synloop bug by @jberclaz in #10263
- Fix head_from_fun following wrapped on Python 3.14+ by @dannon in #10281
- Add missing stacklevel=2 to 12 warnings.warn() calls by @stef41 in #10260
- Chore(deps): Bump pytest-github-actions-annotate-failures from 0.3.0 to 0.4.0 by @dependabot[bot] in #10168
- fix(defaults): default to exclusive queues for RabbitMQ 4.3.0 compatibility by @Nusnus in #10287
- Revert "fix(defaults): default to exclusive queues for RabbitMQ 4.3.0 compatibility" by @Nusnus in #10289
- fix(defaults,rpc): RabbitMQ 4.3.0 compatibility by @Nusnus in #10290
- Removed socket.timeout from reconnection conditions by @constantinblanariu in #10285
- fix(worker): skip Broadcast queues in native delayed delivery binding by @mina58 in #10293
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #10292
- fix(worker): guard heartbeat control command against None event_dispatcher by @SAY-5 in #10295
- Chore(deps): Update python-memcached requirement from >=1.61 to >=1.62 by @dependabot[bot] in #10282
- Chore(deps): Bump pytest from 9.0.2 to 9.0.3 by @dependabot[bot] in #10297
- Chore(deps): Update gevent requirement from >=1.5.0 to >=26.4.0 by @dependabot[bot] in #10301
- docs: clarify chord errback signatures by @paulkagiri in #10300
- Chore(deps): Bump pytest-order from 1.3.0 to 1.4.0 by @dependabot[bot] in #10305
- fix(redis): keep _reconnect_pubsub compatible with redis-py < 5.3.0 by @SAY-5 in #10298
- Update boto3 requirement from >=1.26.143 to >=1.43.6 and moto 5.2 by @dependabot[bot] in #10306
- docs: fix duplicated word in changelog by @lphuc2250gma in #10309
- Allow Redis backend SSL config with redis URLs by @cyphercodes in #10313
- Skip empty groups in chains by @puneetdixit200 in #10321
- Add documentation to workers guide around signal exception bytecode stuff by @sastraxi in #10276
- Fix worker consuming unexpected queues after connection loss by @phanky1 in #10335
- Apply backend retry policy to all DatabaseBackend DB operations by @arkadiuszbach in #10334
- Explain prefetching with late acknowledgments by @wayyoungboy in #10343
- Handle DST gaps in make_aware by @puneetdixit200 in #10324
- Fix Consumer.on_close() wiping in-flight reservations and breaking worker_disable_prefetch by @arkadiuszbach in #10345
- chore(deps): bump cryptography from 46.0.5 to 46.0.7 in /requirements/extras by @dependabot[bot] in #10350
- Fix: wrap new-style errback calls in try/except to prevent silent chain halt by @r266-tech in #10214
- Fix Queues.deselect leaking routing-only queues into consumers by @phanky1 in #10348
- fix(redis): prevent _pending_messages memory leak in ResultConsumer by @goingforstudying-ctrl in #10342
- Fix free worker stalling after broker reconnect (AsynPool.flush clearing _busy_workers) by @arkadiuszbach in #10346
- Revert "fix(redis): prevent _pending_messages memory leak in ResultConsumer" by @Nusnus in #10354
- Fix add_consumer not restoring consume_from for known queues by @phanky1 in #10352
- chore(deps): bump codecov/codecov-action from 6 to 7 by @dependabot[bot] in #10349
- docs(tasks): warn that rate-limited tasks block the worker's prefetch by @DHUKK in #10291
- Redis ResultConsumer: clean up leaked _pending_messages after on_wait_for_pending by @goingforstudying-ctrl in #10366
- chore(deps): bump cryptography from 46.0.7 to 48.0.1 in /requirements/extras by @dependabot[bot] in #10368
- Mark rejected tasks as failed when not requeued by @hmnfalahi in #10369
- Tolerate task cancellation errors after connection loss by @phanky1 in #10382
- chore(deps): bump actions/checkout from 6 to 7 by @dependabot[bot] in #10362
- Fix queue selection by alias to store the real queue name by @phanky1 in #10358
- Raise a clear error instead of a bare ValueError when fast_trace_task's worker registry is empty by @harshitayadavv in #10397
- Update reserved requests to use new event dispatcher on reconnect by @phanky1 in #10383
- Preserve group errback mutability by @lxingy3 in #10385
- Fix pidbox consumer cleanup during reset cycles by @zainnadeem786 in #10363
- Defer default queue lookup for explicitly routed tasks by @phanky1 in #10357
- Preserve re-buffered events during dispatcher flush by @phanky1 in #10401
- Docs: clarify which tasks the celery_worker pytest fixture can run by @sahilkanger in #10378
- Preserve exception cause when re-raising in a few spots by @tejas-ae in #10257
- fix(canvas): propagate chained task failures to the chord body by @eyupcanakman in #10323
- Move custom-worker integration tests to the smoke suite by @Nusnus in #10410
- Guard integration tests by @Nusnus in #10411
- Finalize ResultSet barrier when
iter_nativebegins by @phanky1 in #10407 - Fix preload options for control command by @theShmoo in #10403
- fix(canvas): restore GroupResult fan-out in chain as_tuple() (#8903 regression) by @jberclaz in #10408
- Handle UUID task ids in key-value store backend key generation by @MahinAnowar in #10406
- Stop eager chain execution on Ignore and Reject by @phanky1 in #10404
- docs: fix incorrect parameter names in docstrings by @eeshsaxena in #10392
- Handle EPERM from os.kill in multi stopwait node liveness check by @Ozone317 in #10414
- Preserve group-buffered events when flush republish fails by @chuenchen309 in #10417
- chore(deps): bump actions/setup-python from 6 to 7 by @dependabot[bot] in #10423
- fix: upgrade http:// to https:// in README.rst by @hanu-14 in #10419
- chore(deps): bump useblacksmith/setup-docker-builder from 1 to 2 by @dependabot[bot] in #10430
- Fix inconsistencies in systemd service examples by @phanky1 in #10425
- fix: don't drop buffered events appended during publish by @oliverhaas in #10435
- Preserve absolute event timestamps in Gossip by @phanky1 in #10418
- Respect result_extended in the RPC result backend by @phanky1 in #10431
- Warn when routing options are set as task attributes by @phanky1 in #10453
- chore(deps): bump github/codeql-action from 4 to 4.37.4 by @dependabot[bot] in #10454
- RPC result backend recirculates final results on every state poll by @goingforstudying-ctrl in #10459
- chore(deps): bump github/codeql-action from 4.37.4 to 4.37.6 by @dependabot[bot] in #10469
- Raise ImproperlyConfigured with install hint when ephem is missing for solar schedules by @locker95 in #10470
- Normalize aware datetimes into the schedule timezone in crontab.remaining_delta by @MahinAnowar in #10420
- Reheap beat entries that request to retry later by @phanky1 in #10468
- Move task_sent and Result deprecations to the 6.0 timeline by @phanky1 in #10455
- Fix shared retry_kwargs mutation in autoretry by @Namraa310806 in #10461
- fix(worker): mask credentials in alternates returned by inspect stats by @AleksaMCode in #10485
- chore(deps): bump useblacksmith/setup-docker-builder from 2 to 2.0.1 by @dependabot[bot] in #10450
- chore(deps): bump cryptography from 48.0.1 to 50.0.0 in /requirements/extras by @dependabot[bot] in #10483
- Add MemoryError regression for request callbacks by @sahilmathur254 in #10482
- chore(deps): bump useblacksmith/setup-docker-builder from 2.0.1 to 2.1.0 by @dependabot[bot] in #10496
- Fix ineffective traceback clearing in timeout handling by @Namraa310806 in #10493
- Fix Redis result consumer redundant unsubscribe by @Namraa310806 in #10497
- Pin socket_timeout in integration test Redis client by @bchrobot in #10498
- Add datefmt support to ColorFormatter and TaskFormatter by @rahul2002m in #10488
- Fix autoscale and disable-prefetch for green worker pools by @arkadiuszbach in #10361
- feature: add celery_beat_task header in task options by @alirafiei75 in #9702
- Enable heartbeat on the event dispatcher connection by @phanky1 in #10500
- Fix TypeError when slicing a regen built from a generator by @MahinAnowar in #10501
- Make result_compression actually compress stored results by @dylanpulver in #10504
- fix: preserve negative UTC offsets in LocalTimezone.fromutc by @waterWang in #10519
- fix: handle invalid worker environment values by @Namraa310806 in #10513
- Fix certificate expiration during verification by @Namraa310806 in #10510
- chore(deps): bump github/codeql-action from 4.37.6 to 4.37.8 by @dependabot[bot] in #10515
- Fix KeyError in MongoDB backend for results stored without a request by @dylanpulver in #10503
- Fix pre-commit formatting error in test_time by @Namraa310806 in #10520
- fix: crontab.remaining_delta skips later minute slots on an earlier day by @phanky1 in #10494
- Honor a timeout of 0 in wait_for and ResultSet.join instead of waiting forever by @ckarnell in #10487
- Mask broker_read_url and broker_write_url in filter_hidden_settings by @phanky1 in #10398
- Add task_repr_maxlevels setting to control argsrepr/kwargsrepr depth by @phanky1 in #10371
- docs(whatsnew): clarify gevent/eventlet pool requirement in Celery 5 migration guide by @zainnadeem786 in #10360
- handle beat_cron_starting_deadline correctly for non-uniform crontabs by @phanky1 in #10315
- tests: Add explicit tests for worker broker retry behavior by @LOGESHWAR123 in #10356
- chore(deps): update mock requirement from >=1.3 to >=5.2.0 by @dependabot[bot] in #10308
- Document EventReceiver's first argument under the name it actually has by @darkdi in #10460
- chore(deps): bump pytest from 9.0.3 to 9.1.1 by @dependabot[bot] in #10522
- Update README.rst by @auvipy in #10521
- docs(gevent): document monkey-patching entrypoint requirement (#10067) by @harmehak0173 in #10481
- docs: describe canvas calling behavior accurately by @Whning0513 in #10447
- docs: clarify acks late versus retry behavior by @Whning0513 in #10448
- docs: link worker settings to CLI options by @Whning0513 in #10445
- docs: Fix grammar errors in extending user guide by @LaRoyBot in #10429
- docs: show SQS FIFO message properties directly by @Whning0513 in #10446
- docs: document scheduling groups and workflows periodically by @sahilkanger in #10428
- docs: document purpose of bulk_task_producer.py example by @Mahir-Panchal in #10399
- Replace static analysis hack in
__init__.pywithTYPE_CHECKINGguard by @tobyh-canva in #10409 - Fix typo by @leetrout in #10365
- docs: document single-argument link_error errback used by send_task by @sahilkanger in #10427
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #10296
- chore(deps): update pytest-subtests requirement from >=0.14.1 to >=0.15.0 by @dependabot[bot] in #10523
- Chore(deps-dev): Bump isort from 7.0.0 to 8.0.1 by @dependabot[bot] in #10170
- Chore(deps): Bump sphinx-click from 6.1.0 to 6.2.0 by @dependabot[bot] in #10169
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci[bot] in #10537
- Remove redundant maybe_signature call in unlock_chord by @phanky1 in #10395
- Cache extension entry-point discovery to fix apply_async CPU overhead by @ghirailghiro in #10516
- Bound State._tasks_to_resolve to fix unbounded memory growth by @ghirailghiro in #10534
- Fix DjangoTask selection for Celery subclasses without a custom task class by @phanky1 in #10529
- Honor a timeout of 0 in get_many instead of polling forever by @dylanpulver in #10524
- Chore(deps): Bump pytest-cov from 7.0.0 to 7.1.0 by @dependabot[bot] in #10540
- Chore(deps): Bump github/codeql-action from 4.37.8 to 4.37.9 by @dependabot[bot] in #10542
- Fix the delay beat returns when the heap top changes by @phanky1 in #10531
- Chore(deps): Update elasticsearch requirement from <=9.3.0 to <=9.5.0 by @dependabot[bot] in #10541
- Fix: DatabaseBackend now honors result_serializer (#3025) by @ghirailghiro in #10536
- Honour
config_from_object(silent=True)on the lazy config load by @ArockiaRajamanickam in #10532 - Chore(deps): Update pyarango requirement from >=2.0.2 to >=2.1.1 by @dependabot[bot] in #10544
- Chore(deps): Bump cryptography from 50.0.0 to 50.0.1 by @dependabot[bot] in #10543
- Change kombu dependency to pypi release by @auvipy in #10549
- Update kombu dependency to use pypi release only by @auvipy in #10552
- Modify default Python versions in workflow by @auvipy in #10551
- Update CI matrix to exclude Python 3.10 and 3.14t by @auvipy in #10550
- Parameterize integration test Dockerfile by Python version by @auvipy in #7610
- Fix connection leak in the celery_worker pytest fixture by @phanky1 in #10512
- Update default Python versions in smoke tests by @auvipy in #10556
- Apply ChainMap._key consistently across its methods by @phanky1 in #10545
- [Bug] chord hangs when a member is revoked through app.control.revoke by @goingforstudying-ctrl in #10527
- Chore(deps): Update pytest-rerunfailures requirement from >=15.0 to >=16.6 by @dependabot[bot] in #10547
- Show original and prefixed keys in configuration KeyError by @phanky1 in #10559
- Forward chord body routing options to chord_unlock by @phanky1 in #10442
- Fix beat sleeping too long when is_due changes the heap by @phanky1 in #10558
- Chore(deps): Update wheel requirement from >=0.33.1 to >=0.48.0 by @dependabot[bot] in #10557
- Chore(deps): Bump grpcio from 1.78.0 to 1.83.1 by @dependabot[bot] in #10539
- Fix celery worker shutdown timeout example by @mgaitan in #10416
- Fix --detach stalling in Docker containers with high fdmax (#9886) by @GangEunzzang in #10080
- Fix crontab state restoration across persistence cycles by @MarthalaJagruthiReddy in #10563
- Document how the Redis broker stores messages by @GebleaAlex in #10566
- Return Option objects consistently from find() by @phanky1 in #10565
- Propagate setup logging signal errors by @GruffElixir in #10568
- Honour broker connection retry settings when purging at startup by @MahinAnowar in #10567
- Fix Signature.clone() sharing kwargs with the original signature by @tritsystem in #10571
- fix(worker): bound already-open broker sockets before connection teardown (GH-9705) by @aurangzaib048 in #10570
- Chore(deps): Update click-repl requirement from >=0.2.0 to >=0.3.0 by @dependabot[bot] in #10572
- Chore(deps): Bump pytest-order from 1.4.0 to 1.5.0 by @dependabot[bot] in #10573
- Chore(deps): Bump useblacksmith/setup-docker-builder from 2.1.0 to 2.2.0 by @dependabot[bot] in #10574
- Revert "[Bug] chord hangs when a member is revoked through app.control.revoke" by @phanky1 in #10564
- Chore(deps): Update pytest-rerunfailures requirement from >=16.6 to >=16.6.1 by @dependabot[bot] in #10580
- Chore(deps): Update cassandra-driver requirement from <4,>=3.25.0 to >=3.30.1,<4 by @dependabot[bot] in #10581
- docs: repoint dead :ref: targets to the getting-help/bug-tracker labels by @simpleqt in #10578
preforkis not safe anymore by @superboum in #10339- docs(result): drop doubled 'in in' in the ResultSet class comment by @simpleqt in #10577
- Chore(deps): Update sphinx requirement from >=7.0.0 to >=8.1.3 by @dependabot[bot] in #10548
- Detect spawned pool children in process_initializer by @GangEunzzang in #10583
- Allow worker_pool_start_method='spawn' with the asynchronous prefork pool by @GangEunzzang in #10584
- Keep preconfigured values out of configuration defaults by @phanky1 in #10575
- Document interaction between rate_limit and countdown/eta by @istoolsfox in #10595
- Chore(deps): Bump pytest-github-actions-annotate-failures from 0.4.0 to 0.4.2 by @dependabot[bot] in #10591
- Chore(deps): Bump google-cloud-firestore from 2.23.0 to 2.30.0 by @dependabot[bot] in #10590
- Chore(deps): Update tox requirement from >=3.8.4 to >=4.61.2 by @dependabot[bot] in #10589
- Clean up Docker examples in the contributing guide by @phanky1 in #10587
- Chore(deps): Update azure-storage-blob requirement from >=12.15.0 to >=12.30.1 by @dependabot[bot] in #10601
- Honor zero timeouts in the result drainer by @phanky1 in #10603
- Keep the execv flag from leaking between tests by @GangEunzzang in #10596
- Make ConfigurationView membership match key lookup by @phanky1 in #10586
- Respect map order in ConfigurationView lookups by @phanky1 in #10597
- Chore(deps): Update exceptiongroup requirement from >=1.3.0 to >=1.3.1 by @dependabot[bot] in #10600
- Include _keys in ConfigurationView.swap_with() by @phanky1 in #10604
- Chore(deps): Update click-didyoumean requirement from >=0.3.0 to >=0.3.1 by @dependabot[bot] in #10599
- Add runtime in success signal by @sasirven in #9516
- Retain fallback context managers until exit by @GangEunzzang in #10610
- Preserve explicitly supplied empty timer schedules by @GangEunzzang in #10609
- Fix: query_task doesn't find tasks scheduled with an ETA/countdown (#5321) by @ghirailghiro in #10535
- Docs: add missing @app.task decorator to chain example by @rmnvg in #10613
- Fix Redis result compression with decode_responses enabled by @phanky1 in #10612
- docs: fix 'allows to' grammar in dont_autoretry_for docs by @mrchatam in #10615
- docs: fix 'Allows to' grammar in configuration settings by @mrchatam in #10617
- fix(canvas): propagate aggregate_duplicates through nested stamp merges by @MehrazRumman in #10616
- Deny access to private attributes and dunders via registered() by @ndaprela in #10602
- Fix argument forwarding through nested chains in eager execution by @aprylewu in #10611
- Replacing a task with a chain which contains a group now returns a result instead of hanging by @auvipy in #9604
- Fix linked signature option isolation during deepcopy by @Yukibei in #10594
- added new regression test to check issue #3885 by @auvipy in #10622
- Prevent add_defaults() from crashing when config_from_object() fails on an already configured app by @phanky1 in #10621
- fix(backends.database): store task children with database backend (#8336) by @VimalN2005 in #10606
- Prevent spawned worker crashes with explicit lazy=True by @phanky1 in #10619
- Redact SAS tokens and lowercase account keys in AzureBlockBlobBackend.as_uri by @Dev-next-gen in #10620
- Preserve configuration when copying settings by @GangEunzzang in #10623
- Warn when two callables collide under one task name (#10576) by @vasilisnasopoulos in #10598
- Chore(deps): Bump github/codeql-action from 4.37.9 to 4.38.0 by @dependabot[bot] in #10630
- Task.replace() crashes with tuple-backed chains by @phanky1 in #10626
- Chore(deps): Update gevent requirement from >=26.4.0 to >=26.8.0 by @dependabot[bot] in #10629
- Prevent apply_async() from mutating cached execution options by @phanky1 in #10624
- Chore(deps): Bump pycouchdb from 1.16.0 to 1.17.1 by @dependabot[bot] in #10627
- Chore(deps-dev): Bump isort from 8.0.1 to 9.0.1 by @dependabot[bot] in #10628
- try python 3.15 pre release on the CI by @auvipy in #10636
- Chore(deps): Update sphinx2rst requirement from >=1.0 to >=1.1.0 by @dependabot[bot] in #10639
- Chore(deps): Bump mypy from 1.19.1 to 2.3.1 by @dependabot[bot] in #10638
- Set default max priority in Queues.setitem() when the queue has none by @phanky1 in #10645
- backends.by_url() should accept backend classes by @phanky1 in #10635
- Fix celery multi crashing on a single node name containing a dash by @Dev-next-gen in #10643
- Rebuild the GCS storage client after a fork when Firestore is touched first by @Dev-next-gen in #10641
- Chore(deps): Update tox requirement from >=4.61.2 to >=4.61.4 by @dependabot[bot] in #10640
- Chore(deps): Update pydantic requirement from >=2.4 to ==2.13.5 by @dependabot[bot] in #10654
- Fix empty group/chain handling in chains and group headers (#9772) by @MehrazRumman in #10646
- Chore(deps): Update sphinx-celery requirement from >=2.1.1 to >=2.1.3 by @dependabot[bot] in #10656
- Remove explicit garbage collection from test fixture teardown by @phanky1 in #10648
- Support queue aliases in Queues.deselect() by @phanky1 in #10649
- Chore(deps): Update boto3 requirement from >=1.43.6 to >=1.43.93 by @dependabot[bot] in #10655
- Update click-repl version to 0.4.0 by @auvipy in #10658
- Fix intermittent failure in backend teardown integration test by @phanky1 in #10662
- Update billiard version requirement to 4.3.0 by @auvipy in #10659
- Update billiard dependency in dev requirements by @auvipy in #10670
- Keep a cancelled task unacked when the child reports SystemExit by @GangEunzzang in #10667
- Skip empty groups in eager chains by @superh123 in #10644
- Return the exact fractional utcoffset() instead of rounding it by @bodapatisaikrishna in #10625
- Chore(deps): Update pre-commit requirement from >=4.0.1 to >=4.6.2 by @dependabot[bot] in #10665
- Store failures raised as BaseException subclasses with the JSON serializer by @GangEunzzang in #10672
- fix(backends.database): store stamping metadata with extended results (#8887) by @VimalN2005 in #10605
- Chore(deps): Update azure-identity requirement from >=1.19.0 to ==1.25.3 by @dependabot[bot] in #10666
- Chore(deps): Update flake8 requirement from >=3.8.3 to ==7.3.0 by @dependabot[bot] in #10664
- Fix package version specifications in test.txt and upgrade moto by @auvipy in #10660
- fix(app.utils): handle multi-server URLs in sanitize_url and bugreport (#8014) by @VimalN2005 in #10607
- Refresh AMQP task routes for all configuration update forms by @phanky1 in #10673
- Redis result backend: serialize pubsub access between the drainer and result cleanup by @goingforstudying-ctrl in #10671
- Wait for the replacement child in the smoke respawn test by @GangEunzzang in #10674
- Queues.setitem() should apply the default routing key by @phanky1 in #10669
- Add the request context to task_failure in case of lost worker by @caspervdw in #9720
- Fix revoked tasks running anyway after mingle merged revoke stamps from another host by @yauhpl-alt in #10668
- Update kombu version to 5.7.0a1 by @auvipy in #10677
- Expect the prefetch reduction to be skipped under per-consumer QoS by @GangEunzzang in #10682
- Keep the Azure Block Blob backend picklable by @Dev-next-gen in #10647
- Keep a finished result when a revoke arrives for the task by @GangEunzzang in #10679
- Chore(deps): Bump grpcio from 1.83.1 to 1.84.0 by @dependabot[bot] in #10686
- Chore(deps): Bump github/codeql-action from 4.38.0 to 4.38.1 by @dependabot[bot] in #10687
- Chore(deps): Update elasticsearch requirement from <=9.5.0 to <=9.5.1 by @dependabot[bot] in #10685
- Added Changelog for v5.7.0a1 Alpha 1 release by @auvipy in #10688
- Bump version: 5.6.3 → 5.7.0a1 by @auvipy in #10690
New Contributors
- @maycuatroi1 made their first contribution in #10048
- @jorsyk made their first contribution in #10056
- @Timour-Ilyas made their first contribution in #10066
- @GangEunzzang made their first contribution in #10076
- @sbc-khacnha made their first contribution in #10081
- @veeceey made their first contribution in #10100
- @mriddle made their first contribution in #10086
- @Mr-Neutr0n made their first contribution in #10121
- @ChickenBenny made their first contribution in #10108
- @bysiber made their first contribution in #10137
- @Rohan5commit made their first contribution in #10139
- @cuiweixie made their first contribution in #10133
- @kelsonbrito50 made their first contribution in #10145
- @abdullahmujahidali made their first contribution in #10150
- @brianhelba made their first contribution in #10038
- @Br1an67 made their first contribution in #10155
- @daniel7an made their first contribution in #10103
- @vchomakov made their first contribution in #10040
- @drichardson made their first contribution in #10165
- @tsangwailam made their first contribution in #10181
- @Borzik made their first contribution in #10171
- @aurangzaib048 made their first contribution in #10159
- @ericbuehl made their first contribution in #10187
- @KianAnbarestani made their first contribution in #10192
- @patri27826 made their first contribution in #10184
- @dpgraham4401 made their first contribution in #10216
- @antonio-mello-ai made their first contribution in #10204
- @as567-code made their first contribution in #10224
- @avolant made their first contribution in #10135
- @EhteshamSid made their first contribution in #10244
- @Aamirofficiall made their first contribution in #10183
- @sk- made their first contribution in #10176
- @c32-4e3-844-41ed9dc5d made their first contribution in #10265
- @kittywaresz made their first contribution in #10258
- @angelojbgama made their first contribution in #10272
- @Song-Junho97 made their first contribution in #10277
- @Krishnachaitanyakc made their first contribution in #10217
- @jberclaz made their first contribution in #10263
- @dannon made their first contribution in #10281
- @stef41 made their first contribution in #10260
- @constantinblanariu made their first contribution in #10285
- @mina58 made their first contribution in #10293
- @SAY-5 made their first contribution in #10295
- @paulkagiri made their first contribution in #10300
- @lphuc2250gma made their first contribution in #10309
- @cyphercodes made their first contribution in #10313
- @puneetdixit200 made their first contribution in #10321
- @sastraxi made their first contribution in #10276
- @phanky1 made their first contribution in #10335
- @arkadiuszbach made their first contribution in #10334
- @wayyoungboy made their first contribution in #10343
- @r266-tech made their first contribution in #10214
- @goingforstudying-ctrl made their first contribution in #10342
- @DHUKK made their first contribution in #10291
- @harshitayadavv made their first contribution in #10397
- @lxingy3 made their first contribution in #10385
- @zainnadeem786 made their first contribution in #10363
- @sahilkanger made their first contribution in #10378
- @tejas-ae made their first contribution in #10257
- @eyupcanakman made their first contribution in #10323
- @theShmoo made their first contribution in #10403
- @MahinAnowar made their first contribution in #10406
- @eeshsaxena made their first contribution in #10392
- @Ozone317 made their first contribution in #10414
- @chuenchen309 made their first contribution in #10417
- @hanu-14 made their first contribution in #10419
- @oliverhaas made their first contribution in #10435
- @locker95 made their first contribution in #10470
- @Namraa310806 made their first contribution in #10461
- @AleksaMCode made their first contribution in #10485
- @sahilmathur254 made their first contribution in #10482
- @bchrobot made their first contribution in #10498
- @rahul2002m made their first contribution in #10488
- @dylanpulver made their first contribution in #10504
- @waterWang made their first contribution in #10519
- @ckarnell made their first contribution in #10487
- @LOGESHWAR123 made their first contribution in #10356
- @darkdi made their first contribution in #10460
- @harmehak0173 made their first contribution in #10481
- @Whning0513 made their first contribution in #10447
- @LaRoyBot made their first contribution in #10429
- @Mahir-Panchal made their first contribution in #10399
- @tobyh-canva made their first contribution in #10409
- @leetrout made their first contribution in #10365
- @ArockiaRajamanickam made their first contribution in #10532
- @mgaitan made their first contribution in #10416
- @MarthalaJagruthiReddy made their first contribution in #10563
- @GebleaAlex made their first contribution in #10566
- @GruffElixir made their first contribution in #10568
- @tritsystem made their first contribution in #10571
- @simpleqt made their first contribution in #10578
- @superboum made their first contribution in #10339
- @istoolsfox made their first contribution in #10595
- @sasirven made their first contribution in #9516
- @rmnvg made their first contribution in #10613
- @mrchatam made their first contribution in #10615
- @ndaprela made their first contribution in #10602
- @aprylewu made their first contribution in #10611
- @Yukibei made their first contribution in #10594
- @VimalN2005 made their first contribution in #10606
- @Dev-next-gen made their first contribution in #10620
- @vasilisnasopoulos made their first contribution in #10598
- @superh123 made their first contribution in #10644
- @bodapatisaikrishna made their first contribution in #10625
- @caspervdw made their first contribution in #9720
- @yauhpl-alt made their first contribution in #10668
Full Changelog: v5.6.2...v5.7.0a1