Skip to content

Releases: IBM/sarama

Version 1.41.0 (2023-08-21)

21 Aug 19:01
Compare
Choose a tag to compare

What's Changed

🚨 Breaking Changes

Note: this version of Sarama has had a big overhaul in its adherence to the use of the right Kafka protocol versions for the given Config Version. It has also bumped the default Version set in Config (where one is not supplied) to 2.1.0. This is in preparation for Kafka 4.0 dropping support for protocol versions older than 2.1. If you are using Sarama against Kafka clusters older than v2.1.0, or using it against Azure EventHubs then you will likely have to change your application code to pin to the appropriate Version.

  • chore(config): make DefaultVersion V2_0_0_0 by @dnwe in #2572
  • chore(config): make DefaultVersion V2_1_0_0 by @dnwe in #2574

πŸŽ‰ New Features / Improvements

  • Implement resolve_canonical_bootstrap_servers_only by @gebn in #2156
  • feat: sleep when throttled (KIP-219) by @hindessm in #2536
  • feat: add isValidVersion to protocol types by @dnwe in #2538
  • fix(consumer): use newer LeaveGroup as appropriate by @dnwe in #2544
  • Add support for up to version 4 List Groups API by @prestona in #2541
  • fix(producer): use newer ProduceReq as appropriate by @dnwe in #2546
  • fix(proto): ensure req+resp requiredVersion match by @dnwe in #2548
  • chore(proto): permit CreatePartitionsRequest V1 by @dnwe in #2549
  • chore(proto): permit AlterConfigsRequest V1 by @dnwe in #2550
  • chore(proto): permit DeleteGroupsRequest V1 by @dnwe in #2551
  • fix(proto): correct JoinGroup usage for wider version range by @dnwe in #2553
  • fix(consumer): use full range of FetchRequest vers by @dnwe in #2554
  • fix(proto): use range of OffsetCommitRequest vers by @dnwe in #2555
  • fix(proto): use full range of MetadataRequest by @dnwe in #2556
  • fix(proto): use fuller ranges of supported proto by @dnwe in #2558
  • fix(proto): use full range of SyncGroupRequest by @dnwe in #2565
  • fix(proto): use full range of ListGroupsRequest by @dnwe in #2568
  • feat(proto): support for Metadata V6-V10 by @dnwe in #2566
  • fix(proto): use full ranges for remaining proto by @dnwe in #2570
  • feat(proto): add remaining protocol for V2.1 by @dnwe in #2573
  • feat: add new error for MockDeleteTopicsResponse by @javiercri in #2475
  • feat(gzip): switch to klauspost/compress gzip by @dnwe in #2600

πŸ› Fixes

  • fix: correct unsupported version check by @hindessm in #2528
  • fix: avoiding burning cpu if all partitions are paused by @napallday in #2532
  • extend throttling metric scope by @hindessm in #2533
  • Fix printing of final metrics by @prestona in #2545
  • fix(consumer): cannot automatically fetch newly-added partitions unless restart by @napallday in #2563
  • bug: implement unsigned modulus for partitioning with crc32 hashing by @csm8118 in #2560
  • fix: avoid logging value of proxy.Dialer by @prestona in #2569
  • fix(test): add missing closes to admin client tests by @dnwe in #2594
  • fix(test): ensure some more clients are closed by @dnwe in #2595
  • fix(examples): sync exactly_once and consumergroup by @dnwe in #2614
  • fix(fvt): fresh metrics registry for each test by @dnwe in #2616
  • fix(test): flaky test TestFuncOffsetManager by @napallday in #2609

πŸ“¦ Dependency updates

  • chore(deps): bump the golang-org-x group with 1 update by @dependabot in #2542
  • chore(deps): bump the golang-org-x group with 1 update by @dependabot in #2561
  • chore(deps): bump module github.com/pierrec/lz4/v4 to v4.1.18 by @dnwe in #2589
  • chore(deps): bump module github.com/jcmturner/gokrb5/v8 to v8.4.4 by @dnwe in #2587
  • chore(deps): bump github.com/eapache/go-xerial-snappy digest to c322873 by @dnwe in #2586
  • chore(deps): bump module github.com/klauspost/compress to v1.16.7 by @dnwe in #2588
  • chore(deps): bump github.com/eapache/go-resiliency from 1.3.0 to 1.4.0 by @dependabot in #2598

