⚠️ The go.mod directive has been bumped to 1.18 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: return KError instead of errors in AlterConfigs and DescribeConfig by @zhuliquan in https://github.com/IBM/sarama/pull/2472
fix: don't waste time for backoff on member id required error by @lzakharov in https://github.com/IBM/sarama/pull/2759
fix: prevent ConsumerGroup.Close infinitely locking by @maqdev in https://github.com/IBM/sarama/pull/2717
chore(deps): bump golang.org/x/net from 0.17.0 to 0.18.0 by @dependabot in https://github.com/IBM/sarama/pull/2716
chore(deps): bump golang.org/x/sync to v0.5.0 by @dependabot in https://github.com/IBM/sarama/pull/2718
chore(deps): bump github.com/pierrec/lz4/v4 from 4.1.18 to 4.1.19 by @dependabot in https://github.com/IBM/sarama/pull/2739
chore(deps): bump golang.org/x/crypto from 0.15.0 to 0.17.0 by @dependabot in https://github.com/IBM/sarama/pull/2748
chore(deps): bump the golang-org-x group with 1 update by @dependabot in https://github.com/IBM/sarama/pull/2734
chore(deps): bump the golang-org-x group with 2 updates by @dependabot in https://github.com/IBM/sarama/pull/2764
chore(deps): bump github.com/pierrec/lz4/v4 from 4.1.19 to 4.1.21 by @dependabot in https://github.com/IBM/sarama/pull/2763
chore(deps): bump golang.org/x/crypto from 0.15.0 to 0.17.0 in /examples/exactly_once by @dependabot in https://github.com/IBM/sarama/pull/2749
chore(deps): bump golang.org/x/crypto from 0.15.0 to 0.17.0 in /examples/consumergroup by @dependabot in https://github.com/IBM/sarama/pull/2750
chore(deps): bump golang.org/x/crypto from 0.15.0 to 0.17.0 in /examples/sasl_scram_client by @dependabot in https://github.com/IBM/sarama/pull/2751
chore(deps): bump golang.org/x/crypto from 0.15.0 to 0.17.0 in /examples/interceptors by @dependabot in https://github.com/IBM/sarama/pull/2752
chore(deps): bump golang.org/x/crypto from 0.15.0 to 0.17.0 in /examples/http_server by @dependabot in https://github.com/IBM/sarama/pull/2753
chore(deps): bump github.com/eapache/go-resiliency from 1.4.0 to 1.5.0 by @dependabot in https://github.com/IBM/sarama/pull/2745
chore(deps): bump golang.org/x/crypto from 0.15.0 to 0.17.0 in /examples/txn_producer by @dependabot in https://github.com/IBM/sarama/pull/2754
chore(deps): bump go.opentelemetry.io/otel/sdk from 1.19.0 to 1.22.0 in /examples/interceptors by @dependabot in https://github.com/IBM/sarama/pull/2767
chore(deps): bump the golang-org-x group with 1 update by @dependabot in https://github.com/IBM/sarama/pull/2793
chore(deps): bump go.opentelemetry.io/otel/exporters/stdout/stdoutmetric from 0.42.0 to 1.23.1 in /examples/interceptors by @dependabot in https://github.com/IBM/sarama/pull/2792
fix(examples): housekeeping of code and deps by @dnwe in https://github.com/IBM/sarama/pull/2720
fix(test): retry MockBroker Listen for EADDRINUSE by @dnwe in https://github.com/IBM/sarama/pull/2721
Full Changelog: https://github.com/IBM/sarama/compare/v1.42.1...v1.42.2
Full Changelog: https://github.com/IBM/sarama/compare/v1.42.0...v1.42.1
fix(txmgr): ErrOffsetsLoadInProgress is retriable by @dnwe in https://github.com/IBM/sarama/pull/2701
chore(ci): improve ossf scorecard result by @dnwe in https://github.com/IBM/sarama/pull/2685
chore(ci): add kafka 3.6.0 to FVT and versions by @dnwe in https://github.com/IBM/sarama/pull/2692
chore(ci): ossf scorecard.yml by @dnwe in https://github.com/IBM/sarama/pull/2683
fix(ci): always run CodeQL on every commit by @dnwe in https://github.com/IBM/sarama/pull/2689
chore(doc): add OpenSSF Scorecard badge by @dnwe in https://github.com/IBM/sarama/pull/2691
Full Changelog: https://github.com/IBM/sarama/compare/v1.41.3...v1.42.0
fix(client): ignore empty Metadata responses when refreshing by @HaoSunUber in https://github.com/IBM/sarama/pull/2672
chore(deps): bump the golang-org-x group with 2 updates by @dependabot in https://github.com/IBM/sarama/pull/2661
chore(deps): bump golang.org/x/net from 0.16.0 to 0.17.0 by @dependabot in https://github.com/IBM/sarama/pull/2671
fix(docs): correct topic name in rebalancing strategy example by @maksadbek in https://github.com/IBM/sarama/pull/2657
Full Changelog: https://github.com/IBM/sarama/compare/v1.41.2...v1.41.3
perf: Alloc records in batch by @ronanh in https://github.com/IBM/sarama/pull/2646
fix(consumer): guard against nil client by @dnwe in https://github.com/IBM/sarama/pull/2636
fix(consumer): don't retry session if ctx canceled by @dnwe in https://github.com/IBM/sarama/pull/2642
fix: use least loaded broker to refresh metadata by @HaoSunUber in https://github.com/IBM/sarama/pull/2645
chore(deps): bump the golang-org-x group with 1 update by @dependabot in https://github.com/IBM/sarama/pull/2641
Full Changelog: https://github.com/IBM/sarama/compare/v1.41.1...v1.41.2
fix: add retries to alter user scram creds by @hindessm in https://github.com/IBM/sarama/pull/2632
chore(lint): bump golangci-lint and tweak config by @dnwe in https://github.com/IBM/sarama/pull/2620
fix(doc): add missing doc for mock consumer by @hsweif in https://github.com/IBM/sarama/pull/2386
chore(proto): doc CreateTopics/JoinGroup fields by @dnwe in https://github.com/IBM/sarama/pull/2627
chore(gh): add new style issue templates by @dnwe in https://github.com/IBM/sarama/pull/2624
Full Changelog: https://github.com/IBM/sarama/compare/v1.41.0...v1.41.1
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_1_0_0 by @dnwe in https://github.com/IBM/sarama/pull/2574
Implement resolve_canonical_bootstrap_servers_only by @gebn in https://github.com/IBM/sarama/pull/2156
feat: sleep when throttled (KIP-219) by @hindessm in https://github.com/IBM/sarama/pull/2536
feat: add isValidVersion to protocol types by @dnwe in https://github.com/IBM/sarama/pull/2538
fix(consumer): use newer LeaveGroup as appropriate by @dnwe in https://github.com/IBM/sarama/pull/2544
Add support for up to version 4 List Groups API by @prestona in https://github.com/IBM/sarama/pull/2541
fix(producer): use newer ProduceReq as appropriate by @dnwe in https://github.com/IBM/sarama/pull/2546
fix(proto): ensure req+resp requiredVersion match by @dnwe in https://github.com/IBM/sarama/pull/2548
chore(proto): permit CreatePartitionsRequest V1 by @dnwe in https://github.com/IBM/sarama/pull/2549
chore(proto): permit AlterConfigsRequest V1 by @dnwe in https://github.com/IBM/sarama/pull/2550
chore(proto): permit DeleteGroupsRequest V1 by @dnwe in https://github.com/IBM/sarama/pull/2551
fix(proto): correct JoinGroup usage for wider version range by @dnwe in https://github.com/IBM/sarama/pull/2553
fix(consumer): use full range of FetchRequest vers by @dnwe in https://github.com/IBM/sarama/pull/2554
fix(proto): use range of OffsetCommitRequest vers by @dnwe in https://github.com/IBM/sarama/pull/2555
fix(proto): use full range of MetadataRequest by @dnwe in https://github.com/IBM/sarama/pull/2556
fix(proto): use fuller ranges of supported proto by @dnwe in https://github.com/IBM/sarama/pull/2558
fix(proto): use full range of SyncGroupRequest by @dnwe in https://github.com/IBM/sarama/pull/2565
fix(proto): use full range of ListGroupsRequest by @dnwe in https://github.com/IBM/sarama/pull/2568
feat(proto): support for Metadata V6-V10 by @dnwe in https://github.com/IBM/sarama/pull/2566
fix(proto): use full ranges for remaining proto by @dnwe in https://github.com/IBM/sarama/pull/2570
feat(proto): add remaining protocol for V2.1 by @dnwe in https://github.com/IBM/sarama/pull/2573
feat: add new error for MockDeleteTopicsResponse by @javiercri in https://github.com/IBM/sarama/pull/2475
feat(gzip): switch to klauspost/compress gzip by @dnwe in https://github.com/IBM/sarama/pull/2600
fix: correct unsupported version check by @hindessm in https://github.com/IBM/sarama/pull/2528
fix: avoiding burning cpu if all partitions are paused by @napallday in https://github.com/IBM/sarama/pull/2532
extend throttling metric scope by @hindessm in https://github.com/IBM/sarama/pull/2533
Fix printing of final metrics by @prestona in https://github.com/IBM/sarama/pull/2545
fix(consumer): cannot automatically fetch newly-added partitions unless restart by @napallday in https://github.com/IBM/sarama/pull/2563
bug: implement unsigned modulus for partitioning with crc32 hashing by @csm8118 in https://github.com/IBM/sarama/pull/2560
fix: avoid logging value of proxy.Dialer by @prestona in https://github.com/IBM/sarama/pull/2569
fix(test): add missing closes to admin client tests by @dnwe in https://github.com/IBM/sarama/pull/2594
fix(test): ensure some more clients are closed by @dnwe in https://github.com/IBM/sarama/pull/2595
fix(examples): sync exactly_once and consumergroup by @dnwe in https://github.com/IBM/sarama/pull/2614
fix(fvt): fresh metrics registry for each test by @dnwe in https://github.com/IBM/sarama/pull/2616
fix(test): flaky test TestFuncOffsetManager by @napallday in https://github.com/IBM/sarama/pull/2609
chore(deps): bump the golang-org-x group with 1 update by @dependabot in https://github.com/IBM/sarama/pull/2542
chore(deps): bump the golang-org-x group with 1 update by @dependabot in https://github.com/IBM/sarama/pull/2561
chore(deps): bump module github.com/pierrec/lz4/v4 to v4.1.18 by @dnwe in https://github.com/IBM/sarama/pull/2589
chore(deps): bump module github.com/jcmturner/gokrb5/v8 to v8.4.4 by @dnwe in https://github.com/IBM/sarama/pull/2587
chore(deps): bump github.com/eapache/go-xerial-snappy digest to c322873
by @dnwe in https://github.com/IBM/sarama/pull/2586
chore(deps): bump module github.com/klauspost/compress to v1.16.7 by @dnwe in https://github.com/IBM/sarama/pull/2588
chore(deps): bump github.com/eapache/go-resiliency from 1.3.0 to 1.4.0 by @dependabot in https://github.com/IBM/sarama/pull/2598
fix(fvt): ensure fully-replicated at test start by @hindessm in https://github.com/IBM/sarama/pull/2531
chore: rollup fvt kafka to latest three by @dnwe in https://github.com/IBM/sarama/pull/2537
Merge the two CONTRIBUTING.md's by @prestona in https://github.com/IBM/sarama/pull/2543
fix(test): test timing error by @hindessm in https://github.com/IBM/sarama/pull/2552
chore(ci): tidyup and improve actions workflows by @dnwe in https://github.com/IBM/sarama/pull/2557
fix(test): shutdown MockBroker by @dnwe in https://github.com/IBM/sarama/pull/2571
chore(proto): match HeartbeatResponse version by @dnwe in https://github.com/IBM/sarama/pull/2576
chore(test): ensure MockBroker closed within test by @dnwe in https://github.com/IBM/sarama/pull/2575
chore(test): ensure all mockresponses use version by @dnwe in https://github.com/IBM/sarama/pull/2578
chore(ci): use latest Go in actions by @dnwe in https://github.com/IBM/sarama/pull/2580
chore(test): speedup some slow tests by @dnwe in https://github.com/IBM/sarama/pull/2579
chore(test): use modern protocol versions in FVT by @dnwe in https://github.com/IBM/sarama/pull/2581
chore(test): fix a couple of leaks by @dnwe in https://github.com/IBM/sarama/pull/2591
feat(fvt): experiment with per-kafka-version image by @dnwe in https://github.com/IBM/sarama/pull/2592
chore(ci): replace toxiproxy client dep by @dnwe in https://github.com/IBM/sarama/pull/2593
feat(fvt): add healthcheck, depends_on and --wait by @dnwe in https://github.com/IBM/sarama/pull/2601
fix(fvt): handle msgset vs batchset by @dnwe in https://github.com/IBM/sarama/pull/2603
fix(fvt): Metadata version in ensureFullyReplicated by @dnwe in https://github.com/IBM/sarama/pull/2612
fix(fvt): versioned cfg for invalid topic producer by @dnwe in https://github.com/IBM/sarama/pull/2613
chore(fvt): tweak to work across more versions by @dnwe in https://github.com/IBM/sarama/pull/2615
feat(fvt): test wider range of kafkas by @dnwe in https://github.com/IBM/sarama/pull/2605
fix(example): check if msg channel is closed by @ioanzicu in https://github.com/IBM/sarama/pull/2479
chore: use go install for installing sarama tools by @vigith in https://github.com/IBM/sarama/pull/2599
Full Changelog: https://github.com/IBM/sarama/compare/v1.40.1...v1.41.0
feat: support for Kerberos authentication with a credentials cache. by @mrogaski in https://github.com/IBM/sarama/pull/2457
Fix some retry issues by @hindessm in https://github.com/IBM/sarama/pull/2517
fix: admin retry logic by @hindessm in https://github.com/IBM/sarama/pull/2519
Add some retry logic to more admin client functions by @hindessm in https://github.com/IBM/sarama/pull/2520
fix: concurrent issue on updateMetadataMs by @napallday in https://github.com/IBM/sarama/pull/2522
fix(test): allow testing of skipped test without IsTransactional panic by @hindessm in https://github.com/IBM/sarama/pull/2525
chore(deps): bump the golang-org-x group with 2 updates by @dependabot in https://github.com/IBM/sarama/pull/2509
chore(deps): bump github.com/klauspost/compress from 1.15.14 to 1.16.6 by @dependabot in https://github.com/IBM/sarama/pull/2513
chore(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.3 by @dependabot in https://github.com/IBM/sarama/pull/2512
chore(ci): migrate probot-stale to actions/stale by @dnwe in https://github.com/IBM/sarama/pull/2496
chore(ci): bump golangci version, cleanup, depguard config by @EladLeev in https://github.com/IBM/sarama/pull/2504
Clean up some typos and docs/help mistakes by @hindessm in https://github.com/IBM/sarama/pull/2514
chore(ci): add simple apidiff workflow by @dnwe in https://github.com/IBM/sarama/pull/2497
chore(ci): bump actions/setup-go from 3 to 4 by @dependabot in https://github.com/IBM/sarama/pull/2508
fix(comments): PauseAll and ResumeAll by @napallday in https://github.com/IBM/sarama/pull/2523
Full Changelog: https://github.com/IBM/sarama/compare/v1.40.0...v1.40.1
Note: this is the first release after the transition of Sarama ownership from Shopify to IBM in https://github.com/IBM/sarama/issues/2461
Full Changelog: https://github.com/IBM/sarama/compare/v1.38.1...v1.40.0
records-number
param in txn producer readme by @diallo-han in https://github.com/IBM/sarama/pull/2420fix: use newConsumer method in newConsumerGroup method by @Lumotheninja in https://github.com/IBM/sarama/pull/2424
chore(deps): bump module github.com/klauspost/compress to v1.15.14 by @dnwe in https://github.com/IBM/sarama/pull/2410
chore(deps): bump module golang.org/x/net to v0.5.0 by @dnwe in https://github.com/IBM/sarama/pull/2413
chore(deps): bump module github.com/stretchr/testify to v1.8.1 by @dnwe in https://github.com/IBM/sarama/pull/2411
chore(deps): bump module github.com/xdg-go/scram to v1.1.2 by @dnwe in https://github.com/IBM/sarama/pull/2412
chore(deps): bump module golang.org/x/sync to v0.1.0 by @dnwe in https://github.com/IBM/sarama/pull/2414
chore(deps): bump github.com/eapache/go-xerial-snappy digest to bf00bc1
by @dnwe in https://github.com/IBM/sarama/pull/2418
Full Changelog: https://github.com/IBM/sarama/compare/v1.38.0...v1.38.1
feat(metrics): add protocol-requests-rate metric by @auntan in https://github.com/IBM/sarama/pull/2373
fix(proto): track and supply leader epoch to FetchRequest by @dnwe in https://github.com/IBM/sarama/pull/2389
fix(example): improve arg name used for tls skip verify by @michaeljmarshall in https://github.com/IBM/sarama/pull/2385
fix(zstd): default back to GOMAXPROCS concurrency by @bgreenlee in https://github.com/IBM/sarama/pull/2404
fix(producer): add nil check while producer is retrying by @hsweif in https://github.com/IBM/sarama/pull/2387
fix(producer): return errors for every message in retryBatch to avoid producer hang forever by @cch123 in https://github.com/IBM/sarama/pull/2378
fix(metrics): fix race when accessing metric registry by @vincentbernat in https://github.com/IBM/sarama/pull/2409
chore(deps): bump golang.org/x/net to v0.4.0 by @dnwe in https://github.com/IBM/sarama/pull/2403
chore(ci): replace set-output command in GH Action by @dnwe in https://github.com/IBM/sarama/pull/2390
chore(ci): include kafka 3.3.1 in testing matrix by @dnwe in https://github.com/IBM/sarama/pull/2406
Full Changelog: https://github.com/IBM/sarama/compare/v1.37.2...v1.38.0
fix: ensure updateMetaDataMs is 64-bit aligned by @dnwe in https://github.com/IBM/sarama/pull/2356
fix: bump go.mod specification to go 1.17 by @dnwe in https://github.com/IBM/sarama/pull/2357
Full Changelog: https://github.com/IBM/sarama/compare/v1.37.1...v1.37.2
Full Changelog: https://github.com/IBM/sarama/compare/v1.37.0...v1.37.1
feat(mocks): support key in MockFetchResponse. by @Skandalik in https://github.com/IBM/sarama/pull/2328
fix: avoid panic when Metadata.RefreshFrequency is 0 by @Jacob-bzx in https://github.com/IBM/sarama/pull/2329
fix(consumer): avoid pushing unrelated responses to paused children by @pkoutsovasilis in https://github.com/IBM/sarama/pull/2317
fix: prevent metrics leak with cleanup by @auntan in https://github.com/IBM/sarama/pull/2340
fix: race condition(may panic) when closing consumer group by @Jacob-bzx in https://github.com/IBM/sarama/pull/2331
fix(consumer): default ResetInvalidOffsets to true by @dnwe in https://github.com/IBM/sarama/pull/2345
Validate the Config
when creating a mock producer/consumer by @joewreschnig in https://github.com/IBM/sarama/pull/2327
chore(deps): bump module github.com/pierrec/lz4/v4 to v4.1.16 by @dnwe in https://github.com/IBM/sarama/pull/2335
chore(deps): bump golang.org/x/net digest to bea034e
by @dnwe in https://github.com/IBM/sarama/pull/2333
chore(deps): bump golang.org/x/sync digest to 7f9b162
by @dnwe in https://github.com/IBM/sarama/pull/2334
chore(deps): bump golang.org/x/net digest to f486391
by @dnwe in https://github.com/IBM/sarama/pull/2348
chore(deps): bump module github.com/shopify/toxiproxy/v2 to v2.5.0 by @dnwe in https://github.com/IBM/sarama/pull/2336
chore(deps): bump module github.com/klauspost/compress to v1.15.11 by @dnwe in https://github.com/IBM/sarama/pull/2349
chore(deps): bump module github.com/pierrec/lz4/v4 to v4.1.17 by @dnwe in https://github.com/IBM/sarama/pull/2350
chore(ci): bump kafka-versions to latest by @dnwe in https://github.com/IBM/sarama/pull/2346
chore(ci): bump go-versions to N and N-1 by @dnwe in https://github.com/IBM/sarama/pull/2347
Full Changelog: https://github.com/IBM/sarama/compare/v1.36.0...v1.37.0
feat(metrics): track consumer fetch request rates by @dnwe in https://github.com/IBM/sarama/pull/2299
fix(consumer): avoid submitting empty fetch requests when paused by @raulnegreiros in https://github.com/IBM/sarama/pull/2143
chore(deps): bump module github.com/klauspost/compress to v1.15.9 by @dnwe in https://github.com/IBM/sarama/pull/2304
chore(deps): bump golang.org/x/net digest to c7608f3
by @dnwe in https://github.com/IBM/sarama/pull/2301
chore(deps): bump golangci/golangci-lint-action action to v3 by @dnwe in https://github.com/IBM/sarama/pull/2311
chore(deps): bump golang.org/x/net digest to 07c6da5
by @dnwe in https://github.com/IBM/sarama/pull/2307
chore(deps): bump github actions versions (major) by @dnwe in https://github.com/IBM/sarama/pull/2313
chore(deps): bump module github.com/jcmturner/gofork to v1.7.6 by @dnwe in https://github.com/IBM/sarama/pull/2305
chore(deps): bump golang.org/x/sync digest to 886fb93
by @dnwe in https://github.com/IBM/sarama/pull/2302
chore(deps): bump module github.com/jcmturner/gokrb5/v8 to v8.4.3 by @dnwe in https://github.com/IBM/sarama/pull/2303
chore: add kafka 3.1.1 to the version matrix by @dnwe in https://github.com/IBM/sarama/pull/2300
Migrate off probot-CLA to new GitHub Action by @cursedcoder in https://github.com/IBM/sarama/pull/2294
Forgot to remove cla probot by @cursedcoder in https://github.com/IBM/sarama/pull/2297
chore(lint): re-enable a small amount of go-critic by @dnwe in https://github.com/IBM/sarama/pull/2312
Full Changelog: https://github.com/IBM/sarama/compare/v1.35.0...v1.36.0
fix: include assignment-less members in SyncGroup by @dnwe in https://github.com/IBM/sarama/pull/2292
chore(deps): bump module github.com/stretchr/testify to v1.8.0 by @dnwe in https://github.com/IBM/sarama/pull/2284
chore(deps): bump module github.com/eapache/go-resiliency to v1.3.0 by @dnwe in https://github.com/IBM/sarama/pull/2283
chore(deps): bump golang.org/x/net digest to 1185a90
by @dnwe in https://github.com/IBM/sarama/pull/2279
chore(deps): bump module github.com/pierrec/lz4/v4 to v4.1.15 by @dnwe in https://github.com/IBM/sarama/pull/2281
chore(deps): bump module github.com/klauspost/compress to v1.15.8 by @dnwe in https://github.com/IBM/sarama/pull/2280
chore: rename any
func to avoid identifier by @dnwe in https://github.com/IBM/sarama/pull/2272
chore: add and test against kafka 3.2.0 by @dnwe in https://github.com/IBM/sarama/pull/2288
chore: document Fetch protocol fields by @dnwe in https://github.com/IBM/sarama/pull/2289
chore(ci): fix redirect with GITHUB_STEP_SUMMARY by @dnwe in https://github.com/IBM/sarama/pull/2286
fix(test): permit ECONNRESET in TestInitProducerID by @dnwe in https://github.com/IBM/sarama/pull/2287
fix: ensure empty or devel version valid by @dnwe in https://github.com/IBM/sarama/pull/2291
Full Changelog: https://github.com/IBM/sarama/compare/v1.34.1...v1.35.0
fix(consumer): range balance strategy not like reference by @njhartwell in https://github.com/IBM/sarama/pull/2245
chore(ci): experiment with using tparse by @dnwe in https://github.com/IBM/sarama/pull/2236
chore(deps): bump thirdparty dependencies to latest releases by @dnwe in https://github.com/IBM/sarama/pull/2242
Full Changelog: https://github.com/IBM/sarama/compare/v1.34.0...v1.34.1
KIP-345: support static membership by @aiquestion in https://github.com/IBM/sarama/pull/2230
fix: KIP-368 use receiver goroutine to process all sasl v1 responses by @k-wall in https://github.com/IBM/sarama/pull/2234
chore(deps): bump module github.com/pierrec/lz4 to v4 by @dnwe in https://github.com/IBM/sarama/pull/2231
chore(deps): bump golang.org/x/net digest to 2e3eb7b
by @dnwe in https://github.com/IBM/sarama/pull/2232
Full Changelog: https://github.com/IBM/sarama/compare/v1.33.0...v1.34.0
Note: with this change, the user of Sarama is required to use Go 1.13's errors.Is etc (rather then ==) when forming conditionals returned by this library.
ErrOutOfBrokers
wrap the underlying error that prevented connections to the brokers by @k-wall in https://github.com/IBM/sarama/pull/2131feat: add batched CreateACLs func to ClusterAdmin by @nkostoulas in https://github.com/IBM/sarama/pull/2191
fix: TestRecordBatchDecoding failing sporadically by @k-wall in https://github.com/IBM/sarama/pull/2154
feat(test): add an fvt for broker deadlock by @dnwe in https://github.com/IBM/sarama/pull/2144
fix: avoid starvation in subscriptionManager by @dnwe in https://github.com/IBM/sarama/pull/2109
fix: remove "Is your cluster reachable?" from msg by @dnwe in https://github.com/IBM/sarama/pull/2165
fix: remove trailing fullstop from error strings by @dnwe in https://github.com/IBM/sarama/pull/2166
fix: return underlying sasl error message by @dnwe in https://github.com/IBM/sarama/pull/2164
fix: potential data race on a global variable by @pior in https://github.com/IBM/sarama/pull/2171
fix: AdminClient | CreateACLs | check for error in response, return error if needed by @omris94 in https://github.com/IBM/sarama/pull/2185
producer: ensure that the management message (fin) is never "leaked" by @niamster in https://github.com/IBM/sarama/pull/2182
fix: prevent RefreshBrokers leaking old brokers by @k-wall in https://github.com/IBM/sarama/pull/2203
fix: prevent RefreshController leaking controller by @k-wall in https://github.com/IBM/sarama/pull/2204
fix: prevent AsyncProducer retryBatch from leaking by @k-wall in https://github.com/IBM/sarama/pull/2208
fix: prevent metrics leak when authenticate fails by @Stephan14 in https://github.com/IBM/sarama/pull/2205
fix: prevent deadlock between subscription manager and consumer goroutines by @niamster in https://github.com/IBM/sarama/pull/2194
fix: prevent idempotent producer epoch exhaustion by @ladislavmacoun in https://github.com/IBM/sarama/pull/2178
fix(test): mockbroker offsetResponse vers behavior by @dnwe in https://github.com/IBM/sarama/pull/2213
fix: cope with OffsetsLoadInProgress on Join+Sync by @dnwe in https://github.com/IBM/sarama/pull/2214
fix: make default MaxWaitTime 500ms by @dnwe in https://github.com/IBM/sarama/pull/2227
chore(deps): bump xdg-go/scram and klauspost/compress by @dnwe in https://github.com/IBM/sarama/pull/2170
fix(test): skip TestReadOnlyAndAllCommittedMessages by @dnwe in https://github.com/IBM/sarama/pull/2161
fix(test): remove t.Parallel() by @dnwe in https://github.com/IBM/sarama/pull/2162
chore(ci): bump along to Go 1.17+1.18 and bump golangci-lint by @dnwe in https://github.com/IBM/sarama/pull/2183
chore: switch to multi-arch compatible docker images by @dnwe in https://github.com/IBM/sarama/pull/2210
Remediate a number go-routine leaks (mainly test issues) by @k-wall in https://github.com/IBM/sarama/pull/2198
chore: retract v1.32.0 due to #2150 by @dnwe in https://github.com/IBM/sarama/pull/2199
chore: bump functional test timeout to 12m by @dnwe in https://github.com/IBM/sarama/pull/2200
fix(admin): make DeleteRecords err consistent by @dnwe in https://github.com/IBM/sarama/pull/2226
Full Changelog: https://github.com/IBM/sarama/compare/v1.32.0...v1.33.0
Fix deadlock when closing Broker in brokerProducer by @slaunay in https://github.com/IBM/sarama/pull/2133
chore: refresh dependencies to latest by @dnwe in https://github.com/IBM/sarama/pull/2159
fix: rework RebalancingMultiplePartitions test by @dnwe in https://github.com/IBM/sarama/pull/2130
fix(test): use Sarama transactional producer by @dnwe in https://github.com/IBM/sarama/pull/1939
chore: enable t.Parallel() wherever possible by @dnwe in https://github.com/IBM/sarama/pull/2138
chore: restrict to 1 testbinary at once by @dnwe in https://github.com/IBM/sarama/pull/2145
chore: restrict to 1 parallel test at once by @dnwe in https://github.com/IBM/sarama/pull/2146
Remove myself from codeowners by @bai in https://github.com/IBM/sarama/pull/2147
chore: add retractions for known bad versions by @dnwe in https://github.com/IBM/sarama/pull/2160
Full Changelog: https://github.com/IBM/sarama/compare/v1.31.1...v1.32.0
Support request pipelining in AsyncProducer by @slaunay in https://github.com/IBM/sarama/pull/2094
fix(test): add fluent interface for mocks where missing by @grongor in https://github.com/IBM/sarama/pull/2080
fix(test): test for ConsumePartition with OffsetOldest by @grongor in https://github.com/IBM/sarama/pull/2081
fix: set HWMO during creation of partitionConsumer (fix incorrect HWMO before first fetch) by @grongor in https://github.com/IBM/sarama/pull/2082
fix: ignore non-nil but empty error strings in Describe/Alter client quotas responses by @agriffaut in https://github.com/IBM/sarama/pull/2096
fix: skip over KIP-482 tagged fields by @dnwe in https://github.com/IBM/sarama/pull/2107
fix: clear preferredReadReplica if broker shutdown by @dnwe in https://github.com/IBM/sarama/pull/2108
fix(test): correct wrong offsets in mock Consumer by @grongor in https://github.com/IBM/sarama/pull/2078
fix: correct bugs in DescribeGroupsResponse by @dnwe in https://github.com/IBM/sarama/pull/2111
chore: bump runtime and test dependencies by @dnwe in https://github.com/IBM/sarama/pull/2100
docs: refresh README.md for Kafka 3.0.0 by @dnwe in https://github.com/IBM/sarama/pull/2099
Fix typo by @mosceo in https://github.com/IBM/sarama/pull/2084
Full Changelog: https://github.com/IBM/sarama/compare/v1.30.1...v1.31.0
feat(zstd): pass level param through to compress/zstd encoder by @lizthegrey in https://github.com/IBM/sarama/pull/2045
fix: set min-go-version to 1.16 by @troyanov in https://github.com/IBM/sarama/pull/2048
logger: fix debug logs' formatting directives by @utrack in https://github.com/IBM/sarama/pull/2054
fix: stuck on the batch with zero records length by @pachmu in https://github.com/IBM/sarama/pull/2057
fix: only update preferredReadReplica if valid by @dnwe in https://github.com/IBM/sarama/pull/2076
chore: add release notes configuration by @dnwe in https://github.com/IBM/sarama/pull/2046
chore: confluent platform version bump by @lizthegrey in https://github.com/IBM/sarama/pull/2070
Full Changelog: https://github.com/IBM/sarama/compare/v1.30.0...v1.30.1
⚠️ This release has been superseded by v1.30.1 and should not be used.
regression: enabling rackawareness causes severe throughput drops (#2071) — fixed in v1.30.1 via #2076
ℹ️ Note: from Sarama 1.30.0 the minimum version of Go toolchain required is 1.16.x
Full Changelog: https://github.com/IBM/sarama/compare/v1.29.1...v1.30.0
ProducerMessage
in the mock producersNote that with this release we change RoundRobinBalancer
strategy to match Java client behavior. See #1788 for details.
#1750 - @krantideep95 Adds missing mock responses for mocking consumer group
#1817 - reverts #1785 - Add private method to Client interface to prevent implementation
#1775 - @d1egoaz - Adds a Producer Interceptor example #1781 - @justin-chen - Refresh brokers given list of seed brokers #1784 - @justin-chen - Add randomize seed broker method #1790 - @d1egoaz - remove example binary #1798 - @bai - Test against Go 1.15 #1785 - @justin-chen - Add private method to Client interface to prevent implementation #1802 - @uvw - Support Go 1.13 error unwrapping
#1791 - @stanislavkozlovski - bump default version to 1.0.0
#1466 - @rubenvp8510 - Expose kerberos fast negotiation configuration #1695 - @KJTsanaktsidis - Use docker-compose to run the functional tests #1699 - @wclaeys - Consumer group support for manually comitting offsets #1714 - @bai - Bump Go to version 1.14.3, golangci-lint to 1.27.0 #1726 - @d1egoaz - Include zstd on the functional tests #1730 - @d1egoaz - KIP-42 Add producer and consumer interceptors #1738 - @varun06 - fixed variable names that are named same as some std lib package names #1741 - @varun06 - updated zstd dependency to latest v1.10.10 #1743 - @varun06 - Fixed declaration dependencies and other lint issues in code base #1763 - @alrs - remove deprecated tls options from test #1769 - @bai - Add support for Kafka 2.6.0
#1697 - @kvch - Use gofork for encoding/asn1 to fix ASN errors during Kerberos authentication #1744 - @alrs - Fix isBalanced Function Signature
This release has been marked as not ready for production and may be unstable, please use v1.26.4.
config.net.keepalive
Improvements:
Bug Fixes:
New Features:
Improvements:
Bug Fixes:
New Features:
Improvements:
Bug Fixes:
New Features:
Bug Fixes:
New Features:
Improvements:
Bug Fixes:
Known Issues:
Bug Fixes:
New Features:
Improvements:
Bug Fixes:
Improvements:
Bug Fixes:
New Features:
Improvements:
Bug Fixes:
New Features:
Improvements:
Bug Fixes:
New Features:
Improvements:
Bug Fixes:
New Features:
Improvements:
Bug Fixes:
New Features:
Improvements:
Bug Fixes:
MetadataResponse
with version 2 and higher
(#1174).New Features:
Partitioner.RequiresConsistency
vary per-message
(#1112).ClusterAdmin
support for CreateTopic
, DeleteTopic
, CreatePartitions
,
DeleteRecords
, DescribeConfig
, AlterConfig
, CreateACL
, ListAcls
, DeleteACL
(#1055).Improvements:
LocalAddr
when dialing an address to support multi-homed hosts
(#1123).Bug Fixes:
ProducerMessage.MetaData
when producing to Kafka
(#1110).MetadataRequest
for empty list of topics
(#1132).New Features:
Controller()
method to Client interface
(#1063).Improvements:
msgSet
and recordBatch
(#1049).Bug Fixes:
PartitionConsumer.Close
idempotent
(#1092).New Features:
Improvements:
NewMockBrokerListener
helper for testing TLS connections
(#1019).Consumer.Fetch.Default
from 32KiB to 1MiB
which results in much higher throughput in most cases
(#1024).time.Ticker
across fetch requests in the PartitionConsumer to
reduce CPU and memory usage when processing many partitions
(#1028).Bug Fixes:
PartialTrailingMessage
when the partial message was
truncated before the magic value indicating its version
(#1030).SyncProducer.SendMessages
(#1035).New Features:
Improvements:
Bug Fixes:
New Features:
Bug Fixes:
New Features:
PartitionOffsetManager.ResetOffset
for backtracking tracked offsets
(#932).Improvements:
Client.Replicas
and Client.InSyncReplicas
now respect the order returned
by the broker, which can be meaningful
(#930).Ticker
to reduce consumer timer overhead at the cost of higher
variance in the actual timeout
(#933).Bug Fixes:
New Features:
ApiVersions
request and response pair, and Kafka
version 0.10.2 (#867). Note
that you still need to specify the Kafka version in the Sarama configuration
for the time being.Brokers
method to the Client which returns the complete set of
active brokers (#813).InSyncReplicas
method to the Client which returns the set of all
in-sync broker IDs for the given partition, now that the Kafka versions for
which this was misleading are no longer in our supported set
(#872).NewCustomHashPartitioner
method which allows constructing a hash
partitioner with a custom hash method in case the default (FNV-1a) is not
suitable
(#837,
#841).Improvements:
Bug Fixes:
AddGroupProtocol
or
AddGroupProtocolMetadata
helpers; otherwise you will need to switch from
the GroupProtocols
field (now deprecated) to use OrderedGroupProtocols
(#812).Important: As of Sarama 1.11 it is necessary to set the config value of
Producer.Return.Successes
to true in order to use the SyncProducer. Previous
versions would silently override this value when instantiating a SyncProducer
which led to unexpected values and data races.
New Features:
HighWaterMarks
method to the Consumer which aggregates the
HighWaterMarkOffset
values of its child topic/partitions
(#769).Bug Fixes:
Return.Errors
is disabled
(#787).Bug Fixes:
HashPartitioner
which was incorrect
(#717).Important: As of Sarama 1.10 it is necessary to tell Sarama the version of
Kafka you are running against (via the config.Version
value) in order to use
features that may not be compatible with old Kafka versions. If you don't
specify this value it will default to 0.8.2 (the minimum supported), and trying
to use more recent features (like the offset manager) will fail with an error.
Also: The offset-manager's behaviour has been changed to match the upstream java consumer (see #705 and #713). If you use the offset-manager, please ensure that you are committing one greater than the last consumed message offset or else you may end up consuming duplicate messages.
New Features:
Improvements:
nil
compressed messages for deleting in compacted topics
(#634).Bug Fixes:
Client.Leader
could return the wrong error
(#685).New Features:
Improvements:
Bug Fixes:
New Features:
Improvements:
InvalidMessage
errors to match upstream behaviour
(#589).New Features:
Improvements:
Bug Fixes:
Bug Fixes:
New Features:
Improvements:
Bug Fixes:
New Features:
Improvements:
Bug Fixes:
Bug Fixes:
Bug Fixes:
Improvements:
Bug Fixes:
New Features:
Topics()
and Partitions()
methods to enable
users to dynamically choose what topics/partitions to consume without
instantiating a full client
(#431).HighWaterMarkOffset()
method (#339).kafka-console-consumer
tool capable of handling multiple
partitions, and deprecated the now-obsolete kafka-console-partitionConsumer
(#439,
#442).Improvements:
Bug Fixes:
New Features:
Coordinator(consumerGroup string) (*Broker, error)
RefreshCoordinator(consumerGroup string) error
Improvements:
OffsetOutOfRange
errors in the consumer.
Consumers will fail to start if the provided offset is out of range
(#418)
and they will automatically shut down if the offset falls out of range
(#424).Bug Fixes:
Improvements:
Flush.Frequency
is set is now more intuitive
(#389).GetOffset
method will now automatically refresh metadata and
retry once in the event of stale information or similar
(#394).Bug Fixes:
Improvements:
Bug Fixes:
Version 1.0.0 is the first tagged version, and is almost a complete rewrite. The primary differences with previous untagged versions are:
SyncProducer
with a blocking API, and an AsyncProducer
that is non-blocking.Consumer
, SyncProducer
and AsyncProducer
are provided in the github.com/IBM/sarama/mocks
package.Client
; this will be done for you.Config
struct.