Skip to content

Latest commit

 

History

History
406 lines (266 loc) · 17.9 KB

CHANGELOG.md

File metadata and controls

406 lines (266 loc) · 17.9 KB

rabbitmqadmin-ng Change Log

v0.25.0 (in development)

Enhnacements

  • 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 (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 (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 (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 (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 (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
    

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 (Jan 1, 2025)

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 (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 (Dec 29, 2024)

Enhancements

  • rabbitmqadmin feature_flags list (also available as rabbitmqadmin 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} and rabbitmqadmin 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 as rabbitmqadmin list deprecated_features) is a new function that lists all deprecated features.

    GitHub issue: #39

  • rabbitmqadmin deprecated_features list_used (also available as rabbitmqadmin 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 (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 (Dec 22, 2024)

Breaking Changes

  • Multi-word command line flags now use the more common --snake-case[=]{value} format instead of rabbitmqadmin v1's lower_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, and node_is_quorum_critical.

    GitHub issues: #33, #34.

  • 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 (Dec 21, 2024)

Enhancements

  • Several key delete commands, namely delete vhost, delete user, delete queue and delete exchange now support a new flag, --idempotently. When this flag is used, 404 Not Found responses from the HTTP

    GitHub issue: #32

  • --non-interactive is a new global flag. When used, this flag will instruct rabbitmqadmin 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 produced an incorrect API request payload when target exchange --type was an x-* type (a plugin provided-type), such as x-local-random or x-consistent-hash

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