Skip to content

Releases: IBM/sarama

Version 1.60.1 (2026-07-29)

Choose a tag to compare

@dnwe dnwe released this 29 Jul 19:42
3e29cc9

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

  • refactor(consumer): separate join and sync round by @dnwe in #3680

New Contributors

Full Changelog: v1.60.0...v1.60.1

Version 1.60.0 (2026-07-13)

Choose a tag to compare

@dnwe dnwe released this 13 Jul 19:35
8f58ebd

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

New Contributors

Full Changelog: v1.50.3...v1.60.0

Version 1.50.3 (2026-06-15)

Choose a tag to compare

@dnwe dnwe released this 15 Jun 12:05

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)

Choose a tag to compare

@dnwe dnwe released this 05 Jun 16:01
959f157

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

  • fix(admin): retry ACL and SCRAM ops on stale controller by @dnwe in #3598

📦 Dependency updates

  • fix(deps): update module github.com/pierrec/lz4/v4 to v4.1.27 by @renovate[bot] in #3597

Full Changelog: v1.50.1...v1.50.2

Version 1.50.1 (2026-05-27)

Choose a tag to compare

@dnwe dnwe released this 27 May 21:59
bb409c0

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)

Choose a tag to compare

@dnwe dnwe released this 27 May 18:55
33f6602

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

Full Changelog: v1.49.0...v1.50.0

Version 1.49.0 (2026-05-18)

Choose a tag to compare

@dnwe dnwe released this 18 May 20:20
63f561a

What's Changed

🚨 Breaking Changes

  • fix(consumer): decouple FetchRequest.MaxBytes from MaxResponseSize by @dnwe in #3538

🎉 New Features / Improvements

🐛 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)

Choose a tag to compare

@dnwe dnwe released this 13 May 14:56
b8cdb3e

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

  • test(fvt): speedup functional test runs by @dnwe in #3528

Full Changelog: v1.48.1...v1.48.2

Version 1.48.1 (2026-05-10)

Choose a tag to compare

@dnwe dnwe released this 10 May 07:52
21ec56a

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

  • chore: add testifylint and fix lint warnings by @dnwe in #3522

New Contributors

Full Changelog: v1.48.0...v1.48.1

Version 1.48.0 (2026-04-24)

Choose a tag to compare

@dnwe dnwe released this 23 Apr 23:46
1c04892

What's Changed

🎉 New Features / Improvements

  • feat(producer): partition muting for msg ordering by @dnwe in #3422

🐛 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

📝 Documentation

➕ 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

Full Changelog: v1.47.0...v1.48.0