./net/rabbitmq, Implementation of AMQP that provides robust messaging for applications

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 3.13.7, Package name: rabbitmq-3.13.7, Maintainer: pkgsrc-users

RabbitMQ is a complete and highly reliable Enterprise Messaging
system. The RabbitMQ client libraries and broker daemon can be used
together to create an AMQP network, or used individually to bring
the benefits of RabbitMQ to established networks.


Required to run:
[lang/erlang] [shells/bash] [converters/py-simplejson] [lang/python37]

Required to build:
[textproc/py-expat] [textproc/xmlto] [textproc/libxslt] [net/rsync] [pkgtools/cwrappers] [lang/elixir]

Master sites:

Filesize: 5077.137 KB

Version history: (Expand)


CVS history: (Expand)


   2024-04-25 10:08:57 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
rabbitmq: updated to 3.13.1

RabbitMQ 3.13.1

Core Broker

Bug Fixes

Classic queue v2 message store compaction could fail behind under high enough load,
significantly increasing node's disk space footprint.

Improved quorum queue safety in mixed version clusters.

When Khepri was enabled and virtual host recovery failed, subsequent recovery
attempts also failed.

Messages published without any headers set on them did not have a header property
set on them. This change compared to 3.12.x was not intentional.

Free disk space monitor on Windows ran into an exception if external call
to win32sysinfo.exe timed out.

Enhancements

channel_max_per_node is a new per-node limit that allows to put a cap on the number
of AMQP 0-9-1 channels that can be concurrently opened by all clients connected \ 
to a node:

# rabbitmq.conf
channel_max_per_node = 5000
This is a guardrail mean to protect nodes from application-level channel leaks.

Stream Plugin

Bug Fixes

Avoids a Windows-specific stream log corruption that affected some deployments.

When a super stream cannot be created because of a duplicate partition name,
a more informative error message is now used.

CLI Tools

Bug Fixes

rabbitmq-plugins list --formatter=json --silent will no longer emit any warnings
when some of the plugins in the enabled plugins file are missing.

OAuth 2 Plugin

Bug Fixes

Configuring a JWKS URL without specifying a CA certificate resulted
in an exception with Erlang 26's TLS implementation.

Management Plugin

Bug Fixes

Set default sort query parameter value for better compatibility with an external
Prometheus scraper. Note that the built-in Prometheus plugin
is the recommended way of monitoring RabbitMQ using Prometheus-compatible tools.

When a tab (Connections, Queues and Streams, etc) is switched, a table \ 
configuration pane
from the previously selected tab is now hidden.

Enhancements

GET /api/queues/{vhost}/{name} now supports enable_queue_totals as well as \ 
disable_stats.
This combination of query parameters can be used to retrieve message counters while
greatly reducing the number of metrics returned by the endpoints.

Federation Plugin

Enhancements

Exchange federation now can be configured to use a custom queue type for their \ 
internal buffers.

To use a quorum queue, set the queue-type federation policy key to quorum.

rabbitmq_federation_running_link_count is a new metric provided via Prometheus.

Dependency Changes

osiris was updated to 1.8.1
khepri was upgraded to 0.13.0
cowboy was updated to 2.12.0
   2024-02-22 23:56:08 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
rabbitmq: updated to 3.12.13

RabbitMQ 3.12.13

Core Broker

Bug Fixes

When a channel is closed, its consumer metric samples will now be cleared differently
depending on the number of them. In 9356, it was over optimized for the uncommon \ 
case with
a very large number of consumers per channel, hurting the baseline case with one \ 
or a few consumers
per channel.

In part contributed by @SimonUnge (AWS).

CLI Tools

Enhancement

CLI tool startup time was reduced.

Bug Fixes

JSON output formatter now avoids ANSI escape sequences.

Contributed by @ariel-anieli.

ANSI escape sequences are no longer used on Windows.

Contributed by @ariel-anieli.

Stream Plugin

Bug Fixes

If a stream publisher cannot be set up, a clearer message will be logged.

Management Plugin

Bug Fixes

GET /api/nodes/{name} failed with a 500 when called with a non-existed node name.

Federation Plugin

Bug Fixes

Upstream node shutdown could produce a scary looking exception in the log.

Exchange federation links could run into an exception.

