Skip to content

Latest commit

 

History

History
226 lines (123 loc) · 7.53 KB

CHANGELOG.md

File metadata and controls

226 lines (123 loc) · 7.53 KB

Rust Client for the RabbitMQ HTTP API Change Log

v0.24.0 (in development)

Enhancements

v0.23.0 (Feb 24, 2025)

Breaking Changes

  • RuntimeParameterDefinition#name, RuntimeParameterDefinition#vhost, and RuntimeParameterDefinition#component types changed from String to &str

Enhancements

  • Client#declare_amqp091_shovel is a new function that declares a dynamic shovel where both source and destination use AMQP 0-9-1

  • Client#delete_shovel is a new function for deleting shovels

v0.22.0 (Feb 8, 2025)

Enhancements

  • Client#import_vhost_definitions is a new function that imports virtual host-specific definition files (as opposed to cluster-wide ones) into the target virtual host

  • Client#import_cluster_wide_definitions is an alias to Client#import_definitions to better reflect what it does

v0.21.0 (Feb 8, 2025)

Enhancements

  • responses::VirtualHostDefinitionSet is an equivalent of responses::ClusterDefinitionSet but adapted for the specific of virtual host-specific definitions, namely the fact that they do not contain virtual hosts, users, or permissions, and objects such as queues or bindings do not have the virtual host field to make it possible to import them into a virtual host with any name

  • Client#export_vhost_definitions, Client#export_vhost_definitions_as_string and Client#export_vhost_definitions_as_data are new functions that export virtual host-specific definitions (as opposed to cluster-wide ones)

Breaking Changes

  • responses::DefinitionSet was renamed to responses::ClusterDefinitionSet to differentiate it from virtual host-specific definitions, which are from now on represented by responses::VirtualHostDefinitionSet

  • Client#export_definitions was renamed to Client#export_cluster_wide_definitions

  • Client#export_definitions_as_string was renamed to Client#export_cluster_wide_definitions_as_string

  • Client#export_definitions_as_data was renamed to Client#export_cluster_wide_definitions_as_data

v0.20.0 (Feb 2, 2025)

Enhancements

  • Client#.close_user_connections is a new function that closes all connections that authenticated with a specific username

v0.19.0 (Feb 1, 2025)

Refactoring

  • Client#disable_schema_definition_sync was renamed to Client#disable_schema_definition_sync_on_node.

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

  • Client#enable_schema_definition_sync was renamed to Client#enable_schema_definition_sync_on_node.

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

Enhancements

  • Client#disable_schema_definition_sync now disables SDS on all cluster nodes.

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

  • Client#enable_schema_definition_sync now enables SDS on all cluster nodes.

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

v0.18.0 (Feb 1, 2025)

Bug Fixes

  • responses::Connection#channel_max is now an Option<u16> because this metric wont' be available for, say, RabbitMQ Stream Protocol connections

Enhancements

  • New convenience functions for working with streams: Client#get_stream_info, Client#delete_stream

  • Client#declare_stream and requests::StreamParams for convenient stream declaration

v0.17.0 (Jan 27, 2025)

Enhancements

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

  • Initial support for Tanzu RabbitMQ Warm Standby Replication (WSR) operations.

  • Isolated test suite runs for each client.

    To run only the async client tests, use

    cargo test async --all-features

    To run only the blocking client tests, use

    cargo test blocking --all-features

Bug Fixes

  • Async Client#delete_* functions now correctly handle NotFound responses for idempotent deletes

v0.16.0 (Jan 15, 2025)

Bug Fixes

  • api::Client now computes API endpoint path correctly (a slash was missing)

v0.15.0 (Jan 5, 2025)

Enhancements

  • Client#get_node_memory_footprint is a new function that returns a node memory footprint breakdown. responses::NodeMemoryFootprint and responses::NodeMemoryBreakdown are the key types that provide access to per-category proportions, both absolute and relative (in percent)

v0.14.0 (Dec 31, 2024)

Enhancements

  • New responses::HealthCheckFailureDetails variants to accommodate active port and protocol listener health checks

  • New health check function: Client#health_check_protocol_listener

v0.13.0 (Dec 31, 2024)

Enhancements

  • New functions for listing stream connections, publishers and consumers: Client#list_stream_publishers, Client#list_stream_publishers_in, Client#list_stream_publishers_of, Client#list_stream_publishers_on_connection, Client#list_stream_consumers, Client#list_stream_consumers_in, Client#list_stream_consumers_on_connection, Client#list_stream_connections, Client#list_stream_connections_in

  • New health check function: Client#health_check_port_listener

v0.12.0 (Dec 28, 2024)

Enhancements

  • Client#list_feature_flags, Client#enable_feature_flag, Client#enable_all_stable_feature_flags are three new functions for working with feature flags

v0.11.0 (Dec 28, 2024)

Enhancements

  • Client#list_all_deprecated_features and Client#list_deprecated_features_in_use are new functions for listing all deprecated features and only those whose use is detected in the cluster.

  • Client#list_feature_flags is a new function that lists all feature flags in the cluster, including their state and stability.

v0.10.0 (Dec 27, 2024)

Dependencies

  • Bumps minimum reqwest version to 0.12.11

v0.9.0 (Dec 24, 2024)

Breaking Changes

  • To propagate more request context to the caller, crate::error::Error was updated to provide a requset URL, a header map, and a request body (if available).

    This reason for doing this comes down to how reqwest's Response functions are designed: the ones that consume and parse the body also consume self, which means propagating a Response to the caller is not very useless at best, and arguably is misleading.

Enhancements

  • crate::api now provides an async API. crate::blocking_api provides the original synchronous API.

    Contributed by @ikrivosheev.

    GitHub issues: #29, #30

  • Client#overview is a new function that corresponds to the GET /api/overview API endpoint.

    Contributed by @ikrivosheev.

    GitHub issue: #31