Skip to content

Releases: rabbitmq/rabbitmqadmin-ng

v0.29.0

23 Mar 12:01
b147630
Compare
Choose a tag to compare

v0.29.0 (Mar 23, 2025)

Breaking Changes

  • definitions export's special --file value of - for "standard input" is deprecated. Use --stdout instead:

    rabbitmqadmin definitions export --stdout > definitions.json
    # exports 3.x-era definitions that might contain classic queue mirroring keys, transforms
    # them to not use any CMQ policies, injects an explicit queue type into the matched queues,
    # and drops all the policies that had nothing beyond the CMQ keys,
    # then passes the result to the standard input of
    # 'rabbitmqadmin definitions import --stdin'
    rabbitmqadmin --node "source.node" definitions export --transformations strip_cmq_keys_from_policies,drop_empty_policies --stdout | rabbitmqadmin --node "destination.node" definitions import --stdin

Enhancements

  • definitions import now supports reading definitions from the standard input instead of a file.
    For that, pass --stdin instead of --file "/path/to/definitions.json".

    rabbitmqadmin definitions import --stdin < definitions.json
    cat definitions.json | rabbitmqadmin definitions import --stdin
    # exports 3.x-era definitions that might contain classic queue mirroring keys, transforms
    # them to not use any CMQ policies, injects an explicit queue type into the matched queues,
    # and drops all the policies that had nothing beyond the CMQ keys,
    # then passes the result to the standard input of
    # 'rabbitmqadmin definitions import --stdin'
    rabbitmqadmin --node "source.node" definitions export --transformations strip_cmq_keys_from_policies,drop_empty_policies --stdout | rabbitmqadmin --node "destination.node" definitions import --stdin

v0.28.0

23 Mar 08:45
c5b4d45
Compare
Choose a tag to compare

Enhancements

  • New command group: federation, see

    rabbitmqadmin federation help
  • New command: federation declare_upstream_for_queues for declaring upstreams that will exclusively be used for queue
    federation. This command does not support any options related to exchange federation.

    rabbitmqadmin federation --vhost "local.vhost" declare_upstream_for_queues \
               --name "dc.vancouver" \
               --uri "amqp://192.168.0.25/demote.vhost" \
               --ack-mode "on-confirm"
  • New command: federation declare_upstream_for_exchanges for declaring upstreams that will exclusively be used exchange
    federation. This command does not support any options related to queue federation.

    rabbitmqadmin federation --vhost "local.vhost" declare_upstream_for_exchanges \
               --name "dc.vancouver" \
               --uri "amqp://192.168.0.25/demote.vhost" \
               --ack-mode "on-confirm"
  • New command: federation declare_upstream for declaring upstreams that can be used for either queue or exchange
    federation. This command supports the whole spectrum of federation upstream options, that is, both the settings
    of queue and exchange federation.

    rabbitmqadmin  federation --vhost "local.vhost" declare_upstream \
               --name "dc.canada.bc.vancouver" \
               --uri "amqp://192.168.0.25/demote.vhost" \
               --ack-mode "on-confirm"
  • New command: federation list_all_upstreams for listing all upstreams (that is, upstreams across all the virtual hosts in the cluster).

    rabbitmqadmin federation list_all_upstreams
  • New command: federation list_all_links for listing all links (that is, links across all the virtual hosts in the cluster).

    rabbitmqadmin federation list_all_links
  • New command: federation delete_upstream. As the name suggests, it deletes an upstream.

    rabbitmqadmin federation delete_upstream --name "dc.canada.bc.vancouver"
  • New definitions export --transformations value, obfuscate_usernames, changes usernames to dummy values
    (e.g. so that definitions could be shared safely with external teams)

  • New definitions export --transformations value, exclude_users, removes users from the result
    (also for safe sharing)

  • New definitions export --transformations value, exclude_permissions, removes all permissions
    (also for safe sharing)

  • New definitions export --transformations value, exclude_runtime_parameters, removes all runtime parameters

  • New definitions export --transformations value, exclude_policies, removes all policies

  • New definitions export --transformations value, no_op, applies no transformation

v0.27.0

11 Mar 06:14
9c8ecf7
Compare
Choose a tag to compare

v0.27.0 (Mar 10, 2025)

Enhancements

  • definitions export now supports a new option, --transformations, a comma-separated list of
    supported operations to apply to the definitions.

    rabbitmqadmin definitions export --transformations strip_cmq_keys_from_policies,drop_empty_policies

    The command above applies two transformations named strip_cmq_keys_from_policies and drop_empty_policies
    that will strip all classic queue mirroring-related policy keys that RabbitMQ 3.13 nodes supported,
    then removes the policies that did not have any keys left (ended up having an empty definition).

  • When --non-interactive mode is used, newlines in table cells are now replaced with comma-separated lists

Bug Fixes

  • 'declare queue's --type option values that the tool does not recognize are now passed as is to
    the HTTP API

v0.26.0

04 Mar 04:18
c89bf68
Compare
Choose a tag to compare

v0.26.0 (Mar 3, 2025)