Contributed by @gomoripeti (CloudAMQP).

Dependency Changes

cowboy was updated to 2.11.0
   2024-01-06 19:33:23 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
rabbitmq: updated to 3.12.12

RabbitMQ 3.12.12

Core Broker

Bug Fixes

Environments with a lot of quorum queues could experience a large Erlang process
build-up. The build-up was temporary but with a sufficiently large number of
quorum queues it could last until the next round of periodic operations,
making it permanent and depriving the node of CPU resources.

RabbitMQ core failed to propagate more authentication and authorization context, \ 
for example,
MQTT client ID in case of MQTT connections, to authN and authZ backends. This \ 
was not intentional.

Nodes now takes more precaution about persisting feature flag state
(specifically the effects of in-flight changes) during node shutdown.

Enhancements

Simplified some type specs.

Contributed by @ariel-anieli.

Stream Plugin

One returned error value did not match the RabbitMQ Stream Protocol specification.

MQTT Plugin

Bug Fixes

Recovering connections from QoS 0 consumers (subscribers) could fail if they \ 
were previously connected to a failed node.
   2023-11-20 10:15:54 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
rabbitmq: updated to 3.12.9

RabbitMQ 3.12.9

Core Broker

Bug Fixes

When a topic permission was deleted, an internal event of type permission.deleted
was emitted in some cases, instead of topic.permission.deleted.

Shovel Plugin

Bug Fixes

Shovels on 3.12.8 nodes failed during a rolling cluster upgrade due to internal
identifier format changes.

Starting with this release, both old and new formats are supported for upgrade \ 
safety.

Grafana Dashboard

Enhancements

Global counters for producers are now available in the dashboard.

MQTT Plugin

Bug Fixes

Avoids an unnecessary warning in the logs.

CLI Tools

Enhancements

rabbitmq-diagnostics list_policies_that_match [queue name] is a new command
that simplifies troubleshooting of policy conflicts.

Management Plugin

Enhancements

Nodes that have OAuth 2 enabled now redirect the user to the original landing \ 
page (if any)
after successful login with the IDP.
   2023-11-02 20:31:16 by Adam Ciarcinski | Files touched by this commit (2) | Package updated
Log message:
rabbitmq: updated to 3.12.8

RabbitMQ 3.12.8

Core Server

Bug Fixes

Avoids a potential exception in the autoheal partition handler.

Contributed by @Ayanda-D.

Enhancements

raft.segment_max_entries is now validated to prevent the value from overflowing \ 
its 16-bit segment file field.
Maximum supported value is now 65535.

Shovel Plugin

Enhancements

Significantly faster Shovel startup in environments where there are many of them \ 
(one thousand or more).

AMQP 1.0 Erlang Client

Enhancements

User-provided credentials are now obfuscated using an one-off key pair generated \ 
on node boot.
This keeps sensitive client state information from being logged by the runtime \ 
exception logger.
   2023-10-23 16:47:10 by Adam Ciarcinski | Files touched by this commit (3) | Package updated
Log message:
rabbitmq: updated to 3.12.7

RabbitMQ 3.12.7

Core Server

Bug Fixes

Stream replication connections configured to use exclusively TLSv1.3 failed.

On startup, stream replicas will handle one more potential case of segment file \ 
corruption
after an unclean shutdown.

default_policies.*.queue_pattern definition in rabbitmq.conf was incorrectly parsed.

Avoid log noise when inter-node connections frequently fail and recover.

Enhancements

Optimized stream index scans. Longer scans could result in some replicas stopping
with a timeout.

Classic queue storage version is now a supported key for operator policies.

Queue length limit overflow behavior now can be configured via operator policies.

CLI Tools

Bug Fixes

rabbitmq-streams list_stream_consumer_groups incorrectly validated the set of \ 
columns it accepts.

Enhancements

Several list_stream_* commands (available via both rabbitmq-diagnostics and \ 
rabbitmq-streams) commands now can
display replica node in addition to other fields.

rabbitmqctl add_user now can accept a pre-generated salted password instead
of a plain text password, both as a positional argument and via standard input:

