Skip to content

Releases: RDDLab/Django-RMQ

1.0.4

Choose a tag to compare

@Wern-rm Wern-rm released this 11 Jul 19:51
Immutable release. Only release title and notes can be modified.
c4ce71c

Fixed

  • Consumer — guard basic_nack against a missing delivery tag: when a
    handler raises, the message is only nacked if method.delivery_tag is set,
    avoiding an invalid nack with delivery_tag=None.

Changed

  • Topology setup — the RecordingChannel proxy used by
    setup_rabbitmq_topology now exposes explicit, fully typed keyword parameters
    (passive, durable, auto_delete, internal, exclusive, arguments, …)
    on exchange_declare / queue_declare / queue_bind, mirroring Pika's
    BlockingChannel instead of accepting **kwargs. Setup functions get proper
    type checking and the overrides are now LSP-consistent.

1.0.3

Choose a tag to compare

@Wern-rm Wern-rm released this 08 Jul 12:46
Immutable release. Only release title and notes can be modified.
f4780b8

What's Changed

  • [Healthcheck] Added command for healthcheck of RabbitMQ connections (check_rabbitmq_connections) by @RedExtreme12 in #11
  • [Healthcheck] Ruff formatted

Full Changelog: 1.0.2...1.0.3

1.0.2

Choose a tag to compare

@Wern-rm Wern-rm released this 05 Jul 17:39
Immutable release. Only release title and notes can be modified.

First production-ready release of Django-RMQ — a set of Django wrappers and tools
for RabbitMQ built on top of Pika.

Core

  • Producer (django_rmq.producer) — publish messages to RabbitMQ with
    publisher confirms and reconnection handling.
  • Consumer (django_rmq.consumer) — long-running message consumers with
    acknowledgement control and graceful shutdown.
  • Connection manager (RabbitMQConnectionManager) — centralized connection
    lifecycle management over Pika.
  • RegistriesConsumersRegistry and SetupRegistry for declaratively
    registering consumers and topology setup routines.
  • Multiple connections — run producers/consumers against several RabbitMQ
    brokers from a single project.

Management commands

  • setup_rabbitmq_topology — declaratively create exchanges, queues, and
    bindings from your configuration (replaces the earlier setup_rabbitmq).
  • start_consumers — boot registered consumers as a manageable process.
  • Styled command output ("mega-RDD" formatting) with shared base_rdd_command
    base class and ASCII-art banners.

Typing

  • The package ships py.typed and is a PEP 561 typed package — downstream
    code gets full type information.
  • Strict type checking with pyrefly (preset = "strict"); all typing issues
    across the codebase resolved.
  • Bundled pika-stubs so Pika calls are typed out of the box.

Tooling & CI

  • Ruff adopted for linting and formatting.
  • Unit and integration test suites (pytest, pytest-django,
    pytest-cov); integration tests run against a real broker and are deselected
    by default via the integration marker.
  • GitHub Actions workflows for testing, linting, and PyPI publishing on release.

Documentation

  • Full VuePress documentation portal in English and Russian:
    getting started, configuration, producers, consumers, registries, topology,
    reliability, multiple connections, management commands, testing, and a
    complete API reference.
  • Expanded README.md with project logo and badges.

Compatibility

  • Supports Python 3.10–3.14 and Django 4.2 / 5.0 / 5.1 / 5.2 / 6.0.
  • Requires pika>=1.4.1,<2.0.