Version 1.46.0 (2025-08-25)
[!NOTE]
This release contains significant changes. Notably Sarama will now use the ApiVersionRequest response from each broker to aid in selecting the protocol version to use. The existingVersionfield in sarama.Config will continue to provide a "pinning" mechanism, but can safely be set to a maximum or higher value than the remote cluster and sarama will sensibly pick compatible versions. There is also a performance improvement relating to MetadataRequests whereby Sarama will avoid having more than a single request to each broker in-flight at any given time. These new (optimal) behaviour is on by default can be opt-ed out via theMetadata.SingleFlightfield in Config.
What's Changed
:tada: New Features / Improvements
- feat(protocol): negotiate API versions by @trapped in https://github.com/IBM/sarama/pull/3209
- feat: option to group metadata refreshes so only one is in-flight at a time by @cupcicm in https://github.com/IBM/sarama/pull/3225
- feat: use singleflight metadata by default by @dnwe in https://github.com/IBM/sarama/pull/3231
- feat(protocol): support CreateTopicRequest V4 by @dnwe in https://github.com/IBM/sarama/pull/3238