# This is just an example, DO NOT use this value in production!
# The 2nd argument is a Base64-encoded pre-hashed and salted value of \ 
"guest4"
rabbitmqctl -- add_user "guest4" \ 
"BMT6cj/MsI+4UOBtsPPQWpQfk7ViRLj4VqpMTxu54FU3qa1G" \ 
--pre-hashed-password
# try authenticating with a pair of credentials
rabbitmqctl authenticate_user "guest4" "guest4"

Management Plugin

Bug Fixes

Message consumption with the "Nack message, requeue: true" option did \ 
not actually requeue deliveries.

Enhancements

HTTP API request body size is now limited to 10 MiB by default.
Two endpoints, one that accepts messages for publishing (note: publishing over \ 
the HTTP API is greatly discouraged)
and another for definition import,
will now reject larger transfers with a 400 Bad Request response.

DELETE /api/queues/{vhost}/{name} now can delete exclusive queues.

Key supported by operator policies are now grouped by queue type in the UI.

MQTT Plugin

Enhancements

Improved data safety for confirms in environments where the plugin uses classic \ 
queues.

Web MQTT Plugin

Bug Fixes

Avoid an exception when a not fully established MQTT-over-WebSockets connection \ 
terminated.

JMS Topic Exchange Plugin

Bug Fixes

Recovery of bindings of durable queues bound to a transient JMS topic exchange \ 
failed.

Sharding Plugin

Bug Fixes

Recovery of bindings of durable queues bound to a transient x-modulo-hash \ 
exchange failed.

Recent History Exchange Plugin

Bug Fixes

Recovery of bindings of durable queues bound to a transient recent history \ 
exchange failed.

Dependency Upgrades

osiris has been upgraded to 1.6.9
   2023-08-14 07:25:36 by Thomas Klausner | Files touched by this commit (1247)
Log message:
*: recursive bump for Python 3.11 as new default
   2023-07-24 09:10:25 by Adam Ciarcinski | Files touched by this commit (4) | Package updated
Log message:
rabbitmq: updated to 3.12.2

RabbitMQ 3.12.2

Core Server

Enhancements

Free disk space monitor on Windows is now more selective in what errors are
logged.

Bug Fixes

Queue recovery on node restart in certain conditions could run into an exception

file_handle_cache operations are now safer when handling non-existent keys.

Fixed a potential resource leak in at-least-once dead lettering from quorum queues.

CLI Tools

Enhancements

A new command, rabbitmqctl deactivate_free_disk_space_monitoring, can be used to \ 
(temporarily or permanently) disable
free disk space monitoring on a node.

To re-activate it, use rabbitmqctl activate_free_disk_space_monitoring.

AMQP 1.0 Plugin

Bug Fixes

AMQP 1.0 clients that try to publish in a way that results in the message not \ 
being routed
anywhere are now notified with a more sensible settlement status.

Prometheus Plugin

Enhancements

Prometheus scraping API endpoints now support optional authentication.

The plugin now filters out values that are undefined or NaN, simply excluding
them from the API endpoint response.

Previously, if a metric was not computed for any reason (e.g. free disk space monitor
was disabled on the node), its value could end up being rendered as undefined or NaN,
two values that Prometheus scrapers cannot handle (for numerical types such as \ 
gauges).

Management Plugin

Bug Fixes

It was not possible to close a table column selection pane on
screens that had little vertical space.

STOMP Plugin

Bug Fixes

This is a potentially breaking change.

The plugin will now enforce maximum STOMP frame size. Frames larger than that
size will be rejected. The default maximum size is 4 MiB. It can be increased or \ 
decreased:

# increase maximum supported STOMP frame size to 10 MiB
stomp.max_frame_size = 10485760
To reduce it from the default 4 MiB to 2 MiB:

# 2 MiB
stomp.max_frame_size = 2097152

Shovel Plugin

Bug Fixes

Shovel will gracefully stop when its destination (target) does not exist.
Such shovels will then be periodically restarted to retry.

Web MQTT Plugin

Enhacements

It is now possible to opt in to deactivate file handle cache use in the plugin:

web_mqtt.use_file_handle_cache = false

Web STOMP Plugin

Enhacements

It is now possible to opt in to deactivate file handle cache use in the plugin:

web_stomp.use_file_handle_cache = false

Dependency Upgrades

ra was upgraded to 2.6.3