|
4 | 4 | Change history |
5 | 5 | ================ |
6 | 6 |
|
| 7 | +.. _version-5.6.0: |
| 8 | + |
| 9 | +5.6.0 |
| 10 | +===== |
| 11 | +:release-date: 1 November, 2025 |
| 12 | +:release-by: Tomer Nosrati |
| 13 | + |
| 14 | +Key Highlights |
| 15 | +~~~~~~~~~~~~~~ |
| 16 | + |
| 17 | +QoS Max Prefetch Limit |
| 18 | +---------------------- |
| 19 | + |
| 20 | +`PR #2348 <https://github.com/celery/kombu/pull/2348>`_ |
| 21 | + |
| 22 | +Prevent Out Of Memory crashes when queues flood with ETA/countdown tasks. The new optional ``max_prefetch`` parameter caps how many messages workers hold in memory. Defaults to unlimited (``None``) to preserve existing behavior. |
| 23 | + |
| 24 | +.. code-block:: python |
| 25 | +
|
| 26 | + from kombu.common import QoS |
| 27 | +
|
| 28 | + # Limit prefetch to maximum 100 messages |
| 29 | + qos = QoS(callback=consumer.qos, initial_value=10, max_prefetch=100) |
| 30 | +
|
| 31 | +Redis Polling Interval Support |
| 32 | +------------------------------ |
| 33 | + |
| 34 | +`PR #2346 <https://github.com/celery/kombu/pull/2346>`_ |
| 35 | + |
| 36 | +Fix Redis transport to properly propagate ``polling_interval`` and ``brpop_timeout`` from ``transport_options`` to the Channel's ``_brpop_start`` timeout. |
| 37 | + |
| 38 | +.. code-block:: python |
| 39 | +
|
| 40 | + app.conf.broker_transport_options = {"polling_interval": 10} |
| 41 | +
|
| 42 | +Leave it unset to keep the familiar 1-second default, or raise it to slow down idle polling. |
| 43 | + |
| 44 | +Pidbox RabbitMQ 4.x Compatibility |
| 45 | +--------------------------------- |
| 46 | + |
| 47 | +`PR #2338 <https://github.com/celery/kombu/pull/2338>`_ |
| 48 | + |
| 49 | +Let pidbox queues work on RabbitMQ 4.x brokers that reject transient, non-exclusive queues. |
| 50 | + |
| 51 | +MongoDB Transport Improvements |
| 52 | +------------------------------ |
| 53 | + |
| 54 | +`PR #2347 <https://github.com/celery/kombu/pull/2347>`_ |
| 55 | + |
| 56 | +URI options now come through lowercase and flattened again, so settings like ``replicaSet=test_rs`` show up as ``options['replicaset']``. |
| 57 | + |
| 58 | +Resource Pool Gevent Compatibility |
| 59 | +---------------------------------- |
| 60 | + |
| 61 | +`PR #2314 <https://github.com/celery/kombu/pull/2314>`_ |
| 62 | + |
| 63 | +Restore compatibility with recent gevent releases that monkey-patch the standard library queue. |
| 64 | + |
| 65 | +Timezone-aware UTC Timestamps |
| 66 | +----------------------------- |
| 67 | + |
| 68 | +`PR #2355 <https://github.com/celery/kombu/pull/2355>`_ |
| 69 | + |
| 70 | +Replace every usage of ``datetime.utcnow()`` with ``datetime.now(timezone.utc)`` to return timezone-aware UTC datetimes. |
| 71 | + |
| 72 | +Redis Client Name Support |
| 73 | +---------------------------------- |
| 74 | + |
| 75 | +`PR #2367 <https://github.com/celery/kombu/pull/2367>`_ |
| 76 | + |
| 77 | +Support for propagating the ``client_name`` connection parameter through the Redis transport (including Sentinel) so that connections appear with meaningful names in monitoring tools. |
| 78 | + |
| 79 | +What's Changed |
| 80 | +~~~~~~~~~~~~~~ |
| 81 | + |
| 82 | +Since v5.6.0rc2: |
| 83 | +- Test on Python 3.14 (#2361) |
| 84 | +- Revert "Revert "Bump pymongo from 4.10.1 to 4.15.3"" (#2401) |
| 85 | +- Prepare for release: v5.6.0 (#2402) |
| 86 | + |
| 87 | +Since v5.5.4: |
| 88 | +- Revert "Feature: urllib3 instead of curl" (#2261) |
| 89 | +- Fix #2286 : SQS - Enhance support for receiving message attributes. Allow string in msg body. (#2300) |
| 90 | +- Update gcpubsub.txt for protobuf (#2320) |
| 91 | +- fix body bytes encoding in curl.py (#2322) |
| 92 | +- Hotfix(aws_ssl): validate secure connection (#2323) |
| 93 | +- Update setup.py to remove deprecation warning (#2298) |
| 94 | +- Update protobuf to 5.29.5 (#2199) |
| 95 | +- Allow setting `tags` in initial `boto3.sqs.create_queue` call via `transport_options` (#2321) |
| 96 | +- Add sts_token_buffer_time parameter to transport options (#2216) |
| 97 | +- Docs: Fix incorrect "added in 5.6.0" note for sts_token_timeout in SQS transport docs (#2327) |
| 98 | +- SQS: when redelivering a message apply visibility timeout based on wait_time_seconds (long polling time) (#2049) |
| 99 | +- Bump redis requirement to <6 to support v5.3 (#2329) |
| 100 | +- Pidbox: support queue_exclusive / queue_durable (RabbitMQ 4.x) (#2338) |
| 101 | +- Prepare for (pre) release: v5.6.0b1 (#2343) |
| 102 | +- Normalize mongodb options keys (#2347) |
| 103 | +- Redis: propagate polling_interval from transport options to _brpop_start timeout (#2346) |
| 104 | +- Add max_prefetch limit to QoS class and related tests (#2348) |
| 105 | +- Prepare for (pre) release: v5.6.0b2 (#2349) |
| 106 | +- Remove custom `LifoQueue` class conflicting with recent gevent (#2314) |
| 107 | +- Replace deprecated datetime.utcnow() with datetime.now(timezone.utc) (#2355) |
| 108 | +- Prepare for (pre) release: v5.6.0b3 (#2359) |
| 109 | +- Bump mypy from 1.14.1 to 1.18.1 AGAIN (#2363) |
| 110 | +- Remove nested query from sqlalchemy _size (#2315) |
| 111 | +- Remove misused argument for autoflake (#2368) |
| 112 | +- Support client_name connection parameter for redis transport (#2367) |
| 113 | +- Prepare for (pre) release: v5.6.0rc1 (#2369) |
| 114 | +- Update Redis version constraint to <6.2 (#2377) |
| 115 | +- remove Python 3.8 from CI as EOL (#2241) |
| 116 | +- Revert "Bump pymongo from 4.10.1 to 4.15.3" (#2384) |
| 117 | +- Update requirements to remove backports.zoneinfo (#2391) |
| 118 | +- Update qpid-python and qpid-tools versions (#2392) |
| 119 | +- Remove Qpid transport from requirements of func test (#2393) |
| 120 | +- Fix comment grammar in entity_name test (#2394) |
| 121 | +- Prepare for (pre) release: v5.6.0rc2 (#2396) |
| 122 | +- Test on Python 3.14 (#2361) |
| 123 | +- Revert "Revert "Bump pymongo from 4.10.1 to 4.15.3"" (#2401) |
| 124 | +- Prepare for release: v5.6.0 (#2402) |
| 125 | + |
7 | 126 | .. _version-5.6.0rc2: |
8 | 127 |
|
9 | 128 | 5.6.0rc2 |
10 | | -======= |
| 129 | +======== |
11 | 130 | :release-date: 20 October, 2025 |
12 | 131 | :release-by: Tomer Nosrati |
13 | 132 |
|
@@ -91,7 +210,7 @@ What's Changed |
91 | 210 | .. _version-5.6.0rc1: |
92 | 211 |
|
93 | 212 | 5.6.0rc1 |
94 | | -======= |
| 213 | +======== |
95 | 214 | :release-date: 28 September, 2025 |
96 | 215 | :release-by: Tomer Nosrati |
97 | 216 |
|
|
0 commit comments