Releases: michaelklishin/rabbitmq-http-api-rs
Releases · michaelklishin/rabbitmq-http-api-rs
v0.56.0
v0.56.0 (Sep 21, 2025)
Module Organization
crate::apiwas split into multiple smaller modules,crate::api::*. Re-exports are provided for backwards compatibility.- Similarly,
crate::blocking_apiwas split into multiple smaller modules,crate::blocking_api::*, with re-exports in place. - Similarly,
crate::requestswas split into multiple smaller modules,crate::requests::*. crate::requestswas split into multiple smaller modules,crate::requests::*.- Similarly,
crate::responseswas split into multiple smaller modules,crate::responses::*, with re-exports in place.
v0.55.0
v0.55.0 (Sep 20, 2025)
Enhancements
- Optimized
uris::UriBuilderfor updates of multiple query parameters
Bug Fixes
- Fix several
uris::UriBuilderbugs around query parameter updates
v0.54.0
v0.54.0 (Sep 19, 2025)
Enhancements
FederationUpstreamand ``FederationUpstreamParams` no longer have a "fidelity gap," a difference between fields
that had made it impossible to convert the former into the latterFederationUpstreamnow includes several missing (rarely used) fields such asbind_using_nowait, channel_use_mode`
Breaking Changes
FederationUpstream#prefetch_countandFederationUpstream#reconnect_delaywere bumped tou32
v0.53.0
v0.53.0 (Sep 18, 2025)
Enhancements
-
uris::UriBuilderis a convenient way of modifying URIs used by federation upstreams and shovels.
Itsreplaceandmergemethods are now much more efficient
as they no longer rebuild the URI query string multiple times.use rabbitmq_http_client::uris::UriBuilder; use rabbitmq_http_client::commons::TlsPeerVerificationMode; let uri = UriBuilder::new("amqps://user:pass@localhost:5671/vhost") .unwrap() .with_tls_peer_verification(TlsPeerVerificationMode::Enabled) .with_ca_cert_file("/path/to/ca_bundle.pem") .build() .unwrap();
-
uris::TlsClientSettingsmakes it possible to group TLS settings and apply them
to auris::UriBuilderin one go.use rabbitmq_http_client::uris::{TlsClientSettings, UriBuilder}; use rabbitmq_http_client::commons::TlsPeerVerificationMode; let settings = TlsClientSettings::new() .peer_verification(TlsPeerVerificationMode::Enabled) .ca_cert_file("/path/to/ca_bundle.pem"); let uri = UriBuilder::new("amqps://user:pass@localhost:5671/vhost?verify=verify_none") .unwrap() .replace(settings) .build() .unwrap();
-
commons::TlsPeerVerificationModeis a new enum representing TLS peer verification modes -
commons::TLS_PEER_VERIFICATION_KEYis a new constant for theverifykey used by federation
and shovel URIs, and more
v0.52.0
v0.52.0 (Sep 17, 2025)
Enhancements
VirtualHostDefinitionSetTransformertrait andVirtualHostTransformationChainfor transforming virtual host-specific definition sets- Virtual host equivalents of cluster-wide transformers:
PrepareForQuorumQueueMigrationVhost,StripCmqKeysFromVhostPolicies,DropEmptyVhostPolicies PrepareForQuorumQueueMigrationandPrepareForQuorumQueueMigrationVhosttransformers now also strip CMQ-related x-arguments
(such asx-ha-mode) from queues definitions, as they won't pass validation on RabbitMQ4.x
v0.51.0
v0.51.0 (Sep 16, 2025)
Enhancements
responses::TagList,responses::PluginList,responses::XArguments,responses::NodeList,responses::MessageList,responses::FeatureFlagList,
responses::DeprecatedFeatureListnow all implementDerefandDerefMutresponses::Channel#statenow uses an enum,responses::ChannelState, instead of a string.Client#enable_vhost_deletion_protectionprotects a virtual host from deletion (using thePOST /api/vhosts/{vhost}/deletion/protectionendpoint).Client#disable_vhost_deletion_protectionlifts deletion protection (using theDELETE /api/vhosts/{vhost}/deletion/protectionendpoint).Client#auth_attempts_statisticsis a new function providing support for theGET /api/auth/attempts/{node}endpoint.Client#list_topic_permissionsis a new function that provides support for theGET /api/topic-permissionsendpoint.Client#list_topic_permissions_inis a new function that provides support for theGET /api/vhosts/{vhost}/topic-permissionsendpoint.Client#get_topic_permissions_ofis a new function that provides support for theGET /api/topic-permissions/{vhost}/{user}endpoint.Client#list_channels_onis a new function that provides support for theGET /api/connections/{connection}/channelsendpoint.Client#get_channel_inforeturns information about a specific channel.Client#current_useris a new function providing support for theGET /api/whoamiendpoint.
Bug Fixes
Client#delete_bindingcould panic if the optionalx-argumentsvalue was passed in asNoneapi::Client#enable_schema_definition_sync_on_nodewas unintentionally namedenable_schema_definition_sync_one_node
v0.50.0
v0.50.0 (Sep 13, 2025)
Breaking Changes
blocking_api::Client#enable_schema_definition_sync,blocking_api::Client#disable_schema_definition_syncwere
removed in favor ofblocking_api::Client#enable_schema_definition_sync_on_nodeandblocking_api::Client#disable_schema_definition_sync_on_node
that accept anOption<&str>for name, like inapi::Client.Nonemeans "on all cluster nodes".
Enhancements
- Adopted a few type aliases:
common::Username,common::VirtualHostName,common::PermissionPattern,common::ChannelId. responses::TagList,responses::PluginList,responses::NodeList,responses::FeatureFlagList,responses::DeprecatedFeatureList
now implementcontains.
v0.49.0
v0.49.0 (Sep 07, 2025)
Enhancements
responses::TagList,responses::PluginList,responses::FeatureFlagList,responses::DeprecatedFeatureList,
responses::MessageListnow all havelenandis_emptymethods.responses::TagList,responses::PluginList,responses::NodeList,responses::FeatureFlagList,responses::DeprecatedFeatureList,
responses::MessageListnow all implementIntoIterator.
v0.48.0
v0.48.0 (Sep 07, 2025)
responses::NodeList#lenis now properly accompanied byresponses::NodeList#is_empty.
v0.47.0
v0.47.0 (Sep 07, 2025)
Enhancements
responses::ClusterIdentitynow implementsToString,From<String>, andFrom<&str>.responses::NodeList#lenis a new function that returns the length of the list.