Version 1.46.3 (2025-10-26)
- fix: wrap KError into error returned by IncrementalAlterConfig by @prestona in https://github.com/IBM/sarama/pull/3352
- fix: assign sequence when flushing retry buffers by @dnwe in https://github.com/IBM/sarama/pull/3362
- chore(deps): update dependency dominikh/go-tools to v2025 by @renovate[bot] in https://github.com/IBM/sarama/pull/3351
- chore(deps): update dependency vearutop/teststat to v0.1.27 by @renovate[bot] in https://github.com/IBM/sarama/pull/3350
- fix(deps): update module github.com/klauspost/compress to v1.18.1 by @renovate[bot] in https://github.com/IBM/sarama/pull/3355
- chore(ci): extract tool versions and add renovate customManagers by @dnwe in https://github.com/IBM/sarama/pull/3346
Full Changelog: https://github.com/IBM/sarama/compare/v1.46.2...v1.46.3
Version 1.46.2 (2025-10-10)
A big focus on improving our support for newer protocol versions in this release, particularly supporting a wider range of flexible versions
- chore: support V5 ListOffsets by @dnwe in https://github.com/IBM/sarama/pull/3308
- feat: support DeleteGroups V2 protocol by @hindessm in https://github.com/IBM/sarama/pull/3320
- feat: support DeleteTopics V4 protocol by @hindessm in https://github.com/IBM/sarama/pull/3321
- feat: support CreateTopics V5 protocol by @hindessm in https://github.com/IBM/sarama/pull/3322
- feat: support IncrementalAlterConfigs V1 protocol by @hindessm in https://github.com/IBM/sarama/pull/3319
- feat: support DescribeGroups V5 protocol by @hindessm in https://github.com/IBM/sarama/pull/3331
- feat: support SyncGroup V4 protocol by @hindessm in https://github.com/IBM/sarama/pull/3332
- feat: support LeaveGroup V4 protocol by @hindessm in https://github.com/IBM/sarama/pull/3334
- feat: support Heartbeat V4 protocol by @hindessm in https://github.com/IBM/sarama/pull/3335
- feat: support JoinGroup V6 protocol by @hindessm in https://github.com/IBM/sarama/pull/3339
- feat: support DescribeClientQuotas V1 protocol by @dnwe in https://github.com/IBM/sarama/pull/3342
- fix: update map rather than create a new map by @hindessm in https://github.com/IBM/sarama/pull/3302
- fix: metadata_response valid version range by @hindessm in https://github.com/IBM/sarama/pull/3304
- fix: add V4 as valid CreateTopicsResponse by @dnwe in https://github.com/IBM/sarama/pull/3305
- fix: correct requiredVersion for DescribeLogDirsResponse by @dnwe in https://github.com/IBM/sarama/pull/3306
- fix: extend TestAllocateBodyProtocolVersions for more testing by @dnwe in https://github.com/IBM/sarama/pull/3307
- fix: non-flexible ElectLeadersRequest V0/V1 encode/decode by @hindessm in https://github.com/IBM/sarama/pull/3312
- fix: make alterPartitionReassignmentsBlock consistent by @hindessm in https://github.com/IBM/sarama/pull/3313
- fix: correct decodeRequest bytesRead return value by @hindessm in https://github.com/IBM/sarama/pull/3314
- fix: decoder issues by @hindessm in https://github.com/IBM/sarama/pull/3327
- fix: improve KIP-511 behaviour on older Kafka clusters by @dnwe in https://github.com/IBM/sarama/pull/3328
- fix: return correct error when encoding by @hindessm in https://github.com/IBM/sarama/pull/3333
- fix: correct ApiVersionsResponse handling of ErrUnsupportedVersion by @dnwe in https://github.com/IBM/sarama/pull/3337
- chore(deps): update ossf/scorecard-action action to v2.4.3 by @renovate[bot] in https://github.com/IBM/sarama/pull/3318
- fix(deps): update module golang.org/x/net to v0.46.0 by @renovate[bot] in https://github.com/IBM/sarama/pull/3343
- chore: remove redundant insufficient data checks by @hindessm in https://github.com/IBM/sarama/pull/3300
- refactor: use struct rather than map with one entry by @hindessm in https://github.com/IBM/sarama/pull/3301
- chore(ci): adopt gotestsum and re-run flakes by @dnwe in https://github.com/IBM/sarama/pull/3311
- refactor: Flexible encoding/decoding refactoring by @hindessm in https://github.com/IBM/sarama/pull/3317
- chore(fvt): refactor docker-compose and support KRaft by @dnwe in https://github.com/IBM/sarama/pull/3323
- fix(fvt): simplify retry using testify's EventuallyWithT by @dnwe in https://github.com/IBM/sarama/pull/3324
- chore: add 3.9.1 and 4.1.0 version constants and FVT by @dnwe in https://github.com/IBM/sarama/pull/3325
- refactor: get/put for KError by @hindessm in https://github.com/IBM/sarama/pull/3326
- refactor: get/put for throttle time ms time.Duration by @hindessm in https://github.com/IBM/sarama/pull/3330
- chore(fvt): improve testFuncConsumerGroupMember by @dnwe in https://github.com/IBM/sarama/pull/3329
- fix(fvt): check err before usage by @dnwe in https://github.com/IBM/sarama/pull/3338
Full Changelog: https://github.com/IBM/sarama/compare/v1.46.1...v1.46.2
Version 1.46.1 (2025-09-18)
[!NOTE]
The go.mod directive has been bumped to 1.24.0 as the minimum version of Go required for the module. This was necessary to continue to receive updates from some of the third party dependencies that Sarama makes use of.
- feat: support more describe log dirs versions (V2-V4) by @hindessm in https://github.com/IBM/sarama/pull/3293
- feat: support V5 ListConsumerGroups protocol by @hindessm in https://github.com/IBM/sarama/pull/3292
- feat: add SASLv1 support for Kerberos by @dnwe in https://github.com/IBM/sarama/pull/3279
- fix: add read deadline to tls write by @bvalente in https://github.com/IBM/sarama/pull/3283
- chore(deps): bump go directive to 1.24.0 and golang.org/x/{crypto,net,sync} by @dependabot[bot] in https://github.com/IBM/sarama/pull/3288
- chore(deps): bump the golang-x group across 6 directories with 1 update by @dependabot[bot] in https://github.com/IBM/sarama/pull/3291
- chore(deps): bump github.com/stretchr/testify from 1.11.0 to 1.11.1 by @dependabot[bot] in https://github.com/IBM/sarama/pull/3274
- chore: refactor to use modern atomic types by @Sahil-4555 in https://github.com/IBM/sarama/pull/3277
- chore: pre-commit autoupdate to latest by @dnwe in https://github.com/IBM/sarama/pull/3278
- chore: apply modernize fixes from gopls by @dnwe in https://github.com/IBM/sarama/pull/3297
- chore(config): update comments of sarama.Config.Metadata.SingleFlight by @gunli in https://github.com/IBM/sarama/pull/3296
- chore(client): update comments of client methods by @gunli in https://github.com/IBM/sarama/pull/3295
- @Sahil-4555 made their first contribution in https://github.com/IBM/sarama/pull/3277
- @bvalente made their first contribution in https://github.com/IBM/sarama/pull/3283
- @gunli made their first contribution in https://github.com/IBM/sarama/pull/3296
Full Changelog: https://github.com/IBM/sarama/compare/v1.46.0...v1.46.1
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.
- 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
- feat: always send ApiVersionsRequest and fallback to v0 by @dnwe in https://github.com/IBM/sarama/pull/3234
- fix(consumer): stuck on the batch with zero records length by @sterligov in https://github.com/IBM/sarama/pull/3221
- fix: sync response header version to clamped request header by @trapped in https://github.com/IBM/sarama/pull/3223
- fix(decoder): handle null arrays correctly by @dnwe in https://github.com/IBM/sarama/pull/3144
- fix: hardcode lz4 writer blocksize to 64kb by @dnwe in https://github.com/IBM/sarama/pull/3258
- chore(deps): bump the golang-x group across 1 directory with 2 updates by @dependabot[bot] in https://github.com/IBM/sarama/pull/3185
- chore(deps): bump the golang-x group across 7 directories with 2 updates by @dependabot[bot] in https://github.com/IBM/sarama/pull/3219
- fix(deps): update module golang.org/x/net to v0.43.0 by @renovate[bot] in https://github.com/IBM/sarama/pull/3244
- chore(deps): bump the golang-x group across 6 directories with 1 update by @dependabot[bot] in https://github.com/IBM/sarama/pull/3262
- chore(deps): update github/codeql-action action to v3.29.9 by @renovate[bot] in https://github.com/IBM/sarama/pull/3242
- fix(deps): update github.com/rcrowley/go-metrics digest to 65e299d by @renovate[bot] in https://github.com/IBM/sarama/pull/3164
- fix(deps): update module github.com/stretchr/testify to v1.11.0 by @renovate[bot] in https://github.com/IBM/sarama/pull/3268
- chore(deps): update docker/bake-action action to v6.9.0 by @renovate[bot] in https://github.com/IBM/sarama/pull/3264
- chore(lint): enable copyloopvar by @alexandear in https://github.com/IBM/sarama/pull/3214
- chore: fix inconsistent function name in comment by @stellrust in https://github.com/IBM/sarama/pull/3227
- chore(style): refactor compress.go for readability by @dnwe in https://github.com/IBM/sarama/pull/3260
- chore: replace unnecessary go-multierror dependency by @bestbug456 in https://github.com/IBM/sarama/pull/3243
- @ibm-mend-app[bot] made their first contribution in https://github.com/IBM/sarama/pull/3201
- @alexandear made their first contribution in https://github.com/IBM/sarama/pull/3214
- @trapped made their first contribution in https://github.com/IBM/sarama/pull/3209
- @cupcicm made their first contribution in https://github.com/IBM/sarama/pull/3225
- @sterligov made their first contribution in https://github.com/IBM/sarama/pull/3221
- @stellrust made their first contribution in https://github.com/IBM/sarama/pull/3227
- @bestbug456 made their first contribution in https://github.com/IBM/sarama/pull/3243
Full Changelog: https://github.com/IBM/sarama/compare/v1.45.2...v1.46.0
Version 1.45.2 (2025-05-28)
- fix(decoder): use configurable limit for max number of records in a record batch by @rmb938 in https://github.com/IBM/sarama/pull/3120
- fix: ensure mock SyncProducer's SendMessage returns msg.Partition instead of 0 by @magiusdarrigo in https://github.com/IBM/sarama/pull/3122
- fix: send null instead of empty string when describing default client quotas by @petedannemann in https://github.com/IBM/sarama/pull/3128
- fix: improve getMetricName performance by @boekkooi-impossiblecloud in https://github.com/IBM/sarama/pull/3156
- chore(deps): bump github.com/klauspost/compress from 1.17.11 to 1.18.0 by @dependabot in https://github.com/IBM/sarama/pull/3103
- chore(deps): bump the golang-x group across 6 directories with 1 update by @dependabot in https://github.com/IBM/sarama/pull/3114
- chore(deps): bump the golang-x group across 7 directories with 2 updates by @dependabot in https://github.com/IBM/sarama/pull/3121
- chore(deps): bump the go_modules group across 7 directories with 1 update by @dependabot in https://github.com/IBM/sarama/pull/3148
- chore(deps): bump the go_modules group across 7 directories with 1 update by @dependabot in https://github.com/IBM/sarama/pull/3157
- chore(deps): bump golang.org/x/sync from 0.12.0 to 0.14.0 in the golang-x group across 1 directory by @dependabot in https://github.com/IBM/sarama/pull/3161
- chore: bump minimum Go version to 1.23.0 by @dnwe in https://github.com/IBM/sarama/pull/3113
- fix(ci): bump golangci-lint to v2 by @dnwe in https://github.com/IBM/sarama/pull/3160
- @rmb938 made their first contribution in https://github.com/IBM/sarama/pull/3120
- @magiusdarrigo made their first contribution in https://github.com/IBM/sarama/pull/3122
- @petedannemann made their first contribution in https://github.com/IBM/sarama/pull/3128
- @renovate made their first contribution in https://github.com/IBM/sarama/pull/3155
- @boekkooi-impossiblecloud made their first contribution in https://github.com/IBM/sarama/pull/3156
Full Changelog: https://github.com/IBM/sarama/compare/v1.45.1...v1.45.2
Version 1.45.1 (2025-03-02)
- feat(producer): add MaxBufferBytes to limit retry buffer size by @wanwenli in https://github.com/IBM/sarama/pull/3088
- feat(producer): add sync pool for channel reuse by @kasimtj in https://github.com/IBM/sarama/pull/3109
- feat: exponential backoff for clients (KIP-580) by @wanwenli in https://github.com/IBM/sarama/pull/3099
- fix(sasl): add nilguard around token to prevent panic by @hoo47 in https://github.com/IBM/sarama/pull/3076
- fix(test): consumer group fetch request messages by @stsmurf in https://github.com/IBM/sarama/pull/3081
- fix: remove redundant nil check by @knbr13 in https://github.com/IBM/sarama/pull/3089
- fix(consumer): add recovery from no leader partitions by @liutao365 in https://github.com/IBM/sarama/pull/3101
- produce: set MaxTimestamp by @rockwotj in https://github.com/IBM/sarama/pull/3108
- chore(deps): bump go.opentelemetry.io/otel from 1.24.0 to 1.29.0 in /examples/interceptors by @dependabot in https://github.com/IBM/sarama/pull/3071
- chore(deps): bump the otel group across 1 directory with 2 updates by @dependabot in https://github.com/IBM/sarama/pull/3072
- chore(deps): bump the golang-x group across 1 directory with 2 updates by @dependabot in https://github.com/IBM/sarama/pull/3098
- chore(deps): prevent otel upgrades for now by @dnwe in https://github.com/IBM/sarama/pull/3069
- chore: add version constant for kafka 3.7.2 by @dnwe in https://github.com/IBM/sarama/pull/3073
- chore(ci): fetch kafka 4.0 via tar.gz rather than git by @dnwe in https://github.com/IBM/sarama/pull/3079
- fix(ci): tighten up github workflows by @dnwe in https://github.com/IBM/sarama/pull/3080
- chore(ci): analyse actions in codeql by @dnwe in https://github.com/IBM/sarama/pull/3085
- chore(ci): bump golangci-lint version to v1.63.4 by @dnwe in https://github.com/IBM/sarama/pull/3090
- feat(ci): add dedicated staticcheck run by @dnwe in https://github.com/IBM/sarama/pull/3091
- @hoo47 made their first contribution in https://github.com/IBM/sarama/pull/3076
- @stsmurf made their first contribution in https://github.com/IBM/sarama/pull/3081
- @knbr13 made their first contribution in https://github.com/IBM/sarama/pull/3089
- @liutao365 made their first contribution in https://github.com/IBM/sarama/pull/3101
- @rockwotj made their first contribution in https://github.com/IBM/sarama/pull/3108
- @kasimtj made their first contribution in https://github.com/IBM/sarama/pull/3109
Full Changelog: https://github.com/IBM/sarama/compare/v1.45.0...v1.45.1
Version 1.45.0 (2025-01-07)
[!NOTE]
The go.mod directive has been bumped to 1.21 as the minimum version of Go required for the module. This was necessary to continue to receive updates from some of the third party dependencies that Sarama makes use of for compression.
- fix(admin): add retries for GroupCoordinator errors by @dnwe in https://github.com/IBM/sarama/pull/3053
- chore(deps): bump github.com/klauspost/compress from 1.17.9 to 1.17.11 by @dependabot in https://github.com/IBM/sarama/pull/2999
- chore(deps): bump golang.org/x/net from 0.33.0 to 0.34.0 in the golang-org-x group by @dependabot in https://github.com/IBM/sarama/pull/3054
- chore: bump minimum go to 1.21 by @dnwe in https://github.com/IBM/sarama/pull/3048
- chore(test): tag all unittests as !integration by @dnwe in https://github.com/IBM/sarama/pull/3047
- chore(test): include kafka 4.0.0 in FV testing by @dnwe in https://github.com/IBM/sarama/pull/3045
- fix(ci): restore the Kafka 4.0.0 FV by @dnwe in https://github.com/IBM/sarama/pull/3055
Full Changelog: https://github.com/IBM/sarama/compare/v1.44.0...v1.45.0
Version 1.44.0 (2024-12-27)
[!NOTE]
The go.mod directive has been bumped to 1.20 as the minimum version of Go required for the module. This was necessary to continue to receive updates from some of the third party dependencies that Sarama makes use of for compression.
- feat: update go directive to 1.20 by @mauri870 in https://github.com/IBM/sarama/pull/2933
- feat(producer): add retry buffer tuning option to prevent OOM by @wanwenli in https://github.com/IBM/sarama/pull/3026
- feat(admin): implement leader election api by @chengjoey in https://github.com/IBM/sarama/pull/3030
- fix: log SASL connection and handshake errors by @pierDipi in https://github.com/IBM/sarama/pull/2995
- chore(deps): bump the golang-org-x group across 1 directory with 2 updates by @dependabot in https://github.com/IBM/sarama/pull/3010
- chore(deps): bump golang.org/x/crypto from 0.28.0 to 0.31.0 in the go_modules group by @dependabot in https://github.com/IBM/sarama/pull/3041
- chore(deps): bump the golang-org-x group across 1 directory with 2 updates by @dependabot in https://github.com/IBM/sarama/pull/3040
- chore(deps): bump github.com/pierrec/lz4/v4 from 4.1.21 to 4.1.22 by @dependabot in https://github.com/IBM/sarama/pull/3038
- chore(deps): bump the go_modules group across 2 directories with 1 update by @dependabot in https://github.com/IBM/sarama/pull/3035
- chore(deps): bump golang.org/x/crypto from 0.22.0 to 0.31.0 in /examples/consumergroup in the go_modules group by @dependabot in https://github.com/IBM/sarama/pull/3033
- chore(deps): bump golang.org/x/crypto from 0.22.0 to 0.31.0 in /examples/txn_producer in the go_modules group by @dependabot in https://github.com/IBM/sarama/pull/3034
- chore(deps): bump golang.org/x/crypto from 0.22.0 to 0.31.0 in /examples/interceptors in the go_modules group by @dependabot in https://github.com/IBM/sarama/pull/3032
- chore(deps): bump golang.org/x/crypto from 0.22.0 to 0.31.0 in /examples/exactly_once in the go_modules group by @dependabot in https://github.com/IBM/sarama/pull/3031
- chore(deps): bump github.com/stretchr/testify from 1.9.0 to 1.10.0 by @dependabot in https://github.com/IBM/sarama/pull/3020
- chore: add newer kafka versions and bump Go in CI by @dnwe in https://github.com/IBM/sarama/pull/2969
- fix(lint): resolve IDENTICAL_BRANCHES issue in broker by @frzifus in https://github.com/IBM/sarama/pull/2992
- chore: add version consts for 3.8.1+3.9.0 by @dnwe in https://github.com/IBM/sarama/pull/3011
- fix(client): refactor duplicated replica+partition logic by @Trinoooo in https://github.com/IBM/sarama/pull/2925
- chore(deps): bump golang.org/x/net to v0.33.0 by @dnwe in https://github.com/IBM/sarama/pull/3044
- @mauri870 made their first contribution in https://github.com/IBM/sarama/pull/2933
- @frzifus made their first contribution in https://github.com/IBM/sarama/pull/2992
- @pierDipi made their first contribution in https://github.com/IBM/sarama/pull/2995
- @wanwenli made their first contribution in https://github.com/IBM/sarama/pull/3026
- @Trinoooo made their first contribution in https://github.com/IBM/sarama/pull/2925
- @chengjoey made their first contribution in https://github.com/IBM/sarama/pull/3030
Full Changelog: https://github.com/IBM/sarama/compare/v1.43.3...v1.44.0
Version 1.43.3 (2024-08-12)
- fix: declare assignor variable for examples & clean up log format by @kumakichi in https://github.com/IBM/sarama/pull/2909
- fix(consumer): maintain ordering of offset commit requests by @prestona in https://github.com/IBM/sarama/pull/2947
- fix(producer): treat ErrKafkaStorageError as retriable by @richardartoul in https://github.com/IBM/sarama/pull/2939
- chore(deps): bump the golang-org-x group across 1 directory with 2 updates by @dependabot in https://github.com/IBM/sarama/pull/2956
- chore(deps): bump github.com/eapache/go-resiliency from 1.6.0 to 1.7.0 by @dependabot in https://github.com/IBM/sarama/pull/2944
- chore(deps): bump github.com/klauspost/compress from 1.17.8 to 1.17.9 by @dependabot in https://github.com/IBM/sarama/pull/2926
- fix(ci): correct docker-compose install by @dnwe in https://github.com/IBM/sarama/pull/2954
- fix(doc): correct JVM's config name corresponding to MaxWaitTime by @abhipranay in https://github.com/IBM/sarama/pull/2893
- @abhipranay made their first contribution in https://github.com/IBM/sarama/pull/2893
- @kumakichi made their first contribution in https://github.com/IBM/sarama/pull/2909
- @richardartoul made their first contribution in https://github.com/IBM/sarama/pull/2939
Full Changelog: https://github.com/IBM/sarama/compare/v1.43.2...v1.43.3
Version 1.43.2 (2024-04-25)
- chore(ci): add 32-bit alignment check by @dnwe in https://github.com/IBM/sarama/pull/2874
- chore(deps): bump golang.org/x/net from 0.21.0 to 0.23.0 by @dependabot in https://github.com/IBM/sarama/pull/2866
- chore(deps): bump the golang-org-x group with 2 updates by @dependabot in https://github.com/IBM/sarama/pull/2853
- chore(deps): bump github.com/klauspost/compress from 1.17.7 to 1.17.8 by @dependabot in https://github.com/IBM/sarama/pull/2857
- chore(deps): bump golang.org/x/net from 0.21.0 to 0.23.0 in /examples/txn_producer in the go_modules group by @dependabot in https://github.com/IBM/sarama/pull/2865
- chore(deps): bump golang.org/x/net from 0.21.0 to 0.23.0 in /examples/consumergroup in the go_modules group by @dependabot in https://github.com/IBM/sarama/pull/2867
- chore(deps): bump golang.org/x/net from 0.21.0 to 0.23.0 in /examples/exactly_once in the go_modules group by @dependabot in https://github.com/IBM/sarama/pull/2868
- chore(deps): bump golang.org/x/net from 0.22.0 to 0.23.0 in /examples/interceptors in the go_modules group by @dependabot in https://github.com/IBM/sarama/pull/2869
Full Changelog: https://github.com/IBM/sarama/compare/v1.43.1...v1.43.2