Skip to content

Releases: IBM/sarama

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

Version 1.34.1 (2022-06-07)

07 Jun 17:01
23c4286
Compare
Choose a tag to compare

What's Changed

🐛 Fixes

  • fix(examples): check session.Context().Done() in examples/consumergroup by @zxc111 in #2240
  • fix(protocol): move AuthorizedOperations into GroupDescription of DescribeGroupsResponse by @aiquestion in #2247
  • fix(protocol): tidyup DescribeGroupsResponse by @dnwe in #2248
  • fix(consumer): range balance strategy not like reference by @njhartwell in #2245

🔧 Maintenance

  • chore(ci): experiment with using tparse by @dnwe in #2236
  • chore(deps): bump thirdparty dependencies to latest releases by @dnwe in #2242

New Contributors

Full Changelog: v1.34.0...v1.34.1

Version 1.34.0 (2022-05-30)

30 May 11:57
53e77a4
Compare
Choose a tag to compare

What's Changed

🎉 New Features / Improvements

🐛 Fixes

  • fix: KIP-368 use receiver goroutine to process all sasl v1 responses by @k-wall in #2234

🔧 Maintenance

  • chore(deps): bump module github.com/pierrec/lz4 to v4 by @dnwe in #2231
  • chore(deps): bump golang.org/x/net digest to 2e3eb7b by @dnwe in #2232

New Contributors

Full Changelog: v1.33.0...v1.34.0

Version 1.33.0 (2022-05-11)

11 May 20:53
54a84a7
Compare
Choose a tag to compare

What's Changed

🚨 Breaking Changes

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.

  • feat: make ErrOutOfBrokers wrap the underlying error that prevented connections to the brokers by @k-wall in #2131

🎉 New Features / Improvements

  • feat(message): add UnmarshalText method to CompressionCodec by @vincentbernat in #2172
  • KIP-368 : Allow SASL Connections to Periodically Re-Authenticate by @k-wall in #2197
  • feat: add batched CreateACLs func to ClusterAdmin by @nkostoulas in #2191

🐛 Fixes

  • fix: TestRecordBatchDecoding failing sporadically by @k-wall in #2154
  • feat(test): add an fvt for broker deadlock by @dnwe in #2144
  • fix: avoid starvation in subscriptionManager by @dnwe in #2109
  • fix: remove "Is your cluster reachable?" from msg by @dnwe in #2165
  • fix: remove trailing fullstop from error strings by @dnwe in #2166
  • fix: return underlying sasl error message by @dnwe in #2164
  • fix: potential data race on a global variable by @pior in #2171
  • fix: AdminClient | CreateACLs | check for error in response, return error if needed by @omris94 in #2185
  • producer: ensure that the management message (fin) is never "leaked" by @niamster in #2182
  • fix: prevent RefreshBrokers leaking old brokers by @k-wall in #2203
  • fix: prevent RefreshController leaking controller by @k-wall in #2204
  • fix: prevent AsyncProducer retryBatch from leaking by @k-wall in #2208
  • fix: prevent metrics leak when authenticate fails by @Stephan14 in #2205
  • fix: prevent deadlock between subscription manager and consumer goroutines by @niamster in #2194
  • fix: prevent idempotent producer epoch exhaustion by @ladislavmacoun in #2178
  • fix(test): mockbroker offsetResponse vers behavior by @dnwe in #2213
  • fix: cope with OffsetsLoadInProgress on Join+Sync by @dnwe in #2214
  • fix: make default MaxWaitTime 500ms by @dnwe in #2227

📦 Dependency updates

  • chore(deps): bump xdg-go/scram and klauspost/compress by @dnwe in #2170

🔧 Maintenance

  • fix(test): skip TestReadOnlyAndAllCommittedMessages by @dnwe in #2161
  • fix(test): remove t.Parallel() by @dnwe in #2162
  • chore(ci): bump along to Go 1.17+1.18 and bump golangci-lint by @dnwe in #2183
  • chore: switch to multi-arch compatible docker images by @dnwe in #2210

➕ Other Changes

  • Remediate a number go-routine leaks (mainly test issues) by @k-wall in #2198
  • chore: retract v1.32.0 due to #2150 by @dnwe in #2199
  • chore: bump functional test timeout to 12m by @dnwe in #2200
  • fix(admin): make DeleteRecords err consistent by @dnwe in #2226

New Contributors

Full Changelog: v1.32.0...v1.33.0

