pypi kombu 5.6.0
v5.6.0

2 days ago

Key Highlights

QoS Max Prefetch Limit #2348

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.

from kombu.common import QoS

# Limit prefetch to maximum 100 messages
qos = QoS(callback=consumer.qos, initial_value=10, max_prefetch=100)

Redis Polling Interval Support #2346

Fix Redis transport to properly propagate polling_interval and brpop_timeout from transport_options to the Channel's _brpop_start timeout.

app.conf.broker_transport_options = {"polling_interval": 10}

Leave it unset to keep the familiar 1-second default, or raise it to slow down idle polling.

Pidbox RabbitMQ 4.x Compatibility #2338

Let pidbox queues work on RabbitMQ 4.x brokers that reject transient, non-exclusive queues.

MongoDB Transport Improvements #2347

URI options now come through lowercase and flattened again, so settings like replicaSet=test_rs show up as options['replicaset'].

Resource Pool Gevent Compatibility #2314

Restore compatibility with recent gevent releases that monkey-patch the standard library queue.

Timezone-aware UTC Timestamps #2355

Replace every usage of datetime.utcnow() with datetime.now(timezone.utc) to return timezone-aware UTC datetimes.

Redis Client Name Support #2367

Support for propagating the client_name connection parameter through the Redis transport (including Sentinel) so that connections appear with meaningful names in monitoring tools.

What's Changed

Since v5.6.0rc2

Since v5.5.4

  • Revert "Feature: urllib3 instead of curl" by @auvipy in #2261
  • Fix #2286 : SQS - Enhance support for receiving message attributes. Allow string in msg body. by @thejones in #2300
  • Update gcpubsub.txt for protobuf by @auvipy in #2320
  • fix body bytes encoding in curl.py by @auvipy in #2322
  • Hotfix(aws_ssl): validate secure connection by @spawn-guy in #2323
  • Update setup.py to remove deprecation warning by @auvipy in #2298
  • Update protobuf to 5.29.5 by @pyup-bot in #2199
  • Allow setting tags in initial boto3.sqs.create_queue call via transport_options by @akosel in #2321
  • Add sts_token_buffer_time parameter to transport options by @eisichenko in #2216
  • Docs: Fix incorrect "added in 5.6.0" note for sts_token_timeout in SQS transport docs by @eisichenko in #2327
  • SQS: when redelivering a message apply visibility timeout based on wait_time_seconds (long polling time) by @pbudzon in #2049
  • Bump redis requirement to <6 to support v5.3 by @nsoranzo in #2329
  • Pidbox: support queue_exclusive / queue_durable (RabbitMQ 4.x) by @ghirailghiro in #2338
  • Prepare for (pre) release: v5.6.0b1 by @Nusnus in #2343
  • Normalize mongodb options keys by @ghirailghiro in #2347
  • Redis: propagate polling_interval from transport options to _brpop_start timeout by @ghirailghiro in #2346
  • Add max_prefetch limit to QoS class and related tests by @sashu2310 in #2348
  • Prepare for (pre) release: v5.6.0b2 by @Nusnus in #2349
  • Remove custom LifoQueue class conflicting with recent gevent by @olii in #2314
  • Replace deprecated datetime.utcnow() with datetime.now(timezone.utc) by @TheWesDias in #2355
  • Prepare for (pre) release: v5.6.0b3 by @Nusnus in #2359
  • Bump mypy from 1.14.1 to 1.18.1 AGAIN by @cclauss in #2363
  • Remove nested query from sqlalchemy _size by @ddelange in #2315
  • Remove misused argument for autoflake by @mdalp in #2368
  • Support client_name connection parameter for redis transport by @mdalp in #2367
  • Prepare for (pre) release: v5.6.0rc1 by @Nusnus in #2369
  • Update Redis version constraint to <6.2 by @auvipy in #2377
  • remove Python 3.8 from CI as EOL by @auvipy in #2241
  • Revert "Bump pymongo from 4.10.1 to 4.15.3" by @auvipy in #2384
  • Update requirements to remove backports.zoneinfo by @auvipy in #2391
  • Update qpid-python and qpid-tools versions by @auvipy in #2392
  • Remove Qpid transport from requirements of func test by @auvipy in #2393
  • Fix comment grammar in entity_name test by @auvipy in #2394
  • Prepare for (pre) release: v5.6.0rc2 by @Nusnus in #2396
  • Test on Python 3.14 by @cclauss in #2361
  • Revert "Revert "Bump pymongo from 4.10.1 to 4.15.3"" by @auvipy in #2401
  • Prepare for release: v5.6.0 by @Nusnus in #2402

New Contributors

Full Changelog: v5.5.4...v5.6.0

Don't miss a new kombu release

NewReleases is sending notifications on new releases.