πŸ”§ Maintenance

  • fix(fvt): ensure fully-replicated at test start by @hindessm in #2531
  • chore: rollup fvt kafka to latest three by @dnwe in #2537
  • Merge the two CONTRIBUTING.md's by @prestona in #2543
  • fix(test): test timing error by @hindessm in #2552
  • chore(ci): tidyup and improve actions workflows by @dnwe in #2557
  • fix(test): shutdown MockBroker by @dnwe in #2571
  • chore(proto): match HeartbeatResponse version by @dnwe in #2576
  • chore(test): ensure MockBroker closed within test by @dnwe in #2575
  • chore(test): ensure all mockresponses use version by @dnwe in #2578
  • chore(ci): use latest Go in actions by @dnwe in #2580
  • chore(test): speedup some slow tests by @dnwe in #2579
  • chore(test): use modern protocol versions in FVT by @dnwe in #2581
  • chore(test): fix a couple of leaks by @dnwe in #2591
  • feat(fvt): experiment with per-kafka-version image by @dnwe in #2592
  • chore(ci): replace toxiproxy client dep by @dnwe in #2593
  • feat(fvt): add healthcheck, depends_on and --wait by @dnwe in #2601
  • fix(fvt): handle msgset vs batchset by @dnwe in #2603
  • fix(fvt): Metadata version in ensureFullyReplicated by @dnwe in #2612
  • fix(fvt): versioned cfg for invalid topic producer by @dnwe in #2613
  • chore(fvt): tweak to work across more versions by @dnwe in #2615
  • feat(fvt): test wider range of kafkas by @dnwe in #2605

πŸ“ Documentation

  • fix(example): check if msg channel is closed by @ioanzicu in #2479
  • chore: use go install for installing sarama tools by @vigith in #2599

New Contributors

Full Changelog: v1.40.1...v1.41.0

Version 1.40.1 (2023-07-27)

26 Jul 21:55
849c8b1
Compare
Choose a tag to compare

What's Changed

πŸŽ‰ New Features / Improvements

  • Use buffer pools for decompression by @ronanh in #2484
  • feat: support for Kerberos authentication with a credentials cache. by @mrogaski in #2457

πŸ› Fixes

