Releases: rabbitmq/rabbitmqadmin-ng
v0.19.0
v0.19.0 (Jan 5, 2025)
Enhancements
-
Two new commands for reasoning about target node's memory footprint:
# displays a breakdown in bytes rabbitmqadmin show memory_breakdown_in_bytes --node 'rabbit@hostname'
# displays a breakdown in percent rabbitmqadmin show memory_breakdown_in_percent --node 'rabbit@hostname'
Example output of
show memory_breakdown_in_percent
:┌────────────────────────────────────────┬────────────┐ │ key │ percentage │ ├────────────────────────────────────────┼────────────┤ │ total │ 100% │ ├────────────────────────────────────────┼────────────┤ │ Binary heap │ 45.10% │ ├────────────────────────────────────────┼────────────┤ │ Allocated but unused │ 23.45% │ ├────────────────────────────────────────┼────────────┤ │ Quorum queue ETS tables │ 23.05% │ ├────────────────────────────────────────┼────────────┤ │ Other processes │ 5.32% │ ├────────────────────────────────────────┼────────────┤ │ Other (used by the runtime) │ 4.98% │ ├────────────────────────────────────────┼────────────┤ │ Code │ 4.54% │ ├────────────────────────────────────────┼────────────┤ │ Client connections: others processes │ 3.64% │ ├────────────────────────────────────────┼────────────┤ │ Management stats database │ 3.48% │ ├────────────────────────────────────────┼────────────┤ │ Client connections: reader processes │ 3.22% │ ├────────────────────────────────────────┼────────────┤ │ Plugins and their data │ 3.12% │ ├────────────────────────────────────────┼────────────┤ │ Other (ETS tables) │ 1.55% │ ├────────────────────────────────────────┼────────────┤ │ Metrics data │ 0.66% │ ├────────────────────────────────────────┼────────────┤ │ AMQP 0-9-1 channels │ 0.40% │ ├────────────────────────────────────────┼────────────┤ │ Message store indices │ 0.27% │ ├────────────────────────────────────────┼────────────┤ │ Atom table │ 0.24% │ ├────────────────────────────────────────┼────────────┤ │ Client connections: writer processes │ 0.19% │ ├────────────────────────────────────────┼────────────┤ │ Quorum queue replica processes │ 0.10% │ ├────────────────────────────────────────┼────────────┤ │ Stream replica processes │ 0.07% │ ├────────────────────────────────────────┼────────────┤ │ Mnesia │ 0.02% │ ├────────────────────────────────────────┼────────────┤ │ Metadata store │ 0.02% │ ├────────────────────────────────────────┼────────────┤ │ Stream coordinator processes │ 0.02% │ ├────────────────────────────────────────┼────────────┤ │ Classic queue processes │ 0.00% │ ├────────────────────────────────────────┼────────────┤ │ Metadata store ETS tables │ 0.00% │ ├────────────────────────────────────────┼────────────┤ │ Stream replica reader processes │ 0.00% │ ├────────────────────────────────────────┼────────────┤ │ Reserved by the kernel but unallocated │ 0.00% │ └────────────────────────────────────────┴────────────┘
Note that there are two different supported strategies for computing memory footprint of a node. RabbitMQ uses both and takes the greater value for 100% when computing the relative
share in percent for each category. Other factors that can affect the precision of percentage values reported are runtime allocator behavior nuances and the kernel page cache.
v0.18.0
v0.18.0 (Jan 1, 2024)
Enhancements
-
Client identity support:
--tls-cert-file
and--tls-key-file
are the (re-introduced)
options that allow the user to pass in a public certificate (key) and private key pair
for x.509 peer verification:rabbitmqadmin --use-tls --host 'target.domain' --port 15671 \ --tls-ca-cert-file '/path/to/ca_certificate.pem' \ --tls-cert-file '/path/to/client_certificate.pem' \ --tls-key-file '/path/to/client_key.pem' \ list connections
GitHub issue: #26
-
Initial cross-platform support for loading of trusted CA certificates
from system locations.This behavior is enabled automatically. The certificates in a PEM file passed in
via--tls-ca-cert-file
are merged with the list of CA certificates discovered in
the platform-specific stores.GitHub issue: #42
-
rabbitmqadmin show memory_breakdown
is a new command that outputs a breakdown of target node's memory footprint
v0.17.0
v0.17.0 (Dec 31, 2024)
Enhancements
-
New health checks:
# To see help: 'rabbitmqadmin health_check help port_listener' rabbitmqadmin health_check port_listener --port [port]
# To see help: 'rabbitmqadmin health_check help protocol_listener' rabbitmqadmin health_check protoocl_listener --protocol [protocol]
v0.16.0
v0.16.0 (Dec 29, 2024)
Enhancements
-
rabbitmqadmin feature_flags list
(also available asrabbitmqadmin list feature_flags
) is a new command
that lists feature flags and their cluster state.GitHub issue: #38
-
rabbitmqadmin feature_flags enable --name {feature flag}
andrabbitmqadmin feature_flags enable_all
are new commands
that enable feature flags.Just like its
rabbitmqctl
counterpart,rabbitmqadmin feature_flags enable_all
will only enable
the stable feature flags and will skip the experimental ones.GitHub issues: #41
-
rabbitmqadmin deprecated_features list
(also available asrabbitmqadmin list deprecated_features
) is a new
function that lists all deprecated features.GitHub issue: #39
-
rabbitmqadmin deprecated_features list_used
(also available asrabbitmqadmin list deprecated_features_in_use
) is a new
function that lists the deprecated features that are found to be
used in the cluster.GitHub issue: #40
v0.15.0
v0.15.0 (Dec 26, 2024)
Enhancements
-
Improved error reporting.
A failed HTTP API request now prints the request URL (this does NOT include the credentials),
and the response body, making it easier to identify the problem without consulting RabbitMQ node logs. -
CLI interface
help
message polishing.More commands now provide links to the relevant documentation guides,
use (a reasonable amount of) coloring and recommend against features such as that are
polling message consumption that were never designed or intended to be used in production -
README documentation improvements
v0.14.0
v0.14.0 (Dec 22, 2024)
Breaking Changes
- Multi-word command line flags now use the more common
--snake-case[=]{value}
format
instead ofrabbitmqadmin
v1'slower_case={value}
.
Enhancements
-
New command category:
health_check
which provides access to the health check endpoints.Currently, only the three (arguably) most important health checks are implemented:
local_alarms
,cluster_wide_alarms
, andnode_is_quorum_critical
. -
health_check help
now includes a link to the respective RabbitMQ documentation guide.
Bug Fixes
- Configuration paths with a tilda (
~
), including the default configuration file at~/.rabbitmqadmin.conf
,
were not loaded correctly.
v0.13.0
Enhancements
-
Several key
delete
commands, namelydelete vhost
,delete user
,delete queue
anddelete exchange
now support a new flag,--idempotently
. When this flag is used, 404 Not Found responses from the HTTPGitHub issue: #32
-
--non-interactive
is a new global flag. When used, this flag will instructrabbitmqadmin
to not produce table border formatting,
and generally try to use output that'd be easier to consume from scripts -
Initial work on improving error reporting
Bug Fixes
declare exchange
propduced an incorrect API request payload
when target exchange--type
was anx-*
type (a plugin provided-type), such asx-local-random
orx-consistent-hash
v0.12.0
v0.12.0 (Dec 8, 2024)
Enhancements
-
Implement support for configuration files. Instead of
.ini
files used by
rabbitmqadmin
v1, this version uses TOML.GitHub issue: #28
-
Implement
show overview
GitHub issue: #25
-
declare queue
no longer requires a--queue-type
. If not type is specified,
it will not be included into the request and the queue will be declared
with the default queue type of the target virtual host.GitHub issue: #29
Releases
Release artifacts are no longer distributed as single file archives. Instead,
the release now includes "naked" binaries that can be downloaded and executed
without un-archiving.
GitHub issue: #31
v0.11.0
v0.11.0
Enhnacements
-
rabbitmqadmin definitions
is a new (and recommended) groups of commands related to definition export and importrabbitmqadmin definitions export --help rabbitmqadmin definitions import --help
The original way of invoking these two commands is still available:
rabbitmqadmin export definitions --help rabbitmqadmin import definitions --help