Releases: IBM/sarama
Releases · IBM/sarama
Version 1.35.0 (2022-07-22)
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
- @zerowidth made their first contribution in #2269
Full Changelog: v1.34.1...v1.35.0
Version 1.34.1 (2022-06-07)
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
- @zxc111 made their first contribution in #2240
- @njhartwell made their first contribution in #2245
Full Changelog: v1.34.0...v1.34.1
Version 1.34.0 (2022-05-30)
What's Changed
🎉 New Features / Improvements
- KIP-345: support static membership by @aiquestion in #2230
🐛 Fixes
🔧 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
- @aiquestion made their first contribution in #2230
Full Changelog: v1.33.0...v1.34.0
Version 1.33.0 (2022-05-11)
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
🔧 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
- @k-wall made their first contribution in #2154
- @pior made their first contribution in #2171
- @omris94 made their first contribution in #2185
- @vincentbernat made their first contribution in #2172
- @niamster made their first contribution in #2182
- @ladislavmacoun made their first contribution in #2178
- @nkostoulas made their first contribution in #2191
Full Changelog: v1.32.0...v1.33.0
Version 1.32.0 (2022-02-24)
⚠️ This release has been superseded by v1.33.0 and should not be used.
What's Changed
🐛 Fixes
📦 Dependency updates
🔧 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)
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
📦 Dependency updates
🔧 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
- @wuhuizuo made their first contribution in #2117
- @seveas made their first contribution in #2051
- @raulnegreiros made their first contribution in #2005
Full Changelog: v1.31.0...v1.31.1
Version 1.31.0 (2022-01-18)
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
📝 Documentation
➕ Other Changes
New Contributors
- @grongor made their first contribution in #2080
- @fengyinqiao made their first contribution in #2088
- @xujianhai666 made their first contribution in #1686
- @mosceo made their first contribution in #2084
Full Changelog: v1.30.1...v1.31.0
Version 1.30.1 (2021-12-04)
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
- chore: add release notes configuration by @dnwe in #2046
- chore: confluent platform version bump by @lizthegrey in #2070
Notes
- ℹ️ from Sarama 1.30.x onward the minimum version of Go toolchain required is 1.16.x
New Contributors
- @troyanov made their first contribution in #2048
- @lizthegrey made their first contribution in #2045
- @utrack made their first contribution in #2054
- @pachmu made their first contribution in #2057
Full Changelog: v1.30.0...v1.30.1
Version 1.30.0 (2021-09-29)
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
New Features / Improvements
- #1983 - @zifengyu - allow configure AllowAutoTopicCreation argument in metadata refresh
- #2000 - @matzew - Using xdg-go module for SCRAM
- #2003 - @gdm85 - feat: add counter metrics for consumer group join/sync and their failures
- #1992 - @zhaomoran - feat: support SaslHandshakeRequest v0 for SCRAM
- #2006 - @faillefer - Add support for DeleteOffsets operation
- #1909 - @agriffaut - KIP-546 Client quota APIs
- #1633 - @aldelucca1 - feat: allow balance strategies to provide initial state
- #1275 - @dnwe - log: add a DebugLogger that proxies to Logger
- #2018 - @dnwe - feat: use DebugLogger reference for goldenpath log
- #2019 - @dnwe - feat: add logging & a metric for producer throttle
- #2023 - @dnwe - feat: add Controller() to ClusterAdmin interface
- #2025 - @dnwe - feat: support ApiVersionsRequest V3 protocol
- #2028 - @dnwe - feat: send ApiVersionsRequest on broker open
- #2034 - @bai - Add support for kafka 3.0.0
Fixes
- #1990 - @doxsch - fix: correctly pass ValidateOnly through to CreatePartitionsRequest
- #1988 - @LubergAlexander - fix: correct WithCustomFallbackPartitioner implementation
- #2001 - @HurSungYun - docs: inform AsyncProducer Close pitfalls
- #1973 - @qiangmzsx - fix: metrics still taking up too much memory when metrics.UseNilMetrics=true
- #2007 - @bai - Add support for Go 1.17
- #2009 - @dnwe - fix: enable nilerr linter and fix iferr checks
- #2010 - @dnwe - chore: enable exportloopref and misspell linters
- #2013 - @faillefer - fix(test): disable encoded response/request check when map contains multiple elements
- #2015 - @bai - Change default branch to main
- #1718 - @crivera-fastly - fix: correct the error handling in client.InitProducerID()
- #1984 - @null-sleep - fix(test): bump confluentPlatformVersion from 6.1.1 to 6.2.0
- #2016 - @dnwe - chore: replace deprecated Go calls
- #2017 - @dnwe - chore: delete legacy vagrant script
- #2020 - @dnwe - fix(test): remove testLogger from TrackLeader test
- #2024 - @dnwe - chore: bump toxiproxy container to v2.1.5
- #2033 - @bai - Update dependencies
- #2031 - @gdm85 - docs: do not mention buffered messages in sync producer Close method
- #2035 - @dnwe - chore: populate the missing kafka versions
- #2038 - @dnwe - feat: add a fuzzing workflow to github actions
New Contributors
- @zifengyu made their first contribution in #1983
- @doxsch made their first contribution in #1990
- @LubergAlexander made their first contribution in #1988
- @HurSungYun made their first contribution in #2001
- @gdm85 made their first contribution in #2003
- @qiangmzsx made their first contribution in #1973
- @zhaomoran made their first contribution in #1992
- @faillefer made their first contribution in #2006
- @crivera-fastly made their first contribution in #1718
- @null-sleep made their first contribution in #1984
Full Changelog: v1.29.1...v1.30.0
Version 1.29.1 (2021-06-24)
New Features / Improvements
- #1966 - @ajanikow - KIP-339: Add Incremental Config updates API
- #1964 - @ajanikow - Add DelegationToken ResourceType
Fixes
- #1962 - @hanxiaolin - fix(consumer): call interceptors when MaxProcessingTime expire
- #1971 - @KerryJava - fix kafka-producer-performance throughput panic
- #1968 - @dnwe - chore: bump golang.org/x versions
- #1956 - @joewreschnig - Allow checking the entire
ProducerMessage
in the mock producers - #1963 - @dnwe - fix: ensure backoff timer is re-used
- #1949 - @dnwe - fix: explicitly use uint64 for payload length