Version 1.32.0 (2022-02-24)

24 Feb 16:39
9baf7a6
Compare
Choose a tag to compare

⚠️ This release has been superseded by v1.33.0 and should not be used.


What's Changed

🐛 Fixes

  • Fix deadlock when closing Broker in brokerProducer by @slaunay in #2133

📦 Dependency updates

  • chore: refresh dependencies to latest by @dnwe in #2159

🔧 Maintenance

  • fix: rework RebalancingMultiplePartitions test by @dnwe in #2130
  • fix(test): use Sarama transactional producer by @dnwe in #1939
  • chore: enable t.Parallel() wherever possible by @dnwe in #2138

➕ Other Changes

  • chore: restrict to 1 testbinary at once by @dnwe in #2145
  • chore: restrict to 1 parallel test at once by @dnwe in #2146
  • Remove myself from codeowners by @bai in #2147
  • chore: add retractions for known bad versions by @dnwe in #2160

Full Changelog: v1.31.1...v1.32.0

Version 1.31.1 (2022-02-01)

01 Feb 10:21
@bai bai
e35ee3f
Compare
Choose a tag to compare

What's Changed

🎉 New Features / Improvements

  • feat: add method MockApiVersionsResponse.SetApiKeys by @wuhuizuo in #2117
  • Expose the TLS connection state of a broker connection by @seveas in #2051
  • feat: add methods to pause/resume consumer's consumption by @raulnegreiros in #2005

🐛 Fixes

  • fix: ensure heartbeats only stop after cleanup by @dnwe in #2110

📦 Dependency updates

  • Update klauspost/compress to 0.14 by @bai in #2123

🔧 Maintenance

  • Fix typo by @mosceo in #2113
  • Add Kafka 3.1.0 version number by @bai in #2119
  • fix(test): make it simpler to re-use toxiproxy by @dnwe in #2122
  • Add Kafka 3.1.0 to CI matrix, migrate to bitnami kafka image by @bai in #2124
  • Populate missing kafka versions by @bai in #2126
  • Backport missing changelog entries from 1.28 onwards by @bai in #2127

New Contributors

Full Changelog: v1.31.0...v1.31.1

Version 1.31.0 (2022-01-18)

18 Jan 22:37
40ab0cd
Compare
Choose a tag to compare

What's Changed

🎉 New Features / Improvements

  • feat: expose IncrementalAlterConfigs API in admin.go by @fengyinqiao in #2088
  • feat: allow AsyncProducer to have MaxOpenRequests inflight produce requests per broker by @xujianhai666 in #1686
  • Support request pipelining in AsyncProducer by @slaunay in #2094

🐛 Fixes

  • fix(test): add fluent interface for mocks where missing by @grongor in #2080
  • fix(test): test for ConsumePartition with OffsetOldest by @grongor in #2081
  • fix: set HWMO during creation of partitionConsumer (fix incorrect HWMO before first fetch) by @grongor in #2082
  • fix: ignore non-nil but empty error strings in Describe/Alter client quotas responses by @agriffaut in #2096
  • fix: skip over KIP-482 tagged fields by @dnwe in #2107
  • fix: clear preferredReadReplica if broker shutdown by @dnwe in #2108
  • fix(test): correct wrong offsets in mock Consumer by @grongor in #2078
  • fix: correct bugs in DescribeGroupsResponse by @dnwe in #2111

🔧 Maintenance

  • chore: bump runtime and test dependencies by @dnwe in #2100

📝 Documentation

  • docs: refresh README.md for Kafka 3.0.0 by @dnwe in #2099

➕ Other Changes

New Contributors

Full Changelog: v1.30.1...v1.31.0

Version 1.30.1 (2021-12-04)

04 Dec 20:23
635bcf3
Compare
Choose a tag to compare

What's Changed

🎉 New Features / Improvements

  • feat(zstd): pass level param through to compress/zstd encoder by @lizthegrey in #2045

🐛 Fixes

  • fix: set min-go-version to 1.16 by @troyanov in #2048
  • logger: fix debug logs' formatting directives by @utrack in #2054
  • fix: stuck on the batch with zero records length by @pachmu in #2057
  • fix: only update preferredReadReplica if valid by @dnwe in #2076

🔧 Maintenance

Notes

  • ℹ️ from Sarama 1.30.x onward the minimum version of Go toolchain required is 1.16.x

New Contributors

Full Changelog: v1.30.0...v1.30.1