Enhancements

  • policies is a new command group for policy operations:

    rabbitmqadmin help policies
    
    # an equivalent of 'declare policy'
    rabbitmqadmin policies declare --name "policy-name" --pattern '^matching\..+' --apply-to "quorum_queues" \
                                   --priority 10 \
                                   --definition '{"max-length": 10000}'
    
    # an equivalent of 'list policies'
    rabbitmqadmin policies list
    
    # an equivalent of 'delete policy'
    rabbitmqadmin policies delete --name "policy-name"
  • policies list_in is a new command that lists policies in a specific virtual host:

    rabbitmqadmin --vhost "a.vhost" policies list_in
    rabbitmqadmin --vhost "streams.vhost" policies list_in --apply-to "streams"
  • policies list_matching_object is a new command that lists all policies that
    would match an object (a queue, a stream, an exchange)
    with a given name:

    rabbitmqadmin --vhost "a.vhost" policies list_matching_object --name 'audit.events' --type queues

Bug Fixes

  • declare policy's --apply-to argument value was ignored

v0.25.0

03 Mar 00:16
76f5dc4
Compare
Choose a tag to compare

v0.25.0 (Mar 2, 2025)

Enhancements

  • Binary packages for 8x86-64 Linux are now produced on an older glibc version, 2.35,
    for compatibility with Debian Bookworm and Ubuntu 22.04

  • shovels declare_amqp10 is a new command that declares a dynamic Shovel that will use
    AMQP 1.0 for both source and destination:

rabbitmqadmin --vhost "shovels" shovels declare_amqp10 \
              --name "shovel-2" \
              --source-uri amqp://localhost:5672 \
              --destination-uri amqp://localhost:5672 \
              --source-address "/queue/src.q" --destination-address "/queue/dest.q"
  • shovels declare_amqp091 is a new command that declares a dynamic Shovel that will use
    AMQP 0-9-1 for both source and destination:

    rabbitmqadmin --vhost "shovels" shovels declare_amqp091 \
                  --name "shovel-2" \
                  --source-uri amqp://localhost:5672 \
                  --destination-uri amqp://localhost:5672 \
                  --source-queue "src.q" --destination-exchange "amq.fanout"
  • shovels delete is a new command that deletes a dynamic shovel:

    rabbitmqadmin --vhost "shovels" shovels delete --name "shovel-2"

v0.24.0

08 Feb 09:38
b0bd824
Compare
Choose a tag to compare

v0.24.0 (Feb 8, 2025)

Enhancements

  • definitions export_from_vhost is a new command that exports definitions from a single virtual host
    (as opposed to definitions for the entire cluster)

  • definitions import_into_vhost is a new command that imports virtual host-specific definitions
    (as opposed to definitions for the entire cluster)

v0.23.0

03 Feb 01:37
7bc9718
Compare
Choose a tag to compare

v0.23.0 (Feb 2, 2025)

Enhancements

  • list user_connections is a new command that lists connections of a specific user:

    rabbitmqadmin --vhost="/" list user_connections --username "monitoring.1"
    
    rabbitmqadmin --vhost="production" list user_connections --username "web.45cf7dc28"
    
  • close user_connections is a new command that closes connections of a specific user:

    rabbitmqadmin --vhost="/" close user_connections --username "monitoring.2"
    
    rabbitmqadmin --vhost="production" close user_connections --username "web.94ee67772"
    
  • New general option --table-style, can be used to change output table styling.

    By default, the following style is used:

    rabbitmqadmin --table-style=modern show overview

    An equivalent of --non-interactive in terms of styling is

    rabbitmqadmin --table-style=borderless show overview

    More available styles:

    rabbitmqadmin --table-style=ascii show overview
    rabbitmqadmin --table-style=psql show overview
    rabbitmqadmin --table-style=markdown show overview
    rabbitmqadmin --table-style=dots show overview

v0.22.0

02 Feb 05:02
2764a47
Compare
Choose a tag to compare

v0.22.0 (Feb 1, 2025)

Naming

  • tanzu sds enable was renamed to tanzu sds enable_on_node.

    This breaking change only applies to a command specific to
    Tanzu RabbitMQ 4.1, a series currently in development.

  • tanzu sds disable was renamed to tanzu sds disable_on_node.

    This breaking change only applies to a command specific to
    Tanzu RabbitMQ 4.1, a series currently in development.

Enhancements

  • tanzu sds enable_cluster_wide is a new command that disables SDS on all cluster nodes.

    This command is specific to Tanzu RabbitMQ 4.1, a series currently in development.

  • tanzu sds disable_cluster_wide is a new command that disables SDS on all cluster nodes.

    This command is specific to Tanzu RabbitMQ 4.1, a series currently in development.

v0.21.0

01 Feb 20:08
d363f11
Compare
Choose a tag to compare

v0.21.0 (Feb 1, 2025)

Bug Fixes

  • list connections now correctly handles RabbitMQ Stream Protocol
    connections that do not have the channel_max metric set

Enhancements

  • declare stream is a new command that accepts stream-specific
    arguments:

    rabbitmqadmin --vhost "vh1" declare stream --name "streams.1" --expiration "8h" \
                                               --arguments '{"x-initial-cluster-size": 3}'
  • delete stream is an alias for delete queue that makes more sense for
    environments where streams
    are used more often than queues:

    rabbitmqadmin --vhost "vh1" delete stream --name "streams.1"

v0.20.0

28 Jan 16:00
9bcc6ff
Compare
Choose a tag to compare

v0.20.0 (Jan 28, 2025)

Enhancements

  • Initial support for Tanzu RabbitMQ Schema Definition Sync (SDS).

    rabbitmqadmin help tanzu sds
    
    rabbitmqadmin tanzu sds status
    
  • Initial support for Tanzu RabbitMQ Warm Standby Replication (WSR).

    rabbitmqadmin help tanzu wsr
    
    rabbitmqadmin tanzu wsr status