πŸ“¦ Dependency updates

  • chore(deps): bump the golang-org-x group with 2 updates by @dependabot in #2509
  • chore(deps): bump github.com/klauspost/compress from 1.15.14 to 1.16.6 by @dependabot in #2513
  • chore(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.3 by @dependabot in #2512

πŸ”§ Maintenance

  • chore(ci): migrate probot-stale to actions/stale by @dnwe in #2496
  • chore(ci): bump golangci version, cleanup, depguard config by @EladLeev in #2504
  • Clean up some typos and docs/help mistakes by @hindessm in #2514

βž• Other Changes

New Contributors

Full Changelog: v1.40.0...v1.40.1

Version 1.40.0 (2023-07-17)

17 Jul 12:52
Compare
Choose a tag to compare

What's Changed

Note: this is the first release after the transition of Sarama ownership from Shopify to IBM in #2461

🚨 Breaking Changes

  • chore: migrate module to github.com/IBM/sarama by @dnwe in #2492
  • fix: restore (*OffsetCommitRequest) AddBlock func by @dnwe in #2494

πŸ› Fixes

  • fix(consumer): don't retry FindCoordinator forever by @dnwe in #2427
  • fix(metrics): fix race condition when calling Broker.Open() twice by @vincentbernat in #2428
  • fix: use version 4 of DescribeGroupsRequest only if kafka broker vers… …ion is >= 2.4 by @faillefer in #2451
  • Fix HighWaterMarkOffset of mocks partition consumer by @gr8web in #2447
  • fix: prevent data race in balance strategy by @napallday in #2453

πŸ“¦ Dependency updates

  • chore(deps): bump golang.org/x/net from 0.5.0 to 0.7.0 by @dependabot in #2452

πŸ”§ Maintenance

New Contributors

Full Changelog: v1.38.1...v1.40.0

Version 1.38.1 (2023-01-22)

22 Jan 20:07
6acb276
Compare
Choose a tag to compare

What's Changed

πŸ› Fixes

  • fix(example): correct records-number param in txn producer readme by @diallo-han in #2420
  • fix: use newConsumer method in newConsumerGroup method by @Lumotheninja in #2424

πŸ“¦ Dependency updates

  • chore(deps): bump module github.com/klauspost/compress to v1.15.14 by @dnwe in #2410
  • chore(deps): bump module golang.org/x/net to v0.5.0 by @dnwe in #2413
  • chore(deps): bump module github.com/stretchr/testify to v1.8.1 by @dnwe in #2411
  • chore(deps): bump module github.com/xdg-go/scram to v1.1.2 by @dnwe in #2412
  • chore(deps): bump module golang.org/x/sync to v0.1.0 by @dnwe in #2414
  • chore(deps): bump github.com/eapache/go-xerial-snappy digest to bf00bc1 by @dnwe in #2418

New Contributors

Full Changelog: v1.38.0...v1.38.1

Version 1.38.0 (2023-01-08)

10 Jan 11:38
b0eda59
Compare
Choose a tag to compare

What's Changed

πŸŽ‰ New Features / Improvements

  • feat(producer): improve memory usage of zstd encoder by using our own pool management by @rtreffer in #2375
  • feat(proto): implement and use MetadataRequest v7 by @dnwe in #2388
  • feat(metrics): add protocol-requests-rate metric by @auntan in #2373

πŸ› Fixes

  • fix(proto): track and supply leader epoch to FetchRequest by @dnwe in #2389
  • fix(example): improve arg name used for tls skip verify by @michaeljmarshall in #2385
  • fix(zstd): default back to GOMAXPROCS concurrency by @bgreenlee in #2404
  • fix(producer): add nil check while producer is retrying by @hsweif in #2387
  • fix(producer): return errors for every message in retryBatch to avoid producer hang forever by @cch123 in #2378
  • fix(metrics): fix race when accessing metric registry by @vincentbernat in #2409

πŸ“¦ Dependency updates

  • chore(deps): bump golang.org/x/net to v0.4.0 by @dnwe in #2403

πŸ”§ Maintenance

  • chore(ci): replace set-output command in GH Action by @dnwe in #2390
  • chore(ci): include kafka 3.3.1 in testing matrix by @dnwe in #2406

New Contributors

Full Changelog: v1.37.2...v1.38.0

Version 1.37.2 (2022-10-04)

04 Oct 19:14
610514e
Compare
Choose a tag to compare

What's Changed

πŸ› Fixes

  • fix: ensure updateMetaDataMs is 64-bit aligned by @dnwe in #2356

βž• Other Changes

  • fix: bump go.mod specification to go 1.17 by @dnwe in #2357

Full Changelog: v1.37.1...v1.37.2

Version 1.37.1 (2022-10-04)

04 Oct 08:14
0162486
Compare
Choose a tag to compare

What's Changed

πŸ› Fixes

  • fix: support existing deprecated Rebalance.Strategy field usage by @spongecaptain in #2352
  • fix(test): consumer group rebalance strategy compatibility by @Jacob-bzx in #2353
  • fix(producer): replace time.After with time.Timer to avoid high memory usage by @Jacob-bzx in #2355

New Contributors

  • @spongecaptain made their first contribution in #2352

Full Changelog: v1.37.0...v1.37.1

Version 1.37.0 (2022-09-28)

27 Sep 23:33
619d4ef
Compare
Choose a tag to compare

What's Changed

🚨 Breaking Changes

  • Due to a change in github.com/klauspost/compress v1.15.10, Sarama v1.37.0 requires Go 1.17 going forward, unfortunately due to an oversight this wasn't reflected in the go.mod declaration at time of release.

πŸŽ‰ New Features / Improvements

  • feat(consumer): support multiple balance strategies by @Jacob-bzx in #2339
  • feat(producer): transactional API by @ryarnyah in #2295
  • feat(mocks): support key in MockFetchResponse. by @Skandalik in #2328

πŸ› Fixes

  • fix: avoid panic when Metadata.RefreshFrequency is 0 by @Jacob-bzx in #2329
  • fix(consumer): avoid pushing unrelated responses to paused children by @pkoutsovasilis in #2317
  • fix: prevent metrics leak with cleanup by @auntan in #2340
  • fix: race condition(may panic) when closing consumer group by @Jacob-bzx in #2331
  • fix(consumer): default ResetInvalidOffsets to true by @dnwe in #2345
  • Validate the Config when creating a mock producer/consumer by @joewreschnig in #2327

πŸ“¦ Dependency updates

  • chore(deps): bump module github.com/pierrec/lz4/v4 to v4.1.16 by @dnwe in #2335
  • chore(deps): bump golang.org/x/net digest to bea034e by @dnwe in #2333
  • chore(deps): bump golang.org/x/sync digest to 7f9b162 by @dnwe in #2334
  • chore(deps): bump golang.org/x/net digest to f486391 by @dnwe in #2348
  • chore(deps): bump module github.com/shopify/toxiproxy/v2 to v2.5.0 by @dnwe in #2336
  • chore(deps): bump module github.com/klauspost/compress to v1.15.11 by @dnwe in #2349
  • chore(deps): bump module github.com/pierrec/lz4/v4 to v4.1.17 by @dnwe in #2350

πŸ”§ Maintenance

  • chore(ci): bump kafka-versions to latest by @dnwe in #2346
  • chore(ci): bump go-versions to N and N-1 by @dnwe in #2347

New Contributors

Full Changelog: v1.36.0...v1.37.0

Version 1.36.0 (2022-08-11)

11 Aug 22:54
3083a9b
Compare
Choose a tag to compare

What's Changed

πŸŽ‰ New Features / Improvements

  • feat: add option to propagate OffsetOutOfRange error by @dkolistratova in #2252
  • feat(producer): expose ProducerMessage.byteSize() function by @k8scat in #2315
  • feat(metrics): track consumer fetch request rates by @dnwe in #2299

πŸ› Fixes

πŸ“¦ Dependency updates

  • chore(deps): bump module github.com/klauspost/compress to v1.15.9 by @dnwe in #2304
  • chore(deps): bump golang.org/x/net digest to c7608f3 by @dnwe in #2301
  • chore(deps): bump golangci/golangci-lint-action action to v3 by @dnwe in #2311
  • chore(deps): bump golang.org/x/net digest to 07c6da5 by @dnwe in #2307
  • chore(deps): bump github actions versions (major) by @dnwe in #2313
  • chore(deps): bump module github.com/jcmturner/gofork to v1.7.6 by @dnwe in #2305
  • chore(deps): bump golang.org/x/sync digest to 886fb93 by @dnwe in #2302
  • chore(deps): bump module github.com/jcmturner/gokrb5/v8 to v8.4.3 by @dnwe in #2303

πŸ”§ Maintenance

  • chore: add kafka 3.1.1 to the version matrix by @dnwe in #2300

βž• Other Changes

New Contributors

Full Changelog: v1.35.0...v1.36.0

Version 1.35.0 (2022-07-22)

22 Jul 17:56
06d1a62
Compare
Choose a tag to compare

What's Changed

πŸ› Fixes

  • fix: fix metadata retry backoff invalid when get metadata failed by @Stephan14 in #2256
  • fix(balance): sort and de-deplicate memberIDs by @dnwe in #2285
  • fix: prevent DescribeLogDirs hang in admin client by @zerowidth in #2269
  • fix: include assignment-less members in SyncGroup by @dnwe in #2292

πŸ“¦ Dependency updates

  • chore(deps): bump module github.com/stretchr/testify to v1.8.0 by @dnwe in #2284
  • chore(deps): bump module github.com/eapache/go-resiliency to v1.3.0 by @dnwe in #2283
  • chore(deps): bump golang.org/x/net digest to 1185a90 by @dnwe in #2279
  • chore(deps): bump module github.com/pierrec/lz4/v4 to v4.1.15 by @dnwe in #2281
  • chore(deps): bump module github.com/klauspost/compress to v1.15.8 by @dnwe in #2280

πŸ”§ Maintenance

  • chore: rename any func to avoid identifier by @dnwe in #2272
  • chore: add and test against kafka 3.2.0 by @dnwe in #2288
  • chore: document Fetch protocol fields by @dnwe in #2289

βž• Other Changes

  • chore(ci): fix redirect with GITHUB_STEP_SUMMARY by @dnwe in #2286
  • fix(test): permit ECONNRESET in TestInitProducerID by @dnwe in #2287
  • fix: ensure empty or devel version valid by @dnwe in #2291

New Contributors

Full Changelog: v1.34.1...v1.35.0