Releases: IBM/sarama
Releases · IBM/sarama
Release list
Version 1.60.1 (2026-07-29)
What's Changed
🎉 New Features / Improvements
- feat(consumer): add rebalance protocol plumbing by @dnwe in #3670
- feat: add Kafka versions 4.1.2, 4.2.1 and 4.3.1 by @dnwe in #3675
- feat: raise default Kafka version to 2.8.0 by @dnwe in #3676
- feat(consumer): add cooperative sticky assignor by @dnwe in #3671
- feat: add TransactionClusterAdmin for KIP-664 detection APIs by @adrian-januzi in #3669
- feat(offset): commit revoked partitions on cooperative rebalance by @dnwe in #3688
🐛 Fixes
- fix(consumer): preserve pauses across reassignment by @dnwe in #3681
- fix(producer): wake stranded brokerProducer when partition unmutes by @dnwe in #3692
📦 Dependency updates
- fix(deps): update module github.com/klauspost/compress to v1.19.1 by @renovate[bot] in #3649
- chore(deps): update ossf/scorecard-action action to v2.4.4 by @renovate[bot] in #3683
🔧 Maintenance
New Contributors
- @adrian-januzi made their first contribution in #3669
Full Changelog: v1.60.0...v1.60.1
Version 1.60.0 (2026-07-13)
What's Changed
🎉 New Features / Improvements
- feat: support Metadata V11 by @dnwe in #3636
- feat: support Produce V10 by @dnwe in #3637
- feat: support DescribeProducers v0 by @dnwe in #3659
- feat: support DescribeTransactions v0 by @dnwe in #3661
- feat: support int64 arrays in flexible protocol by @dnwe in #3662
- feat: support ListTransactions v0 and v1 by @dnwe in #3663
- feat: more flexible protocols for kafka28 parity by @dnwe in #3664
- feat: support KIP-516 topic ids by @dnwe in #3666
🐛 Fixes
- fix: correct fetch v12 tagged struct encoding by @dnwe in #3638
- fix: map new metadata request v8 to kafka 2.3.0 by @fereidani in #3642
- fix: handle zstd encoder and decoder construction errors by @fereidani in #3643
- fix: release retry mute on shutdown handoff by @dnwe in #3645
- fix: order non-idempotent connection retries by @dnwe in #3644
📦 Dependency updates
- chore(deps): bump the golang-x group across 1 directory with 3 updates by @dependabot[bot] in #3660
- chore(deps): update docker/setup-buildx-action action to v4.2.0 by @renovate[bot] in #3658
- chore(deps): update docker/bake-action action to v7.3.0 by @renovate[bot] in #3652
- chore(deps): bump github.com/klauspost/compress from 1.18.6 to 1.19.0 by @dependabot[bot] in #3651
- chore(deps): update golangci/golangci-lint-action action to v9.3.0 by @renovate[bot] in #3648
➕ Other Changes
- fix: correct typos in comments and godoc by @maxtaran2010 in #3656
New Contributors
- @fereidani made their first contribution in #3642
- @maxtaran2010 made their first contribution in #3656
Full Changelog: v1.50.3...v1.60.0
Version 1.50.3 (2026-06-15)
What's Changed
🎉 New Features / Improvements
- feat: support Fetch v12 by @dnwe in #3609
- feat: support CreateTopics v6 by @dnwe in #3622
- feat: support DeleteTopics v5 by @dnwe in #3624
- feat: support AddPartitionsToTxn v3 by @hindessm in #3625
- feat: support Produce v9 by @dnwe in #3629
- feat: support CreatePartitions v3 by @dnwe in #3631
- feat: expose broker features from ApiVersions v3 by @dnwe in #3633
- feat: support UpdateFeatures by @dnwe in #3632
- feat: add OnAssignmentBalanceStrategy, the onAssignment half of the assignor contract by @lizthegrey in #3627
- feat: support ApiVersions V4 and discover upgradable features in test by @dnwe in #3634
🐛 Fixes
- fix: avoid makeslice "len out of range" panics on invalid response by @hindessm in #3612
- fix: avoid makeslice panic in request decode too by @dnwe in #3613
- fix(test): wait for leaders after topic create by @dnwe in #3623
- fix(consumer): don't panic on requeue after unref by @dnwe in #3630
📦 Dependency updates
- chore(deps): update golang-x to v0.53.0 by @renovate[bot] in #3618
- fix(deps): update module golang.org/x/sys to v0.46.0 - autoclosed by @renovate[bot] in #3617
- fix(deps): update module golang.org/x/sync to v0.21.0 by @renovate[bot] in #3616
- fix(deps): update module golang.org/x/net to v0.56.0 by @renovate[bot] in #3626
🔧 Maintenance
- chore: update default Kafka version to 2.6 by @dnwe in #3608
- chore: more protocol version placeholders by @hindessm in #3610
- chore: extend fuzz testing to more types by @dnwe in #3614
- chore: clean up Int32 array encode/decode by @hindessm in #3619
- chore: apply Go's modernize fixes by @dnwe in #3621
Full Changelog: v1.50.2...v1.50.3
Version 1.50.2 (2026-06-05)
What's Changed
🎉 New Features / Improvements
- feat(consumer): add support for SyncGroupRequest/Response v5 (KIP-559) by @dnwe in #3591
- feat(txn): add protocol support for TxnOffsetCommit v3 by @dnwe in #3592
- feat(txn): support consumer group metadata in TxnOffsetCommit v3 by @dnwe in #3593
- feat(admin): add protocol support for DeleteRecords v2 (KIP-482) by @dnwe in #3594
- feat(protocol): add support for DescribeConfigs v3 and v4 by @dnwe in #3596
- feat(admin): add DescribeConfigs for multiple resources by @dnwe in #3600
- feat(consumer): option to cap decompressed batch size by @dnwe in #3604
🐛 Fixes
📦 Dependency updates
Full Changelog: v1.50.1...v1.50.2
Version 1.50.1 (2026-05-27)
What's Changed
🐛 Fixes
- fix: correct requiredVersion for V8 JoinGroup and add protocol version placeholders by @dnwe in #3585
Full Changelog: v1.50.0...v1.50.1
Version 1.50.0 (2026-05-27)
What's Changed
🎉 New Features / Improvements
- feat: add Java-compatible murmur2 partitioner by @dnwe in #3567
- feat(protocol): support LeaveGroupRequest/Response v5 (KIP-800) by @dnwe in #3576
- feat(protocol): support JoinGroupRequest/Response v8 (KIP-800) by @dnwe in #3577
- feat(consumer_group): set cancellation cause on session context by @prakhar7651 in #3575
- feat(consumer_group): send KIP-800 reason on JoinGroup and LeaveGroup by @dnwe in #3584
- feat: add Kafka 4.3.0 version placeholder by @dnwe in #3587
- feat(admin): support OffsetFetchRequest v8 by @dnwe in #3565
🐛 Fixes
- fix(client): don't log ErrNoTopicsToUpdateMetadata every tick by @dnwe in #3566
- fix(broker): snapshot fetch meters before deferred Mark by @dnwe in #3563
- fix: prevent len out of range panic on 32bit architectures by @gibmat in #3579
- fix(offset): retry fetchInitialOffset on top-level coordinator errors by @dnwe in #3574
📦 Dependency updates
- chore(deps): update docker/bake-action action to v7.2.0 by @renovate[bot] in #3568
- fix(deps): update module golang.org/x/sys to v0.45.0 by @renovate[bot] in #3570
- chore(deps): update golangci/golangci-lint-action action to v9.2.1 by @renovate[bot] in #3571
- chore(deps): update module golang.org/x/crypto to v0.52.0 by @renovate[bot] in #3572
- fix(deps): update module golang.org/x/net to v0.55.0 by @renovate[bot] in #3573
- chore(deps): update docker/setup-buildx-action action to v4.1.0 by @renovate[bot] in #3578
🔧 Maintenance
- refactor: replace eapache/queue with generic ring buffer by @dnwe in #3560
- test(fvt): use a per-message timeout in follower failover test by @dnwe in #3562
New Contributors
- @gibmat made their first contribution in #3579
- @prakhar7651 made their first contribution in #3575
Full Changelog: v1.49.0...v1.50.0
Version 1.49.0 (2026-05-18)
What's Changed
🚨 Breaking Changes
🎉 New Features / Improvements
- feat(consumer): warn on sustained partition retries by @dnwe in #3535
- feat(producer): add Produce v8 request/response support by @dnwe in #3540
- feat(consumer): cap partition consumer retries by @dnwe in #3539
- feat: support FindCoordinator V3 protocol by @hindessm in #3544
- feat: support describe acls v2 by @hindessm in #3548
- feat: support create acls v2 by @hindessm in #3549
- feat: support delete acls v2 by @hindessm in #3550
- feat: support sasl authenticate v2 by @hindessm in #3551
- feat: support create partitions v2 by @hindessm in #3554
- feat: support join group v7 by @hindessm in #3555
🐛 Fixes
- fix: flexible decoder out-of-bounds panic by @hindessm in #3543
- fix(consumer): size partial-batch retry correctly by @dnwe in #3541
- feat(consumer): add OffsetCommit v8 request/response support by @dnwe in #3545
- fix: decode nullable ACL describe error messages by @dnwe in #3552
- fix(consumer): lease preferred read replicas by @dnwe in #3553
- fix(producer): honour Retry.Backoff in idempotent retryBatch by @dnwe in #3557
🔧 Maintenance
- chore: better bounds checking by @hindessm in #3546
- chore: bump deps in ./examples tree by @dnwe in #3558
- docs: add AlterPartitionReassignments example and functional test by @dnwe in #3556
Full Changelog: v1.48.2...v1.49.0
Version 1.48.2 (2026-05-13)
What's Changed
🎉 New Features / Improvements
- feat(admin): add KIP-396 list/alter offsets APIs by @DCjanus in #3419
- feat: add SubscriptionUserDataProvider hook for BalanceStrategy by @lizthegrey in #3506
- perf(zstd): scale idle zstd encoder cap to GOMAXPROCS by @lizthegrey in #3507
🐛 Fixes
- fix: retry ListTopics on transient transport errors by @huynhanx03 in #3497
- test(fvt): only safeClose if we created by @dnwe in #3530
- fix(client): scope metadata refresh errors to requested topics by @dnwe in #3532
🔧 Maintenance
Full Changelog: v1.48.1...v1.48.2
Version 1.48.1 (2026-05-10)
What's Changed
🐛 Fixes
- perf: cache topic batch-size metric lookup by @huynhanx03 in #3498
- fix: stabilise TestFuncTxnProduceAndCommitOffset flakes by @dnwe in #3517
- test: relax producer batch metrics assertions by @DCjanus in #3523
- fix: prevent race during partition consumer close by @dnwe in #3524
- fix: return leaderless errors in metadata refresh by @dnwe in #3525
📦 Dependency updates
- chore(deps): update dependency golangci/golangci-lint to v2.12.1 by @renovate[bot] in #3509
- chore(deps): bump github.com/klauspost/compress from 1.18.5 to 1.18.6 by @dependabot[bot] in #3508
- chore(deps): bump golang.org/x/sys from 0.43.0 to 0.44.0 in the golang-x group across 1 directory by @dependabot[bot] in #3520
- chore(deps): update module golang.org/x/crypto to v0.51.0 by @renovate[bot] in #3521
- fix(deps): update module golang.org/x/net to v0.54.0 by @renovate[bot] in #3526
- chore(deps): update dependency golangci/golangci-lint to v2.12.2 by @renovate[bot] in #3515
🔧 Maintenance
New Contributors
- @huynhanx03 made their first contribution in #3498
Full Changelog: v1.48.0...v1.48.1
Version 1.48.0 (2026-04-24)
What's Changed
🎉 New Features / Improvements
🐛 Fixes
- fix: handle nullable metadata in OffsetFetchResponse by @dnwe in #3473
- fix: nil response/done channels after SASLv1 failure by @dnwe in #3474
- fix(protocol): handle ElectLeaders V1 non-flexible headers by @DCjanus in #3478
- fix: correct a number of goroutine leaks by @dnwe in #3476
- fix: resolve deadlock in concurrent offset commits by @dnwe in #3477
- fix(consumer): avoid broker race in response feeder by @DCjanus in #3486
- fix: stop dispatcher for dying children in brokerConsumer.abort() by @lizthegrey in #3492
- fix: close broken tcp connections by @Asphaltt in #3384
- fix: add Unwrap() to DescribeConfigError and AlterConfigError by @ShinThirty in #3487
📦 Dependency updates
- chore(deps): update dependency golangci/golangci-lint to v2.11.1 by @renovate[bot] in #3462
- chore(deps): bump github.com/pierrec/lz4/v4 from 4.1.25 to 4.1.26 by @dependabot[bot] in #3461
- chore(deps): bump golang.org/x/sync from 0.19.0 to 0.20.0 in the golang-x group across 1 directory by @dependabot[bot] in #3466
- chore(deps): update module golang.org/x/crypto to v0.49.0 by @renovate[bot] in #3468
- chore(deps): update dependency golangci/golangci-lint to v2.11.3 by @renovate[bot] in #3464
- fix(deps): update module golang.org/x/net to v0.52.0 by @renovate[bot] in #3472
- fix(deps): update module github.com/klauspost/compress to v1.18.5 by @renovate[bot] in #3480
- chore(deps): update module golang.org/x/crypto to v0.50.0 by @renovate[bot] in #3489
- fix(deps): update module golang.org/x/net to v0.53.0 by @renovate[bot] in #3493
- chore(deps): update docker/setup-buildx-action action to v4 by @renovate[bot] in #3458
- chore(deps): update docker/bake-action action to v7.1.0 by @renovate[bot] in #3459
🔧 Maintenance
- chore: add kafka versions 3.9.2 and 4.2.0 by @edoardocomar in #3471
📝 Documentation
- Update the Kakfa Protocol Specification Link by @MohishKhadse55 in #3463
➕ Other Changes
- chore(deps): update dependency golangci/golangci-lint to v2.11.4 by @renovate[bot] in #3482
- fix: update API version URL as previous link was not working by @MohishKhadse55 in #3485
New Contributors
- @MohishKhadse55 made their first contribution in #3463
- @Asphaltt made their first contribution in #3384
- @ShinThirty made their first contribution in #3487
Full Changelog: v1.47.0...v1.48.0